From 67e4670ff9ebec83bafee2d9aa7abf94804522b0 Mon Sep 17 00:00:00 2001 From: ale <ale@incal.net> Date: Tue, 18 Aug 2020 16:12:20 +0100 Subject: [PATCH] Remove all stretch-related configuration switches No need to support those anymore. Fixes issue #78. --- roles/base/files/mtail.service | 2 +- roles/base/files/mtail.service.buster | 17 -------------- roles/base/files/node-exporter.default | 7 +----- roles/base/files/node-exporter.default.buster | 1 - roles/base/tasks/apt.yml | 19 ---------------- roles/base/tasks/harden.yml | 1 + roles/base/tasks/prometheus.yml | 2 +- roles/base/tasks/syslog.yml | 12 ++-------- roles/base/templates/ssh/sshd_config.j2 | 4 ---- roles/docker/tasks/buster_upgrade.yml | 22 ------------------- roles/docker/tasks/main.yml | 7 ------ roles/mariadb/tasks/main.yml | 2 +- roles/mariadb/templates/exporter.service.j2 | 4 ---- test/integration-test-docker.yml | 7 ------ 14 files changed, 7 insertions(+), 100 deletions(-) delete mode 100644 roles/base/files/mtail.service.buster delete mode 100644 roles/base/files/node-exporter.default.buster delete mode 100644 roles/docker/tasks/buster_upgrade.yml diff --git a/roles/base/files/mtail.service b/roles/base/files/mtail.service index 69dec022..594e5218 100644 --- a/roles/base/files/mtail.service +++ b/roles/base/files/mtail.service @@ -5,7 +5,7 @@ Requires=mtail.socket [Service] Type=simple # Systemd will pass mtail.socket as FD 3. -ExecStart=/usr/bin/mtail -progs /etc/mtail -logtostderr -port 3903 -logfds 3 +ExecStart=/usr/bin/mtail --progs /etc/mtail --logtostderr --port 3903 --logs /dev/fd/3 Restart=on-failure User=mtail diff --git a/roles/base/files/mtail.service.buster b/roles/base/files/mtail.service.buster deleted file mode 100644 index 594e5218..00000000 --- a/roles/base/files/mtail.service.buster +++ /dev/null @@ -1,17 +0,0 @@ -[Unit] -Description=MTail -Requires=mtail.socket - -[Service] -Type=simple -# Systemd will pass mtail.socket as FD 3. -ExecStart=/usr/bin/mtail --progs /etc/mtail --logtostderr --port 3903 --logs /dev/fd/3 -Restart=on-failure -User=mtail - -# Limit memory leaks -MemoryMax=1G -ExecStartPost=+/bin/sh -c "echo 0 > /sys/fs/cgroup/memory/system.slice/%n/memory.swappiness" - -[Install] -WantedBy=multi-user.target diff --git a/roles/base/files/node-exporter.default b/roles/base/files/node-exporter.default index b9948f2d..e97bc9bb 100644 --- a/roles/base/files/node-exporter.default +++ b/roles/base/files/node-exporter.default @@ -1,6 +1 @@ - -ARGS="--collectors.enabled=conntrack,diskstats,entropy,filefd,filesystem,hwmon,loadavg,meminfo,netdev,netstat,sockstat,stat,systemd,textfile,time,uname,vmstat \ - --collector.diskstats.ignored-devices=^(ram|loop|fd)\d+$ \ - --collector.filesystem.ignored-mount-points=^/(sys|proc|dev|run)($|/) \ - --collector.textfile.directory=/var/lib/prometheus/node-exporter \ - --collector.systemd.unit-blacklist=^.*\.(device|swap|mount)$" +ARGS="--collector.systemd.unit-blacklist=.+(\.device|\.swap|\.mount|\.scope|\.slice|\.target)" diff --git a/roles/base/files/node-exporter.default.buster b/roles/base/files/node-exporter.default.buster deleted file mode 100644 index e97bc9bb..00000000 --- a/roles/base/files/node-exporter.default.buster +++ /dev/null @@ -1 +0,0 @@ -ARGS="--collector.systemd.unit-blacklist=.+(\.device|\.swap|\.mount|\.scope|\.slice|\.target)" diff --git a/roles/base/tasks/apt.yml b/roles/base/tasks/apt.yml index e959d5d2..50a02f07 100644 --- a/roles/base/tasks/apt.yml +++ b/roles/base/tasks/apt.yml @@ -76,26 +76,7 @@ - restic - runcron - acpid - -- name: Install Stretch packages - apt: - name: "{{ packages }}" - state: present - vars: - packages: - - apt-transport-https - - liblz4-tool - - python-docker - when: float_debian_dist == 'stretch' - -- name: Install Buster packages - apt: - name: "{{ packages }}" - state: present - vars: - packages: - lz4 - when: float_debian_dist == 'buster' - name: Install extra packages apt: diff --git a/roles/base/tasks/harden.yml b/roles/base/tasks/harden.yml index a23b0ced..3ed2700d 100644 --- a/roles/base/tasks/harden.yml +++ b/roles/base/tasks/harden.yml @@ -41,6 +41,7 @@ # Audit configuration on Debian stretch uses augenrules by default, so # we copy our rules in /etc/audit/rules.d. +# TODO: evaluate whether we still need this. - name: Auditd installed apt: name: "{{ packages }}" diff --git a/roles/base/tasks/prometheus.yml b/roles/base/tasks/prometheus.yml index dc22d3da..8e822dfe 100644 --- a/roles/base/tasks/prometheus.yml +++ b/roles/base/tasks/prometheus.yml @@ -2,7 +2,7 @@ - name: Install prometheus config files in /etc/default copy: - src: "{{ 'node-exporter.default' if ansible_distribution_release == 'stretch' else 'node-exporter.default.buster' }}" + src: "node-exporter.default" dest: "/etc/default/prometheus-node-exporter" notify: - reload prometheus-node-exporter diff --git a/roles/base/tasks/syslog.yml b/roles/base/tasks/syslog.yml index 09828c14..cac9e5fb 100644 --- a/roles/base/tasks/syslog.yml +++ b/roles/base/tasks/syslog.yml @@ -8,17 +8,9 @@ dest: "/etc/apt/preferences.d/99float-syslog" when: float_debian_dist == 'buster' -# Install rsyslog from the backports repository. This isn't strictly -# necessary but it is done to have the same version of rsyslog on all -# hosts, including the log-collector. -# -# This sources.list check must use float_debian_dist because otherwise -# Ansible complains about the unknown source on dist upgrades. -# TODO: drop this check when stretch is obsolete. -- name: Install rsyslog packages from backports +- name: Install rsyslog packages apt: name: "{{ packages }}" - default_release: "{{ 'stretch-backports' if float_debian_dist == 'stretch' else '' }}" state: present vars: packages: @@ -34,7 +26,7 @@ - name: Install mtail systemd unit copy: - src: "{{ 'mtail.service' if ansible_distribution_release == 'stretch' else 'mtail.service.buster' }}" + src: "mtail.service" dest: "/etc/systemd/system/mtail.service" notify: restart mtail diff --git a/roles/base/templates/ssh/sshd_config.j2 b/roles/base/templates/ssh/sshd_config.j2 index ac1a9694..4c7baeb8 100644 --- a/roles/base/templates/ssh/sshd_config.j2 +++ b/roles/base/templates/ssh/sshd_config.j2 @@ -12,10 +12,6 @@ HostKey /etc/ssh/ssh_host_{{ key_type }}_key HostCertificate /etc/ssh/ssh_host_{{ key_type }}_key-cert.pub {% endfor %} -{% if ansible_distribution_release == 'stretch' %} -UsePrivilegeSeparation sandbox -{% endif %} - # Ciphers and MACs KexAlgorithms curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256 Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr diff --git a/roles/docker/tasks/buster_upgrade.yml b/roles/docker/tasks/buster_upgrade.yml deleted file mode 100644 index 5d31aeb1..00000000 --- a/roles/docker/tasks/buster_upgrade.yml +++ /dev/null @@ -1,22 +0,0 @@ -- name: Remove docker.com GPG key - apt_key: - id: 9DC858229FC7DD38854AE2D88D81803C0EBFCD88 - url: https://download.docker.com/linux/debian/gpg - state: absent - -- name: Remove docker packages - apt: - name: "{{ packages }}" - state: absent - vars: - packages: - - docker-ce - - systemd-docker - -- name: Remove docker files - file: - dest: "{{ item }}" - state: absent - with_items: - - /etc/apt/sources.list.d/download_docker_com_linux_debian.list - - /etc/docker diff --git a/roles/docker/tasks/main.yml b/roles/docker/tasks/main.yml index ae497647..d4493153 100644 --- a/roles/docker/tasks/main.yml +++ b/roles/docker/tasks/main.yml @@ -3,13 +3,6 @@ - set_fact: container_runtime: "podman" -- set_fact: - container_runtime: "docker" - when: "ansible_distribution_release == 'stretch'" - -- include_tasks: buster_upgrade.yml - when: "ansible_distribution_release == 'buster'" - - include_tasks: docker.yml when: "container_runtime == 'docker'" diff --git a/roles/mariadb/tasks/main.yml b/roles/mariadb/tasks/main.yml index 56316d13..9f410f96 100644 --- a/roles/mariadb/tasks/main.yml +++ b/roles/mariadb/tasks/main.yml @@ -114,7 +114,7 @@ register: mariadb_systemd_unit - name: Bootstrap data directory - shell: "/usr/bin/mysql_install_db --defaults-file={{ mariadb_config }} --datadir={{ mariadb_data_dir }} --user=mysql --auth-root-authentication-method=socket {{ ansible_distribution_release == 'stretch' and '--skip-auth-anonymous-user' or '' }} && date > {{ mariadb_data_dir }}/.float-bootstrap-ok" + shell: "/usr/bin/mysql_install_db --defaults-file={{ mariadb_config }} --datadir={{ mariadb_data_dir }} --user=mysql --auth-root-authentication-method=socket && date > {{ mariadb_data_dir }}/.float-bootstrap-ok" args: creates: "{{ mariadb_data_dir }}/.float-bootstrap-ok" diff --git a/roles/mariadb/templates/exporter.service.j2 b/roles/mariadb/templates/exporter.service.j2 index 2cd55e04..30b7e2d0 100644 --- a/roles/mariadb/templates/exporter.service.j2 +++ b/roles/mariadb/templates/exporter.service.j2 @@ -4,11 +4,7 @@ Description=Prometheus exporter for MySQL server (%I) [Service] Restart=always User=prometheus -{% if ansible_distribution_release == 'stretch' %} -ExecStart=/usr/bin/prometheus-mysqld-exporter -web.listen-address {{ mariadb_metrics_address }}:{{ mariadb_metrics_port }} -config.my-cnf {{ mariadb_metrics_config }} -collect.info_schema.tables=false -collect.info_schema.tablestats=false -{% else %} ExecStart=/usr/bin/prometheus-mysqld-exporter --web.listen-address {{ mariadb_metrics_address }}:{{ mariadb_metrics_port }} --config.my-cnf {{ mariadb_metrics_config }} --no-collect.info_schema.tables --no-collect.info_schema.tablestats -{% endif %} [Install] WantedBy=multi-user.target diff --git a/test/integration-test-docker.yml b/test/integration-test-docker.yml index d896929a..ade66b7e 100644 --- a/test/integration-test-docker.yml +++ b/test/integration-test-docker.yml @@ -8,15 +8,8 @@ dest: /tmp/test-config.yml content: "{{ vars|to_nice_yaml }}" - - name: Setup test Docker image - docker_image: - name: registry.git.autistici.org/ai3/float:integration-test - force: true - when: "ansible_distribution_release == 'stretch'" - - name: Setup test Docker image command: "podman pull registry.git.autistici.org/ai3/float:integration-test" - when: "ansible_distribution_release != 'stretch'" - name: Run tests command: docker run --net host --mount type=bind,source=/tmp/test-config.yml,destination=/test-config.yml registry.git.autistici.org/ai3/float:integration-test -- GitLab