From 774f71337c2a203edf8f62238cde9946da12bfec Mon Sep 17 00:00:00 2001 From: InAnYan Date: Tue, 4 Aug 2026 23:35:10 +0200 Subject: [PATCH] big update --- .gitea/workflows/deploy-caddy.yml | 31 +++++++++--- .gitea/workflows/deploy-docker-compose.yml | 59 +++++++++++++++++++--- .gitea/workflows/deploy-infrastructure.yml | 48 +++++++++++++----- 3 files changed, 110 insertions(+), 28 deletions(-) diff --git a/.gitea/workflows/deploy-caddy.yml b/.gitea/workflows/deploy-caddy.yml index 1931446..b3285b2 100644 --- a/.gitea/workflows/deploy-caddy.yml +++ b/.gitea/workflows/deploy-caddy.yml @@ -29,11 +29,15 @@ on: type: string default: "debian" - secrets: - jump_ssh_key: - required: true + infisical_api_url: + description: "Infisical API URL (for self-hosted instances)" + type: string + required: false + default: "https://secrets.itlab-ffeks.dnu.edu.ua" - vm_ssh_key: + secrets: + infisical_cicd_token: + description: "Infisical Service Token for CI/CD secrets" required: true @@ -50,13 +54,26 @@ jobs: mkdir -p ~/.ssh chmod 700 ~/.ssh - echo "${{ secrets.jump_ssh_key }}" > ~/.ssh/jump_key + export INFISICAL_TOKEN="${{ secrets.infisical_cicd_token }}" + export INFISICAL_API_URL="${{ inputs.infisical_api_url }}" + export INFISICAL_DOMAIN="$INFISICAL_API_URL" + export INFISICAL_DISABLE_UPDATE_CHECK=true + + echo "Fetching SSH keys from Infisical..." + JUMP_KEY=$(infisical secrets get JUMP_SSH_KEY --plain) + VM_KEY=$(infisical secrets get VM_SSH_KEY --plain) + + if [ -z "$JUMP_KEY" ] || [ -z "$VM_KEY" ]; then + echo "Error: SSH keys retrieved from Infisical are empty!" >&2 + exit 1 + fi + + echo "$JUMP_KEY" > ~/.ssh/jump_key chmod 600 ~/.ssh/jump_key - echo "${{ secrets.vm_ssh_key }}" > ~/.ssh/vm_key + echo "$VM_KEY" > ~/.ssh/vm_key chmod 600 ~/.ssh/vm_key - cat > ~/.ssh/config < ~/.ssh/jump_key + export INFISICAL_TOKEN="${{ secrets.infisical_cicd_token }}" + export INFISICAL_API_URL="${{ inputs.infisical_api_url }}" + export INFISICAL_DOMAIN="$INFISICAL_API_URL" + export INFISICAL_DISABLE_UPDATE_CHECK=true + + echo "Fetching SSH keys from Infisical..." + JUMP_KEY=$(infisical secrets get JUMP_SSH_KEY --plain) + VM_KEY=$(infisical secrets get VM_SSH_KEY --plain) + + if [ -z "$JUMP_KEY" ] || [ -z "$VM_KEY" ]; then + echo "Error: SSH keys retrieved from Infisical are empty!" >&2 + exit 1 + fi + + echo "$JUMP_KEY" > ~/.ssh/jump_key chmod 600 ~/.ssh/jump_key - echo "${{ secrets.vm_ssh_key }}" > ~/.ssh/vm_key + echo "$VM_KEY" > ~/.ssh/vm_key chmod 600 ~/.ssh/vm_key cat > ~/.ssh/config <> $GITHUB_ENV + echo "INFRASTRUCTURE_TOKEN=$INFRASTRUCTURE_TOKEN" >> $GITHUB_ENV + echo "TF_HTTP_PASSWORD=$INFRASTRUCTURE_TOKEN" >> $GITHUB_ENV + - name: Configure Git for private modules - run: git config --global url."https://oauth2:${{ secrets.INFRASTRUCTURE_TOKEN }}@git.itlab-ffeks.dnu.edu.ua".insteadOf "https://git.itlab-ffeks.dnu.edu.ua" + run: git config --global url."https://oauth2:$INFRASTRUCTURE_TOKEN@git.itlab-ffeks.dnu.edu.ua".insteadOf "https://git.itlab-ffeks.dnu.edu.ua" - name: Setup OpenTofu uses: opentofu/setup-opentofu@v1