From 66e05bb10561775732bb3ec452e181c1b907b06c Mon Sep 17 00:00:00 2001 From: Patrick de Ruiter Date: Sun, 2 Nov 2025 01:36:11 +0100 Subject: [PATCH] Replace GitHub Actions artifact with MinIO upload - Removed actions/upload-artifact@v4 (not supported in Gitea) - Added terraform show output to create human-readable plan text - Upload both binary plan and text version to MinIO - Plan stored at: s3://bucket/terraform-plans/repo/run-number/ - Uses existing AWS CLI with S3-compatible endpoint --- .gitea/workflows/sonarqube.yaml | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/.gitea/workflows/sonarqube.yaml b/.gitea/workflows/sonarqube.yaml index dba6744..e6b0250 100644 --- a/.gitea/workflows/sonarqube.yaml +++ b/.gitea/workflows/sonarqube.yaml @@ -125,11 +125,27 @@ jobs: TF_VAR_cluster_name: ${{ secrets.VSPHERE_CLUSTER }} TF_VAR_environment: ${{ secrets.ENVIRONMENT }} VAULT_ADDR: ${{ secrets.VAULT_ADDR }} - run: terraform plan -out=tfplan + run: | + terraform plan -out=tfplan + terraform show -no-color tfplan > tfplan.txt - - name: Upload Terraform Plan - uses: actions/upload-artifact@v4 - with: - name: terraform-plan - path: tfplan - retention-days: 30 + - name: Upload Terraform Plan to MinIO + env: + AWS_ACCESS_KEY_ID: ${{ secrets.MINIO_ACCESS_KEY }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.MINIO_SECRET_KEY }} + MINIO_ENDPOINT: ${{ secrets.MINIO_ENDPOINT }} + MINIO_BUCKET: ${{ secrets.MINIO_BUCKET }} + run: | + # Install AWS CLI for S3-compatible operations + curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" + unzip -q awscliv2.zip + sudo ./aws/install + + # Upload plan files to MinIO + PLAN_PATH="terraform-plans/${{ github.repository }}/${{ github.run_number }}" + aws s3 cp tfplan "s3://${MINIO_BUCKET}/${PLAN_PATH}/tfplan" \ + --endpoint-url="${MINIO_ENDPOINT}" + aws s3 cp tfplan.txt "s3://${MINIO_BUCKET}/${PLAN_PATH}/tfplan.txt" \ + --endpoint-url="${MINIO_ENDPOINT}" + + echo "Plan uploaded to: s3://${MINIO_BUCKET}/${PLAN_PATH}/"