42 lines
1.3 KiB
YAML
42 lines
1.3 KiB
YAML
|
on:
|
||
|
workflow_call:
|
||
|
inputs:
|
||
|
deployment-file:
|
||
|
type: string
|
||
|
default: k8s/deployment.yaml
|
||
|
secrets:
|
||
|
PALTIVERSE_K8S:
|
||
|
required: true
|
||
|
TAILSCALE_TOKEN:
|
||
|
required: true
|
||
|
|
||
|
jobs:
|
||
|
deploy:
|
||
|
runs-on: ubuntu-latest
|
||
|
container: alpine:3
|
||
|
steps:
|
||
|
- run: apk add tailscale kubectl bash curl envsubst nodejs npm git
|
||
|
name: Install dependencies
|
||
|
|
||
|
- uses: actions/checkout@v3
|
||
|
|
||
|
- name: Create kube directory
|
||
|
run: mkdir /opt/kube
|
||
|
- name: Bootstrap kubeconfig
|
||
|
run: echo "$PALTIVERSE_K8S" | base64 -d > /opt/kube/config
|
||
|
env:
|
||
|
PALTIVERSE_K8S: ${{ secrets.PALTIVERSE_K8S }}
|
||
|
- name: Add tailscale proxy to kubeconfig
|
||
|
run: kubectl config set clusters.default.proxy-url http://localhost:1055
|
||
|
env:
|
||
|
KUBECONFIG: /opt/kube/config
|
||
|
|
||
|
- name: Configure tailscale
|
||
|
run: tailscaled --tun=userspace-networking --socks5-server=localhost:1055 --outbound-http-proxy-listen=localhost:1055 & tailscale up --authkey="${{ secrets.TAILSCALE_TOKEN }}" --advertise-tags=tag:gitea-runners
|
||
|
|
||
|
- name: Run kubectl
|
||
|
run: envsubst < ${{ inputs.deployment-file }} | kubectl apply -f -
|
||
|
env:
|
||
|
KUBECONFIG: /opt/kube/config
|
||
|
CI_COMMIT_SHA: ${{ github.sha }}
|