First working release
This commit is contained in:
		
							
								
								
									
										9
									
								
								CHANGELOG.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								CHANGELOG.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
			
		||||
# Changelog
 | 
			
		||||
All notable changes to this project will be documented in this file.
 | 
			
		||||
 | 
			
		||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
 | 
			
		||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
 | 
			
		||||
 | 
			
		||||
## [Unreleased]
 | 
			
		||||
### Added
 | 
			
		||||
- Inital release
 | 
			
		||||
							
								
								
									
										44
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,44 @@
 | 
			
		||||
OpenBSD network
 | 
			
		||||
===============
 | 
			
		||||
 | 
			
		||||
An Ansible role for configuring network on OpenBSD.
 | 
			
		||||
 | 
			
		||||
This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
 | 
			
		||||
 | 
			
		||||
Requirements
 | 
			
		||||
------------
 | 
			
		||||
 | 
			
		||||
An installed OpenBSD system with python in it.
 | 
			
		||||
 | 
			
		||||
Role Variables
 | 
			
		||||
--------------
 | 
			
		||||
 | 
			
		||||
Example configuration. Follow OpenBSD documentation to construct yours.
 | 
			
		||||
```yaml
 | 
			
		||||
# This is how typical router configuration looks like
 | 
			
		||||
openbsd_network_interfaces:
 | 
			
		||||
  em0: ["dhcp"]
 | 
			
		||||
  em1: ["up"]
 | 
			
		||||
  em2: ["up"]
 | 
			
		||||
  em3: ["up"]
 | 
			
		||||
  em4: ["up"]
 | 
			
		||||
  vether0: ["inet 192.168.0.1 255.255.255.0"]
 | 
			
		||||
  bridge0:
 | 
			
		||||
    - add vether0
 | 
			
		||||
    - add em1
 | 
			
		||||
    - add em2
 | 
			
		||||
    - add em3
 | 
			
		||||
    - add em4
 | 
			
		||||
    - up
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### TODO:
 | 
			
		||||
What to do on configuration changes. Could be "restart", "reload" or "nothing". Variable is mandatory.
 | 
			
		||||
```yaml
 | 
			
		||||
networkd_apply_action: "restart"
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
License
 | 
			
		||||
-------
 | 
			
		||||
 | 
			
		||||
MIT
 | 
			
		||||
							
								
								
									
										4
									
								
								handlers/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								handlers/main.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
- name: Network | Apply configuration
 | 
			
		||||
  shell: ":"
 | 
			
		||||
							
								
								
									
										11
									
								
								tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,11 @@
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
- name: Network | Deploy network configs
 | 
			
		||||
  template:
 | 
			
		||||
    src: hostname.if.j2
 | 
			
		||||
    dest: "/etc/hostname.{{ item.key }}"
 | 
			
		||||
    mode: 0640
 | 
			
		||||
    owner: root
 | 
			
		||||
    group: wheel
 | 
			
		||||
  with_dict: "{{ openbsd_network_interfaces }}"
 | 
			
		||||
  #notify: Network | Apply 
 | 
			
		||||
							
								
								
									
										4
									
								
								templates/hostname.if.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								templates/hostname.if.j2
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
			
		||||
# {{ ansible_managed | d('Ansible managed') }}
 | 
			
		||||
{% for line in item.value %}
 | 
			
		||||
{{ line }}
 | 
			
		||||
{% endfor %}
 | 
			
		||||
		Reference in New Issue
	
	Block a user