All-in-one K8s toolkit: kubectl, helm, argocd, kustomize, velero, trivy, pluto, cnpg, vault + more
2.0K
All-in-one Kubernetes platform automation toolkit for GitOps, disaster recovery, security scanning, and database management.
| Tool | Version | Purpose |
|---|---|---|
| kubectl | v1.32.13 | Kubernetes CLI |
| helm | v3.21.0 | Kubernetes package manager |
| argocd | v3.3.10 | GitOps deployment CLI |
| kargo | v1.9.5 | Progressive delivery and promotion |
| kustomize | v5.8.1 | Kubernetes manifest customization |
| velero | v1.18.1 | Backup and disaster recovery |
| kubectl-cnpg | v1.28.0 | CloudNativePG PostgreSQL management |
| trivy | v0.70.0 | Security vulnerability scanner |
| pluto | v5.24.0 | Deprecated API version detection |
| yq | v4.53.2 | YAML processor |
| vault | v1.21.4 | HashiCorp Vault CLI |
| jq | latest | JSON processor |
| curl | latest | HTTP client |
| git | latest | Version control |
| bash | latest | Shell |
docker pull kubexorg/deployer:1.0.0
docker run -it --rm kubexorg/deployer:1.0.0
docker run -it --rm \
-v ~/.kube/config:/home/automation/.kube/config:ro \
kubexorg/deployer:1.0.0 \
kubectl get nodes
# ArgoCD sync
docker run --rm kubexorg/deployer:1.0.0 \
argocd app sync my-app --prune
# Create ArgoCD token
docker run --rm kubexorg/deployer:1.0.0 \
argocd account generate-token --account automation
# Create Velero backup
docker run --rm kubexorg/deployer:1.0.0 \
velero backup create emergency-backup \
--include-namespaces production
# PostgreSQL cluster status
docker run --rm kubexorg/deployer:1.0.0 \
kubectl cnpg status keycloak-postgres -n keycloak
# Point-in-Time Recovery
docker run --rm kubexorg/deployer:1.0.0 \
kubectl cnpg restore my-cluster \
--target-time "2025-12-13 14:30:00"
# Scan container image
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock \
kubexorg/deployer:1.0.0 \
trivy image myapp:latest
# Detect deprecated Kubernetes APIs
docker run --rm kubexorg/deployer:1.0.0 \
pluto detect-all-in-cluster
# Trigger PostgreSQL backup
docker run --rm kubexorg/deployer:1.0.0 \
kubectl cnpg backup my-postgres-cluster
# Promote replica to primary
docker run --rm kubexorg/deployer:1.0.0 \
kubectl cnpg promote my-postgres-cluster 2
# Check replication status
docker run --rm kubexorg/deployer:1.0.0 \
kubectl cnpg status my-postgres-cluster --verbose
# Read from Vault
docker run --rm -e VAULT_ADDR=https://vault.example.com \
kubexorg/deployer:1.0.0 \
vault kv get secret/data/myapp
# Process YAML with yq
docker run --rm -v $(pwd):/data \
kubexorg/deployer:1.0.0 \
yq eval '.spec.replicas = 3' /data/deployment.yaml
apiVersion: batch/v1
kind: CronJob
metadata:
name: daily-backup
namespace: platform
spec:
schedule: "0 2 * * *" # Daily at 2 AM
jobTemplate:
spec:
template:
spec:
serviceAccountName: backup-automation
containers:
- name: backup
image: kubexorg/deployer:1.0.0
command:
- /bin/bash
- -c
- |
velero backup create daily-backup-$(date +%Y%m%d) \
--include-namespaces production,staging \
--wait
restartPolicy: OnFailure
apiVersion: batch/v1
kind: Job
metadata:
name: argocd-token-setup
namespace: argocd
annotations:
argocd.argoproj.io/sync-wave: "-10"
spec:
template:
spec:
serviceAccountName: argocd-admin
containers:
- name: setup
image: kubexorg/deployer:1.0.0
command:
- /bin/bash
- -c
- |
argocd login argocd-server --username admin --password $ADMIN_PASSWORD
argocd account generate-token --account automation --expires-in 8760h
env:
- name: ADMIN_PASSWORD
valueFrom:
secretKeyRef:
name: argocd-initial-admin-secret
key: password
restartPolicy: Never
apiVersion: batch/v1
kind: CronJob
metadata:
name: platform-health-check
namespace: monitoring
spec:
schedule: "*/15 * * * *" # Every 15 minutes
jobTemplate:
spec:
template:
spec:
containers:
- name: health-check
image: kubexorg/deployer:1.0.0
command:
- /bin/bash
- -c
- |
# Check ArgoCD apps
argocd app list --output json | jq -r '.[] | select(.status.health.status != "Healthy") | .metadata.name'
# Check deprecated APIs
pluto detect-all-in-cluster --output json
# Check PostgreSQL clusters
kubectl get cluster -A -o json | jq -r '.items[] | select(.status.phase != "Cluster in healthy state") | .metadata.name'
restartPolicy: OnFailure
The image runs as a non-root user (automation, UID 1000) by default for enhanced security.
Content type
Image
Digest
sha256:961100ceb…
Size
693.3 MB
Last updated
5 months ago
docker pull kubexorg/deployer