From b0ac9dc85025f2c9f1862dc7aa61aabf7efbcb50 Mon Sep 17 00:00:00 2001 From: LinuxSquare <7436714-OfficialLinuxSquare@users.noreply.gitlab.com> Date: Thu, 26 Oct 2023 23:59:19 +0200 Subject: [PATCH] Restructure states, add podman package install workaround --- applications/init.sls | 4 - applications/mysql.sls | 35 -------- applications/podman.sls | 84 ------------------- applications/ssh.sls | 30 ------- mysql/directory.sls | 12 +++ mysql/init.sls | 4 + mysql/pkg.sls | 6 ++ mysql/service.sls | 15 ++++ openssh/config.sls | 17 ++++ .../files/openssh_authorized_keys | 0 .../files/openssh_sshd_config | 0 openssh/init.sls | 4 + openssh/pkg.sls | 4 + openssh/service.sls | 13 +++ podman/init.sls | 5 ++ podman/pkg.sls | 3 + podman/rootless.sls | 57 +++++++++++++ podman/service.sls | 11 +++ podman/user.sls | 13 +++ top.sls | 4 +- 20 files changed, 167 insertions(+), 154 deletions(-) delete mode 100644 applications/init.sls delete mode 100644 applications/mysql.sls delete mode 100644 applications/podman.sls delete mode 100644 applications/ssh.sls create mode 100644 mysql/directory.sls create mode 100644 mysql/init.sls create mode 100644 mysql/pkg.sls create mode 100644 mysql/service.sls create mode 100644 openssh/config.sls rename applications/files/ssh_authorized_keys => openssh/files/openssh_authorized_keys (100%) rename applications/files/ssh_sshd_config => openssh/files/openssh_sshd_config (100%) create mode 100644 openssh/init.sls create mode 100644 openssh/pkg.sls create mode 100644 openssh/service.sls create mode 100644 podman/init.sls create mode 100644 podman/pkg.sls create mode 100644 podman/rootless.sls create mode 100644 podman/service.sls create mode 100644 podman/user.sls diff --git a/applications/init.sls b/applications/init.sls deleted file mode 100644 index b4c74e1..0000000 --- a/applications/init.sls +++ /dev/null @@ -1,4 +0,0 @@ -include: - - .mysql - - .podman - - .ssh diff --git a/applications/mysql.sls b/applications/mysql.sls deleted file mode 100644 index 5047c24..0000000 --- a/applications/mysql.sls +++ /dev/null @@ -1,35 +0,0 @@ -applications_mysql_pkgs: - pkg.installed: - - pkgs: - - mariadb - - mariadb-client - - mariadb-openrc - -applications_mysql_directory: - file.directory: - - name: /var/lib/mysql - - create: False - - replace: False - - user: mysql - - group: mysql - - recurse: - - user - - group - - require: - - applications_mysql_pkgs - -{% if not salt['file.directory_exists']('/var/lib/mysql/mysql') %} -applications_mysql_setup: - cmd.run: - - name: /etc/init.d/mariadb setup - - runas: root - - shell: /bin/ash - - require: - - applications_mysql_directory - -applications_mysql_service: - service.enabled: - - name: mariadb - - require: - - applications_mysql_setup -{% endif %} \ No newline at end of file diff --git a/applications/podman.sls b/applications/podman.sls deleted file mode 100644 index 9508a50..0000000 --- a/applications/podman.sls +++ /dev/null @@ -1,84 +0,0 @@ -applications_podman_pkgs: - pkg.installed: - - pkgs: - - podman - - podman-openrc - -application_podman_compose_pkg: - pkg.installed: - - sources: - - podman-compose: https://dl-cdn.alpinelinux.org/alpine/edge/testing - -applications_podman_rootless_confd: - file.keyvalue: - - name: /etc/conf.d/podman - - key_values: - podman_user: '"puser"' - - separator: '=' - - uncomment: '#' - - key_ignore_case: false - - value_ignore_case: false - - append_if_not_found: true - - require: - - applications_podman_pkgs - -applications_podman_service: - service.running: - - name: podman - - enable: True - - watch: - - file: /etc/conf.d/podman - - require: - - applications_podman_rootless_confd - -applications_podman_rootless_cgroup_mode: - file.keyvalue: - - name: /etc/rc.conf - - key_values: - rc_cgroup_mode: '"unified"' - - separator: '=' - - uncomment: '#' - - key_ignore_case: false - - value_ignore_case: false - - append_if_not_found: true - - require: - - applications_podman_pkgs - -applications_podman_rootless_cgroups: - service.running: - - name: cgroups - - enable: True - - watch: - - applications_podman_rootless_cgroup_mode - -applications_podman_user: - user.present: - - name: puser - - uid: 2000 - - shell: /bin/zsh - - home: /home/puser - - usergroup: True - - createhome: True - - require: - - applications_podman_pkgs - -applications_podman_rootless_modules: - file.append: - - name: /etc/modules - - text: - - tun - - fuse - -applications_podman_rootless_subgid: - file.append: - - name: /etc/subgid - - text: puser:100000:65536 - - require: - - applications_podman_user - -applications_podman_rootless_subuid: - file.append: - - name: /etc/subuid - - text: puser:100000:65536 - - require: - - applications_podman_user diff --git a/applications/ssh.sls b/applications/ssh.sls deleted file mode 100644 index 72e5fda..0000000 --- a/applications/ssh.sls +++ /dev/null @@ -1,30 +0,0 @@ -applications_ssh_pkgs: - pkg.installed: - - pkgs: - - openssh-server - -applications_ssh_add_keys: - file.managed: - - name: /root/.ssh/authorized_keys - - source: salt://{{ tpldir }}/files/ssh_authorized_keys - - makedirs: True - - user: root - - group: root - - require: - - applications_ssh_pkgs - -applications_ssh_configuration: - file.managed: - - name: /etc/ssh/sshd_config - - source: salt://{{ tpldir }}/files/ssh_sshd_config - -applications_ssh_enable: - service.running: - - name: sshd - - enable: True - - watch: - - applications_ssh_configuration - - applications_ssh_add_keys - - require: - - applications_ssh_configuration - - applications_ssh_add_keys diff --git a/mysql/directory.sls b/mysql/directory.sls new file mode 100644 index 0000000..2d30b73 --- /dev/null +++ b/mysql/directory.sls @@ -0,0 +1,12 @@ +mysql_directory: + file.directory: + - name: /var/lib/mysql + - create: False + - replace: False + - user: mysql + - group: mysql + - recurse: + - user + - group + - require: + - applications_mysql_pkgs diff --git a/mysql/init.sls b/mysql/init.sls new file mode 100644 index 0000000..8750237 --- /dev/null +++ b/mysql/init.sls @@ -0,0 +1,4 @@ +include: + - .pkg + - .directory + - .service diff --git a/mysql/pkg.sls b/mysql/pkg.sls new file mode 100644 index 0000000..1ddd109 --- /dev/null +++ b/mysql/pkg.sls @@ -0,0 +1,6 @@ +mysql_pkg: + pkg.installed: + - pkgs: + - mariadb + - mariadb-client + - mariadb-openrc diff --git a/mysql/service.sls b/mysql/service.sls new file mode 100644 index 0000000..0481d4e --- /dev/null +++ b/mysql/service.sls @@ -0,0 +1,15 @@ +{% if not salt['file.directory_exists']('/var/lib/mysql/mysql') %} +mysql_service_setup: + cmd.run: + - name: /etc/init.d/mariadb setup + - runas: root + - shell: /bin/ash + - require: + - applications_mysql_directory + +mysql_service_enable: + service.enabled: + - name: mariadb + - require: + - mysql_service_setup +{% endif %} diff --git a/openssh/config.sls b/openssh/config.sls new file mode 100644 index 0000000..6693fd1 --- /dev/null +++ b/openssh/config.sls @@ -0,0 +1,17 @@ +include: + - .pkg + +openssh_config_configuration: + file.managed: + - name: /etc/ssh/sshd_config + - source: salt://{{ tpldir }}/files/openssh_sshd_config + +openssh_config_keys: + file.managed: + - name: /root/.ssh/authorized_keys + - source: salt://{{ tpldir }}/files/openssh_authorized_keys + - makedirs: True + - user: root + - group: root + - require: + - openssh_pkg diff --git a/applications/files/ssh_authorized_keys b/openssh/files/openssh_authorized_keys similarity index 100% rename from applications/files/ssh_authorized_keys rename to openssh/files/openssh_authorized_keys diff --git a/applications/files/ssh_sshd_config b/openssh/files/openssh_sshd_config similarity index 100% rename from applications/files/ssh_sshd_config rename to openssh/files/openssh_sshd_config diff --git a/openssh/init.sls b/openssh/init.sls new file mode 100644 index 0000000..23d2bfd --- /dev/null +++ b/openssh/init.sls @@ -0,0 +1,4 @@ +include: + - .pkg + - .config + - .service diff --git a/openssh/pkg.sls b/openssh/pkg.sls new file mode 100644 index 0000000..7684d6e --- /dev/null +++ b/openssh/pkg.sls @@ -0,0 +1,4 @@ +openssh_pkg: + pkg.installed: + - pkgs: + - openssh-server diff --git a/openssh/service.sls b/openssh/service.sls new file mode 100644 index 0000000..9d28b19 --- /dev/null +++ b/openssh/service.sls @@ -0,0 +1,13 @@ +include: + - .config + +openssh_service_enable: + service.running: + - name: sshd + - enable: True + - watch: + - openssh_config_configuration + - openssh_config_keys + - require: + - openssh_config_configuration + - openssh_config_keys diff --git a/podman/init.sls b/podman/init.sls new file mode 100644 index 0000000..36ecbdf --- /dev/null +++ b/podman/init.sls @@ -0,0 +1,5 @@ +include: + - .pkg + - .rootless + - .user + - .service diff --git a/podman/pkg.sls b/podman/pkg.sls new file mode 100644 index 0000000..5d24525 --- /dev/null +++ b/podman/pkg.sls @@ -0,0 +1,3 @@ +podman_pkg: + cmd.run: + - name: "apk add podman podman-openrc podman-compose@testing" diff --git a/podman/rootless.sls b/podman/rootless.sls new file mode 100644 index 0000000..1a8e23e --- /dev/null +++ b/podman/rootless.sls @@ -0,0 +1,57 @@ +include: + - .pkg + - .user + +podman_rootless_confd: + file.keyvalue: + - name: /etc/conf.d/podman + - key_values: + podman_user: '"puser"' + - separator: '=' + - uncomment: '#' + - key_ignore_case: false + - value_ignore_case: false + - append_if_not_found: true + - require: + - podman_pkg + +podman_rootless_cgroup_mode: + file.keyvalue: + - name: /etc/rc.conf + - key_values: + rc_cgroup_mode: '"unified"' + - separator: '=' + - uncomment: '#' + - key_ignore_case: false + - value_ignore_case: false + - append_if_not_found: true + - require: + - podman_pkg + +podman_rootless_cgroups: + service.running: + - name: cgroups + - enable: True + - watch: + - podman_rootless_cgroup_mode + +podman_rootless_modules: + file.append: + - name: /etc/modules + - text: + - tun + - fuse + +podman_rootless_subgid: + file.append: + - name: /etc/subgid + - text: puser:100000:65536 + - require: + - podman_user + +podman_rootless_subuid: + file.append: + - name: /etc/subuid + - text: puser:100000:65536 + - require: + - podman_user diff --git a/podman/service.sls b/podman/service.sls new file mode 100644 index 0000000..e3a9a03 --- /dev/null +++ b/podman/service.sls @@ -0,0 +1,11 @@ +include: + - .rootless + +applications_podman_service: + service.running: + - name: podman + - enable: True + - watch: + - file: /etc/conf.d/podman + - require: + - podman_rootless_confd diff --git a/podman/user.sls b/podman/user.sls new file mode 100644 index 0000000..9d20653 --- /dev/null +++ b/podman/user.sls @@ -0,0 +1,13 @@ +include: + - .pkg + +podman_user: + user.present: + - name: puser + - uid: 2000 + - shell: /bin/zsh + - home: /home/puser + - usergroup: True + - createhome: True + - require: + - podman_pkg diff --git a/top.sls b/top.sls index 4ae3cd7..0cd8112 100644 --- a/top.sls +++ b/top.sls @@ -2,5 +2,7 @@ base: '*': - system - network - - applications - util + - podman + - mysql + - openssh