From 0eababf212db747b6e2b153550a6f5eab76919af Mon Sep 17 00:00:00 2001 From: Viktor Barzin Date: Mon, 23 Feb 2026 19:38:55 +0000 Subject: [PATCH] [ci skip] Sunset Drone CI: remove all artifacts, DNS, configs, and references Drone CI has been fully replaced by Woodpecker CI at ci.viktorbarzin.me. Destroys K8s resources (12), removes DNS records, NFS exports, Uptime Kuma monitor, dashboard entry, and all code/doc references across 18 files. --- .claude/CLAUDE.md | 8 +- .../{github-drone-api.md => github-api.md} | 23 +- .claude/reference/service-catalog.md | 3 +- .drone.yml | 129 ------ README.md | 4 +- diagram/main.py | 2 +- scripts/gen_service_stacks.py | 16 +- scripts/migrate_service_state.sh | 3 +- secrets/nfs_directories.txt | Bin 1727 -> 1721 bytes stacks/dashy/conf.yml | 8 +- stacks/drone/.terraform.lock.hcl | 40 -- stacks/drone/backend.tf | 6 - stacks/drone/main.tf | 422 ------------------ stacks/drone/providers.tf | 15 - stacks/drone/secrets | 1 - stacks/drone/terragrunt.hcl | 8 - stacks/woodpecker/values.yaml | 1 + terraform.tfvars | Bin 49270 -> 48923 bytes 18 files changed, 16 insertions(+), 673 deletions(-) rename .claude/reference/{github-drone-api.md => github-api.md} (55%) delete mode 100644 .drone.yml delete mode 100644 stacks/drone/.terraform.lock.hcl delete mode 100644 stacks/drone/backend.tf delete mode 100644 stacks/drone/main.tf delete mode 100644 stacks/drone/providers.tf delete mode 120000 stacks/drone/secrets delete mode 100644 stacks/drone/terragrunt.hcl diff --git a/.claude/CLAUDE.md b/.claude/CLAUDE.md index f96682c7..7e169430 100755 --- a/.claude/CLAUDE.md +++ b/.claude/CLAUDE.md @@ -11,12 +11,12 @@ - **CRITICAL: All infrastructure changes must go through Terraform/Terragrunt**. NEVER modify cluster resources directly (kubectl apply/edit/patch, helm install, docker run). Use `kubectl` only for read-only operations and ephemeral debugging. - **CRITICAL: NEVER put sensitive data** (API keys, passwords, tokens, credentials) into committed files unless encrypted via git-crypt. Secrets belong in `terraform.tfvars` or `secrets/` directory. - **CRITICAL: NEVER commit secrets** — triple-check before every commit. Zero exceptions. -- **New services MUST have CI/CD** (Drone CI pipeline) and **monitoring** (Prometheus alerts and/or Uptime Kuma). +- **New services MUST have CI/CD** (Woodpecker CI pipeline) and **monitoring** (Prometheus alerts and/or Uptime Kuma). ## Execution Environment - **Terraform/Terragrunt**: Always run locally: `cd stacks/ && terragrunt apply --non-interactive` - **kubectl**: `kubectl --kubeconfig $(pwd)/config` -- **GitHub/Drone API**: Use `curl` with tokens from tfvars (see `.claude/reference/github-drone-api.md`). `gh` CLI is blocked by sandbox. +- **GitHub API**: Use `curl` with tokens from tfvars (see `.claude/reference/github-api.md`). `gh` CLI is blocked by sandbox. --- @@ -100,7 +100,7 @@ terraform fmt -recursive # Format all ``` ## CI/CD -- Drone CI (`.drone.yml`): pushes apply `platform` stack (Terraform 1.5.7 + Terragrunt 0.99.4) +- Woodpecker CI (`.woodpecker/`): pushes apply `platform` stack, hosted at `https://ci.viktorbarzin.me` - TLS renewal pipeline: cron-triggered `renew2.sh` (certbot + Cloudflare DNS) - **ALWAYS add `[ci skip]`** to commit messages when you've already applied locally - **After committing, run `git push origin master`** to sync @@ -159,7 +159,7 @@ To rebuild a K8s worker node from scratch (e.g., after disk failure or corruptio ## Reference Data - `.claude/reference/service-catalog.md` — Full service catalog (70+ services) with Cloudflare domains - `.claude/reference/proxmox-inventory.md` — VM table, hardware specs, network topology, GPU config -- `.claude/reference/github-drone-api.md` — GitHub & Drone CI API patterns with curl examples +- `.claude/reference/github-api.md` — GitHub API patterns with curl examples - `.claude/reference/authentik-state.md` — Current applications, groups, users, login sources --- diff --git a/.claude/reference/github-drone-api.md b/.claude/reference/github-api.md similarity index 55% rename from .claude/reference/github-drone-api.md rename to .claude/reference/github-api.md index 6760b5fe..f87e5420 100644 --- a/.claude/reference/github-drone-api.md +++ b/.claude/reference/github-api.md @@ -1,4 +1,4 @@ -# GitHub & Drone CI API Reference +# GitHub API Reference > Token locations and common API patterns. @@ -24,27 +24,8 @@ curl -s -X POST -H "Authorization: token $GITHUB_TOKEN" "https://api.github.com/ # Create webhook curl -s -X POST -H "Authorization: token $GITHUB_TOKEN" "https://api.github.com/repos/ViktorBarzin//hooks" \ - -d '{"config":{"url":"https://drone.viktorbarzin.me/hook","content_type":"json","secret":"..."},"events":["push","pull_request"]}' -``` - -## Drone CI API -- **Server**: `https://drone.viktorbarzin.me` -- **Token**: `grep drone_api_token terraform.tfvars | cut -d'"' -f2` - -```bash -DRONE_TOKEN=$(grep drone_api_token terraform.tfvars | cut -d'"' -f2) - -# Activate repo -curl -s -X POST -H "Authorization: Bearer $DRONE_TOKEN" "https://drone.viktorbarzin.me/api/repos/ViktorBarzin/" - -# Trigger build -curl -s -X POST -H "Authorization: Bearer $DRONE_TOKEN" "https://drone.viktorbarzin.me/api/repos/ViktorBarzin//builds" - -# Add secret -curl -s -X POST -H "Authorization: Bearer $DRONE_TOKEN" "https://drone.viktorbarzin.me/api/repos/ViktorBarzin//secrets" \ - -d '{"name":"secret_name","data":"secret_value"}' + -d '{"config":{"url":"https://ci.viktorbarzin.me/hook","content_type":"json","secret":"..."},"events":["push","pull_request"]}' ``` ## Capabilities - **GitHub**: Create/delete repos, push code, manage SSH/deploy keys, manage webhooks, manage org settings, manage packages -- **Drone CI**: Activate repos, trigger/monitor builds, manage secrets, configure pipelines diff --git a/.claude/reference/service-catalog.md b/.claude/reference/service-catalog.md index f0c5ad48..a887772c 100644 --- a/.claude/reference/service-catalog.md +++ b/.claude/reference/service-catalog.md @@ -55,7 +55,6 @@ |---------|-------------|-------| | blog | Personal blog | blog | | descheduler | Pod descheduler | descheduler | -| drone | CI/CD | drone | | hackmd | Collaborative markdown | hackmd | | kms | Key management | kms | | privatebin | Encrypted pastebin | privatebin | @@ -117,7 +116,7 @@ travel, netbox ### Non-Proxied (Direct DNS) ``` -mail, wg, headscale, immich, calibre, vaultwarden, drone, +mail, wg, headscale, immich, calibre, vaultwarden, mailserver-antispam, mailserver-admin, webhook, uptime, owntracks, dawarich, tuya, meshcentral, nextcloud, actualbudget, onlyoffice, forgejo, freshrss, navidrome, ollama, openwebui, diff --git a/.drone.yml b/.drone.yml deleted file mode 100644 index 4cec9934..00000000 --- a/.drone.yml +++ /dev/null @@ -1,129 +0,0 @@ -kind: pipeline -type: kubernetes -name: default -concurrency: - limit: 1 -clone: - disable: true -trigger: - event: - - push - -steps: - - name: Prepare terraform files - image: alpine - commands: - - "apk update && apk add jq curl git git-crypt" - - "for i in 1 2 3 4 5; do git clone https://github.com/ViktorBarzin/infra.git . && break || echo \"Clone attempt $i failed, retrying in 10s...\" && sleep 10; done" - - "git checkout $DRONE_COMMIT" - - | - curl -k https://10.0.20.100:6443/api/v1/namespaces/drone/configmaps/git-crypt-key -H "Authorization:Bearer $(cat /var/run/secrets/kubernetes.io/serviceaccount/token)" | jq -r .data.key | base64 -d > /tmp/key - - "git-crypt unlock /tmp/key" - - name: Terragrunt apply - image: alpine - commands: - - "apk update && apk add curl unzip git openssh-client" - # Install Terraform - - "wget -O /tmp/terraform.zip https://releases.hashicorp.com/terraform/1.5.7/terraform_1.5.7_linux_amd64.zip" - - "unzip -o /tmp/terraform.zip -d /usr/local/bin/ && chmod 755 /usr/local/bin/terraform" - # Install Terragrunt - - "wget -O /usr/local/bin/terragrunt https://github.com/gruntwork-io/terragrunt/releases/download/v0.99.4/terragrunt_linux_amd64" - - "chmod 755 /usr/local/bin/terragrunt" - # Apply platform stack (core infrastructure services - equivalent to old terraform apply -target=module.kubernetes_cluster) - - "cd stacks/platform && terragrunt apply --non-interactive -auto-approve" - - - name: Push commit - image: alpine - commands: - - "apk update && apk add openssh-client git git-crypt" - - "mkdir ~/.ssh && ssh-keyscan -H github.com >> ~/.ssh/known_hosts" - - "chmod 400 secrets/deploy_key" - - "git add ." - - "git remote set-url origin git@github.com:ViktorBarzin/infra.git" - - "git commit -m 'Drone CI deploy commit [CI SKIP]' || echo 'No changes'" - - "GIT_SSH_COMMAND='ssh -i ./secrets/deploy_key -o IdentitiesOnly=yes' git push origin master" - - name: slack - image: plugins/slack - settings: - webhook: - from_secret: slack_webhook - channel: general - when: - status: [success, failure] - ---- -kind: pipeline -type: kubernetes -name: build-cli -concurrency: - limit: 1 -clone: - disable: true -trigger: - event: - include: - - push - -steps: - - name: Clone - image: alpine - commands: - - "apk update && apk add git" - - "for i in 1 2 3 4 5; do git clone https://github.com/ViktorBarzin/infra.git . && break || echo \"Clone attempt $i failed, retrying in 10s...\" && sleep 10; done" - - "git checkout $DRONE_COMMIT" - - name: Build image - image: plugins/docker - settings: - username: "viktorbarzin" - password: - from_secret: dockerhub-pat - repo: viktorbarzin/infra - dockerfile: cli/Dockerfile - context: cli - auto_tag: true - ---- -kind: pipeline -type: kubernetes -name: renew-tls-certificate -clone: - disable: true -trigger: - event: - - cron - cron: - - renew-tls-certificate - -steps: - - name: Prepare terraform files - image: alpine - commands: - - "apk update && apk add jq curl git git-crypt" - - "for i in 1 2 3 4 5; do git clone https://github.com/ViktorBarzin/infra.git . && break || echo \"Clone attempt $i failed, retrying in 10s...\" && sleep 10; done" - - "git checkout $DRONE_COMMIT" - - | - curl -k https://10.0.20.100:6443/api/v1/namespaces/drone/configmaps/git-crypt-key -H "Authorization:Bearer $(cat /var/run/secrets/kubernetes.io/serviceaccount/token)" | jq -r .data.key | base64 -d > /tmp/key - - "git-crypt unlock /tmp/key" - - name: Run renew script - image: alpine - environment: - TECHNITIUM_API_KEY: - from_secret: TECHNITIUM_API_KEY - CLOUDFLARE_TOKEN: - from_secret: CLOUDFLARE_TOKEN - CLOUDFLARE_ZONE_ID: - from_secret: CLOUDFLARE_ZONE_ID - commands: - - "apk update && apk add certbot curl jq" - - "./modules/kubernetes/setup_tls_secret/renew2.sh" - - name: Commit updated certificates - image: alpine - commands: - - "apk update && apk add openssh-client git git-crypt" - - "mkdir ~/.ssh && ssh-keyscan -H github.com >> ~/.ssh/known_hosts" - - "chmod 400 secrets/deploy_key" - - "git add ." - - "git remote set-url origin git@github.com:ViktorBarzin/infra.git" - - "git commit -m 'Drone CI Update TLS Certificates Commit' || echo 'No changes'" - - "GIT_SSH_COMMAND='ssh -i ./secrets/deploy_key -o IdentitiesOnly=yes' git pull --rebase origin master" - - "GIT_SSH_COMMAND='ssh -i ./secrets/deploy_key -o IdentitiesOnly=yes' git push origin master" diff --git a/README.md b/README.md index 1d3a3840..f84477f2 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,6 @@ -[![Build Status](https://drone.viktorbarzin.me/api/badges/ViktorBarzin/infra/status.svg)](https://drone.viktorbarzin.me/ViktorBarzin/infra) - This repo contains my infra-as-code sources. -My infrastructure is built using Terraform, Kubernetes and CI/CD is done using Drone CI. +My infrastructure is built using Terraform, Kubernetes and CI/CD is done using Woodpecker CI. Read more by visiting my website: https://viktorbarzin.me diff --git a/diagram/main.py b/diagram/main.py index 51c23d8e..df04ea4f 100644 --- a/diagram/main.py +++ b/diagram/main.py @@ -24,7 +24,7 @@ vpn_clients: dict[str, Node] = {} namespaces_to_not_visualize = { "ytdlp", "wireguard", "webhook-handler", "url", "travel-blog", "registry", "redis", "openid-help-page", "localai", "kubernetes-dashboard", - "headscale", "hackmd", "finance-app", "drone", "dbaas", "crowdsec", + "headscale", "hackmd", "finance-app", "dbaas", "crowdsec", "cloudflared", "city-guesser" } # docs for lib - https://diagrams.mingrammer.com/docs/nodes/k8s diff --git a/scripts/gen_service_stacks.py b/scripts/gen_service_stacks.py index b0b92c7d..0cf56e52 100644 --- a/scripts/gen_service_stacks.py +++ b/scripts/gen_service_stacks.py @@ -16,17 +16,7 @@ SERVICES = [ ("tier", "LOCAL_TIER:aux"), ]), ("descheduler", "descheduler", []), - ("drone", "drone", [ - ("tls_secret_name", "var.tls_secret_name"), - ("github_client_id", "var.drone_github_client_id"), - ("github_client_secret", "var.drone_github_client_secret"), - ("rpc_secret", "var.drone_rpc_secret"), - ("webhook_secret", "var.drone_webhook_secret"), - ("server_host", '"drone.viktorbarzin.me"'), - ("server_proto", '"https"'), - ("tier", "LOCAL_TIER:edge"), - ]), - ("f1-stream", "f1-stream", [ +("f1-stream", "f1-stream", [ ("tls_secret_name", "var.tls_secret_name"), ("tier", "LOCAL_TIER:aux"), ("turn_secret", "var.coturn_turn_secret"), @@ -394,10 +384,6 @@ VAR_TYPES = { "tiny_tuya_api_secret": "string", "tiny_tuya_service_secret": "string", "tiny_tuya_slack_url": "string", - "drone_github_client_id": "string", - "drone_github_client_secret": "string", - "drone_rpc_secret": "string", - "drone_webhook_secret": "string", "url_shortener_geolite_license_key": "string", "url_shortener_api_key": "string", "url_shortener_mysql_password": "string", diff --git a/scripts/migrate_service_state.sh b/scripts/migrate_service_state.sh index eb3e5a80..f392b421 100644 --- a/scripts/migrate_service_state.sh +++ b/scripts/migrate_service_state.sh @@ -23,8 +23,7 @@ MODULES=( dawarich descheduler diun - drone - ebook2audiobook +ebook2audiobook echo excalidraw f1-stream diff --git a/secrets/nfs_directories.txt b/secrets/nfs_directories.txt index 8c77a62dffc14ff569643344efa579fd33a2746d..6103be30020c3c85e6768f196575fce45d6adba7 100644 GIT binary patch literal 1721 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 VE&I7l7b_u$EMwk8o@t3IZm}OBQE&hN diff --git a/stacks/dashy/conf.yml b/stacks/dashy/conf.yml index f2014c62..bbd6307f 100644 --- a/stacks/dashy/conf.yml +++ b/stacks/dashy/conf.yml @@ -220,12 +220,12 @@ sections: statusCheck: false id: 0_1364_phpmyadmin - &ref_22 - title: Drone CI + title: Woodpecker CI description: CI/CD Service - icon: si-drone - url: https://drone.viktorbarzin.me/ + icon: si-woodpeckerci + url: https://ci.viktorbarzin.me/ target: newtab - id: 1_1364_droneci + id: 1_1364_woodpeckerci - &ref_23 title: DNS Server description: Technitium diff --git a/stacks/drone/.terraform.lock.hcl b/stacks/drone/.terraform.lock.hcl deleted file mode 100644 index 1e5d8b27..00000000 --- a/stacks/drone/.terraform.lock.hcl +++ /dev/null @@ -1,40 +0,0 @@ -# This file is maintained automatically by "terraform init". -# Manual edits may be lost in future updates. - -provider "registry.terraform.io/hashicorp/helm" { - version = "3.1.1" - hashes = [ - "h1:47CqNwkxctJtL/N/JuEj+8QMg8mRNI/NWeKO5/ydfZU=", - "zh:1a6d5ce931708aec29d1f3d9e360c2a0c35ba5a54d03eeaff0ce3ca597cd0275", - "zh:3411919ba2a5941801e677f0fea08bdd0ae22ba3c9ce3309f55554699e06524a", - "zh:81b36138b8f2320dc7f877b50f9e38f4bc614affe68de885d322629dd0d16a29", - "zh:95a2a0a497a6082ee06f95b38bd0f0d6924a65722892a856cfd914c0d117f104", - "zh:9d3e78c2d1bb46508b972210ad706dd8c8b106f8b206ecf096cd211c54f46990", - "zh:a79139abf687387a6efdbbb04289a0a8e7eaca2bd91cdc0ce68ea4f3286c2c34", - "zh:aaa8784be125fbd50c48d84d6e171d3fb6ef84a221dbc5165c067ce05faab4c8", - "zh:afecd301f469975c9d8f350cc482fe656e082b6ab0f677d1a816c3c615837cc1", - "zh:c54c22b18d48ff9053d899d178d9ffef7d9d19785d9bf310a07d648b7aac075b", - "zh:db2eefd55aea48e73384a555c72bac3f7d428e24147bedb64e1a039398e5b903", - "zh:ee61666a233533fd2be971091cecc01650561f1585783c381b6f6e8a390198a4", - "zh:f569b65999264a9416862bca5cd2a6177d94ccb0424f3a4ef424428912b9cb3c", - ] -} - -provider "registry.terraform.io/hashicorp/kubernetes" { - version = "3.0.1" - hashes = [ - "h1:P0c8knzZnouTNFIRij8IS7+pqd0OKaFDYX0j4GRsiqo=", - "zh:02d55b0b2238fd17ffa12d5464593864e80f402b90b31f6e1bd02249b9727281", - "zh:20b93a51bfeed82682b3c12f09bac3031f5bdb4977c47c97a042e4df4fb2f9ba", - "zh:6e14486ecfaee38c09ccf33d4fdaf791409f90795c1b66e026c226fad8bc03c7", - "zh:8d0656ff422df94575668e32c310980193fccb1c28117e5c78dd2d4050a760a6", - "zh:9795119b30ec0c1baa99a79abace56ac850b6e6fbce60e7f6067792f6eb4b5f4", - "zh:b388c87acc40f6bd9620f4e23f01f3c7b41d9b88a68d5255dec0a72f0bdec249", - "zh:b59abd0a980649c2f97f172392f080eaeb18e486b603f83bf95f5d93aeccc090", - "zh:ba6e3060fddf4a022087d8f09e38aa0001c705f21170c2ded3d1c26c12f70d97", - "zh:c12626d044b1d5501cf95ca78cbe507c13ad1dd9f12d4736df66eb8e5f336eb8", - "zh:c55203240d50f4cdeb3df1e1760630d677679f5b1a6ffd9eba23662a4ad05119", - "zh:ea206a5a32d6e0d6e32f1849ad703da9a28355d9c516282a8458b5cf1502b2a1", - "zh:f569b65999264a9416862bca5cd2a6177d94ccb0424f3a4ef424428912b9cb3c", - ] -} diff --git a/stacks/drone/backend.tf b/stacks/drone/backend.tf deleted file mode 100644 index 49bde38f..00000000 --- a/stacks/drone/backend.tf +++ /dev/null @@ -1,6 +0,0 @@ -# Generated by Terragrunt. Sig: nIlQXj57tbuaRZEa -terraform { - backend "local" { - path = "/Users/viktorbarzin/code/infra/state/stacks/drone/terraform.tfstate" - } -} diff --git a/stacks/drone/main.tf b/stacks/drone/main.tf deleted file mode 100644 index 3d178edd..00000000 --- a/stacks/drone/main.tf +++ /dev/null @@ -1,422 +0,0 @@ -variable "tls_secret_name" { type = string } -variable "drone_github_client_id" { type = string } -variable "drone_github_client_secret" { type = string } -variable "drone_rpc_secret" { type = string } -variable "drone_webhook_secret" { type = string } - -locals { - tiers = { - core = "0-core" - cluster = "1-cluster" - gpu = "2-gpu" - edge = "3-edge" - aux = "4-aux" - } -} - -variable "rpc_host" { - default = "drone.drone.svc.cluster.local" -} -variable "allowed_users" { - # comma separated list - default = "viktorbarzin,ancamilea" -} - -resource "kubernetes_namespace" "drone" { - metadata { - name = "drone" - labels = { - "resource-governance/custom-quota" = "true" - tier = local.tiers.edge - } - } -} - -resource "kubernetes_resource_quota" "drone" { - metadata { - name = "tier-quota" - namespace = kubernetes_namespace.drone.metadata[0].name - } - spec { - hard = { - "requests.cpu" = "16" - "requests.memory" = "16Gi" - "limits.cpu" = "64" - "limits.memory" = "128Gi" - pods = "60" - } - } -} - -module "tls_secret" { - source = "../../modules/kubernetes/setup_tls_secret" - namespace = kubernetes_namespace.drone.metadata[0].name - tls_secret_name = var.tls_secret_name -} - -resource "kubernetes_config_map" "git_crypt_key" { - metadata { - name = "git-crypt-key" - namespace = kubernetes_namespace.drone.metadata[0].name - } - - data = { - "key" = filebase64("${path.root}/../../.git/git-crypt/keys/default") - } -} - -resource "kubernetes_deployment" "drone_server" { - metadata { - name = "drone-server" - namespace = kubernetes_namespace.drone.metadata[0].name - labels = { - app = "drone" - tier = local.tiers.edge - } - } - spec { - strategy { - type = "Recreate" - } - replicas = 1 - selector { - match_labels = { - app = "drone" - } - } - template { - metadata { - labels = { - app = "drone" - } - } - spec { - container { - image = "drone/drone:2.27.0" - name = "drone-server" - # resources { - # limits = { - # cpu = "1" - # memory = "1Gi" - # } - # requests = { - # cpu = "500m" - # memory = "1Gi" - # } - # } - port { - container_port = 80 - } - volume_mount { - name = "data" - mount_path = "/data" - } - - env { - name = "DRONE_GITHUB_CLIENT_ID" - value = var.drone_github_client_id - } - env { - name = "DRONE_GITHUB_CLIENT_SECRET" - value = var.drone_github_client_secret - } - env { - name = "DRONE_RPC_SECRET" - value = var.drone_rpc_secret - } - env { - name = "DRONE_WEBHOOK_SECRET" - value = var.drone_webhook_secret - } - env { - name = "DRONE_SERVER_HOST" - value = "drone.viktorbarzin.me" - } - env { - name = "DRONE_SERVER_PROTO" - value = "https" - } - env { - name = "DRONE_USER_FILTER" - value = var.allowed_users - } - env { - name = "DRONE_CRON_INTERVAL" - value = "1m" - } - env { - name = "DRONE_LOGS_TRACE" - value = "true" - } - env { - name = "DRONE_LOGS_PRETTY" - value = "true" - } - env { - name = "DRONE_LOGS_TEXT" - value = "true" - } - - } - volume { - name = "data" - nfs { - path = "/mnt/main/drone" - server = "10.0.10.15" - } - # iscsi { - # target_portal = "iscsi.viktorbarzin.lan:3260" - # fs_type = "ext4" - # iqn = "iqn.2020-12.lan.viktorbarzin:storage:drone" - # lun = 0 - # read_only = false - # } - } - } - } - } -} - -resource "kubernetes_service" "drone" { - metadata { - name = "drone" - namespace = kubernetes_namespace.drone.metadata[0].name - labels = { - app = "drone" - } - } - - spec { - selector = { - app = "drone" - } - port { - name = "http" - port = "80" - } - } -} - -module "ingress" { - source = "../../modules/kubernetes/ingress_factory" - namespace = kubernetes_namespace.drone.metadata[0].name - name = "drone" - tls_secret_name = var.tls_secret_name - # protected = true -} - - -# Setup drone runner -resource "kubernetes_cluster_role" "drone" { - metadata { - name = "drone" - } - rule { - api_groups = [""] - resources = ["configmaps"] - verbs = ["get", "list", "update", "patch"] - } - rule { - api_groups = [""] - resources = ["secrets"] - verbs = ["get", "list", "create", "delete"] - } - rule { - api_groups = [""] - resources = ["pods", "pods/log"] - verbs = ["get", "create", "delete", "list", "watch", "update"] - } - rule { - api_groups = ["apps"] - resources = ["deployments"] - verbs = ["get", "create", "delete", "list", "watch", "update", "patch"] - } -} - -resource "kubernetes_cluster_role_binding" "drone" { - metadata { - name = "drone" - } - subject { - kind = "ServiceAccount" - name = "default" - namespace = kubernetes_namespace.drone.metadata[0].name - } - role_ref { - kind = "ClusterRole" - # name = "drone" - name = "cluster-admin" - api_group = "rbac.authorization.k8s.io" - } -} - -resource "kubernetes_deployment" "drone_runner" { - metadata { - name = "drone-runner" - namespace = kubernetes_namespace.drone.metadata[0].name - labels = { - app = "drone-runner" - tier = local.tiers.edge - } - } - spec { - strategy { - type = "Recreate" - } - replicas = 4 - selector { - match_labels = { - app = "drone-runner" - } - } - template { - metadata { - labels = { - app = "drone-runner" - } - } - spec { - container { - image = "drone/drone-runner-kube:latest" - name = "drone-runner" - # resources { - # limits = { - # cpu = "1" - # memory = "1Gi" - # } - # requests = { - # cpu = "500m" - # memory = "1Gi" - # } - # } - env { - name = "DRONE_RPC_HOST" - value = var.rpc_host - } - env { - name = "DRONE_RPC_PROTO" - value = "http" - } - env { - name = "DRONE_RPC_SECRET" - value = var.drone_rpc_secret - } - env { - name = "DRONE_NAMESPACE_DEFAULT" - value = "drone" - } - env { - name = "SECRET_KEY" - value = var.drone_rpc_secret - } - env { - name = "DRONE_SECRET_PLUGIN_ENDPOINT" - value = "http://drone-runner-secret.drone.svc.cluster.local:3000" - } - env { - name = "DRONE_SECRET_PLUGIN_TOKEN" - value = var.drone_rpc_secret - } - env { - name = "DRONE_DEBUG" - value = "true" - } - } - } - } - } -} -resource "kubernetes_deployment" "drone_runner_secret" { - metadata { - name = "drone-runner-secret" - namespace = kubernetes_namespace.drone.metadata[0].name - labels = { - app = "drone-runner-secret" - tier = local.tiers.edge - } - } - spec { - strategy { - type = "Recreate" - } - replicas = 1 - selector { - match_labels = { - app = "drone-runner-secret" - } - } - template { - metadata { - labels = { - app = "drone-runner-secret" - } - } - spec { - container { - name = "secret" - image = "drone/kubernetes-secrets:latest" - port { - container_port = 3000 - } - env { - name = "SECRET_KEY" - value = var.drone_rpc_secret - } - env { - name = "DEBUG" - value = "true" - } - env { - name = "KUBERNETES_NAMESPACE" - value = "drone" - } - // Custom variable to start terraform as prod - env { - name = "TF_VAR_prod" - value = true - } - } - } - } - } -} - - -resource "kubernetes_service" "drone_runner_secret" { - metadata { - name = "drone-runner-secret" - namespace = kubernetes_namespace.drone.metadata[0].name - labels = { - app = "drone-runner-secret" - } - } - - spec { - selector = { - app = "drone-runner-secret" - } - port { - name = "http" - port = "3000" - } - } -} - -# SQL to delete last N builds (n = 1000) -# PRAGMA foreign_keys = ON; - -# WITH n_build_ids_per_repo as ( -# SELECT build_id -# FROM ( -# SELECT -# build_id, -# build_repo_id, -# DENSE_RANK() OVER (PARTITION BY build_repo_id ORDER BY build_id DESC) AS rank -# FROM builds -# ) AS t -# WHERE t.rank <= 1000 -# ) -# DELETE FROM -# builds -# WHERE -# builds.build_id NOT IN (SELECT build_id FROM n_build_ids_per_repo); diff --git a/stacks/drone/providers.tf b/stacks/drone/providers.tf deleted file mode 100644 index 516f9fed..00000000 --- a/stacks/drone/providers.tf +++ /dev/null @@ -1,15 +0,0 @@ -# Generated by Terragrunt. Sig: nIlQXj57tbuaRZEa -variable "kube_config_path" { - type = string - default = "~/.kube/config" -} - -provider "kubernetes" { - config_path = var.kube_config_path -} - -provider "helm" { - kubernetes = { - config_path = var.kube_config_path - } -} diff --git a/stacks/drone/secrets b/stacks/drone/secrets deleted file mode 120000 index ca54a7cf..00000000 --- a/stacks/drone/secrets +++ /dev/null @@ -1 +0,0 @@ -../../secrets \ No newline at end of file diff --git a/stacks/drone/terragrunt.hcl b/stacks/drone/terragrunt.hcl deleted file mode 100644 index 0d1c8e53..00000000 --- a/stacks/drone/terragrunt.hcl +++ /dev/null @@ -1,8 +0,0 @@ -include "root" { - path = find_in_parent_folders() -} - -dependency "platform" { - config_path = "../platform" - skip_outputs = true -} diff --git a/stacks/woodpecker/values.yaml b/stacks/woodpecker/values.yaml index 0131ba26..8e770787 100644 --- a/stacks/woodpecker/values.yaml +++ b/stacks/woodpecker/values.yaml @@ -17,6 +17,7 @@ server: WOODPECKER_DATABASE_DRIVER: "postgres" WOODPECKER_DATABASE_DATASOURCE: "postgres://woodpecker:${db_password}@postgresql.dbaas.svc.cluster.local:5432/woodpecker?sslmode=disable" WOODPECKER_PLUGINS_PRIVILEGED: "woodpeckerci/plugin-docker-buildx,plugins/docker" + WOODPECKER_PLUGINS_TRUSTED_CLONE: "woodpeckerci/plugin-git,alpine" WOODPECKER_LOG_LEVEL: "info" service: type: ClusterIP diff --git a/terraform.tfvars b/terraform.tfvars index afbedd4357f33752918098184520c37a1e8cb26d..11e1eae1ac6f61c66d0fe8a2a1a121c113071e60 100644 GIT binary patch literal 48923 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

VykRRoFg^$iSV|2d8Y556`S=zXeS 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