- add build job that runs `make plan` - enable provider caching - enable creating client.crt/client.key
This commit is contained in:
parent
3f386b4e21
commit
d4778f3fd7
32
.gitea/workflows/build.yaml
Normal file
32
.gitea/workflows/build.yaml
Normal file
@ -0,0 +1,32 @@
|
||||
---
|
||||
name: Build
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: almalinux-8
|
||||
container:
|
||||
image: git.unkin.net/unkin/almalinux9-actionsdind:latest
|
||||
options: --privileged
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Fetch master branch
|
||||
run: |
|
||||
git fetch origin master:master
|
||||
|
||||
- name: Show changed files
|
||||
run: |
|
||||
git diff --name-only master
|
||||
|
||||
- name: Run Terraform Plan
|
||||
env:
|
||||
VAULT_ROLEID: ${{ secrets.TERRAFORM_INCUS_VAULT_ROLEID }}
|
||||
run: |
|
||||
make plan
|
||||
8
Makefile
8
Makefile
@ -11,7 +11,13 @@ define vault_env
|
||||
export PUPPET_CERT_PUB=$$(vault kv get -field=public_key kv/service/puppet/certificates/terraform) && \
|
||||
export PUPPET_CERT_PRIV=$$(vault kv get -field=private_key kv/service/puppet/certificates/terraform) && \
|
||||
export TG_QUEUE_EXCLUDE_DIR="templates/base" && \
|
||||
export $$(vault read -format=json kv/data/service/terraform/incus | jq -r '.data.data | to_entries[] | "\(.key)=\(.value)"')
|
||||
export TG_PROVIDER_CACHE=1 && \
|
||||
eval "$$(vault read -format=json kv/data/service/terraform/incus \
|
||||
| jq -r '.data.data | to_entries[] | "export \(.key)=\(.value|@sh)"')" && \
|
||||
export INCUS_CONFIG_DIR=$$(mktemp -d) && \
|
||||
mkdir -p $$INCUS_CONFIG_DIR && \
|
||||
printf '%s\n' "$$INCUS_CLIENT_CRT" > $$INCUS_CONFIG_DIR/client.crt && \
|
||||
printf '%s\n' "$$INCUS_CLIENT_KEY" > $$INCUS_CONFIG_DIR/client.key
|
||||
endef
|
||||
|
||||
clean:
|
||||
|
||||
@ -34,8 +34,9 @@ generate "provider" {
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
generate_client_certificates = false
|
||||
accept_remote_certificate = true
|
||||
config_dir = "${get_env("INCUS_CONFIG_DIR")}"
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
|
||||
@ -26,8 +26,9 @@ generate "provider" {
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
generate_client_certificates = false
|
||||
accept_remote_certificate = true
|
||||
config_dir = "${get_env("INCUS_CONFIG_DIR")}"
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
|
||||
@ -26,8 +26,9 @@ generate "provider" {
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
generate_client_certificates = false
|
||||
accept_remote_certificate = true
|
||||
config_dir = "${get_env("INCUS_CONFIG_DIR")}"
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
|
||||
@ -26,8 +26,9 @@ generate "provider" {
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
generate_client_certificates = false
|
||||
accept_remote_certificate = true
|
||||
config_dir = "${get_env("INCUS_CONFIG_DIR")}"
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
|
||||
@ -26,8 +26,9 @@ generate "provider" {
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
generate_client_certificates = false
|
||||
accept_remote_certificate = true
|
||||
config_dir = "${get_env("INCUS_CONFIG_DIR")}"
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
|
||||
@ -26,8 +26,9 @@ generate "provider" {
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
generate_client_certificates = false
|
||||
accept_remote_certificate = true
|
||||
config_dir = "${get_env("INCUS_CONFIG_DIR")}"
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
|
||||
Loading…
Reference in New Issue
Block a user