From 103b344072c273f3fa902c8d3ea0e2df2737d8f7 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 8 Jan 2026 04:17:38 +0000 Subject: [PATCH 1/7] Initial plan From 3869b2c1a91a1053c8b94f851b4b0d7c3e19bae6 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 8 Jan 2026 04:21:27 +0000 Subject: [PATCH 2/7] Initial planning for NetBox DB provisioning and GitOps setup Co-authored-by: SRF-Audio <16975040+SRF-Audio@users.noreply.github.com> --- semicolon_delimited_script | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 semicolon_delimited_script diff --git a/semicolon_delimited_script b/semicolon_delimited_script new file mode 100644 index 00000000..0582116c --- /dev/null +++ b/semicolon_delimited_script @@ -0,0 +1,5 @@ +ansible --version +ansible-lint --version +yamllint --version +python3 --version + From 947175fb8b8e234b4d8896691ebbb856cd2bd7ba Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 8 Jan 2026 04:24:26 +0000 Subject: [PATCH 3/7] Create NetBox DB provisioning and infra app structure with 1Password integration Co-authored-by: SRF-Audio <16975040+SRF-Audio@users.noreply.github.com> --- .gitignore | 1 + argocd/apps/db/netbox-db-provisioner.yml | 23 +++++ argocd/apps/infra/netbox-secrets.yml | 23 +++++ argocd/apps/infra/netbox.yml | 76 ++++++++++++++ .../00-onepassworditems-db-postgres.yaml | 16 +++ .../netbox/10-netbox-db-provision-job.yaml | 99 +++++++++++++++++++ .../00-onepassworditems-infra-netbox.yaml | 32 ++++++ 7 files changed, 270 insertions(+) create mode 100644 argocd/apps/db/netbox-db-provisioner.yml create mode 100644 argocd/apps/infra/netbox-secrets.yml create mode 100644 argocd/apps/infra/netbox.yml create mode 100644 k8s/db-provisioning/netbox/00-onepassworditems-db-postgres.yaml create mode 100644 k8s/db-provisioning/netbox/10-netbox-db-provision-job.yaml create mode 100644 k8s/infra/netbox/00-onepassworditems-infra-netbox.yaml diff --git a/.gitignore b/.gitignore index 80b1431c..11d1d410 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ ansible/roles/tailscale_operator_deploy/templates/infra-tailscale-operator.yml ansible/roles/onepassword_operator_deploy/templates/application.yml ansible/roles/paperless_ngx_deploy/templates/application.yml ansible/roles/paperless_ngx_deploy/templates/secrets_application.yml +semicolon_delimited_script diff --git a/argocd/apps/db/netbox-db-provisioner.yml b/argocd/apps/db/netbox-db-provisioner.yml new file mode 100644 index 00000000..5cc6794a --- /dev/null +++ b/argocd/apps/db/netbox-db-provisioner.yml @@ -0,0 +1,23 @@ +--- +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: netbox-db-provisioner + namespace: argocd + annotations: + argocd.argoproj.io/sync-wave: "15" +spec: + project: coachlight-k3s-db + source: + repoURL: https://github.com/SRF-Audio/utility-scripts + targetRevision: main + path: k8s/db-provisioning/netbox + destination: + server: https://kubernetes.default.svc + namespace: db-postgres + syncPolicy: + automated: + prune: true + selfHeal: true + syncOptions: + - CreateNamespace=true diff --git a/argocd/apps/infra/netbox-secrets.yml b/argocd/apps/infra/netbox-secrets.yml new file mode 100644 index 00000000..6c622aa9 --- /dev/null +++ b/argocd/apps/infra/netbox-secrets.yml @@ -0,0 +1,23 @@ +--- +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: netbox-secrets + namespace: argocd + annotations: + argocd.argoproj.io/sync-wave: "10" +spec: + project: coachlight-k3s-infra + source: + repoURL: https://github.com/SRF-Audio/utility-scripts + targetRevision: main + path: k8s/infra/netbox + destination: + server: https://kubernetes.default.svc + namespace: infra-netbox + syncPolicy: + automated: + prune: true + selfHeal: true + syncOptions: + - CreateNamespace=true diff --git a/argocd/apps/infra/netbox.yml b/argocd/apps/infra/netbox.yml new file mode 100644 index 00000000..9247a26e --- /dev/null +++ b/argocd/apps/infra/netbox.yml @@ -0,0 +1,76 @@ +--- +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: netbox + namespace: argocd + annotations: + argocd.argoproj.io/sync-wave: "20" +spec: + project: coachlight-k3s-infra + source: + repoURL: https://netbox-community.github.io/netbox-chart + chart: netbox + targetRevision: "5.0.0-beta.145" + helm: + valuesObject: + # Superuser configuration using existing secret + superuser: + email: "admin@netbox.local" + existingSecret: netbox-superuser + + # Django secret key using existing secret + existingSecret: netbox-django-secret + + persistence: + enabled: true + storageClass: "nfs-synology-retain" + + # Use existing PostgreSQL instance + postgresql: + enabled: false + + # Use existing Redis/Valkey instance + valkey: + enabled: false + + # External database configuration + externalDatabase: + host: postgres-postgresql.db-postgres.svc.cluster.local + port: 5432 + database: netbox + username: netbox + existingSecretName: netbox-db-credentials + existingSecretKey: password + + # External Redis configuration for tasks + tasksDatabase: + host: redis-master.db-redis.svc.cluster.local + port: 6379 + database: 0 + existingSecretName: netbox-redis-credentials + existingSecretKey: password + + # External Redis configuration for caching + cachingDatabase: + host: redis-master.db-redis.svc.cluster.local + port: 6379 + database: 1 + existingSecretName: netbox-redis-credentials + existingSecretKey: password + + service: + type: ClusterIP + + ingress: + enabled: false + + destination: + server: https://kubernetes.default.svc + namespace: infra-netbox + syncPolicy: + automated: + prune: true + selfHeal: true + syncOptions: + - CreateNamespace=true diff --git a/k8s/db-provisioning/netbox/00-onepassworditems-db-postgres.yaml b/k8s/db-provisioning/netbox/00-onepassworditems-db-postgres.yaml new file mode 100644 index 00000000..db652cc2 --- /dev/null +++ b/k8s/db-provisioning/netbox/00-onepassworditems-db-postgres.yaml @@ -0,0 +1,16 @@ +--- +apiVersion: onepassword.com/v1 +kind: OnePasswordItem +metadata: + name: postgres-admin + namespace: db-postgres +spec: + itemPath: "vaults/HomeLab/items/postgres-admin" +--- +apiVersion: onepassword.com/v1 +kind: OnePasswordItem +metadata: + name: netbox-db-credentials + namespace: db-postgres +spec: + itemPath: "vaults/HomeLab/items/netbox-db-credentials" diff --git a/k8s/db-provisioning/netbox/10-netbox-db-provision-job.yaml b/k8s/db-provisioning/netbox/10-netbox-db-provision-job.yaml new file mode 100644 index 00000000..d7207a20 --- /dev/null +++ b/k8s/db-provisioning/netbox/10-netbox-db-provision-job.yaml @@ -0,0 +1,99 @@ +--- +apiVersion: batch/v1 +kind: Job +metadata: + name: netbox-db-provision + namespace: db-postgres + annotations: + argocd.argoproj.io/hook: PreSync + argocd.argoproj.io/hook-delete-policy: HookSucceeded +spec: + ttlSecondsAfterFinished: 600 + template: + metadata: + name: netbox-db-provision + spec: + restartPolicy: Never + containers: + - name: postgres-client + image: bitnami/postgresql:16 + command: + - /bin/bash + - -c + - | + set -e + set -o pipefail + + echo "Starting NetBox database provisioning..." + + # Set PGPASSWORD for admin connection + export PGPASSWORD="$POSTGRES_ADMIN_PASSWORD" + + # Create SQL script with idempotent operations + cat > /tmp/provision.sql << 'EOF' + -- Create role if it doesn't exist + DO $$ + BEGIN + IF NOT EXISTS (SELECT FROM pg_catalog.pg_roles WHERE rolname = '${NETBOX_DB_USER}') THEN + CREATE ROLE ${NETBOX_DB_USER} WITH LOGIN; + RAISE NOTICE 'Role ${NETBOX_DB_USER} created'; + ELSE + RAISE NOTICE 'Role ${NETBOX_DB_USER} already exists'; + END IF; + END + $$; + + -- Set/update password (rotation-friendly) + ALTER ROLE ${NETBOX_DB_USER} WITH LOGIN PASSWORD '${NETBOX_DB_PASSWORD}'; + + -- Create database if it doesn't exist + DO $$ + BEGIN + IF NOT EXISTS (SELECT FROM pg_database WHERE datname = 'netbox') THEN + CREATE DATABASE netbox WITH OWNER = ${NETBOX_DB_USER}; + RAISE NOTICE 'Database netbox created'; + ELSE + RAISE NOTICE 'Database netbox already exists'; + END IF; + END + $$; + + -- Ensure ownership and grants + ALTER DATABASE netbox OWNER TO ${NETBOX_DB_USER}; + GRANT CONNECT ON DATABASE netbox TO ${NETBOX_DB_USER}; + GRANT ALL PRIVILEGES ON DATABASE netbox TO ${NETBOX_DB_USER}; + EOF + + # Replace environment variables in SQL script + envsubst < /tmp/provision.sql > /tmp/provision_final.sql + + # Execute SQL with error handling + psql -v ON_ERROR_STOP=1 \ + -h postgres-postgresql.db-postgres.svc.cluster.local \ + -p 5432 \ + -U "$POSTGRES_ADMIN_USER" \ + -d postgres \ + -f /tmp/provision_final.sql + + echo "NetBox database provisioning completed successfully." + env: + - name: POSTGRES_ADMIN_USER + valueFrom: + secretKeyRef: + name: postgres-admin + key: username + - name: POSTGRES_ADMIN_PASSWORD + valueFrom: + secretKeyRef: + name: postgres-admin + key: password + - name: NETBOX_DB_USER + valueFrom: + secretKeyRef: + name: netbox-db-credentials + key: username + - name: NETBOX_DB_PASSWORD + valueFrom: + secretKeyRef: + name: netbox-db-credentials + key: password diff --git a/k8s/infra/netbox/00-onepassworditems-infra-netbox.yaml b/k8s/infra/netbox/00-onepassworditems-infra-netbox.yaml new file mode 100644 index 00000000..1a288d75 --- /dev/null +++ b/k8s/infra/netbox/00-onepassworditems-infra-netbox.yaml @@ -0,0 +1,32 @@ +--- +apiVersion: onepassword.com/v1 +kind: OnePasswordItem +metadata: + name: netbox-db-credentials + namespace: infra-netbox +spec: + itemPath: "vaults/HomeLab/items/netbox-db-credentials" +--- +apiVersion: onepassword.com/v1 +kind: OnePasswordItem +metadata: + name: netbox-redis-credentials + namespace: infra-netbox +spec: + itemPath: "vaults/HomeLab/items/netbox-redis-credentials" +--- +apiVersion: onepassword.com/v1 +kind: OnePasswordItem +metadata: + name: netbox-django-secret + namespace: infra-netbox +spec: + itemPath: "vaults/HomeLab/items/netbox-django-secret" +--- +apiVersion: onepassword.com/v1 +kind: OnePasswordItem +metadata: + name: netbox-superuser + namespace: infra-netbox +spec: + itemPath: "vaults/HomeLab/items/netbox-superuser" From b01f272db2129a1ae209daf277024fb537fbb4aa Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 8 Jan 2026 04:26:16 +0000 Subject: [PATCH 4/7] Fix yamllint issues in DB provisioning Job manifest Co-authored-by: SRF-Audio <16975040+SRF-Audio@users.noreply.github.com> --- .../netbox/10-netbox-db-provision-job.yaml | 30 +++++++++++-------- 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/k8s/db-provisioning/netbox/10-netbox-db-provision-job.yaml b/k8s/db-provisioning/netbox/10-netbox-db-provision-job.yaml index d7207a20..767e8688 100644 --- a/k8s/db-provisioning/netbox/10-netbox-db-provision-job.yaml +++ b/k8s/db-provisioning/netbox/10-netbox-db-provision-job.yaml @@ -23,18 +23,21 @@ spec: - | set -e set -o pipefail - + echo "Starting NetBox database provisioning..." - + # Set PGPASSWORD for admin connection export PGPASSWORD="$POSTGRES_ADMIN_PASSWORD" - + # Create SQL script with idempotent operations cat > /tmp/provision.sql << 'EOF' -- Create role if it doesn't exist DO $$ BEGIN - IF NOT EXISTS (SELECT FROM pg_catalog.pg_roles WHERE rolname = '${NETBOX_DB_USER}') THEN + IF NOT EXISTS ( + SELECT FROM pg_catalog.pg_roles + WHERE rolname = '${NETBOX_DB_USER}' + ) THEN CREATE ROLE ${NETBOX_DB_USER} WITH LOGIN; RAISE NOTICE 'Role ${NETBOX_DB_USER} created'; ELSE @@ -42,14 +45,17 @@ spec: END IF; END $$; - + -- Set/update password (rotation-friendly) - ALTER ROLE ${NETBOX_DB_USER} WITH LOGIN PASSWORD '${NETBOX_DB_PASSWORD}'; - + ALTER ROLE ${NETBOX_DB_USER} + WITH LOGIN PASSWORD '${NETBOX_DB_PASSWORD}'; + -- Create database if it doesn't exist DO $$ BEGIN - IF NOT EXISTS (SELECT FROM pg_database WHERE datname = 'netbox') THEN + IF NOT EXISTS ( + SELECT FROM pg_database WHERE datname = 'netbox' + ) THEN CREATE DATABASE netbox WITH OWNER = ${NETBOX_DB_USER}; RAISE NOTICE 'Database netbox created'; ELSE @@ -57,16 +63,16 @@ spec: END IF; END $$; - + -- Ensure ownership and grants ALTER DATABASE netbox OWNER TO ${NETBOX_DB_USER}; GRANT CONNECT ON DATABASE netbox TO ${NETBOX_DB_USER}; GRANT ALL PRIVILEGES ON DATABASE netbox TO ${NETBOX_DB_USER}; EOF - + # Replace environment variables in SQL script envsubst < /tmp/provision.sql > /tmp/provision_final.sql - + # Execute SQL with error handling psql -v ON_ERROR_STOP=1 \ -h postgres-postgresql.db-postgres.svc.cluster.local \ @@ -74,7 +80,7 @@ spec: -U "$POSTGRES_ADMIN_USER" \ -d postgres \ -f /tmp/provision_final.sql - + echo "NetBox database provisioning completed successfully." env: - name: POSTGRES_ADMIN_USER From 239d77352751d850d5dd12b35982d2d2cc3b9793 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 8 Jan 2026 04:28:59 +0000 Subject: [PATCH 5/7] Fix SQL injection vulnerability by using psql variables and add kustomization files Co-authored-by: SRF-Audio <16975040+SRF-Audio@users.noreply.github.com> --- .../netbox/10-netbox-db-provision-job.yaml | 45 ++++++++++++------- k8s/db-provisioning/netbox/kustomization.yaml | 6 +++ k8s/infra/netbox/kustomization.yaml | 5 +++ semicolon_delimited_script | 5 --- 4 files changed, 40 insertions(+), 21 deletions(-) create mode 100644 k8s/db-provisioning/netbox/kustomization.yaml create mode 100644 k8s/infra/netbox/kustomization.yaml delete mode 100644 semicolon_delimited_script diff --git a/k8s/db-provisioning/netbox/10-netbox-db-provision-job.yaml b/k8s/db-provisioning/netbox/10-netbox-db-provision-job.yaml index 767e8688..34fa2faf 100644 --- a/k8s/db-provisioning/netbox/10-netbox-db-provision-job.yaml +++ b/k8s/db-provisioning/netbox/10-netbox-db-provision-job.yaml @@ -29,26 +29,33 @@ spec: # Set PGPASSWORD for admin connection export PGPASSWORD="$POSTGRES_ADMIN_PASSWORD" - # Create SQL script with idempotent operations + # Create SQL script with idempotent operations using psql variables cat > /tmp/provision.sql << 'EOF' -- Create role if it doesn't exist DO $$ BEGIN IF NOT EXISTS ( SELECT FROM pg_catalog.pg_roles - WHERE rolname = '${NETBOX_DB_USER}' + WHERE rolname = :'netbox_user' ) THEN - CREATE ROLE ${NETBOX_DB_USER} WITH LOGIN; - RAISE NOTICE 'Role ${NETBOX_DB_USER} created'; + EXECUTE format('CREATE ROLE %I WITH LOGIN', :'netbox_user'); + RAISE NOTICE 'Role % created', :'netbox_user'; ELSE - RAISE NOTICE 'Role ${NETBOX_DB_USER} already exists'; + RAISE NOTICE 'Role % already exists', :'netbox_user'; END IF; END $$; -- Set/update password (rotation-friendly) - ALTER ROLE ${NETBOX_DB_USER} - WITH LOGIN PASSWORD '${NETBOX_DB_PASSWORD}'; + DO $$ + BEGIN + EXECUTE format( + 'ALTER ROLE %I WITH LOGIN PASSWORD %L', + :'netbox_user', + :'netbox_password' + ); + END + $$; -- Create database if it doesn't exist DO $$ @@ -56,7 +63,10 @@ spec: IF NOT EXISTS ( SELECT FROM pg_database WHERE datname = 'netbox' ) THEN - CREATE DATABASE netbox WITH OWNER = ${NETBOX_DB_USER}; + EXECUTE format( + 'CREATE DATABASE netbox WITH OWNER = %I', + :'netbox_user' + ); RAISE NOTICE 'Database netbox created'; ELSE RAISE NOTICE 'Database netbox already exists'; @@ -65,21 +75,24 @@ spec: $$; -- Ensure ownership and grants - ALTER DATABASE netbox OWNER TO ${NETBOX_DB_USER}; - GRANT CONNECT ON DATABASE netbox TO ${NETBOX_DB_USER}; - GRANT ALL PRIVILEGES ON DATABASE netbox TO ${NETBOX_DB_USER}; + DO $$ + BEGIN + EXECUTE format('ALTER DATABASE netbox OWNER TO %I', :'netbox_user'); + EXECUTE format('GRANT CONNECT ON DATABASE netbox TO %I', :'netbox_user'); + EXECUTE format('GRANT ALL PRIVILEGES ON DATABASE netbox TO %I', :'netbox_user'); + END + $$; EOF - # Replace environment variables in SQL script - envsubst < /tmp/provision.sql > /tmp/provision_final.sql - - # Execute SQL with error handling + # Execute SQL with psql variables (safe from SQL injection) psql -v ON_ERROR_STOP=1 \ -h postgres-postgresql.db-postgres.svc.cluster.local \ -p 5432 \ -U "$POSTGRES_ADMIN_USER" \ -d postgres \ - -f /tmp/provision_final.sql + --set=netbox_user="$NETBOX_DB_USER" \ + --set=netbox_password="$NETBOX_DB_PASSWORD" \ + -f /tmp/provision.sql echo "NetBox database provisioning completed successfully." env: diff --git a/k8s/db-provisioning/netbox/kustomization.yaml b/k8s/db-provisioning/netbox/kustomization.yaml new file mode 100644 index 00000000..74781e7a --- /dev/null +++ b/k8s/db-provisioning/netbox/kustomization.yaml @@ -0,0 +1,6 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - 00-onepassworditems-db-postgres.yaml + - 10-netbox-db-provision-job.yaml diff --git a/k8s/infra/netbox/kustomization.yaml b/k8s/infra/netbox/kustomization.yaml new file mode 100644 index 00000000..3b1ff2fe --- /dev/null +++ b/k8s/infra/netbox/kustomization.yaml @@ -0,0 +1,5 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - 00-onepassworditems-infra-netbox.yaml diff --git a/semicolon_delimited_script b/semicolon_delimited_script deleted file mode 100644 index 0582116c..00000000 --- a/semicolon_delimited_script +++ /dev/null @@ -1,5 +0,0 @@ -ansible --version -ansible-lint --version -yamllint --version -python3 --version - From 5bcfb5afd676a81e6a83f75ce3621e5383977ade Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 8 Jan 2026 04:31:28 +0000 Subject: [PATCH 6/7] Parameterize database name for consistency and better reusability Co-authored-by: SRF-Audio <16975040+SRF-Audio@users.noreply.github.com> --- .../netbox/10-netbox-db-provision-job.yaml | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/k8s/db-provisioning/netbox/10-netbox-db-provision-job.yaml b/k8s/db-provisioning/netbox/10-netbox-db-provision-job.yaml index 34fa2faf..2e9c575e 100644 --- a/k8s/db-provisioning/netbox/10-netbox-db-provision-job.yaml +++ b/k8s/db-provisioning/netbox/10-netbox-db-provision-job.yaml @@ -61,15 +61,16 @@ spec: DO $$ BEGIN IF NOT EXISTS ( - SELECT FROM pg_database WHERE datname = 'netbox' + SELECT FROM pg_database WHERE datname = :'netbox_db_name' ) THEN EXECUTE format( - 'CREATE DATABASE netbox WITH OWNER = %I', + 'CREATE DATABASE %I WITH OWNER = %I', + :'netbox_db_name', :'netbox_user' ); - RAISE NOTICE 'Database netbox created'; + RAISE NOTICE 'Database % created', :'netbox_db_name'; ELSE - RAISE NOTICE 'Database netbox already exists'; + RAISE NOTICE 'Database % already exists', :'netbox_db_name'; END IF; END $$; @@ -77,9 +78,9 @@ spec: -- Ensure ownership and grants DO $$ BEGIN - EXECUTE format('ALTER DATABASE netbox OWNER TO %I', :'netbox_user'); - EXECUTE format('GRANT CONNECT ON DATABASE netbox TO %I', :'netbox_user'); - EXECUTE format('GRANT ALL PRIVILEGES ON DATABASE netbox TO %I', :'netbox_user'); + EXECUTE format('ALTER DATABASE %I OWNER TO %I', :'netbox_db_name', :'netbox_user'); + EXECUTE format('GRANT CONNECT ON DATABASE %I TO %I', :'netbox_db_name', :'netbox_user'); + EXECUTE format('GRANT ALL PRIVILEGES ON DATABASE %I TO %I', :'netbox_db_name', :'netbox_user'); END $$; EOF @@ -90,6 +91,7 @@ spec: -p 5432 \ -U "$POSTGRES_ADMIN_USER" \ -d postgres \ + --set=netbox_db_name=netbox \ --set=netbox_user="$NETBOX_DB_USER" \ --set=netbox_password="$NETBOX_DB_PASSWORD" \ -f /tmp/provision.sql From 77b30c3164472051185a35e7f29bbfb864736817 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 8 Jan 2026 04:33:18 +0000 Subject: [PATCH 7/7] Increase Job TTL to 1 hour for better debugging capability Co-authored-by: SRF-Audio <16975040+SRF-Audio@users.noreply.github.com> --- k8s/db-provisioning/netbox/10-netbox-db-provision-job.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/k8s/db-provisioning/netbox/10-netbox-db-provision-job.yaml b/k8s/db-provisioning/netbox/10-netbox-db-provision-job.yaml index 2e9c575e..a01404bb 100644 --- a/k8s/db-provisioning/netbox/10-netbox-db-provision-job.yaml +++ b/k8s/db-provisioning/netbox/10-netbox-db-provision-job.yaml @@ -8,7 +8,7 @@ metadata: argocd.argoproj.io/hook: PreSync argocd.argoproj.io/hook-delete-policy: HookSucceeded spec: - ttlSecondsAfterFinished: 600 + ttlSecondsAfterFinished: 3600 template: metadata: name: netbox-db-provision