Skip to content

Commit 1431fe0

Browse files
committed
feat: deploy logrotate via system-manager
1 parent d7cfcf0 commit 1431fe0

13 files changed

Lines changed: 168 additions & 88 deletions

.editorconfig

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# EditorConfig is awesome: https://EditorConfig.org
2+
3+
# top-most EditorConfig file
4+
root = true
5+
6+
[*.nix]
7+
indent_style = space
8+
indent_size = 2
9+
end_of_line = lf
10+
charset = utf-8
11+
trim_trailing_whitespace = true
12+
insert_final_newline = true

ansible/files/logrotate_config/logrotate-postgres-auth.conf

Lines changed: 0 additions & 8 deletions
This file was deleted.

ansible/files/logrotate_config/logrotate-postgres-csv.conf

Lines changed: 0 additions & 11 deletions
This file was deleted.

ansible/files/logrotate_config/logrotate-postgres.conf

Lines changed: 0 additions & 9 deletions
This file was deleted.

ansible/files/logrotate_config/logrotate-walg.conf

Lines changed: 0 additions & 9 deletions
This file was deleted.

ansible/tasks/finalize-ami.yml

Lines changed: 0 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -50,20 +50,6 @@
5050
policy: 'deny'
5151
state: 'enabled'
5252

53-
- name: Move logrotate files to /etc/logrotate.d/
54-
ansible.builtin.copy:
55-
dest: "/etc/logrotate.d/{{ logrotate_item['file'] }}"
56-
mode: '0700'
57-
owner: 'root'
58-
src: "files/logrotate_config/{{ logrotate_item['file'] }}"
59-
loop:
60-
- { file: 'logrotate-postgres.conf' }
61-
- { file: 'logrotate-postgres-auth.conf' }
62-
- { file: 'logrotate-postgres-csv.conf' }
63-
- { file: 'logrotate-walg.conf' }
64-
loop_control:
65-
loop_var: 'logrotate_item'
66-
6753
- name: Ensure default PostgreSQL logrotate config is removed
6854
ansible.builtin.file:
6955
path: '/etc/logrotate.d/postgresql-common'
@@ -74,36 +60,6 @@
7460
dest: '/etc/cron.deny'
7561
src: 'files/cron.deny'
7662

77-
- name: Create logrotate.timer.d overrides dir
78-
become: true
79-
ansible.builtin.file:
80-
group: 'root'
81-
mode: '0755'
82-
owner: 'root'
83-
path: '/etc/systemd/system/logrotate.timer.d'
84-
state: 'directory'
85-
86-
- name: Configure logrotate.timer.d overrides
87-
become: true
88-
community.general.ini_file:
89-
group: 'root'
90-
mode: '0644'
91-
no_extra_spaces: true
92-
option: 'OnCalendar'
93-
owner: 'root'
94-
path: '/etc/systemd/system/logrotate.timer.d/override.conf'
95-
section: 'Timer'
96-
state: 'present'
97-
value: '*:0/5'
98-
99-
- name: Reload systemd and start logrotate timer
100-
become: true
101-
ansible.builtin.systemd_service:
102-
daemon_reload: true
103-
enabled: true
104-
name: 'logrotate.timer'
105-
state: 'restarted'
106-
10763
- name: import pgsodium_getkey script
10864
ansible.builtin.template:
10965
dest: "{{ pg_bindir }}/pgsodium_getkey.sh"

ansible/tests/system-manager.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
- name: Test system-manager deployment
3+
hosts: localhost
4+
tasks:
5+
- name: Setup nix
6+
ansible.builtin.import_tasks: ../tasks/setup-nix.yml
7+
- name: Setup system-manager
8+
ansible.builtin.import_tasks: ../tasks/setup-system-manager.yml
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import pytest
2+
3+
4+
@pytest.fixture(scope="module", autouse=True)
5+
def run_ansible(run_ansible_playbook):
6+
run_ansible_playbook("system-manager.yaml", verbose=True)
7+
8+
9+
def test_nix_service(host):
10+
assert host.service("nix-daemon.service").is_running
11+
12+
13+
def test_system_manager_target(host):
14+
target = host.service("system-manager.target")
15+
assert target.is_running, "system-manager.target should be active"

flake.lock

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

nix/systemConfigs.nix

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
{ self, inputs, ... }:
22
let
33
mkModules = system: [
4+
self.systemModules.logrotate
45
({
56
services.nginx.enable = true;
67
nixpkgs.hostPlatform = system;
8+
supabase.services.logrotate.enable = true;
79
})
810
];
911

0 commit comments

Comments
 (0)