mirror of
https://github.com/KevinMidboe/cloudflare-ddns.git
synced 2025-10-29 17:40:17 +00:00
Updated CI kubernetes deploy environment perperation
This commit is contained in:
28
.drone.yml
28
.drone.yml
@@ -12,7 +12,7 @@ steps:
|
|||||||
image: plugins/docker
|
image: plugins/docker
|
||||||
settings:
|
settings:
|
||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
repo: ghcr.io/kevinmidboe/cloudflare-ddns
|
repo: ghcr.io/kevinmidboe/${DRONE_REPO_NAME}
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
username:
|
username:
|
||||||
from_secret: GITHUB_USERNAME
|
from_secret: GITHUB_USERNAME
|
||||||
@@ -43,9 +43,15 @@ platform:
|
|||||||
steps:
|
steps:
|
||||||
- name: Prepare kubernetes environment
|
- name: Prepare kubernetes environment
|
||||||
image: alpine/k8s:1.25.15
|
image: alpine/k8s:1.25.15
|
||||||
|
environment:
|
||||||
|
VAULT_TOKEN:
|
||||||
|
from_secret: VAULT_TOKEN
|
||||||
|
VAULT_HOST:
|
||||||
|
from_secret: VAULT_HOST
|
||||||
commands:
|
commands:
|
||||||
- mkdir -p /root/.kube
|
- mkdir -p /root/.kube
|
||||||
- echo "NAMESPACE=${DRONE_REPO_NAME}" > /root/.kube/variables.env
|
- echo "IMAGE=ghcr.io/kevinmidboe/${DRONE_REPO_NAME}:${DRONE_COMMIT_SHA}" > /root/.kube/.env
|
||||||
|
- echo "NAMESPACE=${DRONE_REPO_NAME}" >> /root/.kube/.env
|
||||||
- 'curl -s
|
- 'curl -s
|
||||||
-H "X-Vault-Token: $VAULT_TOKEN"
|
-H "X-Vault-Token: $VAULT_TOKEN"
|
||||||
$VAULT_HOST/v1/schleppe/data/kazan/_infra
|
$VAULT_HOST/v1/schleppe/data/kazan/_infra
|
||||||
@@ -53,16 +59,13 @@ steps:
|
|||||||
- 'curl -s
|
- 'curl -s
|
||||||
-H "X-Vault-Token: $VAULT_TOKEN"
|
-H "X-Vault-Token: $VAULT_TOKEN"
|
||||||
$VAULT_HOST/v1/schleppe/data/kazan/_infra
|
$VAULT_HOST/v1/schleppe/data/kazan/_infra
|
||||||
| jq -r ".data | .data | .[\"ghcr-login-secret\"]" > /root/.kube/dockerconfig.json'
|
| jq -cr ".data.data | .[\"ghcr-login-secret\"] | @base64" > /root/.kube/dockerconfig.json'
|
||||||
|
- echo "DOCKER_CONFIG=$(cat /root/.kube/dockerconfig.json)" >> /root/.kube/.env
|
||||||
- 'curl -s
|
- 'curl -s
|
||||||
-H "X-Vault-Token: $VAULT_TOKEN"
|
-H "X-Vault-Token: $VAULT_TOKEN"
|
||||||
$VAULT_HOST/v1/schleppe/data/kazan/${DRONE_REPO_NAME}
|
$VAULT_HOST/v1/schleppe/data/kazan/${DRONE_REPO_NAME}
|
||||||
| jq -cr ".data.data | to_entries[] | .key + \"=\" + (.value | @base64)" >> /root/.kube/variables.env'
|
| jq -cr ".data.data | to_entries[] | .key + \"=\" + (.value | @base64)" >> /root/.kube/.env'
|
||||||
environment:
|
- sed -i '/^$/!s/^/export /' /root/.kube/.env
|
||||||
VAULT_TOKEN:
|
|
||||||
from_secret: VAULT_TOKEN
|
|
||||||
VAULT_HOST:
|
|
||||||
from_secret: VAULT_HOST
|
|
||||||
volumes:
|
volumes:
|
||||||
- name: kube-config
|
- name: kube-config
|
||||||
path: /root/.kube
|
path: /root/.kube
|
||||||
@@ -70,10 +73,7 @@ steps:
|
|||||||
- name: Deploy to kubernetes
|
- name: Deploy to kubernetes
|
||||||
image: alpine/k8s:1.25.15
|
image: alpine/k8s:1.25.15
|
||||||
commands:
|
commands:
|
||||||
- export DOCKER_CONFIG_BASE64=$(cat /root/.kube/dockerconfig.json | tr -d "\n\t " | base64 -w 0)
|
- source /root/.kube/.env > /dev/null 2>&1
|
||||||
- export IMAGE="ghcr.io/kevinmidboe/${DRONE_REPO_NAME}:${DRONE_COMMIT_SHA}"
|
|
||||||
- sed -i '/^$/!s/^/export /' /root/.kube/variables.env
|
|
||||||
- source /root/.kube/variables.env > /dev/null 2>&1
|
|
||||||
- cat .kubernetes/*.yml
|
- cat .kubernetes/*.yml
|
||||||
| envsubst
|
| envsubst
|
||||||
| kubectl --kubeconfig=/root/.kube/config apply -f -
|
| kubectl --kubeconfig=/root/.kube/config apply -f -
|
||||||
@@ -99,6 +99,6 @@ volumes:
|
|||||||
|
|
||||||
---
|
---
|
||||||
kind: signature
|
kind: signature
|
||||||
hmac: 4b290c54b9fb5f4951a6501ce97c14ffb79fd57464547e4dda75560ed0d57e7c
|
hmac: d3088aaf784f4eaac3223f43a86a19bfccff416fd854351c527d785002ae2c26
|
||||||
|
|
||||||
...
|
...
|
||||||
|
|||||||
@@ -5,5 +5,5 @@ metadata:
|
|||||||
name: ghcr-login-secret
|
name: ghcr-login-secret
|
||||||
namespace: ${NAMESPACE}
|
namespace: ${NAMESPACE}
|
||||||
data:
|
data:
|
||||||
.dockerconfigjson: ${DOCKER_CONFIG_BASE64}
|
.dockerconfigjson: ${DOCKER_CONFIG}
|
||||||
type: kubernetes.io/dockerconfigjson
|
type: kubernetes.io/dockerconfigjson
|
||||||
|
|||||||
Reference in New Issue
Block a user