An open API service indexing awesome lists of open source software.

https://github.com/zcubbs/awx-ansible-runner


https://github.com/zcubbs/awx-ansible-runner

Last synced: 2 months ago
JSON representation

Awesome Lists containing this project

README

          

# AWX Bootsrap Runner

Update AWX configuration (templates, inventories, etc...) from git using a Kubernetes Job.

## Usage

### Create a sercret:

```yaml
apiVersion: v1
kind: Secret
metadata:
name: ansible-secrets
type: Opaque
data:
GIT_REPO_URL:
GIT_REPO_USERNAME:
GIT_REPO_PASSWORD:
ANSIBLE_VAULT_KEY:
CONTROLLER_HOST:
CONTROLLER_USERNAME:
CONTROLLER_PASSWORD:
CONTROLLER_VERIFY_SSL:
```

### Create the Job Manifest:
```yaml
apiVersion: batch/v1
kind: Job
metadata:
name: ansible-job
spec:
template:
spec:
containers:
- name: ansible
image: ghcr.io/zcubbs/awx-ansible-runner:latest
imagePullPolicy: Always
env:
- name: GIT_REPO_URL
valueFrom:
secretKeyRef:
name: ansible-secrets
key: GIT_REPO_URL
- name: GIT_REPO_USERNAME
valueFrom:
secretKeyRef:
name: ansible-secrets
key: GIT_REPO_USERNAME
- name: GIT_REPO_PASSWORD
valueFrom:
secretKeyRef:
name: ansible-secrets
key: GIT_REPO_PASSWORD
- name: ANSIBLE_VAULT_KEY
valueFrom:
secretKeyRef:
name: ansible-secrets
key: ANSIBLE_VAULT_KEY
- name: CONTROLLER_HOST
valueFrom:
secretKeyRef:
name: ansible-secrets
key: CONTROLLER_HOST
- name: CONTROLLER_USERNAME
valueFrom:
secretKeyRef:
name: ansible-secrets
key: CONTROLLER_USERNAME
- name: CONTROLLER_PASSWORD
valueFrom:
secretKeyRef:
name: ansible-secrets
key: CONTROLLER_PASSWORD
- name: CONTROLLER_VERIFY_SSL
valueFrom:
secretKeyRef:
name: ansible-secrets
key: CONTROLLER_VERIFY_SSL
- name: PLAYBOOK_NAME
value: "my-playbook.yaml"
restartPolicy: Never
backoffLimit: 0
```

### Run the job:
```bash
kubectl -n awx apply -f my-secret.yaml
kubectl -n awx apply -f my-job.yaml
```