mirror of
https://github.com/Expand-sys/awx-on-k3s
synced 2025-12-16 14:02:15 +11:00
Merge pull request #300 from kurokobo/awx-2.11.0
feat: bump operator version to 2.11.0
This commit is contained in:
commit
c5206c915b
12 changed files with 48 additions and 35 deletions
17
README.md
17
README.md
|
|
@ -31,15 +31,15 @@ An example implementation of AWX on single node K3s using AWX Operator, with eas
|
||||||
- CentOS Stream 8 (Minimal)
|
- CentOS Stream 8 (Minimal)
|
||||||
- K3s v1.28.5+k3s1
|
- K3s v1.28.5+k3s1
|
||||||
- Products that will be deployed:
|
- Products that will be deployed:
|
||||||
- AWX Operator 2.10.0
|
- AWX Operator 2.11.0
|
||||||
- AWX 23.6.0
|
- AWX 23.7.0
|
||||||
- PostgreSQL 13
|
- PostgreSQL 13
|
||||||
|
|
||||||
## References
|
## References
|
||||||
|
|
||||||
- [K3s - Lightweight Kubernetes](https://docs.k3s.io/)
|
- [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
|
- [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.10.0/README.md) @2.10.0
|
- [README.md on ansible/awx-operator](https://github.com/ansible/awx-operator/blob/2.11.0/README.md) @2.11.0
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
|
|
@ -92,7 +92,7 @@ If you want to use files suitable for the specific version of AWX Operator, [ref
|
||||||
cd ~
|
cd ~
|
||||||
git clone https://github.com/kurokobo/awx-on-k3s.git
|
git clone https://github.com/kurokobo/awx-on-k3s.git
|
||||||
cd awx-on-k3s
|
cd awx-on-k3s
|
||||||
git checkout 2.10.0
|
git checkout 2.11.0
|
||||||
```
|
```
|
||||||
|
|
||||||
Then invoke `kubectl apply -k operator` to deploy AWX Operator.
|
Then invoke `kubectl apply -k operator` to deploy AWX Operator.
|
||||||
|
|
@ -134,8 +134,9 @@ Modify `hostname` in `base/awx.yaml`.
|
||||||
spec:
|
spec:
|
||||||
...
|
...
|
||||||
ingress_type: ingress
|
ingress_type: ingress
|
||||||
ingress_tls_secret: awx-secret-tls
|
ingress_hosts:
|
||||||
hostname: awx.example.com 👈👈👈
|
- 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) -----
|
----- Ansible Task Status Event StdOut (awx.ansible.com/v1beta1, Kind=AWX, awx/awx) -----
|
||||||
PLAY RECAP *********************************************************************
|
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.
|
Required objects has been deployed next to AWX Operator in `awx` namespace.
|
||||||
|
|
|
||||||
|
|
@ -134,8 +134,9 @@ In `base/awx.yaml`, correct `hostname` to the FQDN which the certificate will be
|
||||||
spec:
|
spec:
|
||||||
...
|
...
|
||||||
ingress_type: ingress
|
ingress_type: ingress
|
||||||
ingress_tls_secret: awx-secret-tls
|
ingress_hosts:
|
||||||
hostname: awx.example.com 👈👈👈
|
- hostname: awx.example.com 👈👈👈
|
||||||
|
tls_secret: awx-secret-tls
|
||||||
|
|
||||||
ingress_annotations: | 👈👈👈
|
ingress_annotations: | 👈👈👈
|
||||||
cert-manager.io/issuer: awx-issuer 👈👈👈
|
cert-manager.io/issuer: awx-issuer 👈👈👈
|
||||||
|
|
|
||||||
|
|
@ -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_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_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_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` |
|
| `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` |
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,8 +14,9 @@ spec:
|
||||||
admin_password_secret: awx-admin-password
|
admin_password_secret: awx-admin-password
|
||||||
|
|
||||||
ingress_type: ingress
|
ingress_type: ingress
|
||||||
ingress_tls_secret: awx-secret-tls
|
ingress_hosts:
|
||||||
hostname: awx.example.com
|
- hostname: awx.example.com
|
||||||
|
tls_secret: awx-secret-tls
|
||||||
|
|
||||||
postgres_configuration_secret: awx-postgres-configuration
|
postgres_configuration_secret: awx-postgres-configuration
|
||||||
|
|
||||||
|
|
@ -30,12 +31,14 @@ spec:
|
||||||
web_replicas: 1
|
web_replicas: 1
|
||||||
task_replicas: 1
|
task_replicas: 1
|
||||||
|
|
||||||
postgres_init_container_resource_requirements: {}
|
|
||||||
postgres_resource_requirements: {}
|
|
||||||
web_resource_requirements: {}
|
web_resource_requirements: {}
|
||||||
task_resource_requirements: {}
|
task_resource_requirements: {}
|
||||||
ee_resource_requirements: {}
|
ee_resource_requirements: {}
|
||||||
init_container_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
|
# Uncomment to reveal "censored" logs
|
||||||
#no_log: false
|
#no_log: false
|
||||||
|
|
|
||||||
|
|
@ -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)
|
- [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
|
### Install Pulp Operator
|
||||||
|
|
||||||
|
|
@ -199,7 +199,7 @@ Install specified version of Pulp Operator.
|
||||||
cd ~
|
cd ~
|
||||||
git clone https://github.com/pulp/pulp-operator.git
|
git clone https://github.com/pulp/pulp-operator.git
|
||||||
cd pulp-operator
|
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.
|
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
|
$ 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/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.
|
Required objects has been deployed next to Pulp Operator in `galaxy` namespace.
|
||||||
|
|
|
||||||
|
|
@ -4,17 +4,17 @@ metadata:
|
||||||
name: galaxy
|
name: galaxy
|
||||||
spec:
|
spec:
|
||||||
# These parameters are designed for use with:
|
# These parameters are designed for use with:
|
||||||
# - Pulp Operator: 1.0.0-beta.3
|
# - Pulp Operator: 1.0.0-beta.4
|
||||||
# https://github.com/pulp/pulp-operator/blob/1.0.0-beta.3/README.md
|
# https://github.com/pulp/pulp-operator/blob/1.0.0-beta.4/README.md
|
||||||
# - Galaxy NG: 4.9.0
|
# - Galaxy NG: 4.9.1
|
||||||
# https://github.com/ansible/galaxy_ng/tree/4.9.0
|
# https://github.com/ansible/galaxy_ng/tree/4.9.1
|
||||||
|
|
||||||
deployment_type: galaxy
|
deployment_type: galaxy
|
||||||
|
|
||||||
image: quay.io/pulp/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: quay.io/pulp/galaxy-web
|
||||||
image_web_version: 4.9.0
|
image_web_version: 4.9.1
|
||||||
|
|
||||||
admin_password_secret: galaxy-admin-password
|
admin_password_secret: galaxy-admin-password
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,8 +12,8 @@ secretGenerator:
|
||||||
- operator=awx
|
- operator=awx
|
||||||
|
|
||||||
resources:
|
resources:
|
||||||
- github.com/ansible/awx-operator/config/default?ref=2.10.0
|
- github.com/ansible/awx-operator/config/default?ref=2.11.0
|
||||||
|
|
||||||
images:
|
images:
|
||||||
- name: quay.io/ansible/awx-operator
|
- name: quay.io/ansible/awx-operator
|
||||||
newTag: 2.10.0
|
newTag: 2.11.0
|
||||||
|
|
|
||||||
|
|
@ -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) -----
|
----- Ansible Task Status Event StdOut (awx.ansible.com/v1beta1, Kind=AWX, awx/awx) -----
|
||||||
PLAY RECAP *********************************************************************
|
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.
|
This will create AWXRestore object in the namespace, and now your AWX is restored.
|
||||||
|
|
|
||||||
|
|
@ -275,7 +275,7 @@ Fill the form as follows, then click `Create decision environment` button on the
|
||||||
| Key | Value |
|
| Key | Value |
|
||||||
| - | - |
|
| - | - |
|
||||||
| Name | `Minimal DE` |
|
| Name | `Minimal DE` |
|
||||||
| Image | `quay.io/ansible/ansible-rulebook:latest` |
|
| Image | `quay.io/ansible/ansible-rulebook:stable-1.0` |
|
||||||
|
|
||||||
#### Add Project on EDA Server
|
#### Add Project on EDA Server
|
||||||
|
|
||||||
|
|
@ -417,9 +417,9 @@ Define the Decision Environment with the following information, just as you conf
|
||||||
| Key | Value |
|
| Key | Value |
|
||||||
| - | - |
|
| - | - |
|
||||||
| Name | `Minimal DE with MQTT` |
|
| 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:
|
Then define Rulebook Activation as follows. Note that you should modify actual values for `Variables` to suit your environment:
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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 && \
|
RUN pip install --no-cache-dir aiomqtt==2.0.0 && \
|
||||||
ansible-galaxy collection install kubealex.eda==1.0.8
|
ansible-galaxy collection install kubealex.eda==1.0.8
|
||||||
|
|
|
||||||
|
|
@ -115,8 +115,9 @@ AWX:
|
||||||
admin_password_secret: awx-admin-password
|
admin_password_secret: awx-admin-password
|
||||||
|
|
||||||
ingress_type: ingress
|
ingress_type: ingress
|
||||||
ingress_tls_secret: awx-secret-tls
|
ingress_hosts:
|
||||||
hostname: awx.example.com
|
- hostname: awx.example.com
|
||||||
|
tls_secret: awx-secret-tls
|
||||||
|
|
||||||
postgres_configuration_secret: awx-postgres-configuration
|
postgres_configuration_secret: awx-postgres-configuration
|
||||||
|
|
||||||
|
|
@ -128,11 +129,17 @@ AWX:
|
||||||
projects_persistence: true
|
projects_persistence: true
|
||||||
projects_existing_claim: awx-projects-claim
|
projects_existing_claim: awx-projects-claim
|
||||||
|
|
||||||
postgres_init_container_resource_requirements: {}
|
web_replicas: 1
|
||||||
postgres_resource_requirements: {}
|
task_replicas: 1
|
||||||
|
|
||||||
web_resource_requirements: {}
|
web_resource_requirements: {}
|
||||||
task_resource_requirements: {}
|
task_resource_requirements: {}
|
||||||
ee_resource_requirements: {}
|
ee_resource_requirements: {}
|
||||||
|
init_container_resource_requirements: {}
|
||||||
|
postgres_init_container_resource_requirements: {}
|
||||||
|
postgres_resource_requirements: {}
|
||||||
|
redis_resource_requirements: {}
|
||||||
|
rsyslog_resource_requirements: {}
|
||||||
EOF
|
EOF
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ The table below maps the AWX Operator versions and bundled AWX versions.
|
||||||
|
|
||||||
| AWX Operator | AWX |
|
| AWX Operator | AWX |
|
||||||
| - | - |
|
| - | - |
|
||||||
|
| 2.11.0 | 23.7.0 |
|
||||||
| 2.10.0 | 23.6.0 |
|
| 2.10.0 | 23.6.0 |
|
||||||
| 2.9.0 | 23.5.1 |
|
| 2.9.0 | 23.5.1 |
|
||||||
| 2.8.0 | 23.5.0 |
|
| 2.8.0 | 23.5.0 |
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue