Skip to content

Commit b1d465d

Browse files
committed
pass in the configured DB ca (if any) to the container
1 parent bf60655 commit b1d465d

File tree

5 files changed

+39
-3
lines changed

5 files changed

+39
-3
lines changed

src/roles/candlepin/tasks/main.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,14 @@
4747
notify:
4848
- Restart candlepin
4949

50+
- name: Create DB SSL cert
51+
containers.podman.podman_secret:
52+
state: present
53+
name: candlepin-db-ca
54+
data: "{{ candlepin_database_ssl_ca | tarnary(lookup('ansible.builtin.file', candlepin_database_ssl_ca), '') }}"
55+
notify:
56+
- Restart candlepin
57+
5058
- name: Setup artemis
5159
ansible.builtin.include_tasks:
5260
file: artemis.yml
@@ -76,6 +84,7 @@
7684
- 'candlepin-artemis-cert-roles-properties,target=/etc/tomcat/cert-roles.properties,mode=440,type=mount'
7785
- 'candlepin-artemis-cert-users-properties,target=/etc/tomcat/cert-users.properties,mode=440,type=mount'
7886
- 'candlepin-artemis-jaas-conf,target=/etc/tomcat/conf.d/jaas.conf,mode=440,type=mount'
87+
- 'candlepin-db-ca,target=/foremanctl-db-ca.crt,type=mount'
7988
volumes:
8089
- /var/log/candlepin:/var/log/candlepin:Z
8190
- /var/log/tomcat:/var/log/tomcat:Z

src/roles/candlepin/templates/candlepin.conf.j2

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jpa.config.hibernate.hbm2ddl.auto=validate
2323
jpa.config.hibernate.connection.username={{ candlepin_database_user }}
2424
jpa.config.hibernate.connection.password={{ candlepin_database_password }}
2525
jpa.config.hibernate.connection.driver_class=org.postgresql.Driver
26-
jpa.config.hibernate.connection.url=jdbc:postgresql://{{ candlepin_database_host }}:{{ candlepin_database_port }}/{{ candlepin_database_name }}?sslmode={{ candlepin_database_ssl_mode }}{% if candlepin_database_ssl_ca is defined %}&sslrootcert={{ candlepin_database_ssl_ca }}{% endif %}
26+
jpa.config.hibernate.connection.url=jdbc:postgresql://{{ candlepin_database_host }}:{{ candlepin_database_port }}/{{ candlepin_database_name }}?sslmode={{ candlepin_database_ssl_mode }}{% if candlepin_database_ssl_ca is defined %}&sslrootcert=/foremanctl-db-ca.crt{% endif %}
2727

2828

2929
org.quartz.jobStore.misfireThreshold=60000

src/roles/foreman/tasks/main.yaml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
containers.podman.podman_secret:
99
state: present
1010
name: foreman-database-url
11-
data: "postgresql://{{ foreman_database_user }}:{{ foreman_database_password }}@{{ foreman_database_host }}:{{ foreman_database_port }}/{{ foreman_database_name }}?pool={{ foreman_database_pool }}&sslmode={{ foreman_database_sslmode }}{% if foreman_database_ssl_ca is defined %}&sslrootcert={{ foreman_database_ssl_ca }}{% endif %}" # yamllint disable-line rule:line-length
11+
data: "postgresql://{{ foreman_database_user }}:{{ foreman_database_password }}@{{ foreman_database_host }}:{{ foreman_database_port }}/{{ foreman_database_name }}?pool={{ foreman_database_pool }}&sslmode={{ foreman_database_sslmode }}{% if foreman_database_ssl_ca is defined %}&sslrootcert=/etc/foreman/db-ca.crt{% endif %}" # yamllint disable-line rule:line-length
1212
notify:
1313
- Restart foreman
1414
- Restart dynflow-sidekiq@
@@ -84,6 +84,15 @@
8484
- Restart foreman
8585
- Restart dynflow-sidekiq@
8686

87+
- name: Create DB SSL cert
88+
containers.podman.podman_secret:
89+
state: present
90+
name: foreman-db-ca
91+
data: "{{ foreman_database_ssl_ca | tarnary(lookup('ansible.builtin.file', foreman_database_ssl_ca), '') }}"
92+
notify:
93+
- Restart foreman
94+
- Restart dynflow-sidekiq@
95+
8796
- name: Deploy Foreman Container
8897
containers.podman.podman_container:
8998
name: "foreman"
@@ -103,6 +112,7 @@
103112
- 'foreman-ca-cert,type=mount,target=/etc/foreman/katello-default-ca.crt'
104113
- 'foreman-client-cert,type=mount,target=/etc/foreman/client_cert.pem'
105114
- 'foreman-client-key,type=mount,target=/etc/foreman/client_key.pem'
115+
- 'foreman-db-ca,type=mount,target=/etc/foreman/db-ca.crt'
106116
env:
107117
FOREMAN_PUMA_WORKERS: "{{ foreman_puma_workers }}"
108118
FOREMAN_ENABLED_PLUGINS: "{{ foreman_plugins | join(' ') }}"
@@ -133,6 +143,7 @@
133143
- 'foreman-client-cert,type=mount,target=/etc/foreman/client_cert.pem'
134144
- 'foreman-client-key,type=mount,target=/etc/foreman/client_key.pem'
135145
- 'foreman-dynflow-worker-hosts-queue-yaml,type=mount,target=/etc/foreman/dynflow/worker-hosts-queue.yml'
146+
- 'foreman-db-ca,type=mount,target=/etc/foreman/db-ca.crt'
136147
env:
137148
DYNFLOW_REDIS_URL: "redis://localhost:6379/6"
138149
REDIS_PROVIDER: "DYNFLOW_REDIS_URL"
@@ -182,6 +193,7 @@
182193
- 'foreman-seed-admin-user,type=env,target=SEED_ADMIN_USER'
183194
- 'foreman-seed-admin-password,type=env,target=SEED_ADMIN_PASSWORD'
184195
- 'foreman-settings-yaml,type=mount,target=/etc/foreman/settings.yaml'
196+
- 'foreman-db-ca,type=mount,target=/etc/foreman/db-ca.crt'
185197

186198
- name: Flush handlers to restart services
187199
ansible.builtin.meta: flush_handlers

src/roles/pulp/defaults/main.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ pulp_settings_database_env:
4343
PULP_DATABASES__default__HOST: "{{ pulp_database_host }}"
4444
PULP_DATABASES__default__PORT: "{{ pulp_database_port }}"
4545
PULP_DATABASES__default__OPTIONS__sslmode: "{{ pulp_database_ssl_mode }}"
46-
PULP_DATABASES__default__OPTIONS__sslrootcert: "{{ pulp_database_ssl_ca }}"
46+
PULP_DATABASES__default__OPTIONS__sslrootcert: "/foremanctl-db-ca.crt"
4747
PULP_ENABLED_PLUGINS: >-
4848
{{ pulp_enabled_plugins }}
4949

src/roles/pulp/tasks/main.yaml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,16 @@
4040
- Restart pulp-content
4141
- Restart pulp-worker
4242

43+
- name: Create DB SSL cert
44+
containers.podman.podman_secret:
45+
state: present
46+
name: pulp-db-ca
47+
data: "{{ pulp_database_ssl_ca | tarnary(lookup('ansible.builtin.file', pulp_database_ssl_ca), '') }}"
48+
notify:
49+
- Restart pulp-api
50+
- Restart pulp-content
51+
- Restart pulp-worker
52+
4353
- name: Generate Django secret key
4454
ansible.builtin.command: "bash -c 'openssl rand -base64 50 | tr -d \"\\n\" | tr \"+/\" \"-_\" > /var/lib/pulp/django_secret_key'"
4555
args:
@@ -92,6 +102,7 @@
92102
secrets:
93103
- 'pulp-symmetric-key,type=mount,target=/etc/pulp/certs/database_fields.symmetric.key'
94104
- 'pulp-db-password,type=env,target=PULP_DATABASES__default__PASSWORD'
105+
- 'pulp-db-ca,type=mount,target=/foremanctl-db-ca.crt'
95106
- 'pulp-django-secret-key,type=env,target=PULP_SECRET_KEY'
96107
env: "{{ pulp_settings_env }}"
97108
quadlet_options:
@@ -122,6 +133,7 @@
122133
secrets:
123134
- 'pulp-symmetric-key,type=mount,target=/etc/pulp/certs/database_fields.symmetric.key'
124135
- 'pulp-db-password,type=env,target=PULP_DATABASES__default__PASSWORD'
136+
- 'pulp-db-ca,type=mount,target=/foremanctl-db-ca.crt'
125137
- 'pulp-django-secret-key,type=env,target=PULP_SECRET_KEY'
126138
env: "{{ pulp_settings_env }}"
127139
quadlet_options:
@@ -152,6 +164,7 @@
152164
secrets:
153165
- 'pulp-symmetric-key,type=mount,target=/etc/pulp/certs/database_fields.symmetric.key'
154166
- 'pulp-db-password,type=env,target=PULP_DATABASES__default__PASSWORD'
167+
- 'pulp-db-ca,type=mount,target=/foremanctl-db-ca.crt'
155168
- 'pulp-django-secret-key,type=env,target=PULP_SECRET_KEY'
156169
env: "{{ pulp_settings_env }}"
157170
quadlet_options:
@@ -202,6 +215,7 @@
202215
secrets:
203216
- 'pulp-symmetric-key,type=mount,target=/etc/pulp/certs/database_fields.symmetric.key'
204217
- 'pulp-db-password,type=env,target=PULP_DATABASES__default__PASSWORD'
218+
- 'pulp-db-ca,type=mount,target=/foremanctl-db-ca.crt'
205219
env: "{{ pulp_settings_database_env }}"
206220

207221
- name: Ensure Pulp admin user exists
@@ -215,6 +229,7 @@
215229
secrets:
216230
- 'pulp-symmetric-key,type=mount,target=/etc/pulp/certs/database_fields.symmetric.key'
217231
- 'pulp-db-password,type=env,target=PULP_DATABASES__default__PASSWORD'
232+
- 'pulp-db-ca,type=mount,target=/foremanctl-db-ca.crt'
218233
env: "{{ pulp_settings_database_env }}"
219234

220235
- name: Flush handlers to restart services

0 commit comments

Comments
 (0)