brusq-RH 3 months ago
parent
commit
f3bce1ef03
  1. 3
      .vscode/settings.json
  2. 3
      aap/playbooks/ansible.cfg
  3. 2
      aap/playbooks/templates/cloud-init/meta-data.j2
  4. 9
      aap/playbooks/templates/cloud-init/network-config.j2
  5. 59
      aap/playbooks/templates/cloud-init/user-data.j2
  6. 28
      aap/playbooks/templates/virt-install-cmdline.j2

3
.vscode/settings.json

@ -0,0 +1,3 @@
{
"ansible.python.interpreterPath": "/usr/local/bin/python3"
}

3
aap/playbooks/ansible.cfg

@ -0,0 +1,3 @@
[defaults]
# Enable the do keyword in Jinja2
jinja2_extensions = jinja2.ext.do

2
aap/playbooks/templates/cloud-init/meta-data.j2

@ -0,0 +1,2 @@
instance-id: "{{ libvirt_domain.name }}"
local-hostname: "{{ libvirt_domain.name }}"

9
aap/playbooks/templates/cloud-init/network-config.j2

@ -0,0 +1,9 @@
version: 2
ethernets:
enp1s0:
match:
macaddress: "{{ libvirt_domain_mac_address }}"
set-name: enp1s0
addresses:
- "{{ libvirt_domain_parameters.ipv4_address }}"
gateway4: "{{ libvirt_domain_parameters.ipv4_gateway }}"

59
aap/playbooks/templates/cloud-init/user-data.j2

@ -0,0 +1,59 @@
#cloud-config
users:
- name: demo
gecos: Demo
groups: wheel
lock_passwd: false
passwd: $6$pkjw0DZirHVbQuBW$U/D84I3BVGutAOyg2GmOGPcHTptM4nFhULLuzpwwUQ400eiYonbVVfaqDts7AB3VgFsPR/4P6BsMD90811n6S0
ssh_authorized_keys:
- ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPR1tt58X0+vbvsCR12gMAqr+g7vjt1Fx/qqz9EiboIs nicolas@localhost.localdomain
- ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFW62WJXI1ZCMfNA4w0dMpL0fsldhbEfULNGIUB0nQui nmasse@localhost.localdomain
- ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHFcI0BFE4YNt9e+Av8akeLpiGFufCyuqEWT1kxfc7ki root@edge-infra
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC5/85EkW8rBdCVBQ7utReG1HvPc9XO4Xp62dDgUpH34nugA3Eo0qpeU5hZyUZguyPBpsM6FqR1AJ8HFSQf4PN0NqoGIAqYTR/FmFS1HxW4zvqA+KLnaqEQeC23yh/6QfzIY/kbWYO9UJz0emusT2MyyU776Y68cWjg1HNJcsuMSdtDSnb9C5dhd/oBtzO5/tlZ2ddUlfKiDUcW1RCSedu9wlvTu2NF1zuGUvurUWGU2dSTCUHQWF0qF9sIw+vaL52Z/WYaBaTGloiwVDY4h0rcTlRSZOlLEG9EaTAk0Aw/A9JPVlsrIqxDqMto+p9xxwxdQqX0ZbfG2sTnEt4JdCd1 jerome@jerome-PC
- name: root
ssh_authorized_keys:
- ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPR1tt58X0+vbvsCR12gMAqr+g7vjt1Fx/qqz9EiboIs nicolas@localhost.localdomain
- ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFW62WJXI1ZCMfNA4w0dMpL0fsldhbEfULNGIUB0nQui nmasse@localhost.localdomain
- ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHFcI0BFE4YNt9e+Av8akeLpiGFufCyuqEWT1kxfc7ki root@edge-infra
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC5/85EkW8rBdCVBQ7utReG1HvPc9XO4Xp62dDgUpH34nugA3Eo0qpeU5hZyUZguyPBpsM6FqR1AJ8HFSQf4PN0NqoGIAqYTR/FmFS1HxW4zvqA+KLnaqEQeC23yh/6QfzIY/kbWYO9UJz0emusT2MyyU776Y68cWjg1HNJcsuMSdtDSnb9C5dhd/oBtzO5/tlZ2ddUlfKiDUcW1RCSedu9wlvTu2NF1zuGUvurUWGU2dSTCUHQWF0qF9sIw+vaL52Z/WYaBaTGloiwVDY4h0rcTlRSZOlLEG9EaTAk0Aw/A9JPVlsrIqxDqMto+p9xxwxdQqX0ZbfG2sTnEt4JdCd1 jerome@jerome-PC
write_files:
- path: /etc/sudoers
content: |
Defaults !visiblepw
Defaults always_set_home
Defaults match_group_by_gid
Defaults always_query_group_plugin
Defaults env_reset
Defaults env_keep = "COLORS DISPLAY HOSTNAME HISTSIZE KDEDIR LS_COLORS"
Defaults env_keep += "MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE"
Defaults env_keep += "LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES"
Defaults env_keep += "LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE"
Defaults env_keep += "LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY"
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin
root ALL=(ALL) ALL
%wheel ALL=(ALL) NOPASSWD: ALL
#includedir /etc/sudoers.d
permissions: '0440'
append: false
- path: /etc/ssh/sshd_config.d/00-demo.conf
content: |
KbdInteractiveAuthentication no
GSSAPIAuthentication no
PasswordAuthentication no
PermitRootLogin prohibit-password
KerberosAuthentication no
permissions: '0440'
append: false
- path: /etc/NetworkManager/conf.d/00-static-dns.conf
content: |
[main]
rc-manager=unmanaged
- path: /etc/resolv.conf
content: |
search libvirt.test
nameserver {{ libvirt_domain_parameters.ipv4_nameserver }}
runcmd:
- systemctl disable --now --no-block rpcbind.socket

28
aap/playbooks/templates/virt-install-cmdline.j2

@ -0,0 +1,28 @@
{%- set argv = [ "virt-install", "--noautoconsole", "--name=" ~ libvirt_domain.name] -%}
{%- for param in libvirt_domain.virt_install -%}
{%- for param2, values in param.items() -%}
{%- set prefix = "--" ~ param2 -%}
{%- if values is string or values is number -%}
{%- do argv.append(prefix ~ "=" ~ (values)) -%}
{%- elif values is mapping -%}
{%- set arglist = [] -%}
{%- for item in values | dict2items -%}
{%- set arg = item.key -%}
{%- set value = item.value -%}
{%- if value is none -%}
{%- do arglist.append(arg) -%}
{%- elif value.__class__.__name__ == 'list' -%}
{%- for v in value -%}
{%- do arglist.append(arg ~ "=" ~ v) -%}
{%- endfor -%}
{%- else -%}
{%- do arglist.append(arg ~ "=" ~ value) -%}
{%- endif -%}
{%- endfor -%}
{%- do argv.append(prefix ~ "=" ~ arglist | join(",")) -%}
{%- else -%}
{%- do argv.append(prefix) -%}
{%- endif -%}
{%- endfor -%}
{%- endfor -%}
{{ argv }}
Loading…
Cancel
Save