name: setup postgresql on: workflow_dispatch: branches: [ 'main' ] env: DNS_AK: ${{ secrets.DNS_AK }} DNS_SK: ${{ secrets.DNS_SK }} SSH_PUBLIC_KEY: ${{ secrets.SSH_PUBLIC_KEY }} SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_KEY }} PULUMI_CONFIG_PASSPHRASE: ${{ secrets.PULUMI_PASS }} PULUMI_DISABLE_CI_DETECTION: true AWS_REGION: ap-east-1 defaults: run: working-directory: ./playbook jobs: postgresql: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: run playbook shell: bash run: | export ANSIBLE_HOST_KEY_CHECKING=False sudo apt install jq ansible -y sudo rm -rvf /home/runner/.pulumi/ curl -o setup.sh https://get.pulumi.com && sh setup.sh --version 3.57.0 pulumi login s3://pulumi-status pulumi stack select dev db_server_public_ip=`pulumi stack output --json | jq '.db_server_public_ip'` k3s_server_public_ip=`pulumi stack output --json | jq '.k3s_server_public_ip'` mkdir -pv ~/.ssh/ cat > ~/.ssh/id_rsa << EOF ${SSH_PRIVATE_KEY} EOF sudo chmod 0400 ~/.ssh/id_rsa md5sum ~/.ssh/id_rsa cat > hosts/inventory << EOF [master] k3s-server ansible_host=$k3s_server_public_ip [node] db-server ansible_host=$db_server_public_ip [all:vars] ansible_port=22 ansible_ssh_user=ubuntu ansible_ssh_private_key_file=~/.ssh/id_rsa ansible_host_key_checking=False dns_ak=$DNS_AK dns_sk=$DNS_SK lb_ip=$k3s_server_public_ip EOF ansible-playbook -i hosts/inventory jobs/init_postgresql -D