62 lines
3.9 KiB
YAML
62 lines
3.9 KiB
YAML
name: Deploy to K3s
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
deploy:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup kubectl
|
|
run: |
|
|
echo "Installing kubectl..."
|
|
curl -LO "https://dl.k8s.io/release/v1.28.4/bin/linux/amd64/kubectl"
|
|
chmod +x kubectl
|
|
mv kubectl /usr/local/bin/
|
|
kubectl version --client
|
|
|
|
- name: Setup kubeconfig
|
|
run: |
|
|
echo "Setting up kubeconfig..."
|
|
mkdir -p /home/runner/.kube
|
|
cat << 'KUBECONFIG_EOF' > /home/runner/.kube/config
|
|
apiVersion: v1
|
|
clusters:
|
|
- cluster:
|
|
certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJkekNDQVIyZ0F3SUJBZ0lCQURBS0JnZ3Foa2pPUFFRREFqQWpNU0V3SHdZRFZRUUREQmhyTTNNdGMyVnkKZG1WeUxXTmhRREUzTnpBMU5ETTVOVE13SGhjTk1qWXdNakE0TURrME5UVXpXaGNOTXpZd01qQTJNRGswTlRVegpXakFqTVNFd0h3WURWUVFEREJock0zTXRjMlZ5ZG1WeUxXTmhRREUzTnpBMU5ETTVOVE13V1RBVEJnY3Foa2pPClBRSUJCZ2dxaGtqT1BRTUJCd05DQUFSVWJYcUJDS0I3eVpBMDFXbm5FcSt1L2d4SWpmYmtQcHhjWXNxWEI4YjkKRTE1RFB1bU1pdmxzR0RXc1NCQXdvT2kxSHdDaXExb2JXeTFlc0FDODZXMk5vMEl3UURBT0JnTlZIUThCQWY4RQpCQU1DQXFRd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZEJnTlZIUTRFRmdRVTUzTFlhMVVYSjVHallxdHQ2NTdYCmg5ZnRtNkF3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUlnR0NGZzFqand4NXF1UXpZV2k4clByMHJiVTE1aVNXdTAKeUdzNmR0dGkzYnNDSVFESUFsTXdKb1F1NG1LNDgwZmFjaVVrZzNQaTBtYndSUk9EcFpYRnRRQzF3Zz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
|
|
server: https://192.168.1.139:6443
|
|
name: default
|
|
contexts:
|
|
- context:
|
|
cluster: default
|
|
user: default
|
|
name: default
|
|
current-context: default
|
|
kind: Config
|
|
preferences: {}
|
|
users:
|
|
- name: default
|
|
user:
|
|
client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJrRENDQVRlZ0F3SUJBZ0lJV2hVUVhDTHZhVG93Q2dZSUtvWkl6ajBFQXdJd0l6RWhNQjhHQTFVRUF3d1kKYXpOekxXTnNhV1Z1ZEMxallVQXhOemN3TlRRek9UVXpNQjRYRFRJMk1ESXdPREE1TkRVMU0xb1hEVEkzTURJdwpPREE1TkRVMU0xb3dNREVYTUJVR0ExVUVDaE1PYzNsemRHVnRPbTFoYzNSbGNuTXhGVEFUQmdOVkJBTVRESE41CmMzUmxiVHBoWkcxcGJqQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJCclhtcEMwYXlKQjM3dU0KV2xDR2I5V3JhYXBWbHJwVmxpcFBOd0QzOUpMV2JMQTI2WElSWmJLRXJ2NUNzNFBWT2xBblg4TnZBaGN5UjBnSApwMFhvcWtTalNEQkdNQTRHQTFVZER3RUIvd1FFQXdJRm9EQVRCZ05WSFNVRUREQUtCZ2dyQmdFRkJRY0RBakFmCkJnTlZIU01FR0RBV2dCU09GS0ZReWxvdkcwTzdiaENncEIvNDF4RlZ3REFLQmdncWhrak9QUVFEQWdOSEFEQkUKQWlBZVpCRUJXNnhhRDVyd2N3K3RJY05tZ2t4ZGl5ZXRRQng4YW9pMFVnZUIvQUlnYkd1MldNREdhVHpUd0tOUwp3OEVYTFBvN3RuTUo5bmFIckZpTjZ0YmlwYTA9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJlRENDQVIyZ0F3SUJBZ0lCQURBS0JnZ3Foa2pPUFFRREFqQWpNU0V3SHdZRFZRUUREQmhyTTNNdFkyeHAKWlc1MExXTmhRREUzTnpBMU5ETTVOVE13SGhjTk1qWXdNakE0TURrME5UVXpXaGNOTXpZd01qQTJNRGswTlRVegpXakFqTVNFd0h3WURWUVFEREJock0zTXRZMnhwWlc1MExXTmhRREUzTnpBMU5ETTVOVE13V1RBVEJnY3Foa2pPClBRSUJCZ2dxaGtqT1BRTUJCd05DQUFSMUZzdENRS2NnMEt6dFhmK1hxZVpQNTBIdkVHbURHWHJCeXJaZC9PdHYKd0Z4ZVBzZ1AyUzZGa1VKSWt3K1J3NFdxelAyMktjd1BER2JyVXFuNUhaTE5vMEl3UURBT0JnTlZIUThCQWY4RQpCQU1DQXFRd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZEJnTlZIUTRFRmdRVWpoU2hVTXBhTHh0RHUyNFFvS1FmCitOY1JWY0F3Q2dZSUtvWkl6ajBFQXdJRFNRQXdSZ0loQUsrVjNHM3dUVjVFSjYxNVNXeUlvd3NpelFkTVZQS1kKaHNHamVqelQzM080QWlFQXBQTm1HeHEvbXBzd3ZUejdCanBtMkMyUGRJeGNkMFhGTG9OL2d2Z0ZrQlk9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
|
|
client-key-data: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1IY0NBUUVFSUloY1kvdnArcW9Sd3J3QnY0K1BlNzdnc3dwSGlFSjRzM1ZOdFBmZ3RrZ1lvQW9HQ0NxR1NNNDkKQXdFSG9VUURRZ0FFR3RlYWtMUnJJa0hmdTR4YVVJWnYxYXRwcWxXV3VsV1dLazgzQVBmMGt0WnNzRGJwY2hGbApzb1N1L2tLemc5VTZVQ2RmdzI4Q0Z6SkhTQWVuUmVpcVJBPT0KLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQo=
|
|
KUBECONFIG_EOF
|
|
chmod 600 /home/runner/.kube/config
|
|
kubectl config view
|
|
|
|
- name: Deploy to K3s
|
|
run: |
|
|
echo "Deploying to K3s cluster..."
|
|
kubectl apply -f k8s/deployment.yml
|
|
|
|
- name: Verify deployment
|
|
run: |
|
|
echo "Verifying deployment..."
|
|
kubectl get pods -n default
|
|
kubectl get deployments -n default
|