78 lines
No EOL
2.8 KiB
YAML
78 lines
No EOL
2.8 KiB
YAML
name: 'Setup Environment'
|
|
description: 'Create environment files and variables for deployment'
|
|
author: 'Portfolio CI/CD'
|
|
|
|
inputs:
|
|
release-type:
|
|
description: 'Release type (staging or prod)'
|
|
required: true
|
|
domain:
|
|
description: 'Domain name'
|
|
required: true
|
|
android-sms-gateway-url:
|
|
description: 'Android SMS Gateway URL'
|
|
required: true
|
|
android-sms-gateway-login:
|
|
description: 'Android SMS Gateway login'
|
|
required: true
|
|
android-sms-gateway-password:
|
|
description: 'Android SMS Gateway password'
|
|
required: true
|
|
my-phone-number:
|
|
description: 'Phone number for SMS delivery'
|
|
required: true
|
|
super-secret-salt:
|
|
description: 'Secret salt for TOTP generation'
|
|
required: true
|
|
wireguard-allowed-ips:
|
|
description: 'WireGuard allowed IPs'
|
|
required: true
|
|
wireguard-private-key:
|
|
description: 'WireGuard private key'
|
|
required: true
|
|
wireguard-addresses:
|
|
description: 'WireGuard addresses'
|
|
required: true
|
|
wireguard-public-key:
|
|
description: 'WireGuard public key'
|
|
required: true
|
|
wireguard-endpoint-host:
|
|
description: 'WireGuard endpoint host'
|
|
required: true
|
|
wireguard-endpoint-port:
|
|
description: 'WireGuard endpoint port'
|
|
required: true
|
|
prod:
|
|
description: 'Whether this is a production deployment (true/false)'
|
|
required: false
|
|
default: 'false'
|
|
|
|
outputs:
|
|
env-file:
|
|
description: 'Path to the created .env file'
|
|
value: '.env'
|
|
|
|
runs:
|
|
using: 'composite'
|
|
steps:
|
|
- name: Create .env from secrets and environment variables
|
|
shell: bash
|
|
run: |
|
|
echo "🔧 Creating environment configuration..."
|
|
|
|
echo "DOMAIN=\"${{ inputs.domain }}\"" > .env
|
|
echo "NUXT_ANDROID_SMS_GATEWAY_URL=\"${{ inputs.android-sms-gateway-url }}\"" >> .env
|
|
echo "NUXT_ANDROID_SMS_GATEWAY_LOGIN=\"${{ inputs.android-sms-gateway-login }}\"" >> .env
|
|
echo "NUXT_ANDROID_SMS_GATEWAY_PASSWORD=\"${{ inputs.android-sms-gateway-password }}\"" >> .env
|
|
echo "NUXT_MY_PHONE_NUMBER=\"${{ inputs.my-phone-number }}\"" >> .env
|
|
echo "NUXT_SUPER_SECRET_SALT=\"${{ inputs.super-secret-salt }}\"" >> .env
|
|
echo "WIREGUARD_ALLOWED_IPS=\"${{ inputs.wireguard-allowed-ips }}\"" >> .env
|
|
echo "WIREGUARD_PRIVATE_KEY=\"${{ inputs.wireguard-private-key }}\"" >> .env
|
|
echo "WIREGUARD_ADDRESSES=\"${{ inputs.wireguard-addresses }}\"" >> .env
|
|
echo "WIREGUARD_PUBLIC_KEY=\"${{ inputs.wireguard-public-key }}\"" >> .env
|
|
echo "WIREGUARD_ENDPOINT_HOST=\"${{ inputs.wireguard-endpoint-host }}\"" >> .env
|
|
echo "WIREGUARD_ENDPOINT_PORT=\"${{ inputs.wireguard-endpoint-port }}\"" >> .env
|
|
echo "RELEASE_TYPE=\"${{ inputs.release-type }}\"" >> .env
|
|
echo "PROD=\"${{ inputs.prod }}\"" >> .env
|
|
|
|
echo "✅ Environment file created with $(wc -l < .env) variables" |