-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.envrc
28 lines (24 loc) · 1.04 KB
/
.envrc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
use flake
generate_kubeconfig() {
yq eval '
.clusters[0].cluster."certificate-authority-data" = env(K3S_CERTIFICATE_AUTHORITY_DATA) |
.users[0].user."client-certificate-data" = env(K3S_CLIENT_CERTIFICATE_DATA) |
.users[0].user."client-key-data" = env(K3S_CLIENT_KEY_DATA)
' kubeconfig-template.yaml > kubeconfig.yaml
echo "kubeconfig.yaml has been generated."
}
export AWS_ENDPOINT_URL_S3=https://c38e6051dc2ae9ba68ba6144385b3f3e.r2.cloudflarestorage.com/terraform-state-hetzner-k3s-cluster
export KUBECONFIG="${PWD}/kubeconfig.yaml"
if [ -f .envrc-secrets ]; then
source_env .envrc-secrets
fi
# Check if kubectl.yaml needs to be regenerated
if [ ! -f kubeconfig.yaml ] || \
[ -f kubeconfig.yaml -a \
"$(grep -c "$K3S_CERTIFICATE_AUTHORITY_DATA" kubeconfig.yaml 2>/dev/null)" -eq 0 -o \
"$(grep -c "$K3S_CLIENT_CERTIFICATE_DATA" kubeconfig.yaml 2>/dev/null)" -eq 0 -o \
"$(grep -c "$K3S_CLIENT_KEY_DATA" kubeconfig.yaml 2>/dev/null)" -eq 0 ]; then
generate_kubeconfig
else
echo "kubeconfig.yaml is up to date."
fi