name: OpenTofu Scaleway IAC Apply on: schedule: - cron: "0 1 * * 0" push: branches: - main paths: - "terraform/scaleway-iac/**" jobs: opentofu-apply: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 with: fetch-depth: 0 - name: Setup environment uses: ./.github/actions/setup-env - name: Setup Ansible environment uses: ./.github/actions/setup-ansible-env with: project-id: ${{ secrets.BW_PROJECT_ID }} organization-id: ${{ secrets.BW_ORGANIZATION_ID }} access-token: ${{ secrets.BW_ACCESS_TOKEN }} ansible-user: ${{ secrets.ANSIBLE_USER }} host-group: iac - name: Get Host Info uses: ./.github/actions/get-host-info id: get-host-info with: project-id: ${{ secrets.BW_PROJECT_ID }} organization-id: ${{ secrets.BW_ORGANIZATION_ID }} access-token: ${{ secrets.BW_ACCESS_TOKEN }} ansible-user: ${{ secrets.ANSIBLE_USER }} target-host: iac - name: Setup OpenTofu environment uses: ./.github/actions/setup-opentofu-env - name: OpenTofu Init and Apply env: BW_PROJECT_ID: ${{ secrets.BW_PROJECT_ID }} BW_ORGANIZATION_ID: ${{ secrets.BW_ORGANIZATION_ID }} BW_ACCESS_TOKEN: ${{ secrets.BW_ACCESS_TOKEN }} SYSTEM_ID: ${{ steps.get-host-info.outputs.system-id }} run: | cd terraform/scaleway-iac export TF_VAR_system_id=$SYSTEM_ID sectool -f ../../sectool.json exec tofu init sectool -f ../../sectool.json exec tofu apply --auto-approve