Skip to content

add homebrew installation #391

add homebrew installation

add homebrew installation #391

Workflow file for this run

name: Apply
on:
push:
branches:
- main
paths:
- '.github/**'
- 'terraform/**'
- 'ansible/**'
workflow_dispatch:
jobs:
validate:
runs-on: ubuntu-22.04
steps:
- uses: hashicorp/setup-terraform@v3
with:
cli_config_credentials_token: ${{ secrets.TERRAFORM_TOKEN }}
terraform_version: 1.6.3
terraform_wrapper: false
- uses: actions/checkout@v4
- run: |
echo "${{ secrets.KUBENODE_SSH_PRIVATE_KEY }}" > kubenode_ssh.key
chmod 0400 kubenode_ssh.key
echo "${{ secrets.KUBENODE_SSH_PUBLIC_KEY }}" > kubenode_ssh.key.pub
chmod 0400 kubenode_ssh.key.pub
- run: |
terraform init
working-directory: ./terraform
- run: |
terraform validate -no-color
working-directory: ./terraform
env:
TF_VAR_CLOUDFLARE_APITOKEN: ${{ secrets.TF_VAR_CLOUDFLARE_APITOKEN }}
TF_VAR_HCLOUD_TOKEN: ${{ secrets.TF_VAR_HCLOUD_TOKEN }}
- run: |
ansible-galaxy install -r requirements.yaml
working-directory: ./ansible
- run: |
ansible-playbook kubenodes.yaml \
--inventory ../inventory.ini \
--verbose \
--private-key ../kubenode_ssh.key \
--check
working-directory: ./ansible
env:
TAILSCALE_AUTH_TOKEN: ${{ secrets.TAILSCALE_AUTH_TOKEN }}
TRANSCRYPT_PASSWORD: ${{ secrets.TRANSCRYPT_PASSWORD }}
GH_TOKEN_FOR_FLUX: ${{ secrets.GH_TOKEN_FOR_FLUX }}
AGE_KEY: ${{ secrets.AGE_KEY }}
CLUSTER_NAME: pegasus
plan:
needs: validate
runs-on: ubuntu-22.04
concurrency: terraform-state
steps:
- uses: hashicorp/setup-terraform@v3
with:
cli_config_credentials_token: ${{ secrets.TERRAFORM_TOKEN }}
terraform_version: 1.6.3
terraform_wrapper: false
- uses: actions/checkout@v4
- run: |
echo "${{ secrets.KUBENODE_SSH_PRIVATE_KEY }}" > kubenode_ssh.key
chmod 0400 kubenode_ssh.key
echo "${{ secrets.KUBENODE_SSH_PUBLIC_KEY }}" > kubenode_ssh.key.pub
chmod 0400 kubenode_ssh.key.pub
- run: |
terraform init
working-directory: ./terraform
- run: |
terraform plan \
-input=false \
-no-color
working-directory: ./terraform
env:
TF_VAR_CLOUDFLARE_APITOKEN: ${{ secrets.TF_VAR_CLOUDFLARE_APITOKEN }}
TF_VAR_HCLOUD_TOKEN: ${{ secrets.TF_VAR_HCLOUD_TOKEN }}
apply:
needs: plan
runs-on: ubuntu-22.04
concurrency: ${{ github.workflow }}-terraform
steps:
- uses: hashicorp/setup-terraform@v3
with:
cli_config_credentials_token: ${{ secrets.TERRAFORM_TOKEN }}
terraform_version: 1.6.3
terraform_wrapper: false
- uses: actions/checkout@v4
- run: |
echo "${{ secrets.KUBENODE_SSH_PRIVATE_KEY }}" > kubenode_ssh.key
chmod 0400 kubenode_ssh.key
echo "${{ secrets.KUBENODE_SSH_PUBLIC_KEY }}" > kubenode_ssh.key.pub
chmod 0400 kubenode_ssh.key.pub
- run: |
terraform init
working-directory: ./terraform
- run: |
terraform apply \
-input=false \
-no-color \
-auto-approve
working-directory: ./terraform
env:
TF_VAR_CLOUDFLARE_APITOKEN: ${{ secrets.TF_VAR_CLOUDFLARE_APITOKEN }}
TF_VAR_HCLOUD_TOKEN: ${{ secrets.TF_VAR_HCLOUD_TOKEN }}
- run: |
ansible-galaxy install -r requirements.yaml
working-directory: ./ansible
- run: |
ansible-playbook kubenodes.yaml \
--inventory inventory.yaml \
--verbose \
--private-key ../kubenode_ssh.key
working-directory: ./ansible
env:
TAILSCALE_AUTH_TOKEN: ${{ secrets.TAILSCALE_AUTH_TOKEN }}
TRANSCRYPT_PASSWORD: ${{ secrets.TRANSCRYPT_PASSWORD }}
GH_TOKEN_FOR_FLUX: ${{ secrets.GH_TOKEN_FOR_FLUX }}
AGE_KEY: ${{ secrets.AGE_KEY }}
CLUSTER_NAME: pegasus