feat: fully vibecoded configuration
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
name: Deploy Coolify to VPS
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- master
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
env:
|
||||
# Inject secrets directly into Terraform via TF_VAR_ environment variables
|
||||
TF_VAR_ovh_endpoint: "ovh-eu"
|
||||
TF_VAR_ovh_application_key: ${{ secrets.OVH_APPLICATION_KEY }}
|
||||
TF_VAR_ovh_application_secret: ${{ secrets.OVH_APPLICATION_SECRET }}
|
||||
TF_VAR_ovh_consumer_key: ${{ secrets.OVH_CONSUMER_KEY }}
|
||||
TF_VAR_ovh_service_name: ${{ secrets.OVH_SERVICE_NAME }}
|
||||
TF_VAR_ssh_public_key: ${{ secrets.SSH_PUBLIC_KEY }}
|
||||
|
||||
steps:
|
||||
- name: Checkout Code
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Setup Terraform
|
||||
uses: hashicorp/setup-terraform@v2
|
||||
with:
|
||||
terraform_version: "1.5.0"
|
||||
|
||||
- name: Terraform Init
|
||||
run: |
|
||||
terraform init \
|
||||
-backend-config="address=${{ github.server_url }}/api/v1/packages/${{ github.repository_owner }}/terraform/state/coolify" \
|
||||
-backend-config="username=${{ github.actor }}" \
|
||||
-backend-config="password=${{ secrets.GITHUB_TOKEN }}"
|
||||
working-directory: terraform
|
||||
|
||||
- name: Terraform Plan
|
||||
run: terraform plan
|
||||
working-directory: terraform
|
||||
|
||||
- name: Terraform Apply
|
||||
run: terraform apply -auto-approve
|
||||
working-directory: terraform
|
||||
|
||||
- name: Install Ansible
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y ansible
|
||||
|
||||
- name: Configure SSH Private Key
|
||||
run: |
|
||||
mkdir -p ~/.ssh
|
||||
echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa
|
||||
chmod 600 ~/.ssh/id_rsa
|
||||
|
||||
- name: Run Ansible Playbook
|
||||
run: |
|
||||
ansible-playbook playbook.yml --private-key ~/.ssh/id_rsa
|
||||
working-directory: ansible
|
||||
Reference in New Issue
Block a user