diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c317064 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +AGENTS.md diff --git a/clusters/atlas/applications/kustomization.yaml b/clusters/atlas/applications/kustomization.yaml new file mode 100644 index 0000000..c29dbb7 --- /dev/null +++ b/clusters/atlas/applications/kustomization.yaml @@ -0,0 +1,12 @@ +# clusters/atlas/applications/kustomization.yaml +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - ../../services/crypto + - ../../services/gitea + - ../../services/jellyfin + - ../../services/jitsi + - ../../services/monitoring + - ../../services/pegasus + - ../../services/vault + - ../../services/zot diff --git a/infrastructure/flux-system/kustomization-crypto.yaml b/clusters/atlas/flux-system/applications/crypto/kustomization.yaml similarity index 81% rename from infrastructure/flux-system/kustomization-crypto.yaml rename to clusters/atlas/flux-system/applications/crypto/kustomization.yaml index aaa38d1..e930957 100644 --- a/infrastructure/flux-system/kustomization-crypto.yaml +++ b/clusters/atlas/flux-system/applications/crypto/kustomization.yaml @@ -1,4 +1,4 @@ -# infrastructure/flux-system/kustomization-crypto.yaml +# clusters/atlas/flux-system/applications/crypto/kustomization.yaml apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: diff --git a/infrastructure/flux-system/kustomization-gitea.yaml b/clusters/atlas/flux-system/applications/gitea/kustomization.yaml similarity index 81% rename from infrastructure/flux-system/kustomization-gitea.yaml rename to clusters/atlas/flux-system/applications/gitea/kustomization.yaml index 62bff3f..6192053 100644 --- a/infrastructure/flux-system/kustomization-gitea.yaml +++ b/clusters/atlas/flux-system/applications/gitea/kustomization.yaml @@ -1,4 +1,4 @@ -# infrastructure/flux-system/kustomization-gitea.yaml +# clusters/atlas/flux-system/applications/gitea/kustomization.yaml apiVersion: kustomize.toolkit.fluxcd.io/v1beta2 kind: Kustomization metadata: diff --git a/infrastructure/flux-system/kustomization-jellyfin.yaml b/clusters/atlas/flux-system/applications/jellyfin/kustomization.yaml similarity index 83% rename from infrastructure/flux-system/kustomization-jellyfin.yaml rename to clusters/atlas/flux-system/applications/jellyfin/kustomization.yaml index b298492..0d314ca 100644 --- a/infrastructure/flux-system/kustomization-jellyfin.yaml +++ b/clusters/atlas/flux-system/applications/jellyfin/kustomization.yaml @@ -1,4 +1,4 @@ -# infrastructure/flux-system/kustomization-jellyfin.yaml +# clusters/atlas/flux-system/applications/jellyfin/kustomization.yaml apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: diff --git a/infrastructure/flux-system/kustomization-jitsi.yaml b/clusters/atlas/flux-system/applications/jitsi/kustomization.yaml similarity index 83% rename from infrastructure/flux-system/kustomization-jitsi.yaml rename to clusters/atlas/flux-system/applications/jitsi/kustomization.yaml index 66279a9..8e96feb 100644 --- a/infrastructure/flux-system/kustomization-jitsi.yaml +++ b/clusters/atlas/flux-system/applications/jitsi/kustomization.yaml @@ -1,4 +1,4 @@ -# infrastructure/flux-system/kustomization-jitsi.yaml +# clusters/atlas/flux-system/applications/jitsi/kustomization.yaml apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: diff --git a/clusters/atlas/flux-system/applications/kustomization.yaml b/clusters/atlas/flux-system/applications/kustomization.yaml new file mode 100644 index 0000000..7d2f8ee --- /dev/null +++ b/clusters/atlas/flux-system/applications/kustomization.yaml @@ -0,0 +1,15 @@ +# clusters/atlas/flux-system/applications/kustomization.yaml +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - zot/kustomization.yaml + - gitea/kustomization.yaml + - vault/kustomization.yaml + - jitsi/kustomization.yaml + - crypto/kustomization.yaml + - monerod/kustomization.yaml + - pegasus/kustomization.yaml + - pegasus/image-automation.yaml + - jellyfin/kustomization.yaml + - xmr-miner/kustomization.yaml + - sui-metrics/kustomization.yaml diff --git a/infrastructure/flux-system/kustomization-monerod.yaml b/clusters/atlas/flux-system/applications/monerod/kustomization.yaml similarity index 83% rename from infrastructure/flux-system/kustomization-monerod.yaml rename to clusters/atlas/flux-system/applications/monerod/kustomization.yaml index dbb58b7..5b9fc6b 100644 --- a/infrastructure/flux-system/kustomization-monerod.yaml +++ b/clusters/atlas/flux-system/applications/monerod/kustomization.yaml @@ -1,4 +1,4 @@ -# infrastructure/flux-system/kustomization-monerod.yaml +# clusters/atlas/flux-system/applications/monerod/kustomization.yaml apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: diff --git a/infrastructure/flux-system/image-automation-pegasus.yaml b/clusters/atlas/flux-system/applications/pegasus/image-automation.yaml similarity index 85% rename from infrastructure/flux-system/image-automation-pegasus.yaml rename to clusters/atlas/flux-system/applications/pegasus/image-automation.yaml index 222461a..7871d34 100644 --- a/infrastructure/flux-system/image-automation-pegasus.yaml +++ b/clusters/atlas/flux-system/applications/pegasus/image-automation.yaml @@ -1,4 +1,4 @@ -# infrastructure/flux-system/image-automation-pegasus.yaml +# clusters/atlas/flux-system/applications/pegasus/image-automation.yaml apiVersion: image.toolkit.fluxcd.io/v1beta1 kind: ImageUpdateAutomation metadata: diff --git a/infrastructure/flux-system/kustomization-pegasus.yaml b/clusters/atlas/flux-system/applications/pegasus/kustomization.yaml similarity index 83% rename from infrastructure/flux-system/kustomization-pegasus.yaml rename to clusters/atlas/flux-system/applications/pegasus/kustomization.yaml index aeafa8e..21010e7 100644 --- a/infrastructure/flux-system/kustomization-pegasus.yaml +++ b/clusters/atlas/flux-system/applications/pegasus/kustomization.yaml @@ -1,4 +1,4 @@ -# infrastructure/flux-system/kustomization-pegasus.yaml +# clusters/atlas/flux-system/applications/pegasus/kustomization.yaml apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: diff --git a/clusters/atlas/flux-system/applications/sui-metrics/kustomization.yaml b/clusters/atlas/flux-system/applications/sui-metrics/kustomization.yaml new file mode 100644 index 0000000..4e294bb --- /dev/null +++ b/clusters/atlas/flux-system/applications/sui-metrics/kustomization.yaml @@ -0,0 +1,19 @@ +# clusters/atlas/flux-system/applications/sui-metrics/kustomization.yaml +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: sui-metrics + namespace: flux-system +spec: + interval: 10m + path: ./services/sui-metrics/overlays/atlas + prune: true + dependsOn: + - name: monitoring + sourceRef: + kind: GitRepository + name: flux-system + namespace: flux-system + wait: true + timeout: 5m + targetNamespace: sui-metrics diff --git a/infrastructure/flux-system/kustomization-vault.yaml b/clusters/atlas/flux-system/applications/vault/kustomization.yaml similarity index 82% rename from infrastructure/flux-system/kustomization-vault.yaml rename to clusters/atlas/flux-system/applications/vault/kustomization.yaml index 3ee83c6..2e68b00 100644 --- a/infrastructure/flux-system/kustomization-vault.yaml +++ b/clusters/atlas/flux-system/applications/vault/kustomization.yaml @@ -1,4 +1,4 @@ -# infrastructure/flux-system/kustomization-vault.yaml +# clusters/atlas/flux-system/applications/vault/kustomization.yaml apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: diff --git a/infrastructure/flux-system/kustomization-xmr-miner.yaml b/clusters/atlas/flux-system/applications/xmr-miner/kustomization.yaml similarity index 83% rename from infrastructure/flux-system/kustomization-xmr-miner.yaml rename to clusters/atlas/flux-system/applications/xmr-miner/kustomization.yaml index 533038c..328d433 100644 --- a/infrastructure/flux-system/kustomization-xmr-miner.yaml +++ b/clusters/atlas/flux-system/applications/xmr-miner/kustomization.yaml @@ -1,4 +1,4 @@ -# infrastructure/flux-system/kustomization-core.yaml +# clusters/atlas/flux-system/applications/xmr-miner/kustomization.yaml apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: diff --git a/infrastructure/flux-system/kustomization-zot.yaml b/clusters/atlas/flux-system/applications/zot/kustomization.yaml similarity index 83% rename from infrastructure/flux-system/kustomization-zot.yaml rename to clusters/atlas/flux-system/applications/zot/kustomization.yaml index f3007e6..c60ae5b 100644 --- a/infrastructure/flux-system/kustomization-zot.yaml +++ b/clusters/atlas/flux-system/applications/zot/kustomization.yaml @@ -1,4 +1,4 @@ -# infrastructure/flux-system/kustomization-zot.yaml +# clusters/atlas/flux-system/applications/zot/kustomization.yaml apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: diff --git a/infrastructure/flux-system/gotk-components.yaml b/clusters/atlas/flux-system/gotk-components.yaml similarity index 99% rename from infrastructure/flux-system/gotk-components.yaml rename to clusters/atlas/flux-system/gotk-components.yaml index 73da5f2..c0ec238 100644 --- a/infrastructure/flux-system/gotk-components.yaml +++ b/clusters/atlas/flux-system/gotk-components.yaml @@ -1,6 +1,6 @@ --- # This manifest was generated by flux. DO NOT EDIT. -# Flux Version: v2.5.1 +# Flux Version: v2.5.1f reconzaq1= zaq1= aq1= 1= w2cile kustomization flux-system --namespace flux-system --with-source # Components: source-controller,kustomize-controller,helm-controller,notification-controller apiVersion: v1 kind: Namespace diff --git a/infrastructure/flux-system/gotk-sync.yaml b/clusters/atlas/flux-system/gotk-sync.yaml similarity index 87% rename from infrastructure/flux-system/gotk-sync.yaml rename to clusters/atlas/flux-system/gotk-sync.yaml index 003494a..275e305 100644 --- a/infrastructure/flux-system/gotk-sync.yaml +++ b/clusters/atlas/flux-system/gotk-sync.yaml @@ -8,7 +8,7 @@ metadata: spec: interval: 1m0s ref: - branch: main + branch: restructure/hybrid-clusters secretRef: name: flux-system-gitea url: ssh://git@scm.bstein.dev:2242/bstein/titan-iac.git @@ -20,7 +20,7 @@ metadata: namespace: flux-system spec: interval: 10m0s - path: ./ + path: ./clusters/atlas/flux-system prune: true sourceRef: kind: GitRepository diff --git a/clusters/atlas/flux-system/kustomization.yaml b/clusters/atlas/flux-system/kustomization.yaml new file mode 100644 index 0000000..9531678 --- /dev/null +++ b/clusters/atlas/flux-system/kustomization.yaml @@ -0,0 +1,8 @@ +# clusters/atlas/flux-system/kustomization.yaml +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - gotk-components.yaml + - gotk-sync.yaml + - platform + - applications diff --git a/infrastructure/flux-system/kustomization-core.yaml b/clusters/atlas/flux-system/platform/core/kustomization.yaml similarity index 82% rename from infrastructure/flux-system/kustomization-core.yaml rename to clusters/atlas/flux-system/platform/core/kustomization.yaml index d3947b5..8566387 100644 --- a/infrastructure/flux-system/kustomization-core.yaml +++ b/clusters/atlas/flux-system/platform/core/kustomization.yaml @@ -1,4 +1,4 @@ -# infrastructure/flux-system/kustomization-core.yaml +# clusters/atlas/flux-system/platform/core/kustomization.yaml apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: @@ -6,7 +6,7 @@ metadata: namespace: flux-system spec: interval: 10m - path: ./infrastructure/core + path: ./clusters/atlas/platform prune: true sourceRef: kind: GitRepository diff --git a/infrastructure/flux-system/kustomization-helm.yaml b/clusters/atlas/flux-system/platform/helm/kustomization.yaml similarity index 83% rename from infrastructure/flux-system/kustomization-helm.yaml rename to clusters/atlas/flux-system/platform/helm/kustomization.yaml index 58f0311..45a3c7d 100644 --- a/infrastructure/flux-system/kustomization-helm.yaml +++ b/clusters/atlas/flux-system/platform/helm/kustomization.yaml @@ -1,4 +1,4 @@ -# infrastructure/flux-system/kustomization-helm.yaml +# clusters/atlas/flux-system/platform/helm/kustomization.yaml apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: diff --git a/clusters/atlas/flux-system/platform/kustomization.yaml b/clusters/atlas/flux-system/platform/kustomization.yaml new file mode 100644 index 0000000..59d2032 --- /dev/null +++ b/clusters/atlas/flux-system/platform/kustomization.yaml @@ -0,0 +1,9 @@ +# clusters/atlas/flux-system/platform/kustomization.yaml +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - core/kustomization.yaml + - helm/kustomization.yaml + - traefik/kustomization.yaml + - monitoring/kustomization.yaml + - longhorn-ui/kustomization.yaml diff --git a/infrastructure/flux-system/kustomization-longhorn-ui.yaml b/clusters/atlas/flux-system/platform/longhorn-ui/kustomization.yaml similarity index 84% rename from infrastructure/flux-system/kustomization-longhorn-ui.yaml rename to clusters/atlas/flux-system/platform/longhorn-ui/kustomization.yaml index e897cf7..fc6bd1f 100644 --- a/infrastructure/flux-system/kustomization-longhorn-ui.yaml +++ b/clusters/atlas/flux-system/platform/longhorn-ui/kustomization.yaml @@ -1,4 +1,4 @@ -# infrastructure/flux-system/kustomization-longhorn-ui.yaml +# clusters/atlas/flux-system/platform/longhorn-ui/kustomization.yaml apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: diff --git a/infrastructure/flux-system/kustomization-monitoring.yaml b/clusters/atlas/flux-system/platform/monitoring/kustomization.yaml similarity index 78% rename from infrastructure/flux-system/kustomization-monitoring.yaml rename to clusters/atlas/flux-system/platform/monitoring/kustomization.yaml index ffe7dcd..2899531 100644 --- a/infrastructure/flux-system/kustomization-monitoring.yaml +++ b/clusters/atlas/flux-system/platform/monitoring/kustomization.yaml @@ -1,4 +1,4 @@ -# infrastructure/flux-system/kustomization-monitoring.yaml +# clusters/atlas/flux-system/platform/monitoring/kustomization.yaml apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: diff --git a/infrastructure/flux-system/kustomization-traefik.yaml b/clusters/atlas/flux-system/platform/traefik/kustomization.yaml similarity index 83% rename from infrastructure/flux-system/kustomization-traefik.yaml rename to clusters/atlas/flux-system/platform/traefik/kustomization.yaml index db0239f..0f53de7 100644 --- a/infrastructure/flux-system/kustomization-traefik.yaml +++ b/clusters/atlas/flux-system/platform/traefik/kustomization.yaml @@ -1,4 +1,4 @@ -# infrastructure/flux-system/kustomization-traefik.yaml +# clusters/atlas/flux-system/platform/traefik/kustomization.yaml apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: diff --git a/clusters/atlas/platform/kustomization.yaml b/clusters/atlas/platform/kustomization.yaml new file mode 100644 index 0000000..7dab3c5 --- /dev/null +++ b/clusters/atlas/platform/kustomization.yaml @@ -0,0 +1,6 @@ +# clusters/atlas/platform/kustomization.yaml +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - ../../infrastructure/modules/base + - ../../infrastructure/modules/profiles/atlas-ha diff --git a/clusters/oceanus/README.md b/clusters/oceanus/README.md new file mode 100644 index 0000000..d91b52f --- /dev/null +++ b/clusters/oceanus/README.md @@ -0,0 +1,5 @@ +# Oceanus Cluster Scaffold + +This directory prepares the Flux and Kustomize layout for a future Oceanus-managed cluster. +Populate `flux-system/` with `gotk-components.yaml` and related manifests after running `flux bootstrap`. +Define node-specific resources under `infrastructure/modules/profiles/oceanus-validator/` and reference workloads in `applications/` as they come online. diff --git a/clusters/oceanus/applications/kustomization.yaml b/clusters/oceanus/applications/kustomization.yaml new file mode 100644 index 0000000..dca9ed8 --- /dev/null +++ b/clusters/oceanus/applications/kustomization.yaml @@ -0,0 +1,4 @@ +# clusters/oceanus/applications/kustomization.yaml +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: [] diff --git a/clusters/oceanus/flux-system/kustomization.yaml b/clusters/oceanus/flux-system/kustomization.yaml new file mode 100644 index 0000000..0d2942d --- /dev/null +++ b/clusters/oceanus/flux-system/kustomization.yaml @@ -0,0 +1,9 @@ +# clusters/oceanus/flux-system/kustomization.yaml +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + # Populate when oceanus cluster is bootstrapped with Flux. + # - gotk-components.yaml + # - gotk-sync.yaml + - ../platform + - ../applications diff --git a/clusters/oceanus/platform/kustomization.yaml b/clusters/oceanus/platform/kustomization.yaml new file mode 100644 index 0000000..36d6338 --- /dev/null +++ b/clusters/oceanus/platform/kustomization.yaml @@ -0,0 +1,6 @@ +# clusters/oceanus/platform/kustomization.yaml +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - ../../infrastructure/modules/base + - ../../infrastructure/modules/profiles/oceanus-validator diff --git a/docs/topology.md b/docs/topology.md new file mode 100644 index 0000000..27b06f5 --- /dev/null +++ b/docs/topology.md @@ -0,0 +1,16 @@ +# Titan Homelab Topology + +| Hostname | Role / Function | Managed By | Notes | +|------------|--------------------------------|---------------------|-------| +| titan-0a | Kubernetes control-plane | Flux (atlas cluster)| HA leader, tainted for control only | +| titan-0b | Kubernetes control-plane | Flux (atlas cluster)| Standby control node | +| titan-0c | Kubernetes control-plane | Flux (atlas cluster)| Standby control node | +| titan-04-19| Raspberry Pi workers | Flux (atlas cluster)| Workload nodes, labelled per hardware | +| titan-22 | GPU mini-PC (Jellyfin) | Flux + Ansible | NVIDIA runtime managed via `modules/profiles/atlas-ha` | +| titan-24 | Tethys hybrid node | Flux + Ansible | Runs SUI metrics via K8s, validator via Ansible | +| titan-db | HA control plane database | Ansible | PostgreSQL / etcd backing services | +| titan-jh | Jumphost & bastion | Ansible | Entry point / future KVM services | +| oceanus | Dedicated SUI validator host | Ansible / Flux prep | Baremetal validator workloads, exposes metrics to atlas; Kustomize scaffold under `clusters/oceanus/` | +| styx | Air-gapped workstation | Manual / Scripts | Remains isolated, scripts tracked in `hosts/styx` | + +Use the `clusters/` directory for cluster-scoped state and the `hosts/` directory for baremetal orchestration. diff --git a/hosts/group_vars/all.yaml b/hosts/group_vars/all.yaml new file mode 100644 index 0000000..cbaafb4 --- /dev/null +++ b/hosts/group_vars/all.yaml @@ -0,0 +1,2 @@ +# hosts/group_vars/all.yaml +validator_version: latest diff --git a/hosts/host_vars/titan-24.yaml b/hosts/host_vars/titan-24.yaml new file mode 100644 index 0000000..e427278 --- /dev/null +++ b/hosts/host_vars/titan-24.yaml @@ -0,0 +1,2 @@ +# hosts/host_vars/titan-24.yaml +validator_compose_path: /opt/sui-validator diff --git a/hosts/inventory/lab.yaml b/hosts/inventory/lab.yaml new file mode 100644 index 0000000..b1859da --- /dev/null +++ b/hosts/inventory/lab.yaml @@ -0,0 +1,28 @@ +# hosts/inventory/lab.yaml +# Replace ansible_host and ansible_user values with real connectivity details. +all: + children: + atlas: + hosts: + titan-24: + ansible_host: REPLACE_ME + ansible_user: ubuntu + roleset: tethys_hybrid + titan-22: + ansible_host: REPLACE_ME + ansible_user: debian + roleset: minipc_gpu + baremetal: + hosts: + titan-db: + ansible_host: REPLACE_ME + ansible_user: postgres + roleset: database + titan-jh: + ansible_host: REPLACE_ME + ansible_user: jump + roleset: jumphost + oceanus: + ansible_host: REPLACE_ME + ansible_user: validator + roleset: validator diff --git a/hosts/playbooks/site.yaml b/hosts/playbooks/site.yaml new file mode 100644 index 0000000..eb06cc0 --- /dev/null +++ b/hosts/playbooks/site.yaml @@ -0,0 +1,29 @@ +# hosts/playbooks/site.yaml +--- +- name: Configure titan-db + hosts: titan-db + gather_facts: true + roles: + - common + - titan_db + +- name: Configure titan-jh + hosts: titan-jh + gather_facts: true + roles: + - common + - titan_jh + +- name: Configure oceanus validator host + hosts: oceanus + gather_facts: true + roles: + - common + - oceanus_base + +- name: Prepare hybrid tethys node + hosts: titan-24 + gather_facts: true + roles: + - common + - tethys_validator diff --git a/hosts/roles/common/tasks/main.yaml b/hosts/roles/common/tasks/main.yaml new file mode 100644 index 0000000..82aeba4 --- /dev/null +++ b/hosts/roles/common/tasks/main.yaml @@ -0,0 +1,9 @@ +# hosts/roles/common/tasks/main.yaml +--- +- name: Ensure base packages present + ansible.builtin.package: + name: + - curl + - vim + state: present + tags: ['common', 'packages'] diff --git a/hosts/roles/oceanus_base/tasks/main.yaml b/hosts/roles/oceanus_base/tasks/main.yaml new file mode 100644 index 0000000..e2b5de7 --- /dev/null +++ b/hosts/roles/oceanus_base/tasks/main.yaml @@ -0,0 +1,6 @@ +# hosts/roles/oceanus_base/tasks/main.yaml +--- +- name: Placeholder for oceanus base configuration + ansible.builtin.debug: + msg: "Install validator prerequisites and monitoring exporters here." + tags: ['oceanus'] diff --git a/hosts/roles/tethys_canary/tasks/main.yaml b/hosts/roles/tethys_canary/tasks/main.yaml new file mode 100644 index 0000000..65abd13 --- /dev/null +++ b/hosts/roles/tethys_canary/tasks/main.yaml @@ -0,0 +1,6 @@ +# hosts/roles/tethys_validator/tasks/main.yaml +--- +- name: Placeholder for SUI validator container runtime setup + ansible.builtin.debug: + msg: "Configure container runtime and validator compose stack here." + tags: ['tethys', 'validator'] diff --git a/hosts/roles/titan_db/tasks/main.yaml b/hosts/roles/titan_db/tasks/main.yaml new file mode 100644 index 0000000..85e6a8c --- /dev/null +++ b/hosts/roles/titan_db/tasks/main.yaml @@ -0,0 +1,6 @@ +# hosts/roles/titan_db/tasks/main.yaml +--- +- name: Placeholder for titan-db provisioning + ansible.builtin.debug: + msg: "Install database packages, configure backups, and manage users here." + tags: ['titan_db'] diff --git a/hosts/roles/titan_jh/tasks/main.yaml b/hosts/roles/titan_jh/tasks/main.yaml new file mode 100644 index 0000000..0f66730 --- /dev/null +++ b/hosts/roles/titan_jh/tasks/main.yaml @@ -0,0 +1,6 @@ +# hosts/roles/titan_jh/tasks/main.yaml +--- +- name: Placeholder for jumphost hardening + ansible.builtin.debug: + msg: "Harden SSH, manage bastion tooling, and configure audit logging here." + tags: ['jumphost'] diff --git a/hosts/styx/README.md b/hosts/styx/README.md new file mode 100644 index 0000000..992bac5 --- /dev/null +++ b/hosts/styx/README.md @@ -0,0 +1,2 @@ +# hosts/styx/README.md +Styx is air-gapped; provisioning scripts live under `scripts/`. diff --git a/infrastructure/core/gpu/profiles/jetson-and-tethys/kustomization.yaml b/infrastructure/core/gpu/profiles/jetson-and-tethys/kustomization.yaml deleted file mode 100644 index 65f98c8..0000000 --- a/infrastructure/core/gpu/profiles/jetson-and-tethys/kustomization.yaml +++ /dev/null @@ -1,6 +0,0 @@ -# infrastructure/core/gpu/daemonsets/profiles/jetson-and-tethys/kustomization.yaml -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -resources: - - ../../device-plugin-jetson - - ../../device-plugin-tethys diff --git a/infrastructure/core/gpu/profiles/jetson-only/kustomization.yaml b/infrastructure/core/gpu/profiles/jetson-only/kustomization.yaml deleted file mode 100644 index 1a43f08..0000000 --- a/infrastructure/core/gpu/profiles/jetson-only/kustomization.yaml +++ /dev/null @@ -1,5 +0,0 @@ -# infrastructure/core/gpu/daemonsets/profiles/jetson-only/kustomization.yaml -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -resources: - - ../../device-plugin-jetson diff --git a/infrastructure/core/gpu/profiles/minipc-and-jeston-and-tethys/kustomization.yaml b/infrastructure/core/gpu/profiles/minipc-and-jeston-and-tethys/kustomization.yaml deleted file mode 100644 index 033c0f6..0000000 --- a/infrastructure/core/gpu/profiles/minipc-and-jeston-and-tethys/kustomization.yaml +++ /dev/null @@ -1,7 +0,0 @@ -# infrastructure/core/gpu/daemonsets/profiles/minipc-and-jetson-and-tethys/kustomization.yaml -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -resources: - - ../../device-plugin-minipc - - ../../device-plugin-tethys - - ../../device-plugin-jetson diff --git a/infrastructure/core/gpu/profiles/minipc-and-jetson/kustomization.yaml b/infrastructure/core/gpu/profiles/minipc-and-jetson/kustomization.yaml deleted file mode 100644 index 437a621..0000000 --- a/infrastructure/core/gpu/profiles/minipc-and-jetson/kustomization.yaml +++ /dev/null @@ -1,6 +0,0 @@ -# infrastructure/core/gpu/daemonsets/profiles/minipc-and-jetson/kustomization.yaml -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -resources: - - ../../device-plugin-minipc - - ../../device-plugin-jetson diff --git a/infrastructure/core/gpu/profiles/minipc-and-tethys/kustomization.yaml b/infrastructure/core/gpu/profiles/minipc-and-tethys/kustomization.yaml deleted file mode 100644 index 35abb91..0000000 --- a/infrastructure/core/gpu/profiles/minipc-and-tethys/kustomization.yaml +++ /dev/null @@ -1,6 +0,0 @@ -# infrastructure/core/gpu/daemonsets/profiles/minipc-and-tethys/kustomization.yaml -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -resources: - - ../../device-plugin-minipc - - ../../device-plugin-tethys diff --git a/infrastructure/core/gpu/profiles/minipc-only/kustomization.yaml b/infrastructure/core/gpu/profiles/minipc-only/kustomization.yaml deleted file mode 100644 index dab4baa..0000000 --- a/infrastructure/core/gpu/profiles/minipc-only/kustomization.yaml +++ /dev/null @@ -1,5 +0,0 @@ -# infrastructure/core/gpu/daemonsets/profiles/minipc-only/kustomization.yaml -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -resources: - - ../../device-plugin-minipc diff --git a/infrastructure/core/gpu/profiles/tethys-only/kustomization.yaml b/infrastructure/core/gpu/profiles/tethys-only/kustomization.yaml deleted file mode 100644 index c78c41c..0000000 --- a/infrastructure/core/gpu/profiles/tethys-only/kustomization.yaml +++ /dev/null @@ -1,5 +0,0 @@ -# infrastructure/core/gpu/daemonsets/profiles/tethys-only/kustomization.yaml -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -resources: - - ../../device-plugin-tethys diff --git a/infrastructure/core/gpu/runtimeclass/nvidia-runtimeclass.yaml b/infrastructure/core/gpu/runtimeclass/nvidia-runtimeclass.yaml deleted file mode 100644 index 635f2b6..0000000 --- a/infrastructure/core/gpu/runtimeclass/nvidia-runtimeclass.yaml +++ /dev/null @@ -1,5 +0,0 @@ -apiVersion: node.k8s.io/v1 -kind: RuntimeClass -metadata: -name: nvidia -handler: nvidia diff --git a/infrastructure/core/kustomization.yaml b/infrastructure/core/kustomization.yaml index f752d47..4585087 100644 --- a/infrastructure/core/kustomization.yaml +++ b/infrastructure/core/kustomization.yaml @@ -2,8 +2,5 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - - base - # - gpu/profiles/jetson-only - # - gpu/profiles/minipc-and-jetson - # - gpu/profiles/minipc-only - - gpu/profiles/tethys-only + - ../modules/base + - ../modules/profiles/atlas-ha diff --git a/infrastructure/flux-system/kustomization.yaml b/infrastructure/flux-system/kustomization.yaml index 3707daf..eae7a65 100644 --- a/infrastructure/flux-system/kustomization.yaml +++ b/infrastructure/flux-system/kustomization.yaml @@ -2,19 +2,4 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: -- gotk-components.yaml -- gotk-sync.yaml -- kustomization-zot.yaml -- kustomization-core.yaml -- kustomization-helm.yaml -- kustomization-gitea.yaml -- kustomization-vault.yaml -- kustomization-jitsi.yaml -- kustomization-crypto.yaml -- kustomization-traefik.yaml -- kustomization-monerod.yaml -- kustomization-pegasus.yaml -- kustomization-jellyfin.yaml -- kustomization-xmr-miner.yaml -- kustomization-monitoring.yaml -- kustomization-longhorn-ui.yaml + - ../clusters/atlas/flux-system diff --git a/infrastructure/core/base/kustomization.yaml b/infrastructure/modules/base/kustomization.yaml similarity index 72% rename from infrastructure/core/base/kustomization.yaml rename to infrastructure/modules/base/kustomization.yaml index f4848ad..6dc31f5 100644 --- a/infrastructure/core/base/kustomization.yaml +++ b/infrastructure/modules/base/kustomization.yaml @@ -1,4 +1,4 @@ -# infrastructure/core/base/kustomization.yaml +# infrastructure/modules/base/kustomization.yaml apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: diff --git a/infrastructure/core/base/priorityclass/kustomization.yaml b/infrastructure/modules/base/priorityclass/kustomization.yaml similarity index 59% rename from infrastructure/core/base/priorityclass/kustomization.yaml rename to infrastructure/modules/base/priorityclass/kustomization.yaml index 9f2960d..4524ab9 100644 --- a/infrastructure/core/base/priorityclass/kustomization.yaml +++ b/infrastructure/modules/base/priorityclass/kustomization.yaml @@ -1,4 +1,4 @@ -# infrastructure/core/base/priorityclass/kustomization.yaml +# infrastructure/modules/base/priorityclass/kustomization.yaml apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: diff --git a/infrastructure/core/base/priorityclass/scavenger.yaml b/infrastructure/modules/base/priorityclass/scavenger.yaml similarity index 76% rename from infrastructure/core/base/priorityclass/scavenger.yaml rename to infrastructure/modules/base/priorityclass/scavenger.yaml index ac09ba4..3399314 100644 --- a/infrastructure/core/base/priorityclass/scavenger.yaml +++ b/infrastructure/modules/base/priorityclass/scavenger.yaml @@ -1,4 +1,4 @@ -# infrastructure/core/base/priorityclass/scavenger.yaml +# infrastructure/modules/base/priorityclass/scavenger.yaml apiVersion: scheduling.k8s.io/v1 kind: PriorityClass metadata: diff --git a/infrastructure/core/base/runtimeclass/kustomization.yaml b/infrastructure/modules/base/runtimeclass/kustomization.yaml similarity index 61% rename from infrastructure/core/base/runtimeclass/kustomization.yaml rename to infrastructure/modules/base/runtimeclass/kustomization.yaml index f109053..897c85f 100644 --- a/infrastructure/core/base/runtimeclass/kustomization.yaml +++ b/infrastructure/modules/base/runtimeclass/kustomization.yaml @@ -1,4 +1,4 @@ -# infrastructure/core/base/storageclass/kustomization.yaml +# infrastructure/modules/base/runtimeclass/kustomization.yaml apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: diff --git a/infrastructure/core/base/runtimeclass/runtimeclass.yaml b/infrastructure/modules/base/runtimeclass/runtimeclass.yaml similarity index 58% rename from infrastructure/core/base/runtimeclass/runtimeclass.yaml rename to infrastructure/modules/base/runtimeclass/runtimeclass.yaml index c89d267..20f50a5 100644 --- a/infrastructure/core/base/runtimeclass/runtimeclass.yaml +++ b/infrastructure/modules/base/runtimeclass/runtimeclass.yaml @@ -1,4 +1,4 @@ -# services/jellyfin/runtimeclass.yaml +# infrastructure/modules/base/runtimeclass/runtimeclass.yaml apiVersion: node.k8s.io/v1 kind: RuntimeClass metadata: diff --git a/infrastructure/core/base/storageclass/asteria.yaml b/infrastructure/modules/base/storageclass/asteria.yaml similarity index 86% rename from infrastructure/core/base/storageclass/asteria.yaml rename to infrastructure/modules/base/storageclass/asteria.yaml index 14f9930..1a83e3c 100644 --- a/infrastructure/core/base/storageclass/asteria.yaml +++ b/infrastructure/modules/base/storageclass/asteria.yaml @@ -1,4 +1,4 @@ -# infrastructure/core/base/storageclass/asteria.yaml +# infrastructure/modules/base/storageclass/asteria.yaml apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: diff --git a/infrastructure/core/base/storageclass/astreae.yaml b/infrastructure/modules/base/storageclass/astreae.yaml similarity index 86% rename from infrastructure/core/base/storageclass/astreae.yaml rename to infrastructure/modules/base/storageclass/astreae.yaml index f169261..12639d2 100644 --- a/infrastructure/core/base/storageclass/astreae.yaml +++ b/infrastructure/modules/base/storageclass/astreae.yaml @@ -1,4 +1,4 @@ -# infrastructure/core/base/storageclass/astreae.yaml +# infrastructure/modules/base/storageclass/astreae.yaml apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: diff --git a/infrastructure/core/base/storageclass/kustomization.yaml b/infrastructure/modules/base/storageclass/kustomization.yaml similarity index 63% rename from infrastructure/core/base/storageclass/kustomization.yaml rename to infrastructure/modules/base/storageclass/kustomization.yaml index e45b4bc..704dd73 100644 --- a/infrastructure/core/base/storageclass/kustomization.yaml +++ b/infrastructure/modules/base/storageclass/kustomization.yaml @@ -1,4 +1,4 @@ -# infrastructure/core/base/storageclass/kustomization.yaml +# infrastructure/modules/base/storageclass/kustomization.yaml apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: diff --git a/infrastructure/modules/profiles/atlas-ha/kustomization.yaml b/infrastructure/modules/profiles/atlas-ha/kustomization.yaml new file mode 100644 index 0000000..7e69171 --- /dev/null +++ b/infrastructure/modules/profiles/atlas-ha/kustomization.yaml @@ -0,0 +1,7 @@ +# infrastructure/modules/profiles/atlas-ha/kustomization.yaml +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - ../components/device-plugin-jetson + - ../components/device-plugin-minipc + - ../components/device-plugin-tethys diff --git a/infrastructure/core/gpu/device-plugin-jetson/daemonset.yaml b/infrastructure/modules/profiles/components/device-plugin-jetson/daemonset.yaml similarity index 94% rename from infrastructure/core/gpu/device-plugin-jetson/daemonset.yaml rename to infrastructure/modules/profiles/components/device-plugin-jetson/daemonset.yaml index fbb5b5c..f4953ea 100644 --- a/infrastructure/core/gpu/device-plugin-jetson/daemonset.yaml +++ b/infrastructure/modules/profiles/components/device-plugin-jetson/daemonset.yaml @@ -1,4 +1,4 @@ -# infrastructure/core/gpu/daemonsets/device-plugin-jetson/daemonset.yaml +# infrastructure/modules/profiles/components/device-plugin-jetson/daemonset.yaml apiVersion: apps/v1 kind: DaemonSet metadata: diff --git a/infrastructure/core/gpu/device-plugin-jetson/kustomization.yaml b/infrastructure/modules/profiles/components/device-plugin-jetson/kustomization.yaml similarity index 52% rename from infrastructure/core/gpu/device-plugin-jetson/kustomization.yaml rename to infrastructure/modules/profiles/components/device-plugin-jetson/kustomization.yaml index 10b4796..ba4ab52 100644 --- a/infrastructure/core/gpu/device-plugin-jetson/kustomization.yaml +++ b/infrastructure/modules/profiles/components/device-plugin-jetson/kustomization.yaml @@ -1,4 +1,4 @@ -# infrastructure/core/gpu/daemonsets/device-plugin-jetson/kustomization.yaml +# infrastructure/modules/profiles/components/device-plugin-jetson/kustomization.yaml apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: diff --git a/infrastructure/core/gpu/device-plugin-minipc/daemonset.yaml b/infrastructure/modules/profiles/components/device-plugin-minipc/daemonset.yaml similarity index 94% rename from infrastructure/core/gpu/device-plugin-minipc/daemonset.yaml rename to infrastructure/modules/profiles/components/device-plugin-minipc/daemonset.yaml index d908cb2..01f46e3 100644 --- a/infrastructure/core/gpu/device-plugin-minipc/daemonset.yaml +++ b/infrastructure/modules/profiles/components/device-plugin-minipc/daemonset.yaml @@ -1,4 +1,4 @@ -# infrastructure/core/gpu/daemonsets/device-plugin-minipc/daemonset.yaml +# infrastructure/modules/profiles/components/device-plugin-minipc/daemonset.yaml apiVersion: apps/v1 kind: DaemonSet metadata: diff --git a/infrastructure/core/gpu/device-plugin-minipc/kustomization.yaml b/infrastructure/modules/profiles/components/device-plugin-minipc/kustomization.yaml similarity index 52% rename from infrastructure/core/gpu/device-plugin-minipc/kustomization.yaml rename to infrastructure/modules/profiles/components/device-plugin-minipc/kustomization.yaml index d05c88d..6486bfa 100644 --- a/infrastructure/core/gpu/device-plugin-minipc/kustomization.yaml +++ b/infrastructure/modules/profiles/components/device-plugin-minipc/kustomization.yaml @@ -1,4 +1,4 @@ -# infrastructure/core/gpu/daemonsets/device-plugin-minipc/kustomization.yaml +# infrastructure/modules/profiles/components/device-plugin-minipc/kustomization.yaml apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: diff --git a/infrastructure/core/gpu/device-plugin-tethys/daemonset.yaml b/infrastructure/modules/profiles/components/device-plugin-tethys/daemonset.yaml similarity index 94% rename from infrastructure/core/gpu/device-plugin-tethys/daemonset.yaml rename to infrastructure/modules/profiles/components/device-plugin-tethys/daemonset.yaml index 3441e8e..a15930a 100644 --- a/infrastructure/core/gpu/device-plugin-tethys/daemonset.yaml +++ b/infrastructure/modules/profiles/components/device-plugin-tethys/daemonset.yaml @@ -1,4 +1,4 @@ -# infrastructure/core/gpu/daemonsets/device-plugin-tethys/daemonset.yaml +# infrastructure/modules/profiles/components/device-plugin-tethys/daemonset.yaml apiVersion: apps/v1 kind: DaemonSet metadata: diff --git a/infrastructure/core/gpu/device-plugin-tethys/kustomization.yaml b/infrastructure/modules/profiles/components/device-plugin-tethys/kustomization.yaml similarity index 52% rename from infrastructure/core/gpu/device-plugin-tethys/kustomization.yaml rename to infrastructure/modules/profiles/components/device-plugin-tethys/kustomization.yaml index 693c975..07b8621 100644 --- a/infrastructure/core/gpu/device-plugin-tethys/kustomization.yaml +++ b/infrastructure/modules/profiles/components/device-plugin-tethys/kustomization.yaml @@ -1,4 +1,4 @@ -# infrastructure/core/gpu/daemonsets/device-plugin-tethys/kustomization.yaml +# infrastructure/modules/profiles/components/device-plugin-tethys/kustomization.yaml apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: diff --git a/infrastructure/modules/profiles/oceanus-validator/kustomization.yaml b/infrastructure/modules/profiles/oceanus-validator/kustomization.yaml new file mode 100644 index 0000000..117c70a --- /dev/null +++ b/infrastructure/modules/profiles/oceanus-validator/kustomization.yaml @@ -0,0 +1,4 @@ +# infrastructure/modules/profiles/oceanus-validator/kustomization.yaml +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: [] diff --git a/infrastructure/modules/profiles/tethys-hybrid/kustomization.yaml b/infrastructure/modules/profiles/tethys-hybrid/kustomization.yaml new file mode 100644 index 0000000..b55c059 --- /dev/null +++ b/infrastructure/modules/profiles/tethys-hybrid/kustomization.yaml @@ -0,0 +1,5 @@ +# infrastructure/modules/profiles/tethys-hybrid/kustomization.yaml +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - ../components/device-plugin-tethys diff --git a/services/sui-metrics/base/configmap.yaml b/services/sui-metrics/base/configmap.yaml new file mode 100644 index 0000000..fc758ee --- /dev/null +++ b/services/sui-metrics/base/configmap.yaml @@ -0,0 +1,16 @@ +# services/sui-metrics/base/configmap.yaml +apiVersion: v1 +kind: ConfigMap +metadata: + name: sui-metrics-config + namespace: sui-metrics +data: + vmagent.yaml: | + global: + scrape_interval: 15s + scrape_timeout: 10s + scrape_configs: + - job_name: oceanus-node-exporter + static_configs: + - targets: + - "192.168.22.23:9100" diff --git a/services/sui-metrics/base/deployment.yaml b/services/sui-metrics/base/deployment.yaml new file mode 100644 index 0000000..d23ab66 --- /dev/null +++ b/services/sui-metrics/base/deployment.yaml @@ -0,0 +1,63 @@ +# services/sui-metrics/base/deployment.yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: sui-metrics + namespace: sui-metrics + labels: + app: sui-metrics +spec: + replicas: 1 + selector: + matchLabels: + app: sui-metrics + template: + metadata: + labels: + app: sui-metrics + spec: + serviceAccountName: sui-metrics + containers: + - name: vmagent + image: victoriametrics/vmagent:v1.103.0 + imagePullPolicy: IfNotPresent + args: + - -promscrape.config=/etc/vmagent/config/vmagent.yaml + - -remoteWrite.url=$(REMOTE_WRITE_URL) + - -remoteWrite.tmpDataPath=/var/lib/vmagent + - -loggerFormat=json + ports: + - name: http + containerPort: 8429 + protocol: TCP + env: + - name: TZ + value: Etc/UTC + - name: REMOTE_WRITE_URL + value: http://victoria-metrics-single.monitoring.svc.cluster.local:8428/api/v1/write + resources: + requests: + cpu: 100m + memory: 256Mi + limits: + cpu: 500m + memory: 512Mi + volumeMounts: + - name: config + mountPath: /etc/vmagent/config + readOnly: true + - name: data + mountPath: /var/lib/vmagent + securityContext: + allowPrivilegeEscalation: false + runAsNonRoot: true + runAsUser: 65534 + runAsGroup: 65534 + capabilities: + drop: ["ALL"] + volumes: + - name: config + configMap: + name: sui-metrics-config + - name: data + emptyDir: {} diff --git a/services/sui-metrics/base/kustomization.yaml b/services/sui-metrics/base/kustomization.yaml new file mode 100644 index 0000000..03fc70c --- /dev/null +++ b/services/sui-metrics/base/kustomization.yaml @@ -0,0 +1,10 @@ +# services/sui-metrics/base/kustomization.yaml +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: sui-metrics +resources: + - namespace.yaml + - serviceaccount.yaml + - configmap.yaml + - deployment.yaml + - service.yaml diff --git a/services/sui-metrics/base/namespace.yaml b/services/sui-metrics/base/namespace.yaml new file mode 100644 index 0000000..941dd47 --- /dev/null +++ b/services/sui-metrics/base/namespace.yaml @@ -0,0 +1,5 @@ +# services/sui-metrics/base/namespace.yaml +apiVersion: v1 +kind: Namespace +metadata: + name: sui-metrics diff --git a/services/sui-metrics/base/service.yaml b/services/sui-metrics/base/service.yaml new file mode 100644 index 0000000..ea64886 --- /dev/null +++ b/services/sui-metrics/base/service.yaml @@ -0,0 +1,16 @@ +# services/sui-metrics/base/service.yaml +apiVersion: v1 +kind: Service +metadata: + name: sui-metrics + namespace: sui-metrics + labels: + app: sui-metrics +spec: + type: ClusterIP + selector: + app: sui-metrics + ports: + - name: http + port: 8429 + targetPort: 8429 diff --git a/services/sui-metrics/base/serviceaccount.yaml b/services/sui-metrics/base/serviceaccount.yaml new file mode 100644 index 0000000..10fa9f8 --- /dev/null +++ b/services/sui-metrics/base/serviceaccount.yaml @@ -0,0 +1,6 @@ +# services/sui-metrics/base/serviceaccount.yaml +apiVersion: v1 +kind: ServiceAccount +metadata: + name: sui-metrics + namespace: sui-metrics diff --git a/services/sui-metrics/overlays/atlas/kustomization.yaml b/services/sui-metrics/overlays/atlas/kustomization.yaml new file mode 100644 index 0000000..826e5aa --- /dev/null +++ b/services/sui-metrics/overlays/atlas/kustomization.yaml @@ -0,0 +1,10 @@ +# services/sui-metrics/overlays/atlas/kustomization.yaml +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - ../../base +patches: + - path: patch-node-selector.yaml + target: + kind: Deployment + name: sui-metrics diff --git a/services/sui-metrics/overlays/atlas/patch-node-selector.yaml b/services/sui-metrics/overlays/atlas/patch-node-selector.yaml new file mode 100644 index 0000000..e97ccb7 --- /dev/null +++ b/services/sui-metrics/overlays/atlas/patch-node-selector.yaml @@ -0,0 +1,11 @@ +# services/sui-metrics/overlays/atlas/patch-node-selector.yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: sui-metrics + namespace: sui-metrics +spec: + template: + spec: + nodeSelector: + kubernetes.io/hostname: titan-24