mirror of
				https://github.com/KevinMidboe/schleppe-lab.git
				synced 2025-10-29 17:50:39 +00:00 
			
		
		
		
	Updated CI kubernetes deploy environment perperation
This commit is contained in:
		
							
								
								
									
										33
									
								
								.drone.yml
									
									
									
									
									
								
							
							
						
						
									
										33
									
								
								.drone.yml
									
									
									
									
									
								
							| @@ -29,7 +29,7 @@ steps: | |||||||
|     image: plugins/docker |     image: plugins/docker | ||||||
|     settings: |     settings: | ||||||
|       registry: ghcr.io |       registry: ghcr.io | ||||||
|       repo: ghcr.io/kevinmidboe/schleppe-lab |       repo: ghcr.io/kevinmidboe/${DRONE_REPO_NAME} | ||||||
|       dockerfile: Dockerfile |       dockerfile: Dockerfile | ||||||
|       username: |       username: | ||||||
|         from_secret: GITHUB_USERNAME |         from_secret: GITHUB_USERNAME | ||||||
| @@ -63,21 +63,27 @@ platform: | |||||||
| steps: | steps: | ||||||
|   - name: Prepare kubernetes environment |   - name: Prepare kubernetes environment | ||||||
|     image: alpine/k8s:1.25.15 |     image: alpine/k8s:1.25.15 | ||||||
|     commands: |  | ||||||
|       - mkdir -p /root/.kube |  | ||||||
|       - 'curl -s |  | ||||||
|         -H "X-Vault-Token: $VAULT_TOKEN" |  | ||||||
|         $VAULT_HOST/v1/schleppe/data/kazan/${DRONE_REPO_NAME} |  | ||||||
|         | jq -r ".data.data.KUBE_CONFIG" > /root/.kube/config' |  | ||||||
|       - 'curl -s |  | ||||||
|         -H "X-Vault-Token: $VAULT_TOKEN" |  | ||||||
|         $VAULT_HOST/v1/schleppe/data/kazan/${DRONE_REPO_NAME} |  | ||||||
|         | jq -r ".data | .data | .[\"ghcr-login-secret\"]" > /root/.kube/dockerconfig.json' |  | ||||||
|     environment: |     environment: | ||||||
|       VAULT_TOKEN: |       VAULT_TOKEN: | ||||||
|         from_secret: VAULT_TOKEN |         from_secret: VAULT_TOKEN | ||||||
|       VAULT_HOST: |       VAULT_HOST: | ||||||
|         from_secret: VAULT_HOST |         from_secret: VAULT_HOST | ||||||
|  |     commands: | ||||||
|  |       - mkdir -p /root/.kube | ||||||
|  |       - echo "IMAGE=ghcr.io/kevinmidboe/${DRONE_REPO_NAME}:${DRONE_COMMIT_SHA}" > /root/.kube/.env | ||||||
|  |       - echo "NAMESPACE=${DRONE_REPO_NAME}" >> /root/.kube/.env | ||||||
|  |       - 'curl -s | ||||||
|  |         -H "X-Vault-Token: $VAULT_TOKEN" | ||||||
|  |         $VAULT_HOST/v1/schleppe/data/kazan/_infra | ||||||
|  |         | jq -cr ".data.data.KUBE_CONFIG" | ||||||
|  |         > /root/.kube/config' | ||||||
|  |       - 'curl -s | ||||||
|  |         -H "X-Vault-Token: $VAULT_TOKEN" | ||||||
|  |         $VAULT_HOST/v1/schleppe/data/kazan/_infra | ||||||
|  |         | jq -cr ".data.data | .[\"ghcr-login-secret\"] | @base64" | ||||||
|  |         > /root/.kube/dockerconfig.json' | ||||||
|  |       - echo "DOCKER_CONFIG=$(cat /root/.kube/dockerconfig.json)" >> /root/.kube/.env | ||||||
|  |       - sed -i '/^$/!s/^/export /' /root/.kube/.env | ||||||
|     volumes: |     volumes: | ||||||
|     - name: kube-config |     - name: kube-config | ||||||
|       path: /root/.kube |       path: /root/.kube | ||||||
| @@ -85,8 +91,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}" |  | ||||||
|       - cat .kubernetes/*.yml |       - cat .kubernetes/*.yml | ||||||
|         | envsubst |         | envsubst | ||||||
|         | kubectl --kubeconfig=/root/.kube/config apply -f - |         | kubectl --kubeconfig=/root/.kube/config apply -f - | ||||||
| @@ -113,6 +118,6 @@ volumes: | |||||||
|  |  | ||||||
| --- | --- | ||||||
| kind: signature | kind: signature | ||||||
| hmac: fe9955b547b6cb815b7989dd203a8e4ee91e33cefedb16ee2232795875ba9b4b | hmac: 09d1d630e540afad36b45ad1df42ab8bb9675218fc567872f2916ca0614c7ee7 | ||||||
|  |  | ||||||
| ... | ... | ||||||
|   | |||||||
| @@ -3,7 +3,7 @@ apiVersion: v1 | |||||||
| kind: Secret | kind: Secret | ||||||
| metadata: | metadata: | ||||||
|   name: ghcr-login-secret |   name: ghcr-login-secret | ||||||
|   namespace: schleppe-lab |   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