Skip to content

Commit a61ea68

Browse files
enhancement: Extra configs variable from CEEMS API server (#11)
* feat: Extra configs variable from CEEMS API server * A dict can be used to generate extra config files that will be used for CEEMS API server * Add tests in alternative scenario --------- Signed-off-by: Mahendra Paipuri <[email protected]>
1 parent 16d7bb2 commit a61ea68

File tree

5 files changed

+32
-3
lines changed

5 files changed

+32
-3
lines changed

roles/ceems_api_server/defaults/main.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ ceems_api_server_data_backup_interval: ""
2323
ceems_api_server_admin_users: []
2424
ceems_api_server_cli_args: []
2525
ceems_api_server_env_vars: {}
26+
ceems_api_server_extra_configs: {}
2627
ceems_api_server_binary_install_dir: /usr/local/bin
2728
ceems_api_server_system_group: ceems
2829
ceems_api_server_system_user: "{{ ceems_api_server_system_group }}"

roles/ceems_api_server/meta/argument_specs.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,3 +110,8 @@ argument_specs:
110110
- I(Advanced)
111111
- Environment variables will be passed to CEEMS API server
112112
type: dict
113+
ceems_api_server_extra_configs:
114+
description:
115+
- I(Advanced)
116+
- Extra configuration files for CEEMS API server. These files will be created in CEEMS API server config dir with the same name as key of the argument dict.
117+
type: dict

roles/ceems_api_server/molecule/alternative/molecule.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,7 @@ provisioner:
2121
- --web.max.query.period=30d
2222
ceems_api_server_env_vars:
2323
foo: bar
24+
ceems_api_server_extra_configs:
25+
tsdb_config:
26+
web_url: http://localhost:9090
27+
queries: {}

roles/ceems_api_server/molecule/alternative/tests/test_alternative.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,9 @@ def test_directories(host, dir):
2121

2222
@pytest.mark.parametrize("file", [
2323
"/etc/systemd/system/ceems_api_server.service",
24-
"/usr/local/bin/ceems_api_server"
24+
"/usr/local/bin/ceems_api_server",
25+
"/etc/ceems_api_server/config.yaml",
26+
"/etc/ceems_api_server/tsdb_config.yaml",
2527
])
2628
def test_files(host, file):
2729
f = host.file(file)

roles/ceems_api_server/tasks/configure.yml

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
dest: /etc/systemd/system/ceems_api_server.service
66
owner: root
77
group: root
8-
mode: "0640"
8+
mode: u+rw,g+r,o-rwX
99
notify: restart ceems_api_server
1010

1111
- name: Create ceems_api_server config directory
@@ -31,7 +31,24 @@
3131
dest: /etc/ceems_api_server/config.yaml
3232
owner: "{{ ceems_api_server_system_user }}"
3333
group: "{{ ceems_api_server_system_group }}"
34-
mode: "0640"
34+
mode: u+rw,g+r,o-rwX
35+
notify: restart ceems_api_server
36+
37+
- name: Create extra config files
38+
ansible.builtin.copy:
39+
dest: "/etc/ceems_api_server/{{ item.key }}.yaml"
40+
owner: "{{ ceems_api_server_system_user }}"
41+
group: "{{ ceems_api_server_system_group }}"
42+
mode: u+rw,g+r,o-rwX
43+
content: |
44+
#
45+
# Ansible managed: Do NOT edit this file manually!
46+
#
47+
---
48+
49+
{{ item.value | to_nice_yaml }}
50+
when: ceems_api_server_extra_configs | length > 0
51+
loop: "{{ ceems_api_server_extra_configs | dict2items }}"
3552
notify: restart ceems_api_server
3653

3754
- name: Make the ceems_api_server data directory

0 commit comments

Comments
 (0)