on:
  push:
    branches:
      - 'main'

jobs:
  non-lab:
    runs-on: docker
    #container:
    #  image: ghcr.io/opentofu/opentofu:1.7.2
    steps:
      - uses: actions/checkout@v4
        with:
          sparse-checkout: |
            non-lab
       #- uses: https://code.lab.cowley.tech/homelab/forgejo-opentofu-runner@main
      - name: Setup OpenTofu
        run: |
          curl -fsSl https://get.opentofu.org/install-opentofu.sh -o /tmp/install-opentofu.sh
          chmod +x /tmp/install-opentofu.sh
          /tmp/install-opentofu.sh --install-method deb
          rm -f /tmp/install-opentofu.sh
      - name: Tofu init
        working-directory: ${{ github.workspace }}/non-lab
        run: |
          export KUBE_CONFIG_PATH="/tmp/kubeconfig"
          echo ${{ secrets.KUBE_CONFIG_BASE64 }} | base64 -d > ${KUBE_CONFIG_PATH}
          export B2_APPLICATION_KEY_ID=${{ secrets.B2_APPLICATION_KEY_ID }}
          export B2_APPLICATION_KEY=${{ secrets.B2_APPLICATION_KEY }}
          tofu init
      - name: Tofu Plan
        working-directory: ${{ github.workspace }}/non-lab
        run: |
          export KUBE_CONFIG_PATH="/tmp/kubeconfig"
          echo ${{ secrets.KUBE_CONFIG_BASE64 }} | base64 -d > ${KUBE_CONFIG_PATH}
          export B2_APPLICATION_KEY_ID=${{ secrets.B2_APPLICATION_KEY_ID }}
          export B2_APPLICATION_KEY=${{ secrets.B2_APPLICATION_KEY }}
          tofu plan -out tfplan
      #- uses: https://code.forgejo.org/forgejo/upload-artifact@v4
      #  with:
      #    name: plan
      #    path: ${{ github.workspace }}/non-lab/tfplan
      - name: Tofu Apply
        working-directory: ${{ github.workspace }}/non-lab
        run: |
          export KUBE_CONFIG_PATH="/tmp/kubeconfig"
          echo ${{ secrets.KUBE_CONFIG_BASE64 }} | base64 -d > ${KUBE_CONFIG_PATH}
          export B2_APPLICATION_KEY_ID=${{ secrets.B2_APPLICATION_KEY_ID }}
          export B2_APPLICATION_KEY=${{ secrets.B2_APPLICATION_KEY }}
          ls -la