Merge pull request #253 from norcalipa/norcalipa/redis-two-node #4
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Copyright (c) 2024 Isaac Adams | |
# Licensed under the MIT License. See LICENSE file in the project root for full license information. | |
name: Update Redis Deployment (prod) | |
on: | |
push: | |
branches: | |
- main | |
paths-ignore: | |
- '**' | |
- '!.github/workflows/deploy-redis.yml' | |
- '!k8s/redis.yml' | |
jobs: | |
deploy-home-k3s: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
ref: main | |
- name: Set up Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
- name: Set up SSH | |
uses: webfactory/ssh-agent@v0.5.3 | |
with: | |
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} | |
- name: Install Cloudflared | |
run: | | |
sudo mkdir -p --mode=0755 /usr/share/keyrings | |
curl -fsSL https://pkg.cloudflare.com/cloudflare-main.gpg | sudo tee /usr/share/keyrings/cloudflare-main.gpg >/dev/null | |
# Add this repo to your apt repositories | |
echo 'deb [signed-by=/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/cloudflared jammy main' | sudo tee /etc/apt/sources.list.d/cloudflared.list | |
# install cloudflared | |
sudo apt-get update && sudo apt-get install cloudflared | |
- name: Deploy to Kubernetes | |
run: | | |
# Copy redis.yml to the remote system | |
scp -o ProxyCommand='cloudflared access ssh --hostname %h' -o StrictHostKeyChecking=no ./k8s/redis.yml ${{ secrets.SSH_USERNAME }}@${{ secrets.SSH_HOST }}:/tmp/redis.yml | |
# Apply the copied deployment.yml | |
ssh -o ProxyCommand='cloudflared access ssh --hostname %h' -o StrictHostKeyChecking=no ${{ secrets.SSH_USERNAME }}@${{ secrets.SSH_HOST }} <<EOF | |
envsubst < /tmp/redis.yml | k3s kubectl apply -f - | |
EOF |