Merge pull request #300 from kurokobo/awx-2.11.0

feat: bump operator version to 2.11.0
This commit is contained in:
kurokobo 2024-02-02 15:38:17 +09:00 committed by GitHub
commit c5206c915b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
12 changed files with 48 additions and 35 deletions

View file

@ -31,15 +31,15 @@ An example implementation of AWX on single node K3s using AWX Operator, with eas
- CentOS Stream 8 (Minimal)
- K3s v1.28.5+k3s1
- Products that will be deployed:
- AWX Operator 2.10.0
- AWX 23.6.0
- AWX Operator 2.11.0
- AWX 23.7.0
- PostgreSQL 13
## References
- [K3s - Lightweight Kubernetes](https://docs.k3s.io/)
- [INSTALL.md on ansible/awx](https://github.com/ansible/awx/blob/23.6.0/INSTALL.md) @23.6.0
- [README.md on ansible/awx-operator](https://github.com/ansible/awx-operator/blob/2.10.0/README.md) @2.10.0
- [INSTALL.md on ansible/awx](https://github.com/ansible/awx/blob/23.7.0/INSTALL.md) @23.7.0
- [README.md on ansible/awx-operator](https://github.com/ansible/awx-operator/blob/2.11.0/README.md) @2.11.0
## Requirements
@ -92,7 +92,7 @@ If you want to use files suitable for the specific version of AWX Operator, [ref
cd ~
git clone https://github.com/kurokobo/awx-on-k3s.git
cd awx-on-k3s
git checkout 2.10.0
git checkout 2.11.0
```
Then invoke `kubectl apply -k operator` to deploy AWX Operator.
@ -134,8 +134,9 @@ Modify `hostname` in `base/awx.yaml`.
spec:
...
ingress_type: ingress
ingress_tls_secret: awx-secret-tls
hostname: awx.example.com 👈👈👈
ingress_hosts:
- hostname: awx.example.com 👈👈👈
tls_secret: awx-secret-tls
...
```
@ -190,7 +191,7 @@ $ kubectl -n awx logs -f deployments/awx-operator-controller-manager
...
----- Ansible Task Status Event StdOut (awx.ansible.com/v1beta1, Kind=AWX, awx/awx) -----
PLAY RECAP *********************************************************************
localhost : ok=84 changed=0 unreachable=0 failed=0 skipped=79 rescued=0 ignored=1
localhost : ok=85 changed=1 unreachable=0 failed=0 skipped=78 rescued=0 ignored=1
```
Required objects has been deployed next to AWX Operator in `awx` namespace.

View file

@ -134,8 +134,9 @@ In `base/awx.yaml`, correct `hostname` to the FQDN which the certificate will be
spec:
...
ingress_type: ingress
ingress_tls_secret: awx-secret-tls
hostname: awx.example.com 👈👈👈
ingress_hosts:
- hostname: awx.example.com 👈👈👈
tls_secret: awx-secret-tls
ingress_annotations: | 👈👈👈
cert-manager.io/issuer: awx-issuer 👈👈👈

View file

@ -32,7 +32,7 @@ An example simple playbook for Ansible is also provided in this repository. This
| - | - | - |
| `awxbackup_namespace` | The name of the NameSpace where the `AWXBackup` resource will be created. | `awx` |
| `awxbackup_name` | The name of the `AWXBackup` resource. Dynamically generated using execution time by default. | `awxbackup-{{ lookup('pipe', 'date +%Y-%m-%d-%H-%M-%S') }}` |
| `awxbackup_spec` | The `spec` of the `AWXBackup` resource. Refer [official documentation](https://github.com/ansible/awx-operator/tree/2.10.0/roles/backup) for acceptable fields. | `deployment_name: awx`<br>`backup_pvc: awx-backup-claim`<br>`clean_backup_on_delete: true` |
| `awxbackup_spec` | The `spec` of the `AWXBackup` resource. Refer [official documentation](https://github.com/ansible/awx-operator/tree/2.11.0/roles/backup) for acceptable fields. | `deployment_name: awx`<br>`backup_pvc: awx-backup-claim`<br>`clean_backup_on_delete: true` |
| `awxbackup_timeout` | Time to wait for backup to complete, in seconds. If exceeded, the playbook will fail. | `600` |
| `awxbackup_keep_days` | Number of days to keep `AWXBackup` resources. `AWXBackup` resources older than this value will be deleted by this playbook. Set `0` to keep forever. | `30` |

View file

@ -14,8 +14,9 @@ spec:
admin_password_secret: awx-admin-password
ingress_type: ingress
ingress_tls_secret: awx-secret-tls
hostname: awx.example.com
ingress_hosts:
- hostname: awx.example.com
tls_secret: awx-secret-tls
postgres_configuration_secret: awx-postgres-configuration
@ -30,12 +31,14 @@ spec:
web_replicas: 1
task_replicas: 1
postgres_init_container_resource_requirements: {}
postgres_resource_requirements: {}
web_resource_requirements: {}
task_resource_requirements: {}
ee_resource_requirements: {}
init_container_resource_requirements: {}
postgres_init_container_resource_requirements: {}
postgres_resource_requirements: {}
redis_resource_requirements: {}
rsyslog_resource_requirements: {}
# Uncomment to reveal "censored" logs
#no_log: false

View file

@ -189,7 +189,7 @@ There is a Kubernetes Operator for Pulp 3 named Pulp Operator.
- [pulp/pulp-operator: Kubernetes Operator for Pulp 3](https://github.com/pulp/pulp-operator)
This project is in alpha stage and under active development. In this guide, we use [Pulp Operator 1.0.0-beta.3](https://github.com/pulp/pulp-operator/tree/1.0.0-beta.3).
This project is in alpha stage and under active development. In this guide, we use [Pulp Operator 1.0.0-beta.4](https://github.com/pulp/pulp-operator/tree/1.0.0-beta.4).
### Install Pulp Operator
@ -199,7 +199,7 @@ Install specified version of Pulp Operator.
cd ~
git clone https://github.com/pulp/pulp-operator.git
cd pulp-operator
git checkout 1.0.0-beta.3
git checkout 1.0.0-beta.4
```
Export the name of the namespace where you want to deploy Pulp Operator as the environment variable `NAMESPACE` and run `make deploy`. The default namespace is `pulp-operator-system`. Note that `make deploy` requires `go` binary by default but you can remove this dependency by small `sed` patch.
@ -314,7 +314,7 @@ When the deployment completes successfully, the logs end with:
$ kubectl -n galaxy logs -f deployments/pulp-operator-controller-manager
...
2006-01-02T15:04:05Z INFO repo_manager/status.go:148 galaxy finished execution ...
2006-01-02T15:04:05Z INFO repo_manager/controller.go:129 Operator tasks synced
2006-01-02T15:04:05Z INFO repo_manager/controller.go:128 Operator tasks synced
```
Required objects has been deployed next to Pulp Operator in `galaxy` namespace.

View file

@ -4,17 +4,17 @@ metadata:
name: galaxy
spec:
# These parameters are designed for use with:
# - Pulp Operator: 1.0.0-beta.3
# https://github.com/pulp/pulp-operator/blob/1.0.0-beta.3/README.md
# - Galaxy NG: 4.9.0
# https://github.com/ansible/galaxy_ng/tree/4.9.0
# - Pulp Operator: 1.0.0-beta.4
# https://github.com/pulp/pulp-operator/blob/1.0.0-beta.4/README.md
# - Galaxy NG: 4.9.1
# https://github.com/ansible/galaxy_ng/tree/4.9.1
deployment_type: galaxy
image: quay.io/pulp/galaxy
image_version: 4.9.0
image_version: 4.9.1
image_web: quay.io/pulp/galaxy-web
image_web_version: 4.9.0
image_web_version: 4.9.1
admin_password_secret: galaxy-admin-password

View file

@ -12,8 +12,8 @@ secretGenerator:
- operator=awx
resources:
- github.com/ansible/awx-operator/config/default?ref=2.10.0
- github.com/ansible/awx-operator/config/default?ref=2.11.0
images:
- name: quay.io/ansible/awx-operator
newTag: 2.10.0
newTag: 2.11.0

View file

@ -102,7 +102,7 @@ $ kubectl -n awx logs -f deployments/awx-operator-controller-manager
...
----- Ansible Task Status Event StdOut (awx.ansible.com/v1beta1, Kind=AWX, awx/awx) -----
PLAY RECAP *********************************************************************
localhost : ok=86 changed=0 unreachable=0 failed=0 skipped=77 rescued=0 ignored=1
localhost : ok=87 changed=1 unreachable=0 failed=0 skipped=76 rescued=0 ignored=1
```
This will create AWXRestore object in the namespace, and now your AWX is restored.

View file

@ -275,7 +275,7 @@ Fill the form as follows, then click `Create decision environment` button on the
| Key | Value |
| - | - |
| Name | `Minimal DE` |
| Image | `quay.io/ansible/ansible-rulebook:latest` |
| Image | `quay.io/ansible/ansible-rulebook:stable-1.0` |
#### Add Project on EDA Server
@ -417,9 +417,9 @@ Define the Decision Environment with the following information, just as you conf
| Key | Value |
| - | - |
| Name | `Minimal DE with MQTT` |
| Image | `docker.io/kurokobo/ansible-rulebook:v1.0.4-mqtt` |
| Image | `docker.io/kurokobo/ansible-rulebook:stable-1.0-mqtt` |
Note that the image specified above is based on `quay.io/ansible/ansible-rulebook:v1.0.4` and includes [`kubealex.eda`](https://galaxy.ansible.com/ui/repo/published/kubealex/eda/) collection that includes `kubealex.eda.mqtt` plugin. The Dockerfile for this image is available under [mqtt/de directory](./mqtt/de).
Note that the image specified above is based on `quay.io/ansible/ansible-rulebook:stable-1.0` and includes [`kubealex.eda`](https://galaxy.ansible.com/ui/repo/published/kubealex/eda/) collection that includes `kubealex.eda.mqtt` plugin. The Dockerfile for this image is available under [mqtt/de directory](./mqtt/de).
Then define Rulebook Activation as follows. Note that you should modify actual values for `Variables` to suit your environment:

View file

@ -1,3 +1,3 @@
FROM quay.io/ansible/ansible-rulebook:v1.0.4
FROM quay.io/ansible/ansible-rulebook:stable-1.0
RUN pip install --no-cache-dir aiomqtt==2.0.0 && \
ansible-galaxy collection install kubealex.eda==1.0.8

View file

@ -115,8 +115,9 @@ AWX:
admin_password_secret: awx-admin-password
ingress_type: ingress
ingress_tls_secret: awx-secret-tls
hostname: awx.example.com
ingress_hosts:
- hostname: awx.example.com
tls_secret: awx-secret-tls
postgres_configuration_secret: awx-postgres-configuration
@ -128,11 +129,17 @@ AWX:
projects_persistence: true
projects_existing_claim: awx-projects-claim
postgres_init_container_resource_requirements: {}
postgres_resource_requirements: {}
web_replicas: 1
task_replicas: 1
web_resource_requirements: {}
task_resource_requirements: {}
ee_resource_requirements: {}
init_container_resource_requirements: {}
postgres_init_container_resource_requirements: {}
postgres_resource_requirements: {}
redis_resource_requirements: {}
rsyslog_resource_requirements: {}
EOF
```

View file

@ -10,6 +10,7 @@ The table below maps the AWX Operator versions and bundled AWX versions.
| AWX Operator | AWX |
| - | - |
| 2.11.0 | 23.7.0 |
| 2.10.0 | 23.6.0 |
| 2.9.0 | 23.5.1 |
| 2.8.0 | 23.5.0 |