Updated scripts

This commit is contained in:
Dreaded_X 2024-12-29 04:33:44 +01:00
parent 0f8c6fb0b8
commit 0161ddc98a
Signed by: Dreaded_X
GPG Key ID: FA5F485356B0D2D4
3 changed files with 24 additions and 9 deletions

View File

@ -1,6 +1,7 @@
#!/bin/bash #!/bin/bash
set -e set -e
set -u set -u
set -x
SCRIPT_DIR=$(dirname -- "$(readlink -f -- "$BASH_SOURCE")") SCRIPT_DIR=$(dirname -- "$(readlink -f -- "$BASH_SOURCE")")
source ${SCRIPT_DIR}/helper.sh source ${SCRIPT_DIR}/helper.sh
@ -14,20 +15,24 @@ add_b2_key_to_k3s_env
start_k3s start_k3s
# Copy over kubeconfig # Copy over kubeconfig
ssh -t $REMOTE "sudo -S cat /etc/rancher/k3s/k3s.yaml" > ~/.kube/config ssh -t $REMOTE "sudo -S cp /etc/rancher/k3s/k3s.yaml ~/k3s.yaml && sudo chown titan:titan ~/k3s.yaml"
scp $REMOTE:~/k3s.yaml ~/.kube/config
ssh -t $REMOTE "rm ~/k3s.yaml"
# Update up to correct ip # Update up to correct ip
sed -i -e "s/127.0.0.1/$REMOTE/" ~/.kube/config sed -i -e "s/127.0.0.1/$REMOTE_IP/" ~/.kube/config
add_interface_label
# Add sops secret to the cluster # Add sops secret to the cluster
kubectl apply -f namespace.yaml kubectl apply -f ${SCRIPT_DIR}/namespace.yaml
sops decrypt ./sops-gpg.yaml | kubectl apply -f - sops decrypt ${SCRIPT_DIR}/sops-gpg.yaml | kubectl apply -f -
# Bootstrap flux on the node # Bootstrap flux on the node
flux bootstrap git --url ssh://git@huizinga.dev/Dreaded_X/flux-infra --branch=master --path=clusters/titan.lan.huizinga.dev --components source-controller,kustomize-controller,helm-controller flux bootstrap git --url ssh://git@huizinga.dev/Dreaded_X/flux-infra --branch=master --path=clusters/titan.lan.huizinga.dev --components source-controller,kustomize-controller,helm-controller
# Update the ip to the control plane virtual ip # Update the ip to the control plane virtual ip
sed -i -e "s/$REMOTE/$VIP/" ~/.kube/config sed -i -e "s/$REMOTE_IP/$VIP/" ~/.kube/config
sleep 5 sleep 5

View File

@ -1,8 +1,9 @@
VIP=10.0.0.200 VIP=10.0.2.1
REMOTE_USER=titan REMOTE_USER=titan
REMOTE_IP=$1
function set_remote() { function set_remote() {
REMOTE="$REMOTE_USER@$1" REMOTE="$REMOTE_USER@$REMOTE_IP"
} }
function get_from_secret() { function get_from_secret() {
@ -10,7 +11,7 @@ function get_from_secret() {
} }
function get_b2_key() { function get_b2_key() {
B2_SECRET_FILE=${SCRIPT_DIR}/common/postgres/b2-access-key.yaml B2_SECRET_FILE=${SCRIPT_DIR}/../common/postgres/b2-access-key.yaml
get_from_secret $B2_SECRET_FILE ACCESS_KEY_ID get_from_secret $B2_SECRET_FILE ACCESS_KEY_ID
get_from_secret $B2_SECRET_FILE ACCESS_SECRET_KEY get_from_secret $B2_SECRET_FILE ACCESS_SECRET_KEY
} }
@ -27,3 +28,11 @@ EOF"
function start_k3s() { function start_k3s() {
ssh -t $REMOTE "sudo -S systemctl start k3s" ssh -t $REMOTE "sudo -S systemctl start k3s"
} }
function add_interface_label() {
HOSTNAME=$(ssh -t $REMOTE "hostname" | tr -d "\n\r")
echo "Please enter the vip interface name, (likely in the form: enpXs0):"
read INTERFACE
kubectl label nodes $HOSTNAME vip_interface=$INTERFACE --overwrite
}

View File

@ -1,6 +1,7 @@
#!/bin/bash #!/bin/bash
set -e set -e
set -u set -u
set -x
SCRIPT_DIR=$(dirname -- "$(readlink -f -- "$BASH_SOURCE")") SCRIPT_DIR=$(dirname -- "$(readlink -f -- "$BASH_SOURCE")")
source ${SCRIPT_DIR}/helper.sh source ${SCRIPT_DIR}/helper.sh
@ -17,6 +18,6 @@ ssh -t $REMOTE "curl -sfL https://get.k3s.io | K3S_TOKEN=$TOKEN INSTALL_K3S_SKIP
add_b2_key_to_k3s_env add_b2_key_to_k3s_env
start_k3s start_k3s
sleep 5 add_interface_label
kubectl get nodes kubectl get nodes