Files
ci-cd/.gitea/workflows/deploy-caddy.yml
T
2026-08-05 20:56:15 +02:00

92 lines
2.2 KiB
YAML

name: Deploy Caddyfile
on:
workflow_call:
inputs:
vm_ip:
description: Caddy VM IP
required: false
type: string
default: "192.168.100.10"
jump_host:
type: string
default: "212.3.125.242"
jump_port:
type: string
default: "2222"
jump_user:
type: string
default: "jump"
vm_port:
type: string
default: "22"
vm_user:
type: string
default: "debian"
infisical_api_url:
description: "Infisical API URL (for self-hosted instances)"
type: string
required: false
default: "https://secrets.itlab-ffeks.dnu.edu.ua"
infisical_env:
description: "Infisical Environment"
type: string
required: false
secrets:
infisical_cicd_token:
description: "Infisical Service Token for CI/CD secrets"
required: true
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Configure SSH
uses: https://git.itlab-ffeks.dnu.edu.ua/infrastructure/ci-cd/.gitea/actions/configure-homelab-ssh@main
with:
infisical_cicd_token: ${{ secrets.infisical_cicd_token }}
infisical_api_url: ${{ inputs.infisical_api_url }}
infisical_env: ${{ inputs.infisical_env }}
jump_host: ${{ inputs.jump_host }}
jump_port: ${{ inputs.jump_port }}
jump_user: ${{ inputs.jump_user }}
vm_ip: ${{ inputs.vm_ip }}
vm_port: ${{ inputs.vm_port }}
vm_user: ${{ inputs.vm_user }}
ssh_host_alias: caddy
- name: Upload Caddyfile
run: |
scp Caddyfile caddy:/tmp/Caddyfile
- name: Install Caddy configuration
run: |
ssh caddy <<EOF
set -e
sudo mv /tmp/Caddyfile \
/etc/caddy/conf.d/${{ gitea.repository_owner }}.Caddyfile
sudo chown root:root \
/etc/caddy/conf.d/${{ gitea.repository_owner }}.Caddyfile
sudo chmod 644 \
/etc/caddy/conf.d/${{ gitea.repository_owner }}.Caddyfile
sudo caddy validate \
--config /etc/caddy/Caddyfile
sudo systemctl reload caddy
EOF