diff --git a/.forgejo/workflows/tofu-plan-k8s-wheatley.yaml b/.forgejo/workflows/tofu-plan-k8s-wheatley.yaml new file mode 100644 index 0000000..f867ac5 --- /dev/null +++ b/.forgejo/workflows/tofu-plan-k8s-wheatley.yaml @@ -0,0 +1,77 @@ +--- +name: tofu plan k8s-wheatley +on: + workflow_dispatch: + workflow_call: + pull_request: + branches: + - main + # paths: + # - pve01.wheatley.in/k8s-wheatley/** + +env: + TOFU_VERSION: 1.10.7 + TOFU_CHECKSUM: 765a7374aeafcad15fe8da5359de76ce11ba0fd3cb6c2dc85d3b390e6362cae5 + TOFU_ARCHIVE: tofu_${{ env.TOFU_VERSION }}_linux_amd64.tar.gz + TOFU_DIR: pve01.wheatley.in/k8s-wheatley + AWS_S3_ENDPOINT: ${{ secrets.AWS_S3_ENDPOINT }} + AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + +jobs: + tofu-plan-k8s-wheatley: + runs-on: docker + steps: + - uses: actions/checkout@v4 + + - name: Download OpenTofu + id: download + run: | + set -eo pipefail + echo "Downloading OpenTofu..." + curl -L https://github.com/opentofu/opentofu/releases/download/v${{ env.TOFU_VERSION }}/${{ env.TOFU_ARCHIVE }} -o ${{ env.TOFU_ARCHIVE }} + echo "Downloaded OpenTofu ✅" + echo "Verifying checksum..." + printf "%s %s" "${{ env.TOFU_CHECKSUM }}" "${{ env.TOFU_ARCHIVE }}" | sha256sum --check --status + echo "Checksum ok ✅" + working-directory: /tmp + + + - name: Install OpenTofu + run: | + echo "Untarring..." + tar -xzf ${{ env.TOFU_ARCHIVE }} + echo "Untarring ✅" + echo "Installing OpenTofu Binary..." + mv tofu /usr/local/bin/tofu + chmod +x /usr/local/bin/tofu + echo "Installed Open Tofu ✅ Installed version:" + tofu version + working-directory: /tmp + + - name: OpenTofu fmt + id: fmt + run: tofu fmt -check + working-directory: ${{ env.TOFU_DIR }} + continue-on-error: true + + - name: OpenTofu Init + id: init + run: tofu init + working-directory: ${{ env.TOFU_DIR }} + + - name: OpenTofu Validate + id: validate + run: tofu validate -no-color + working-directory: ${{ env.TOFU_DIR }} + + - name: OpenTofu Plan + id: plan + env: + TF_VAR_PROXMOX_API_TOKEN: ${{ secrets.PROXMOX_API_TOKEN }} + TF_VAR_PROXMOX_ENDPOINT: ${{ secrets.PROXMOX_ENDPOINT }} + run: | + echo "Proxmox endpoint: ${{ env.TF_VAR_PROXMOX_ENDPOINT}}" + tofu plan -no-color + working-directory: ${{ env.TOFU_DIR }} + continue-on-error: true