network/salt/lxc-containers-1/init.sls

61 lines
1.3 KiB
Plaintext
Raw Normal View History

2016-11-03 00:26:30 +01:00
{%- import_yaml "lxc-containers-1/containers.yaml" as containers -%}
lxc:
pkg.installed: []
{% for id, container in containers.items() %}
/var/lib/lxc/{{ id }}:
cmd.run:
2016-11-06 02:49:56 +01:00
- name: lxc-create -n {{ id }} -B dir -t debian -- -r stretch --packages=salt-minion
2016-11-03 00:26:30 +01:00
- require:
- pkg: lxc
- creates: /var/lib/lxc/{{ id }}
/var/lib/lxc/{{ id }}/config:
file.managed:
- source: salt://lxc-containers-1/config
- template: 'jinja'
- context:
id: {{ id }}
container: {{ container }}
2016-11-14 21:49:38 +01:00
- require:
- cmd: /var/lib/lxc/{{ id }}
2016-11-03 00:26:30 +01:00
2016-11-15 01:33:17 +01:00
/var/lib/lxc/{{ id }}/rootfs/dev/net:
file.directory:
- mode: 0755
/var/lib/lxc/{{ id }}/rootfs/dev/net/tun:
file.mknod:
- ntype: 'c'
- major: 10
- minor: 200
- mode: 0666
- require:
- file: /var/lib/lxc/{{ id }}/rootfs/dev/net
2016-11-06 02:49:56 +01:00
/var/lib/lxc/{{ id }}/rootfs/etc/hosts:
file.managed:
- source: salt://lxc-containers-1/hosts
- template: 'jinja'
- context:
id: {{ id }}
container: {{ container }}
2016-11-14 21:49:38 +01:00
- require:
- cmd: /var/lib/lxc/{{ id }}
2016-11-06 02:49:56 +01:00
2016-11-03 00:26:30 +01:00
autostart-{{ id }}:
service.enabled:
- name: lxc@{{ id }}
require_in:
file: /var/lib/lxc/{{ id }}/config
start-{{ id }}:
service.running:
- name: lxc@{{ id }}
require:
- service: autostart-{{ id }}
2016-11-08 22:36:08 +01:00
2016-11-03 00:26:30 +01:00
{% endfor %}