Initialise repository structure and placeholder files. Generic functionality works i guess, need to come up with a better solution for compose templates
This commit is contained in:
commit
53695f4fff
411 files changed
+7817
No files matched your search
@@ -0,0 +1,9 @@
|
||||
# base
|
||||
|
||||
Configures the operating system baseline: hostname, locale, timezone, packages,
|
||||
Chrony, QEMU guest agent, persistent journald, sysctl, aliases, PKI directories,
|
||||
and `/srv` layout.
|
||||
|
||||
Tags: `base`, `hostname`, `packages`, `locale`, `timezone`, `directories`,
|
||||
`journald`, `sysctl`, `shell`, `services`, `pki`.
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
---
|
||||
base_hostname: "{{ nbops_hostname }}"
|
||||
base_fqdn: "{{ nbops_fqdn }}"
|
||||
base_timezone: "{{ nbops_timezone }}"
|
||||
base_locale: "{{ nbops_locale }}"
|
||||
base_packages: "{{ nbops_base_packages }}"
|
||||
base_standard_directories: "{{ nbops_standard_directories }}"
|
||||
base_sysctl: "{{ nbops_sysctl }}"
|
||||
base_aliases:
|
||||
ll: "ls -alF"
|
||||
la: "ls -A"
|
||||
l: "ls -CF"
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
- name: restart chrony
|
||||
ansible.builtin.service:
|
||||
name: chrony
|
||||
state: restarted
|
||||
|
||||
- name: restart qemu guest agent
|
||||
ansible.builtin.service:
|
||||
name: qemu-guest-agent
|
||||
state: restarted
|
||||
|
||||
- name: restart systemd-journald
|
||||
ansible.builtin.service:
|
||||
name: systemd-journald
|
||||
state: restarted
|
||||
|
||||
@@ -0,0 +1,104 @@
|
||||
---
|
||||
- name: Set hostname
|
||||
ansible.builtin.hostname:
|
||||
name: "{{ base_hostname }}"
|
||||
tags: [base, hostname]
|
||||
|
||||
- name: Configure hosts file
|
||||
ansible.builtin.template:
|
||||
src: hosts.j2
|
||||
dest: /etc/hosts
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0644"
|
||||
tags: [base, hostname]
|
||||
|
||||
- name: Install base packages
|
||||
ansible.builtin.apt:
|
||||
name: "{{ base_packages }}"
|
||||
state: present
|
||||
update_cache: true
|
||||
cache_valid_time: 3600
|
||||
tags: [base, packages]
|
||||
|
||||
- name: Configure locale
|
||||
community.general.locale_gen:
|
||||
name: "{{ base_locale }}"
|
||||
state: present
|
||||
tags: [base, locale]
|
||||
|
||||
- name: Set system locale
|
||||
ansible.builtin.copy:
|
||||
dest: /etc/default/locale
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0644"
|
||||
content: |
|
||||
LANG={{ base_locale }}
|
||||
LC_ALL={{ base_locale }}
|
||||
tags: [base, locale]
|
||||
|
||||
- name: Configure timezone
|
||||
community.general.timezone:
|
||||
name: "{{ base_timezone }}"
|
||||
notify: restart chrony
|
||||
tags: [base, timezone]
|
||||
|
||||
- name: Ensure standard directories exist
|
||||
ansible.builtin.file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
owner: root
|
||||
group: root
|
||||
mode: "{{ '0700' if item.endswith('/private') else '0755' }}"
|
||||
loop: "{{ base_standard_directories }}"
|
||||
tags: [base, directories]
|
||||
|
||||
- name: Configure persistent journald storage
|
||||
ansible.builtin.copy:
|
||||
dest: /etc/systemd/journald.conf.d/10-nbops.conf
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0644"
|
||||
content: |
|
||||
[Journal]
|
||||
Storage=persistent
|
||||
Compress=yes
|
||||
SystemMaxUse=1G
|
||||
notify: restart systemd-journald
|
||||
tags: [base, journald]
|
||||
|
||||
- name: Configure sysctl
|
||||
ansible.posix.sysctl:
|
||||
name: "{{ item.key }}"
|
||||
value: "{{ item.value }}"
|
||||
state: present
|
||||
reload: true
|
||||
loop: "{{ base_sysctl | dict2items }}"
|
||||
tags: [base, sysctl]
|
||||
|
||||
- name: Configure shell aliases
|
||||
ansible.builtin.template:
|
||||
src: nbops-aliases.sh.j2
|
||||
dest: /etc/profile.d/nbops-aliases.sh
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0644"
|
||||
tags: [base, shell]
|
||||
|
||||
- name: Enable base services
|
||||
ansible.builtin.service:
|
||||
name: "{{ item }}"
|
||||
enabled: true
|
||||
state: started
|
||||
loop:
|
||||
- chrony
|
||||
- qemu-guest-agent
|
||||
tags: [base, services]
|
||||
|
||||
- name: Refresh CA certificate trust
|
||||
ansible.builtin.command:
|
||||
cmd: update-ca-certificates
|
||||
changed_when: false
|
||||
tags: [base, pki]
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
127.0.0.1 localhost
|
||||
127.0.1.1 {{ base_fqdn }} {{ base_hostname }}
|
||||
|
||||
::1 localhost ip6-localhost ip6-loopback
|
||||
ff02::1 ip6-allnodes
|
||||
ff02::2 ip6-allrouters
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
{% for name, command in base_aliases.items() %}
|
||||
alias {{ name }}='{{ command }}'
|
||||
{% endfor %}
|
||||
|
||||
Reference in new issue
Block a user