40 lines
4.8 KiB
YAML
40 lines
4.8 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 and kubeconfig
|
|
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
|
|
|
|
echo "Setting up kubeconfig..."
|
|
mkdir -p /home/runner/.kube
|
|
echo "YXBpVmVyc2lvbjogdjEKY2x1c3RlcnM6Ci0gY2x1c3RlcjoKICAgIGNlcnRpZmljYXRlLWF1dGhvcml0eS1kYXRhOiBMUzB0TFMxQ1JVZEpUaUJEUlZKVVNVWkpRMEZVUlMwdExTMHRDazFKU1VKa2VrTkRRVkl5WjBGM1NVSkJaMGxDUVVSQlMwSm5aM0ZvYTJwUFVGRlJSRUZxUVdwTlUwVjNTSGRaUkZaUlVVUkVRbWh5VFROTmRHTXlWbmtLWkcxV2VVeFhUbWhSUkVVelRucEJNVTVFVFRWT1ZFMTNTR2hqVGsxcVdYZE5ha0UwVFVSck1FNVVWWHBYYUdOT1RYcFpkMDFxUVRKTlJHc3dUbFJWZWdwWGFrRnFUVk5GZDBoM1dVUldVVkZFUkVKb2NrMHpUWFJqTWxaNVpHMVdlVXhYVG1oUlJFVXpUbnBCTVU1RVRUVk9WRTEzVjFSQlZFSm5ZM0ZvYTJwUENsQlJTVUpDWjJkeGFHdHFUMUJSVFVKQ2QwNURRVUZTVldKWWNVSkRTMEkzZVZwQk1ERlhibTVGY1N0MUwyZDRTV3BtWW10UWNIaGpXWE54V0VJNFlqa0tSVEUxUkZCMWJVMXBkbXh6UjBSWGMxTkNRWGR2VDJreFNIZERhWEV4YjJKWGVURmxjMEZET0RaWE1rNXZNRWwzVVVSQlQwSm5UbFpJVVRoQ1FXWTRSUXBDUVUxRFFYRlJkMFIzV1VSV1VqQlVRVkZJTDBKQlZYZEJkMFZDTDNwQlpFSm5UbFpJVVRSRlJtZFJWVFV6VEZsaE1WVllTalZIYWxseGRIUTJOVGRZQ21nNVpuUnROa0YzUTJkWlNVdHZXa2w2YWpCRlFYZEpSRk5CUVhkU1VVbG5SME5HWnpGcWFuZDROWEYxVVhwWlYyazRjbEJ5TUhKaVZURTFhVk5YZFRBS2VVZHpObVIwZEdrelluTkRTVkZFU1VGc1RYZEtiMUYxTkcxTE5EZ3dabUZqYVZWclp6TlFhVEJ0WW5kU1VrOUVjRnBZUm5SUlF6RjNaejA5Q2kwdExTMHRSVTVFSUVORlVsUkpSa2xEUVZSRkxTMHRMUzBLCiAgICBzZXJ2ZXI6IGh0dHBzOi8vMTkyLjE2OC4xLjEzOTo2NDQzCiAgbmFtZTogZGVmYXVsdApjb250ZXh0czoKLSBjb250ZXh0OgogICAgY2x1c3RlcjogZGVmYXVsdAogICAgdXNlcjogZGVmYXVsdAogIG5hbWU6IGRlZmF1bHQKY3VycmVudC1jb250ZXh0OiBkZWZhdWx0CmtpbmQ6IENvbmZpZwpwcmVmZXJlbmNlczoge30KdXNlcnM6Ci0gbmFtZTogZGVmYXVsdAogIHVzZXI6CiAgICBjbGllbnQtY2VydGlmaWNhdGUtZGF0YTogTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVSnJSRU5EUVZSbFowRjNTVUpCWjBsSlYyaFZVVmhEVEhaaFZHOTNRMmRaU1V0dldrbDZhakJGUVhkSmQwbDZSV2hOUWpoSFFURlZSVUYzZDFrS1lYcE9la3hYVG5OaFYxWjFaRU14YWxsVlFYaE9lbU4zVGxSUmVrOVVWWHBOUWpSWVJGUkpNazFFU1hkUFJFRTFUa1JWTVUweGIxaEVWRWt6VFVSSmR3cFBSRUUxVGtSVk1VMHhiM2ROUkVWWVRVSlZSMEV4VlVWRGFFMVBZek5zZW1SSFZuUlBiVEZvWXpOU2JHTnVUWGhHVkVGVVFtZE9Wa0pCVFZSRVNFNDFDbU16VW14aVZIQm9Xa2N4Y0dKcVFscE5RazFIUW5seFIxTk5ORGxCWjBWSFEwTnhSMU5OTkRsQmQwVklRVEJKUVVKQ2NsaHRjRU13WVhsS1FqTTNkVTBLVjJ4RFIySTVWM0poWVhCV2JISndWbXhwY0ZCT2QwUXpPVXBNVjJKTVFUSTJXRWxTV21KTFJYSjJOVU56TkZCV1QyeEJibGc0VG5aQmFHTjVVakJuU0Fwd01GaHZjV3RUYWxORVFrZE5RVFJIUVRGVlpFUjNSVUl2ZDFGRlFYZEpSbTlFUVZSQ1owNVdTRk5WUlVSRVFVdENaMmR5UW1kRlJrSlJZMFJCYWtGbUNrSm5UbFpJVTAxRlIwUkJWMmRDVTA5R1MwWlJlV3h2ZGtjd1R6ZGlhRU5uY0VJdk5ERjRSbFozUkVGTFFtZG5jV2hyYWs5UVVWRkVRV2RPU0VGRVFrVUtRV2xCWlZwQ1JVSlhObmhoUkRWeWQyTjNLM1JKWTA1dFoydDRaR2w1WlhSUlFuZzRZVzlwTUZWblpVSXZRVWxuWWtkMU1sZE5SRWRoVkhwVWQwdE9Vd3AzT0VWWVRGQnZOM1J1VFVvNWJtRklja1pwVGpaMFltbHdZVEE5Q2kwdExTMHRSVTVFSUVORlVsUkpSa2xEUVZSRkxTMHRMUzBLTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVSmxSRU5EUVZJeVowRjNTVUpCWjBsQ1FVUkJTMEpuWjNGb2EycFBVRkZSUkVGcVFXcE5VMFYzU0hkWlJGWlJVVVJFUW1oeVRUTk5kRmt5ZUhBS1dsYzFNRXhYVG1oUlJFVXpUbnBCTVU1RVRUVk9WRTEzU0doalRrMXFXWGROYWtFMFRVUnJNRTVVVlhwWGFHTk9UWHBaZDAxcVFUSk5SR3N3VGxSVmVncFhha0ZxVFZORmQwaDNXVVJXVVZGRVJFSm9jazB6VFhSWk1uaHdXbGMxTUV4WFRtaFJSRVV6VG5wQk1VNUVUVFZPVkUxM1YxUkJWRUpuWTNGb2EycFBDbEJSU1VKQ1oyZHhhR3RxVDFCUlRVSkNkMDVEUVVGU01VWnpkRU5SUzJObk1FdDZkRmhtSzFoeFpWcFFOVEJJZGtWSGJVUkhXSEpDZVhKYVpDOVBkSFlLZDBaNFpWQnpaMUF5VXpaR2ExVktTV3QzSzFKM05GZHhlbEF5TWt0amQxQkVSMkp5VlhGdU5VaGFURTV2TUVsM1VVUkJUMEpuVGxaSVVUaENRV1k0UlFwQ1FVMURRWEZSZDBSM1dVUldVakJVUVZGSUwwSkJWWGRCZDBWQ0wzcEJaRUpuVGxaSVVUUkZSbWRSVldwb1UyaFZUWEJoVEhoMFJIVXlORkZ2UzFGbUNpdE9ZMUpXWTBGM1EyZFpTVXR2V2tsNmFqQkZRWGRKUkZOUlFYZFNaMGxvUVVzclZqTkhNM2RVVmpWRlNqWXhOVk5YZVVsdmQzTnBlbEZrVFZaUVMxa0thSE5IYW1WcWVsUXpNMDgwUVdsRlFYQlFUbTFIZUhFdmJYQnpkM1pVZWpkQ2FuQnRNa015VUdSSmVHTmtNRmhHVEc5T0wyZDJaMFpyUWxrOUNpMHRMUzB0UlU1RUlFTkZVbFJKUmtsRFFWUkZMUzB0TFMwSwogICAgY2xpZW50LWtleS1kYXRhOiBMUzB0TFMxQ1JVZEpUaUJGUXlCUVVrbFdRVlJGSUV0RldTMHRMUzB0Q2sxSVkwTkJVVVZGU1Vsb1kxa3ZkbkFyY1c5U2QzSjNRblkwSzFCbE56ZG5jM2R3U0dsRlNqUnpNMVpPZEZCbVozUnJaMWx2UVc5SFEwTnhSMU5OTkRrS1FYZEZTRzlWVVVSUlowRkZSM1JsWVd0TVVuSkphMGhtZFRSNFlWVkpXbll4WVhSd2NXeFhWM1ZzVjFkTGF6Z3pRVkJtTUd0MFduTnpSR0p3WTJoR2JBcHpiMU4xTDJ0TGVtYzVWVFpWUTJSbWR6STRRMFo2U2toVFFXVnVVbVZwY1ZKQlBUMEtMUzB0TFMxRlRrUWdSVU1nVUZKSlZrRlVSU0JMUlZrdExTMHRMUW89Cg==" | base64 -d > /home/runner/.kube/config
|
|
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
|