docs: migrate all documentation to Discourse wiki topics
All knowledge docs (architecture, runbooks, references, audits, policies) have been migrated to community.turnsys.com as wiki topics in the VP TechOps category. Discourse is now the canonical source of truth for documentation; git edit history no longer serves as the doc changelog. 37 .md files converted to short pointers linking to their Discourse topics. AGENTS.md updated with new documentation workflow policy. Code (scripts, configs, playbooks) remains authoritative in git.
This commit is contained in:
+9
-97
@@ -1,98 +1,10 @@
|
||||
# AWX — tsys-awx.knel.net
|
||||
# awx/README.md
|
||||
|
||||
> **Redmine:** [#361](https://projects.knownelement.com/issues/361) (deployment, closed) · [#371](https://projects.knownelement.com/issues/371) (HTTPS/TLS, open)
|
||||
|
||||
Ansible AWX deployment on a dedicated k3s single-node VM.
|
||||
|
||||
**[→ Deployment Plan](DEPLOYMENT.md)** · **[→ Status](../../STATUS.md)**
|
||||
|
||||
## Access
|
||||
|
||||
| | |
|
||||
|---|---|
|
||||
| URL | `http://tsys-awx.knel.net` (LAN) or `http://100.91.39.53` (Tailscale) |
|
||||
| Port | 80 (LoadBalancer via k3s ServiceLB) |
|
||||
| User | `admin` |
|
||||
| Password | `REDACTED_PASSWORD` (fleet standard) |
|
||||
|
||||
## Architecture
|
||||
|
||||
```
|
||||
tsys-awx (VMID 600 on pfv-tsys6)
|
||||
├── k3s v1.36.2+k3s1 (single-node, no Traefik)
|
||||
├── AWX Operator 2.19.1 (manages the AWX lifecycle)
|
||||
└── AWX instance "tsys-awx"
|
||||
├── AWX web (UI/API)
|
||||
├── AWX task (Celery workers)
|
||||
├── PostgreSQL 15 (bundled, 8 GiB PVC on local-path)
|
||||
├── Redis (ephemeral)
|
||||
└── ServiceLB (binds port 80 to host IP)
|
||||
```
|
||||
|
||||
## VM Resources
|
||||
|
||||
| Resource | Value |
|
||||
|----------|-------|
|
||||
| Host | pfv-tsys6 (2× Xeon E5530, 126 GB RAM) |
|
||||
| vCPU | 4 (2 sockets × 2 cores) |
|
||||
| RAM | 12 GB |
|
||||
| Disk | 60 GB (D5 on tsys4 NFS) |
|
||||
| OS | Debian 13 trixie |
|
||||
| Network | 192.168.3.200 (LAN), 100.91.39.53 (Tailscale) |
|
||||
|
||||
## Files
|
||||
|
||||
| File | Purpose |
|
||||
|------|---------|
|
||||
| [`install-k3s.sh`](install-k3s.sh) | Install k3s single-node (no Traefik) |
|
||||
| [`deploy-awx.sh`](deploy-awx.sh) | Deploy AWX Operator 2.19.1 + AWX instance |
|
||||
| [`verify-awx.sh`](verify-awx.sh) | Verify deployment status + access |
|
||||
| [`namespace.yaml`](namespace.yaml) | Kubernetes namespace manifest |
|
||||
| [`awx-instance.yaml`](awx-instance.yaml) | AWX Custom Resource (CR) manifest |
|
||||
|
||||
## Deployment (from scratch)
|
||||
|
||||
```bash
|
||||
# 1. Push scripts to VM
|
||||
for f in awx/install-k3s.sh awx/deploy-awx.sh awx/verify-awx.sh \
|
||||
awx/namespace.yaml awx/awx-instance.yaml; do
|
||||
VM_IP=100.91.39.53 VM_USER=localuser bash tests/remote.sh vm \
|
||||
"sudo tee /tmp/awx/$(basename $f) > /dev/null" < "$f"
|
||||
done
|
||||
|
||||
# 2. Install k3s
|
||||
VM_IP=100.91.39.53 VM_USER=localuser bash tests/remote.sh vm \
|
||||
"sudo bash /tmp/awx/install-k3s.sh"
|
||||
|
||||
# 3. Deploy AWX
|
||||
VM_IP=100.91.39.53 VM_USER=localuser bash tests/remote.sh vm \
|
||||
"sudo bash /tmp/awx/deploy-awx.sh"
|
||||
|
||||
# 4. Verify
|
||||
VM_IP=100.91.39.53 VM_USER=localuser bash tests/remote.sh vm \
|
||||
"bash /tmp/awx/verify-awx.sh"
|
||||
```
|
||||
|
||||
## Operating
|
||||
|
||||
```bash
|
||||
# kubectl access
|
||||
sudo k3s kubectl -n awx get pods
|
||||
sudo k3s kubectl -n awx logs -f deployment/awx-operator-controller-manager
|
||||
|
||||
# Restart AWX instance
|
||||
sudo k3s kubectl -n awx delete awx tsys-awx # operator will recreate
|
||||
|
||||
# Get admin password
|
||||
sudo k3s kubectl -n awx get secret awx-admin-password -o jsonpath='{.data.password}' | base64 -d
|
||||
```
|
||||
|
||||
## Known Issues
|
||||
|
||||
1. **kube-rbac-proxy image**: The AWX Operator 2.19.1 references
|
||||
`gcr.io/kubebuilder/kube-rbac-proxy:v0.15.0` which was removed from GCR.
|
||||
The deploy script patches this to `quay.io/brancz/kube-rbac-proxy:v0.15.0`.
|
||||
2. **Image pulls are slow**: First deployment pulls ~2 GB of container images.
|
||||
Postgres image alone is ~400 MB and takes several minutes.
|
||||
3. **Disk space**: AWX + k3s uses ~10 GB of the 60 GB disk. PostgreSQL data
|
||||
grows over time — monitor `df -h /`.
|
||||
> **Documentation moved to Discourse — the canonical source of truth.**
|
||||
>
|
||||
> **Ansible AWX deployment on k3s**
|
||||
>
|
||||
> **Read it here:** https://community.turnsys.com/t/302
|
||||
>
|
||||
> *Migrated 2026-08-06. This file is kept as a pointer for git-browsing context.
|
||||
> Do not update content here — edit the Discourse wiki topic instead.*
|
||||
|
||||
Reference in New Issue
Block a user