# fukuops ## scripts ### `hbd.sh` - Helm Build and Deploy Package and push Helm charts to an OCI registry. ```bash scripts/hbd.sh [version] [--oci-registry ] ``` **Arguments:** - `chart-name` - Name of the chart in `k8s/charts/` - `version` (optional) - Version to deploy. If omitted, bumps patch version (e.g., 0.1.0 → 0.1.1) - `--oci-registry ` (optional) - Override default OCI registry **Default registry:** `oci://git.roboces.dev/catalin/fukuops` **Examples:** ```bash # Deploy next patch version (0.1.0 → 0.1.1) scripts/hbd.sh vaultwarden # Deploy specific version scripts/hbd.sh vaultwarden 0.2.0 # Deploy to custom registry scripts/hbd.sh vaultwarden 0.1.1 --oci-registry oci://my-registry.com/charts ``` --- ### `k3scale.sh` - Kubernetes Scaling Scale deployments and statefulsets in a k3s cluster. ```bash scripts/k3scale.sh REPLICAS [RESOURCE...] [OPTIONS] ``` **Arguments:** - `REPLICAS` - Number of replicas to scale to - `RESOURCE` - Resource to scale in `namespace/name` format (can specify multiple) **Options:** - `--all` - Scale all deployments/statefulsets in current namespace - `--all-namespaces` - Scale across all namespaces - `-n, --namespace NAMESPACE` - Target namespace - `--dry-run` - Show actions without executing - `-v|-vv|-vvv` - Verbosity levels **Examples:** ```bash scripts/k3scale.sh 1 mynamespace/mydeployment scripts/k3scale.sh 0 --all --namespace production scripts/k3scale.sh 3 --all --dry-run ``` --- ### `proxmox-power.sh` - Proxmox VM Management Start or shutdown QEMU VMs and LXC containers on a Proxmox cluster. ```bash scripts/proxmox-power.sh --op start|shutdown [--all | --ids ...]] [OPTIONS] ``` **Options:** - `--op OP` - Operation: `start` or `shutdown` (required) - `--all` - Operate on all VMs/containers (honors filters) - `--ids LIST` - Space-separated list of VMIDs - `--only-qemu` - Only QEMU VMs - `--only-lxc` - Only LXC containers - `--force` - Force shutdown if timeout exceeded - `--timeout SEC` - Shutdown wait timeout (default: 120) - `--concurrency N` - Parallel operations (default: 4) - `--node NODE` - Restrict to specific node - `--dry-run` - Show actions without executing - `--insecure` - Skip SSL verification **Authentication (env vars):** - API Token: `PVE_TOKEN_ID` + `PVE_TOKEN_SECRET` - Password: `PVE_USER` + `PVE_PASSWORD` (or via GNOME keyring) **Examples:** ```bash scripts/proxmox-power.sh --op shutdown --all scripts/proxmox-power.sh --op start --ids 100 101 --node mynode PVE_TOKEN_ID=user@pam!ci scripts/proxmox-power.sh --op start --all ``` --- ### `update-argo.sh` - ArgoCD Upgrades Upgrade ArgoCD to a new version. ```bash scripts/update-argo.sh [VERSION] [OPTIONS] ``` **Arguments:** - `VERSION` (optional) - Target version. If omitted, auto-detects latest **Options:** - `--dry-run` - Show what would be done - `-v|-vv|-vvv` - Verbosity levels **Examples:** ```bash scripts/update-argo.sh # Upgrade to latest scripts/update-argo.sh v2.9.0 # Upgrade to specific version scripts/update-argo.sh --dry-run -vv # Preview with verbose output ```