mirror of
https://github.com/ansible/awx-operator.git
synced 2026-03-27 05:43:11 +00:00
Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
92639c1e89 | ||
|
|
a7cfbe23da | ||
|
|
16a2b590d6 | ||
|
|
8518e0d1c7 | ||
|
|
6bc101af3e |
@@ -1,4 +1,4 @@
|
||||
FROM quay.io/operator-framework/ansible-operator:v1.28.1
|
||||
FROM quay.io/operator-framework/ansible-operator:v1.31.0
|
||||
|
||||
USER 0
|
||||
|
||||
|
||||
@@ -76,6 +76,7 @@ All of our usage and configuration docs are nested in the `docs/` directory. Bel
|
||||
- [Redis Container Capabilities](./docs/user-guide/advanced-configuration/redis-container-capabilities.md)
|
||||
- [Trusting a Custom Certificate Authority](./docs/user-guide/advanced-configuration/trusting-a-custom-certificate-authority.md)
|
||||
- [Service Account](./docs/user-guide/advanced-configuration/service-account.md)
|
||||
- [Security Context](./docs/user-guide/advanced-configuration/security-context.md)
|
||||
- [Persisting the Projects Directory](./docs/user-guide/advanced-configuration/persisting-projects-directory.md)
|
||||
- Troubleshooting
|
||||
- [General Debugging](./docs/troubleshooting/debugging.md)
|
||||
|
||||
@@ -92,7 +92,8 @@ spec:
|
||||
type: string
|
||||
precreate_partition_hours:
|
||||
description: Number of hours worth of events table partitions to precreate before backup to avoid pg_dump locks.
|
||||
type: string
|
||||
type: integer
|
||||
format: int32
|
||||
image_pull_policy:
|
||||
description: The image pull policy
|
||||
type: string
|
||||
|
||||
@@ -1779,6 +1779,10 @@ spec:
|
||||
session_cookie_secure:
|
||||
description: Set session cookie secure mode for web
|
||||
type: string
|
||||
postgres_security_context_settings:
|
||||
description: Key/values that will be set under the pod-level securityContext field
|
||||
type: object
|
||||
x-kubernetes-preserve-unknown-fields: true
|
||||
receptor_log_level:
|
||||
description: Set log level of receptor service
|
||||
type: string
|
||||
|
||||
@@ -53,7 +53,7 @@ spec:
|
||||
- displayName: Precreate Partition Hours
|
||||
path: precreate_partition_hours
|
||||
x-descriptors:
|
||||
- urn:alm:descriptor:com.tectonic.ui:text
|
||||
- urn:alm:descriptor:com.tectonic.ui:number
|
||||
- urn:alm:descriptor:com.tectonic.ui:advanced
|
||||
- urn:alm:descriptor:com.tectonic.ui:hidden
|
||||
- displayName: Database Backup Label Selector
|
||||
@@ -61,6 +61,11 @@ spec:
|
||||
x-descriptors:
|
||||
- urn:alm:descriptor:com.tectonic.ui:advanced
|
||||
- urn:alm:descriptor:com.tectonic.ui:hidden
|
||||
- displayName: PostgreSQL Security Context Settings
|
||||
path: postgres_security_context_settings
|
||||
x-descriptors:
|
||||
- urn:alm:descriptor:com.tectonic.ui:advanced
|
||||
- urn:alm:descriptor:com.tectonic.ui:hidden
|
||||
- displayName: PostgreSQL Image
|
||||
path: postgres_image
|
||||
x-descriptors:
|
||||
|
||||
27
docs/user-guide/advanced-configuration/security-context.md
Normal file
27
docs/user-guide/advanced-configuration/security-context.md
Normal file
@@ -0,0 +1,27 @@
|
||||
#### Service Account
|
||||
|
||||
It is possible to modify some `SecurityContext` proprieties of the various deployments and stateful sets if needed.
|
||||
|
||||
| Name | Description | Default |
|
||||
| ---------------------------------- | -------------------------------------------- | ------- |
|
||||
| security_context_settings | SecurityContext for Task and Web deployments | {} |
|
||||
| postgres_security_context_settings | SecurityContext for Task and Web deployments | {} |
|
||||
|
||||
|
||||
Example configuration securityContext for the Task and Web deployments:
|
||||
|
||||
```yaml
|
||||
spec:
|
||||
security_context_settings:
|
||||
allowPrivilegeEscalation: false
|
||||
capabilities:
|
||||
drop:
|
||||
- ALL
|
||||
```
|
||||
|
||||
|
||||
```yaml
|
||||
spec:
|
||||
postgres_security_context_settings:
|
||||
runAsNonRoot: true
|
||||
```
|
||||
@@ -3,4 +3,4 @@ collections:
|
||||
- name: kubernetes.core
|
||||
version: '>=2.3.2'
|
||||
- name: operator_sdk.util
|
||||
version: "0.4.0"
|
||||
version: "0.5.0"
|
||||
|
||||
@@ -88,7 +88,7 @@
|
||||
kind: Pod
|
||||
namespace: '{{ ansible_operator_meta.namespace }}'
|
||||
label_selectors:
|
||||
- "app.kubernetes.io/name={{ ansible_operator_meta.name }}-task"
|
||||
- "app.kubernetes.io/name={{ deployment_name }}-task"
|
||||
- "app.kubernetes.io/managed-by={{ deployment_type }}-operator"
|
||||
- "app.kubernetes.io/component={{ deployment_type }}"
|
||||
field_selectors:
|
||||
@@ -134,11 +134,27 @@
|
||||
namespace: "{{ backup_pvc_namespace }}"
|
||||
pod: "{{ ansible_operator_meta.name }}-db-management"
|
||||
command: |
|
||||
bash -c """
|
||||
bash -c "
|
||||
function end_keepalive {
|
||||
rc=$?
|
||||
rm -f \"$1\"
|
||||
kill $(cat /proc/$2/task/$2/children 2>/dev/null) 2>/dev/null || true
|
||||
wait $2 || true
|
||||
exit $rc
|
||||
}
|
||||
keepalive_file=\"$(mktemp)\"
|
||||
while [[ -f \"$keepalive_file\" ]]; do
|
||||
echo 'Dumping data from database...'
|
||||
sleep 60
|
||||
done &
|
||||
keepalive_pid=$!
|
||||
trap 'end_keepalive \"$keepalive_file\" \"$keepalive_pid\"' EXIT SIGINT SIGTERM
|
||||
echo keepalive_pid: $keepalive_pid
|
||||
set -e -o pipefail
|
||||
PGPASSWORD='{{ awx_postgres_pass }}' {{ pgdump }} > {{ backup_dir }}/tower.db
|
||||
set +e +o pipefail
|
||||
echo 'Successful'
|
||||
"""
|
||||
"
|
||||
register: data_migration
|
||||
no_log: "{{ no_log }}"
|
||||
failed_when: "'Successful' not in data_migration.stdout"
|
||||
|
||||
@@ -424,6 +424,7 @@ garbage_collect_secrets: false
|
||||
development_mode: false
|
||||
|
||||
security_context_settings: {}
|
||||
postgres_security_context_settings: {}
|
||||
|
||||
# Set no_log settings on certain tasks
|
||||
no_log: true
|
||||
|
||||
@@ -442,7 +442,7 @@ spec:
|
||||
fsGroup: 1000
|
||||
{% endif %}
|
||||
{% if security_context_settings|length %}
|
||||
{{ security_context_settings | to_nice_yaml | indent(8) }}
|
||||
{{ security_context_settings | to_nice_yaml | indent(10) }}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% if termination_grace_period_seconds is defined %}
|
||||
|
||||
@@ -340,6 +340,10 @@ spec:
|
||||
{% elif affinity %}
|
||||
affinity:
|
||||
{{ affinity | to_nice_yaml | indent(width=8) }}
|
||||
{% endif %}
|
||||
{% if security_context_settings|length %}
|
||||
securityContext:
|
||||
{{ security_context_settings | to_nice_yaml | indent(8) }}
|
||||
{% endif %}
|
||||
volumes:
|
||||
- name: "{{ ansible_operator_meta.name }}-receptor-ca"
|
||||
|
||||
@@ -51,6 +51,10 @@ spec:
|
||||
- image: '{{ _postgres_image }}'
|
||||
imagePullPolicy: '{{ image_pull_policy }}'
|
||||
name: postgres
|
||||
{% if postgres_security_context_settings|length %}
|
||||
securityContext:
|
||||
{{ postgres_security_context_settings | to_nice_yaml | indent(12) }}
|
||||
{% endif %}
|
||||
{% if postgres_extra_args %}
|
||||
args: {{ postgres_extra_args }}
|
||||
{% endif %}
|
||||
|
||||
Reference in New Issue
Block a user