feat: add plan workflow
- update makefile to enable kubernetes auth or roleid auth - add plan workflow - update all policies to allow the terraform-vault kubernetes role
This commit is contained in:
@@ -0,0 +1,21 @@
|
|||||||
|
when:
|
||||||
|
- event: pull_request
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: plan
|
||||||
|
image: git.unkin.net/unkin/almalinux9-opentofu:20260308
|
||||||
|
environment:
|
||||||
|
VAULT_AUTH_METHOD: kubernetes
|
||||||
|
commands:
|
||||||
|
- dnf install vault -y
|
||||||
|
- make plan
|
||||||
|
backend_options:
|
||||||
|
kubernetes:
|
||||||
|
serviceAccountName: terraform-vault
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
memory: 512Mi
|
||||||
|
cpu: 1
|
||||||
|
limits:
|
||||||
|
memory: 2Gi
|
||||||
|
cpu: 2
|
||||||
@@ -6,3 +6,13 @@ steps:
|
|||||||
image: git.unkin.net/unkin/almalinux9-opentofu:20260308
|
image: git.unkin.net/unkin/almalinux9-opentofu:20260308
|
||||||
commands:
|
commands:
|
||||||
- uvx pre-commit run --all-files
|
- uvx pre-commit run --all-files
|
||||||
|
backend_options:
|
||||||
|
kubernetes:
|
||||||
|
serviceAccountName: default
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
memory: 512Mi
|
||||||
|
cpu: 1
|
||||||
|
limits:
|
||||||
|
memory: 2Gi
|
||||||
|
cpu: 2
|
||||||
|
|||||||
@@ -1,10 +1,19 @@
|
|||||||
.PHONY: init plan apply format
|
.PHONY: init plan apply format
|
||||||
|
|
||||||
|
VAULT_AUTH_METHOD ?= approle
|
||||||
|
VAULT_K8S_ROLE ?= woodpecker_terraform_vault
|
||||||
|
VAULT_K8S_MOUNT ?= auth/k8s/au/syd1
|
||||||
|
VAULT_K8S_JWT_PATH ?= /var/run/secrets/kubernetes.io/serviceaccount/token
|
||||||
|
|
||||||
# Define vault_env function to set up vault environment
|
# Define vault_env function to set up vault environment
|
||||||
define vault_env
|
define vault_env
|
||||||
@export VAULT_ADDR="https://vault.service.consul:8200" && \
|
@export VAULT_ADDR="https://vault.service.consul:8200" && \
|
||||||
export VAULT_TOKEN=$$(vault write -field=token auth/approle/login role_id=$$VAULT_ROLEID) && \
|
if [ "$(VAULT_AUTH_METHOD)" = "kubernetes" ]; then \
|
||||||
export CONSUL_HTTP_TOKEN=$$(vault read -format=json consul_root/au/syd1/creds/terraform-vault | jq '.data.token')
|
export VAULT_TOKEN=$$(vault write -field=token $(VAULT_K8S_MOUNT)/login role=$(VAULT_K8S_ROLE) jwt=$$(cat $(VAULT_K8S_JWT_PATH))); \
|
||||||
|
else \
|
||||||
|
export VAULT_TOKEN=$$(vault write -field=token auth/approle/login role_id=$$VAULT_ROLEID); \
|
||||||
|
fi && \
|
||||||
|
export CONSUL_HTTP_TOKEN=$$(vault read -field=token consul_root/au/syd1/creds/terraform-vault)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
init:
|
init:
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
bound_service_account_names:
|
||||||
|
- terraform-vault
|
||||||
|
bound_service_account_namespaces:
|
||||||
|
- woodpecker
|
||||||
|
token_ttl: 600
|
||||||
|
token_max_ttl: 600
|
||||||
|
audience: https://kubernetes.default.svc.cluster.local
|
||||||
@@ -12,3 +12,5 @@ rules:
|
|||||||
auth:
|
auth:
|
||||||
approle:
|
approle:
|
||||||
- tf_vault
|
- tf_vault
|
||||||
|
k8s/au/syd1:
|
||||||
|
- woodpecker_terraform_vault
|
||||||
|
|||||||
@@ -8,3 +8,5 @@ rules:
|
|||||||
auth:
|
auth:
|
||||||
approle:
|
approle:
|
||||||
- tf_vault
|
- tf_vault
|
||||||
|
k8s/au/syd1:
|
||||||
|
- woodpecker_terraform_vault
|
||||||
|
|||||||
@@ -21,3 +21,5 @@ rules:
|
|||||||
auth:
|
auth:
|
||||||
approle:
|
approle:
|
||||||
- tf_vault
|
- tf_vault
|
||||||
|
k8s/au/syd1:
|
||||||
|
- woodpecker_terraform_vault
|
||||||
|
|||||||
@@ -12,3 +12,5 @@ rules:
|
|||||||
auth:
|
auth:
|
||||||
approle:
|
approle:
|
||||||
- tf_vault
|
- tf_vault
|
||||||
|
k8s/au/syd1:
|
||||||
|
- woodpecker_terraform_vault
|
||||||
|
|||||||
@@ -15,3 +15,5 @@ rules:
|
|||||||
auth:
|
auth:
|
||||||
approle:
|
approle:
|
||||||
- tf_vault
|
- tf_vault
|
||||||
|
k8s/au/syd1:
|
||||||
|
- woodpecker_terraform_vault
|
||||||
|
|||||||
@@ -9,3 +9,5 @@ rules:
|
|||||||
auth:
|
auth:
|
||||||
approle:
|
approle:
|
||||||
- tf_vault
|
- tf_vault
|
||||||
|
k8s/au/syd1:
|
||||||
|
- woodpecker_terraform_vault
|
||||||
|
|||||||
@@ -8,3 +8,5 @@ rules:
|
|||||||
auth:
|
auth:
|
||||||
approle:
|
approle:
|
||||||
- tf_vault
|
- tf_vault
|
||||||
|
k8s/au/syd1:
|
||||||
|
- woodpecker_terraform_vault
|
||||||
|
|||||||
@@ -12,3 +12,5 @@ rules:
|
|||||||
auth:
|
auth:
|
||||||
approle:
|
approle:
|
||||||
- tf_vault
|
- tf_vault
|
||||||
|
k8s/au/syd1:
|
||||||
|
- woodpecker_terraform_vault
|
||||||
|
|||||||
@@ -14,3 +14,5 @@ rules:
|
|||||||
auth:
|
auth:
|
||||||
approle:
|
approle:
|
||||||
- tf_vault
|
- tf_vault
|
||||||
|
k8s/au/syd1:
|
||||||
|
- woodpecker_terraform_vault
|
||||||
|
|||||||
@@ -12,3 +12,5 @@ rules:
|
|||||||
auth:
|
auth:
|
||||||
approle:
|
approle:
|
||||||
- tf_vault
|
- tf_vault
|
||||||
|
k8s/au/syd1:
|
||||||
|
- woodpecker_terraform_vault
|
||||||
|
|||||||
@@ -8,3 +8,5 @@ rules:
|
|||||||
auth:
|
auth:
|
||||||
approle:
|
approle:
|
||||||
- tf_vault
|
- tf_vault
|
||||||
|
k8s/au/syd1:
|
||||||
|
- woodpecker_terraform_vault
|
||||||
|
|||||||
@@ -12,3 +12,5 @@ rules:
|
|||||||
auth:
|
auth:
|
||||||
approle:
|
approle:
|
||||||
- tf_vault
|
- tf_vault
|
||||||
|
k8s/au/syd1:
|
||||||
|
- woodpecker_terraform_vault
|
||||||
|
|||||||
@@ -12,3 +12,5 @@ rules:
|
|||||||
auth:
|
auth:
|
||||||
approle:
|
approle:
|
||||||
- tf_vault
|
- tf_vault
|
||||||
|
k8s/au/syd1:
|
||||||
|
- woodpecker_terraform_vault
|
||||||
|
|||||||
@@ -15,3 +15,5 @@ rules:
|
|||||||
auth:
|
auth:
|
||||||
approle:
|
approle:
|
||||||
- tf_vault
|
- tf_vault
|
||||||
|
k8s/au/syd1:
|
||||||
|
- woodpecker_terraform_vault
|
||||||
|
|||||||
@@ -8,3 +8,5 @@ rules:
|
|||||||
auth:
|
auth:
|
||||||
approle:
|
approle:
|
||||||
- tf_vault
|
- tf_vault
|
||||||
|
k8s/au/syd1:
|
||||||
|
- woodpecker_terraform_vault
|
||||||
|
|||||||
@@ -12,3 +12,5 @@ rules:
|
|||||||
auth:
|
auth:
|
||||||
approle:
|
approle:
|
||||||
- tf_vault
|
- tf_vault
|
||||||
|
k8s/au/syd1:
|
||||||
|
- woodpecker_terraform_vault
|
||||||
|
|||||||
@@ -9,3 +9,5 @@ rules:
|
|||||||
auth:
|
auth:
|
||||||
approle:
|
approle:
|
||||||
- tf_vault
|
- tf_vault
|
||||||
|
k8s/au/syd1:
|
||||||
|
- woodpecker_terraform_vault
|
||||||
|
|||||||
@@ -8,3 +8,5 @@ rules:
|
|||||||
auth:
|
auth:
|
||||||
approle:
|
approle:
|
||||||
- tf_vault
|
- tf_vault
|
||||||
|
k8s/au/syd1:
|
||||||
|
- woodpecker_terraform_vault
|
||||||
|
|||||||
@@ -8,3 +8,5 @@ rules:
|
|||||||
auth:
|
auth:
|
||||||
approle:
|
approle:
|
||||||
- tf_vault
|
- tf_vault
|
||||||
|
k8s/au/syd1:
|
||||||
|
- woodpecker_terraform_vault
|
||||||
|
|||||||
@@ -9,3 +9,5 @@ rules:
|
|||||||
auth:
|
auth:
|
||||||
approle:
|
approle:
|
||||||
- tf_vault
|
- tf_vault
|
||||||
|
k8s/au/syd1:
|
||||||
|
- woodpecker_terraform_vault
|
||||||
|
|||||||
@@ -9,3 +9,5 @@ rules:
|
|||||||
auth:
|
auth:
|
||||||
approle:
|
approle:
|
||||||
- tf_vault
|
- tf_vault
|
||||||
|
k8s/au/syd1:
|
||||||
|
- woodpecker_terraform_vault
|
||||||
|
|||||||
@@ -9,3 +9,5 @@ rules:
|
|||||||
auth:
|
auth:
|
||||||
approle:
|
approle:
|
||||||
- tf_vault
|
- tf_vault
|
||||||
|
k8s/au/syd1:
|
||||||
|
- woodpecker_terraform_vault
|
||||||
|
|||||||
@@ -12,3 +12,5 @@ rules:
|
|||||||
auth:
|
auth:
|
||||||
approle:
|
approle:
|
||||||
- tf_vault
|
- tf_vault
|
||||||
|
k8s/au/syd1:
|
||||||
|
- woodpecker_terraform_vault
|
||||||
|
|||||||
@@ -9,3 +9,5 @@ rules:
|
|||||||
auth:
|
auth:
|
||||||
approle:
|
approle:
|
||||||
- tf_vault
|
- tf_vault
|
||||||
|
k8s/au/syd1:
|
||||||
|
- woodpecker_terraform_vault
|
||||||
|
|||||||
@@ -12,3 +12,5 @@ rules:
|
|||||||
auth:
|
auth:
|
||||||
approle:
|
approle:
|
||||||
- tf_vault
|
- tf_vault
|
||||||
|
k8s/au/syd1:
|
||||||
|
- woodpecker_terraform_vault
|
||||||
|
|||||||
@@ -12,3 +12,5 @@ rules:
|
|||||||
auth:
|
auth:
|
||||||
approle:
|
approle:
|
||||||
- tf_vault
|
- tf_vault
|
||||||
|
k8s/au/syd1:
|
||||||
|
- woodpecker_terraform_vault
|
||||||
|
|||||||
@@ -9,3 +9,5 @@ rules:
|
|||||||
auth:
|
auth:
|
||||||
approle:
|
approle:
|
||||||
- tf_vault
|
- tf_vault
|
||||||
|
k8s/au/syd1:
|
||||||
|
- woodpecker_terraform_vault
|
||||||
|
|||||||
@@ -12,3 +12,5 @@ rules:
|
|||||||
auth:
|
auth:
|
||||||
approle:
|
approle:
|
||||||
- tf_vault
|
- tf_vault
|
||||||
|
k8s/au/syd1:
|
||||||
|
- woodpecker_terraform_vault
|
||||||
|
|||||||
@@ -12,3 +12,5 @@ rules:
|
|||||||
auth:
|
auth:
|
||||||
approle:
|
approle:
|
||||||
- tf_vault
|
- tf_vault
|
||||||
|
k8s/au/syd1:
|
||||||
|
- woodpecker_terraform_vault
|
||||||
|
|||||||
@@ -9,3 +9,5 @@ rules:
|
|||||||
auth:
|
auth:
|
||||||
approle:
|
approle:
|
||||||
- tf_vault
|
- tf_vault
|
||||||
|
k8s/au/syd1:
|
||||||
|
- woodpecker_terraform_vault
|
||||||
|
|||||||
@@ -12,3 +12,5 @@ rules:
|
|||||||
auth:
|
auth:
|
||||||
approle:
|
approle:
|
||||||
- tf_vault
|
- tf_vault
|
||||||
|
k8s/au/syd1:
|
||||||
|
- woodpecker_terraform_vault
|
||||||
|
|||||||
@@ -12,3 +12,5 @@ rules:
|
|||||||
auth:
|
auth:
|
||||||
approle:
|
approle:
|
||||||
- tf_vault
|
- tf_vault
|
||||||
|
k8s/au/syd1:
|
||||||
|
- woodpecker_terraform_vault
|
||||||
|
|||||||
@@ -12,3 +12,5 @@ rules:
|
|||||||
auth:
|
auth:
|
||||||
approle:
|
approle:
|
||||||
- tf_vault
|
- tf_vault
|
||||||
|
k8s/au/syd1:
|
||||||
|
- woodpecker_terraform_vault
|
||||||
|
|||||||
@@ -12,3 +12,5 @@ rules:
|
|||||||
auth:
|
auth:
|
||||||
approle:
|
approle:
|
||||||
- tf_vault
|
- tf_vault
|
||||||
|
k8s/au/syd1:
|
||||||
|
- woodpecker_terraform_vault
|
||||||
|
|||||||
@@ -12,3 +12,5 @@ rules:
|
|||||||
auth:
|
auth:
|
||||||
approle:
|
approle:
|
||||||
- tf_vault
|
- tf_vault
|
||||||
|
k8s/au/syd1:
|
||||||
|
- woodpecker_terraform_vault
|
||||||
|
|||||||
@@ -20,3 +20,5 @@ rules:
|
|||||||
auth:
|
auth:
|
||||||
approle:
|
approle:
|
||||||
- tf_vault
|
- tf_vault
|
||||||
|
k8s/au/syd1:
|
||||||
|
- woodpecker_terraform_vault
|
||||||
|
|||||||
@@ -16,3 +16,5 @@ rules:
|
|||||||
auth:
|
auth:
|
||||||
approle:
|
approle:
|
||||||
- tf_vault
|
- tf_vault
|
||||||
|
k8s/au/syd1:
|
||||||
|
- woodpecker_terraform_vault
|
||||||
|
|||||||
@@ -16,3 +16,5 @@ rules:
|
|||||||
auth:
|
auth:
|
||||||
approle:
|
approle:
|
||||||
- tf_vault
|
- tf_vault
|
||||||
|
k8s/au/syd1:
|
||||||
|
- woodpecker_terraform_vault
|
||||||
|
|||||||
Reference in New Issue
Block a user