From 9e28385c405cbb040361399f8c63df856bc64214 Mon Sep 17 00:00:00 2001 From: ale <ale@incal.net> Date: Mon, 22 Nov 2021 18:25:00 +0000 Subject: [PATCH] Run the backup-metadata service in a container --- .../handlers/main.yml | 2 +- .../float-base-backup-metadata/tasks/main.yml | 41 ++++--------------- .../templates/metadb.service.j2 | 15 ------- services.yml.no-elasticsearch | 18 ++++---- 4 files changed, 19 insertions(+), 57 deletions(-) delete mode 100644 roles/float-base-backup-metadata/templates/metadb.service.j2 diff --git a/roles/float-base-backup-metadata/handlers/main.yml b/roles/float-base-backup-metadata/handlers/main.yml index 34aab05f..a891da0e 100644 --- a/roles/float-base-backup-metadata/handlers/main.yml +++ b/roles/float-base-backup-metadata/handlers/main.yml @@ -2,5 +2,5 @@ - name: restart tabacco-metadb systemd: - name: tabacco-metadb.service + name: docker-backup-metadata-http.service state: restarted diff --git a/roles/float-base-backup-metadata/tasks/main.yml b/roles/float-base-backup-metadata/tasks/main.yml index 0eee23e0..0f74f7c7 100644 --- a/roles/float-base-backup-metadata/tasks/main.yml +++ b/roles/float-base-backup-metadata/tasks/main.yml @@ -1,28 +1,5 @@ --- -# The tabacco package and /etc/tabacco directory have already been set -# up by the "base" role. - -# The metadata server runs as its own dedicated user, it needs no -# special privileges. - -- name: Create backup metadata user - user: - name: backup-metadata - groups: tabacco,backup-metadata-credentials - system: yes - state: present - -# The directory is already created by the dataset, but we need -# to ensure the permissions are correct or the first ansible run -# will fail (breaking tests). -- name: Create backup metadata server database dir - file: - path: /var/lib/tabacco-metadb - state: directory - owner: backup-metadata - mode: 0700 - - name: Configure the backup metadata server template: src: metadb.yml.j2 @@ -30,16 +7,14 @@ notify: - restart tabacco-metadb -- name: Setup the backup-metadata systemd unit - template: - src: metadb.service.j2 - dest: /etc/systemd/system/tabacco-metadb.service - notify: - - restart tabacco-metadb - -- name: Enable the backup metadata server +# Remove legacy systemd service. +- name: Disable the legacy backup metadata server systemd unit systemd: name: tabacco-metadb.service masked: no - enabled: yes - daemon_reload: yes + enabled: no + +- name: Remove legacy backup metadata server systemd unit + file: + path: "/etc/systemd/system/tabacco-metadb.service" + state: absent diff --git a/roles/float-base-backup-metadata/templates/metadb.service.j2 b/roles/float-base-backup-metadata/templates/metadb.service.j2 deleted file mode 100644 index a4202a76..00000000 --- a/roles/float-base-backup-metadata/templates/metadb.service.j2 +++ /dev/null @@ -1,15 +0,0 @@ -[Unit] -Description=Backup Agent -After=network.target - -[Service] -Type=simple -ExecStart=/usr/bin/tabacco metadb -ExecReload=/bin/kill -HUP $MAINPID -Restart=always -RestartSec=3 -User=backup-metadata -NoNewPrivileges=true - -[Install] -WantedBy=multi-user.target diff --git a/services.yml.no-elasticsearch b/services.yml.no-elasticsearch index 3665352d..81ae0ac9 100644 --- a/services.yml.no-elasticsearch +++ b/services.yml.no-elasticsearch @@ -257,24 +257,26 @@ backup-metadata: service_credentials: - name: backup-metadata enable_client: false + containers: + - name: http + image: registry.git.autistici.org/ai3/tools/tabacco:master + port: 5332 + volumes: + - /etc/tabacco/metadb.yml: /etc/tabacco/metadb.yml + - /var/lib/tabacco-metadb: /var/lib/tabacco-metadb monitoring_endpoints: - - port: 5332 + - job_name: backup-metadata + port: 5332 scheme: https public_endpoints: - name: backups port: 5332 scheme: https enable_sso_proxy: true - ports: - - 5332 - systemd_services: - - tabacco-metadb.service datasets: - name: db - type: litestream path: /var/lib/tabacco-metadb - filename: meta.db - owner: backup-metadata + owner: docker-backup-metadata acme: num_instances: 1 -- GitLab