From 84b60979f2e4b368c2d04e3fde3c90605a166dfb Mon Sep 17 00:00:00 2001 From: juvdiaz Date: Fri, 26 Jun 2026 22:50:19 -0600 Subject: [PATCH] Update debian ip --- .gitea/workflows/homelab-main.yml | 6 +++--- README.md | 12 ++++++------ apps/demos-static/web-app.yaml | 2 +- apps/n8n/web-app.yaml | 2 +- .../local-registry-image-policy.yaml | 4 ++-- apps/website/Dockerfile | 2 +- apps/website/README.md | 2 +- apps/website/buildkitd.toml | 2 +- apps/website/homelab-tree.php | 2 +- apps/website/translate.php | 2 +- apps/website/web-app.yaml | 2 +- bootstrap/apps/variables.tf | 2 +- bootstrap/cluster/variables.tf | 4 ++-- bootstrap/platform/variables.tf | 2 +- bootstrap/provisioning/README.md | 2 +- bootstrap/provisioning/variables.tf | 6 +++--- infra/gitea/README.md | 2 +- lab.sh | 6 +++--- 18 files changed, 31 insertions(+), 31 deletions(-) diff --git a/.gitea/workflows/homelab-main.yml b/.gitea/workflows/homelab-main.yml index 4ff874c..3c91dc7 100644 --- a/.gitea/workflows/homelab-main.yml +++ b/.gitea/workflows/homelab-main.yml @@ -16,12 +16,12 @@ jobs: find . -mindepth 1 -maxdepth 1 -exec rm -rf -- {} + git init - git remote add origin https://lab2025.duckdns.org/git/jv/my-homelab-configs.git + git remote add origin ssh://git@192.168.100.73:32222/jv/my-homelab-configs.git git fetch --prune origin +refs/heads/main:refs/remotes/origin/main +refs/tags/*:refs/tags/* git checkout --force "${{ gitea.sha }}" git config --global --add safe.directory "$PWD" - - name: Block automatic deploy for Raspberry Pi Gitea changes + - name: Block automatic deploy for external Gitea changes run: | set -euo pipefail @@ -115,7 +115,7 @@ jobs: if [[ -n "${blocked_files}" ]]; then printf '%s\n' "${blocked_files}" - echo "Raspberry Pi Gitea service changes require a manual Debian run." + echo "External Gitea service changes require a manual Debian run." exit 1 fi diff --git a/README.md b/README.md index 529c528..0cf0b56 100644 --- a/README.md +++ b/README.md @@ -286,7 +286,7 @@ duplicate those PV manifests when you want storage on another node. `homelab.dev/workload-class=control-plane` on the Debian control plane - `homelab.dev/node-role=edge-app`, `homelab.dev/storage=local`, and `homelab.dev/workload-class=edge` on the Raspberry Pi worker -- `homelab.dev/node-role=app`, `homelab.dev/storage=nvme`, and +- `homelab.dev/node-role=app`, `homelab.dev/storage=ssd`, and `homelab.dev/workload-class=platform` on automated Pimox worker clones when those workers are enabled @@ -389,8 +389,8 @@ are clean, individual policies can be promoted to `Enforce` in `apps/supply-chain-policy` adds a separate Kyverno `ImageValidatingPolicy` for the images built by this repo and pushed to the local registry. The policy -targets `192.168.100.68:30500/php-website:*` and -`192.168.100.68:30500/demos-static:*`, mutates admitted pods to image digests, +targets `192.168.100.73:30500/php-website:*` and +`192.168.100.73:30500/demos-static:*`, mutates admitted pods to image digests, and audits whether the image has both: - a valid Cosign signature from the homelab signing key @@ -512,7 +512,7 @@ than a `/heimdall/` path. The `n8n` app runs in the `n8n` namespace with retained OpenEBS storage and is exposed at `https://n8n.lab2025.duckdns.org`. It receives -`OLLAMA_BASE_URL=http://192.168.100.68:11434` so workflows can call the existing +`OLLAMA_BASE_URL=http://192.168.100.73:11434` so workflows can call the existing Debian-host Ollama API for translation prewarming and batch jobs. The `arr-stack` app runs Prowlarr, Sonarr, Radarr, qBittorrent, Kapowarr, @@ -712,7 +712,7 @@ website image that points at it: ``` Ollama must also listen on the Debian host LAN address so Kubernetes pods on -other nodes can reach `OLLAMA_HOST=http://192.168.100.68:11434`: +other nodes can reach `OLLAMA_HOST=http://192.168.100.73:11434`: ```bash ./lab.sh website-ollama-listen @@ -746,7 +746,7 @@ immutable. The Kyverno supply-chain policy mutates admitted pods to the verified image digest, so the workload runs the same digest that was signed and attested. After `./lab.sh apps`, the live deployment image should be a content-hash tag, -for example `192.168.100.68:30500/php-website:src-...`. If it still shows +for example `192.168.100.73:30500/php-website:src-...`. If it still shows `php-website:latest`, Argo CD has not rendered the current Application source. Check the `website-production` Application source, sync status, and repository access before restarting pods. diff --git a/apps/demos-static/web-app.yaml b/apps/demos-static/web-app.yaml index 44e91c0..b92da5f 100644 --- a/apps/demos-static/web-app.yaml +++ b/apps/demos-static/web-app.yaml @@ -25,7 +25,7 @@ spec: fsGroupChangePolicy: OnRootMismatch containers: - name: demos-static - image: 192.168.100.68:30500/demos-static:latest + image: 192.168.100.73:30500/demos-static:latest imagePullPolicy: Always securityContext: allowPrivilegeEscalation: false diff --git a/apps/n8n/web-app.yaml b/apps/n8n/web-app.yaml index 5bc3ba6..85692cb 100644 --- a/apps/n8n/web-app.yaml +++ b/apps/n8n/web-app.yaml @@ -69,7 +69,7 @@ spec: - name: N8N_RUNNERS_ENABLED value: "true" - name: OLLAMA_BASE_URL - value: http://192.168.100.68:11434 + value: http://192.168.100.73:11434 ports: - containerPort: 5678 name: http diff --git a/apps/supply-chain-policy/local-registry-image-policy.yaml b/apps/supply-chain-policy/local-registry-image-policy.yaml index d3bf522..cb560c9 100644 --- a/apps/supply-chain-policy/local-registry-image-policy.yaml +++ b/apps/supply-chain-policy/local-registry-image-policy.yaml @@ -32,8 +32,8 @@ spec: resources: - pods matchImageReferences: - - glob: "192.168.100.68:30500/php-website:*" - - glob: "192.168.100.68:30500/demos-static:*" + - glob: "192.168.100.73:30500/php-website:*" + - glob: "192.168.100.73:30500/demos-static:*" validationConfigurations: mutateDigest: true required: true diff --git a/apps/website/Dockerfile b/apps/website/Dockerfile index 59513d0..c8dd538 100644 --- a/apps/website/Dockerfile +++ b/apps/website/Dockerfile @@ -86,7 +86,7 @@ RUN rm -f /var/www/localhost/htdocs/index.html && \ chmod 0755 /usr/local/bin/start-website ENV WEBSITE_LANG_WRITE_DIR=/var/www/localhost/htdocs/db/lang -ENV OLLAMA_HOST=http://192.168.100.68:11434 +ENV OLLAMA_HOST=http://192.168.100.73:11434 ENV OLLAMA_MODEL=website-translator USER apache diff --git a/apps/website/README.md b/apps/website/README.md index 83625f7..27abffc 100644 --- a/apps/website/README.md +++ b/apps/website/README.md @@ -64,7 +64,7 @@ translations back to Redis with a TTL, then returns results in the original order. The browser never calls the private Ollama address directly. n8n is deployed separately at `https://n8n.lab2025.duckdns.org` and receives -`OLLAMA_BASE_URL=http://192.168.100.68:11434` so workflows can prewarm +`OLLAMA_BASE_URL=http://192.168.100.73:11434` so workflows can prewarm translations or run batch jobs against the Debian-host Ollama API. ## Translation Observability diff --git a/apps/website/buildkitd.toml b/apps/website/buildkitd.toml index 8b92fa1..e0300e5 100644 --- a/apps/website/buildkitd.toml +++ b/apps/website/buildkitd.toml @@ -1,4 +1,4 @@ -[registry."192.168.100.68:30500"] +[registry."192.168.100.73:30500"] http = true insecure = true diff --git a/apps/website/homelab-tree.php b/apps/website/homelab-tree.php index 20074dc..105d8f8 100644 --- a/apps/website/homelab-tree.php +++ b/apps/website/homelab-tree.php @@ -181,7 +181,7 @@ $blogHref = 'blog.php?lang=' . urlencode($lang); Debian control plane - 192.168.100.68 + 192.168.100.73 diff --git a/apps/website/translate.php b/apps/website/translate.php index 5e81abb..c85d2ab 100644 --- a/apps/website/translate.php +++ b/apps/website/translate.php @@ -211,7 +211,7 @@ if (!$texts || count($texts) > 240 || $totalLength > 80000) { translate_response(400, ['error' => 'Invalid translation batch']); } -$ollamaHost = rtrim(getenv('OLLAMA_HOST') ?: 'http://192.168.100.68:11434', '/'); +$ollamaHost = rtrim(getenv('OLLAMA_HOST') ?: 'http://192.168.100.73:11434', '/'); $ollamaModel = getenv('OLLAMA_MODEL') ?: 'llama3.2:3b'; $cachePrefix = getenv('TRANSLATION_CACHE_PREFIX') ?: 'translation:v1'; $cacheKeys = []; diff --git a/apps/website/web-app.yaml b/apps/website/web-app.yaml index c6f14b4..3ecd56d 100644 --- a/apps/website/web-app.yaml +++ b/apps/website/web-app.yaml @@ -69,7 +69,7 @@ spec: - name: WEBSITE_IDEAS_WRITE_DIR value: /var/www/localhost/htdocs/db/ideas - name: OLLAMA_HOST - value: http://192.168.100.68:11434 + value: http://192.168.100.73:11434 - name: OLLAMA_MODEL value: website-translator - name: TRANSLATION_REDIS_HOST diff --git a/bootstrap/apps/variables.tf b/bootstrap/apps/variables.tf index 0d77486..f9798a5 100644 --- a/bootstrap/apps/variables.tf +++ b/bootstrap/apps/variables.tf @@ -10,7 +10,7 @@ variable "argocd_namespace" { variable "gitops_repo_url" { type = string - default = "ssh://git@192.168.100.89:32222/jv/my-homelab-configs.git" + default = "ssh://git@192.168.100.73:32222/jv/my-homelab-configs.git" } variable "website_image_ref" { diff --git a/bootstrap/cluster/variables.tf b/bootstrap/cluster/variables.tf index 970a78d..1fe5860 100644 --- a/bootstrap/cluster/variables.tf +++ b/bootstrap/cluster/variables.tf @@ -14,7 +14,7 @@ variable "control_plane_node_labels" { variable "control_plane_advertise_address" { type = string - default = "192.168.100.68" + default = "192.168.100.73" } variable "pod_network_cidr" { @@ -34,7 +34,7 @@ variable "kubeconfig_owner" { variable "registry_endpoint" { type = string - default = "192.168.100.68:30500" + default = "192.168.100.73:30500" } variable "node_dns_servers" { diff --git a/bootstrap/platform/variables.tf b/bootstrap/platform/variables.tf index a937034..da0e5be 100644 --- a/bootstrap/platform/variables.tf +++ b/bootstrap/platform/variables.tf @@ -20,7 +20,7 @@ variable "calico_operator_node_name" { variable "gitops_repo_url" { type = string - default = "ssh://git@192.168.100.89:32222/jv/my-homelab-configs.git" + default = "ssh://git@192.168.100.73:32222/jv/my-homelab-configs.git" } variable "gitops_ssh_key_path" { diff --git a/bootstrap/provisioning/README.md b/bootstrap/provisioning/README.md index 8152d60..93b5e9c 100644 --- a/bootstrap/provisioning/README.md +++ b/bootstrap/provisioning/README.md @@ -60,7 +60,7 @@ generates a unique fallback name using `TF_VAR_clone_hostname_prefix`. Create an arm64 VM in Pimox with UEFI firmware, a virtio disk, and a NIC on the same LAN as the Debian provisioning host. Put network boot first. -PXE should load `grubaa64.efi`, boot the Debian installer, fetch the preseed from `http://192.168.100.68:8088/preseed/debian13-arm64-worker.cfg`, and install the golden image. +PXE should load `grubaa64.efi`, boot the Debian installer, fetch the preseed from `http://192.168.100.73:8088/preseed/debian13-arm64-worker.cfg`, and install the golden image. If your Pimox firmware needs a different Debian arm64 EFI loader, override `TF_VAR_pxe_boot_file`. diff --git a/bootstrap/provisioning/variables.tf b/bootstrap/provisioning/variables.tf index 32094a7..fb0b1f9 100644 --- a/bootstrap/provisioning/variables.tf +++ b/bootstrap/provisioning/variables.tf @@ -1,6 +1,6 @@ variable "provisioning_host" { type = string - default = "192.168.100.68" + default = "192.168.100.73" } variable "provisioning_user" { @@ -29,7 +29,7 @@ variable "proxy_dhcp_range" { variable "http_host" { type = string - default = "192.168.100.68" + default = "192.168.100.73" } variable "http_port" { @@ -138,7 +138,7 @@ variable "kernel_cgroup_boot_options" { variable "registry_endpoint" { type = string - default = "192.168.100.68:30500" + default = "192.168.100.73:30500" } variable "node_dns_servers" { diff --git a/infra/gitea/README.md b/infra/gitea/README.md index b2d2e2e..4bb1683 100644 --- a/infra/gitea/README.md +++ b/infra/gitea/README.md @@ -32,7 +32,7 @@ Argo CD does not read from the Gitea SSH port. It reads from the Debian bare GitOps mirror through `gitops_repo_url`, normally: ```text -ssh://jv@192.168.100.68/home/jv/git-server/my-homelab-configs.git +ssh://jv@192.168.100.73/home/jv/git-server/my-homelab-configs.git ``` The platform bootstrap registers that repo secret and updates diff --git a/lab.sh b/lab.sh index dcae021..0447a9f 100755 --- a/lab.sh +++ b/lab.sh @@ -212,7 +212,7 @@ adopt_apps_existing_resources() { ensure_homelab_node_labels() { local control_plane_node="${LAB_CONTROL_PLANE_NODE_NAME:-debian}" local raspberry_node="${LAB_RASPBERRY_NODE_NAME:-raspberry}" - local prometheus_selector="homelab.dev/node-role=app,homelab.dev/storage=nvme" + local prometheus_selector="homelab.dev/node-role=app,homelab.dev/storage=ssd" local node local target_nodes @@ -236,7 +236,7 @@ ensure_homelab_node_labels() { if [[ "${node}" == pimox-worker-* ]]; then kubectl --kubeconfig "${KUBECONFIG_PATH}" label node "${node}" \ homelab.dev/node-role=app \ - homelab.dev/storage=nvme \ + homelab.dev/storage=ssd \ homelab.dev/workload-class=platform \ --overwrite elif [[ "${node}" == "${raspberry_node}" ]]; then @@ -813,7 +813,7 @@ write_cluster_worker_var_file() { LAB_RASPBERRY_NODE_NAME="${LAB_RASPBERRY_NODE_NAME:-raspberry}" \ LAB_RASPBERRY_SSH_KEY_PATH="${LAB_RASPBERRY_SSH_KEY_PATH:-/home/jv/.ssh/id_ed25519}" \ LAB_RASPBERRY_NODE_LABELS_JSON="${LAB_RASPBERRY_NODE_LABELS_JSON:-{\"node-role.kubernetes.io/worker\":\"worker\",\"homelab.dev/node-role\":\"edge-app\",\"homelab.dev/storage\":\"local\",\"homelab.dev/workload-class\":\"edge\"}}" \ - LAB_PIMOX_WORKER_NODE_LABELS_JSON="${LAB_PIMOX_WORKER_NODE_LABELS_JSON:-{\"node-role.kubernetes.io/worker\":\"worker\",\"homelab.dev/node-role\":\"app\",\"homelab.dev/storage\":\"nvme\",\"homelab.dev/workload-class\":\"platform\"}}" \ + LAB_PIMOX_WORKER_NODE_LABELS_JSON="${LAB_PIMOX_WORKER_NODE_LABELS_JSON:-{\"node-role.kubernetes.io/worker\":\"worker\",\"homelab.dev/node-role\":\"app\",\"homelab.dev/storage\":\"ssd\",\"homelab.dev/workload-class\":\"platform\"}}" \ python3 - "${spec_file}" "${var_file}" <<'PY' import json import os