Skip to content

Commit 5979912

Browse files
committed
add airgap env support
1 parent f548961 commit 5979912

20 files changed

+670
-204
lines changed

01_prepare_assets.sh

Lines changed: 169 additions & 61 deletions
Large diffs are not rendered by default.

02_create_bootstrap_cluster.sh

Lines changed: 56 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,37 +17,60 @@ check_if_supported_os
1717
# TODO: check if the bootstrap cluster already exist.
1818
rm -rf ~/.kube/config
1919

20-
check_if_supported_os
20+
GUM_ASSETS_DIR="$ASSETS_DIR/gum/$(ls $ASSETS_DIR/gum | grep v)"
21+
sudo cp $GUM_ASSETS_DIR/gum /usr/local/bin
2122

22-
log_info "Installing Docker-ce"
23-
# TODO: install only when not installed
23+
log_info "Installing container engine"
2424
case $OS_ID in
2525
"rocky" | "centos" | "rhel")
26-
sudo dnf localinstall $ASSETS_DIR/docker-ce/*.rpm
26+
sudo dnf install -y podman
2727
;;
2828

2929
"ubuntu" )
30-
sudo dpkg -i $ASSETS_DIR/docker-ce/*.deb
30+
sudo apt-get -y install podman
3131
;;
3232
esac
33-
sudo systemctl start docker
34-
sudo docker load -i $ASSETS_DIR/kind-node-image.tar.gz
3533

36-
log_info "Creating bootstrap cluster"
34+
for img in $(ls $ASSETS_DIR/images); do
35+
sudo podman load -i $ASSETS_DIR/images/$img
36+
done
37+
3738

3839
sudo cp $ASSETS_DIR/kubectl /usr/local/bin
3940
sudo chmod +x /usr/local/bin/kubectl
4041
sudo cp $KIND_ASSETS_DIR/kind-linux-amd64 /usr/local/bin/kind
4142
sudo chmod +x /usr/local/bin/kind
4243
sudo cp $1/helm /usr/local/bin
4344

45+
log_info "Running local container registry"
46+
reg_name='registry'
47+
reg_port='5000'
48+
if [ "$(sudo podman inspect -f '{{.State.Running}}' "${reg_name}" 2>/dev/null || true)" != 'true' ]; then
49+
sudo podman run \
50+
-d --restart=always -p "0.0.0.0:${reg_port}:5000" --privileged --name "${reg_name}" \
51+
--net podman -v $(realpath $ASSETS_DIR)/registry:/var/lib/registry \
52+
localhost:5000/registry:2
53+
fi
54+
cat <<EOF | sudo tee /etc/containers/registries.conf.d/localregistry.conf
55+
[[registry]]
56+
location = "${BOOTSTRAP_CLUSTER_SERVER_IP}:5000"
57+
insecure = true
58+
EOF
59+
60+
log_info "Running nginx for downloading byoh scripts"
61+
sudo dnf install nginx -y
62+
sudo systemctl enable --now nginx
63+
nginx -v
64+
# /usr/share/nginx/html
65+
66+
log_info "Creating bootstrap cluster"
4467
export BOOTSTRAP_CLUSTER_SERVER_IP
4568
envsubst '${BOOTSTRAP_CLUSTER_SERVER_IP}' < ./templates/kind-config.yaml.template >output/kind-config.yaml
46-
sudo /usr/local/bin/kind create cluster --config=output/kind-config.yaml --image kindest/node:$KIND_NODE_IMAGE_TAG
69+
sudo /usr/local/bin/kind create cluster --config=output/kind-config.yaml --image ${BOOTSTRAP_CLUSTER_SERVER_IP}:5000/kind-node:${KIND_NODE_IMAGE_TAG%%@*}
4770
mkdir -p ~/.kube
4871
sudo cp /root/.kube/config ~/.kube
4972
sudo chown $USER:$USER ~/.kube/config
50-
sed -i "s/0.0.0.0:6443/$BOOTSTRAP_CLUSTER_SERVER_IP:6443/g" ~/.kube/config
73+
sed -i "s/:6443/$BOOTSTRAP_CLUSTER_SERVER_IP:6443/g" ~/.kube/config
5174

5275
while true
5376
do
@@ -60,4 +83,27 @@ do
6083
sleep 10
6184
done
6285

86+
# Add the registry config to the nodes
87+
REGISTRY_DIR="/etc/containerd/certs.d/${BOOTSTRAP_CLUSTER_SERVER_IP}:5000"
88+
for node in $(sudo /usr/local/bin/kind get nodes); do
89+
sudo podman exec "${node}" mkdir -p "${REGISTRY_DIR}"
90+
cat <<EOF | sudo podman exec -i "${node}" cp /dev/stdin "${REGISTRY_DIR}/hosts.toml"
91+
[host."http://${BOOTSTRAP_CLUSTER_SERVER_IP}:5000"]
92+
EOF
93+
done
94+
95+
# Document the local registry
96+
# https://github.com/kubernetes/enhancements/tree/master/keps/sig-cluster-lifecycle/generic/1755-communicating-a-local-registry
97+
cat <<EOF | /usr/local/bin/kubectl --kubeconfig /home/rocky/.kube/config apply -f -
98+
apiVersion: v1
99+
kind: ConfigMap
100+
metadata:
101+
name: local-registry-hosting
102+
namespace: kube-public
103+
data:
104+
localRegistryHosting.v1: |
105+
host: "${BOOTSTRAP_CLUSTER_SERVER_IP}:${reg_port}"
106+
help: "https://kind.sigs.k8s.io/docs/user/local-registry/"
107+
EOF
108+
63109
log_info "Bootstrap cluster created successfully. You can access bootstrap cluster using ~/.kube/config as a kubeconfig file"

03_initialize_capi_providers.sh

Lines changed: 8 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -3,79 +3,23 @@
33
set -e
44

55
source lib/common.sh
6+
source lib/capi.sh
67

78
if [ -z "$1" ]
89
then
910
echo "usage: $0 <assets dir>"
1011
exit 1
1112
fi
1213

13-
provision_aws_iam_resources () {
14-
cat templates/bootstrap-manager-account.yaml.template | envsubst > bootstrap-manager-account.yaml
15-
clusterawsadm bootstrap iam update-cloudformation-stack --config bootstrap-manager-account.yaml
16-
}
14+
ASSET_DIR=${1%%/}
1715

18-
aws_cli() {
19-
sudo docker run --rm -it -v ~/.aws:/root/.aws public.ecr.aws/aws-cli/aws-cli $1
20-
}
21-
log_info "Preparing Cluster API providers initilizaiton"
22-
23-
sudo cp $1/cluster-api/$CAPI_VERSION/clusterctl-linux-amd64 /usr/local/bin/clusterctl
24-
sudo chmod +x /usr/local/bin/clusterctl
25-
26-
cat > clusterctl.yaml <<EOF
27-
providers:
28-
- name: "cluster-api"
29-
url: "file://localhost$(realpath $1)/cluster-api/$CAPI_VERSION/core-components.yaml"
30-
type: "CoreProvider"
31-
- name: "kubeadm"
32-
url: "file://localhost$(realpath $1)/bootstrap-kubeadm/$CAPI_VERSION/bootstrap-components.yaml"
33-
type: "BootstrapProvider"
34-
- name: "kubeadm"
35-
url: "file://localhost$(realpath $1)/control-plane-kubeadm/$CAPI_VERSION/control-plane-components.yaml"
36-
type: "ControlPlaneProvider"
37-
- name: "aws"
38-
url: "file://localhost$(realpath $1)/infrastructure-aws/$CAPA_VERSION/infrastructure-components.yaml"
39-
type: "InfrastructureProvider"
40-
- name: "byoh"
41-
url: "file://localhost$(realpath $1)/infrastructure-byoh/$BYOH_VERSION/infrastructure-components.yaml"
42-
type: "InfrastructureProvider"
43-
EOF
16+
YQ_ASSETS_DIR="$ASSET_DIR/yq/$(ls $ASSET_DIR/yq | grep v)"
17+
YQ_PATH="$YQ_ASSETS_DIR/yq_linux_amd64"
18+
chmod +x $YQ_PATH
4419

4520
log_info "Installing Cluster API providers"
46-
47-
mkdir -p ~/.cluster-api
48-
cp clusterctl.yaml ~/.cluster-api/
49-
50-
CAPI_NAMESPACE="cert-manager capi-system capi-kubeadm-bootstrap-system capi-kubeadm-control-plane-system"
51-
52-
for provider in ${CAPI_INFRA_PROVIDERS[@]}
53-
do
54-
case $provider in
55-
"aws")
56-
sudo cp $1/cluster-api-provider-aws/$CAPA_VERSION/clusterawsadm-linux-amd64 /usr/local/bin/clusterawsadm
57-
sudo chmod +x /usr/local/bin/clusterawsadm
58-
59-
export AWS_REGION
60-
export AWS_ACCESS_KEY_ID
61-
export AWS_SECRET_ACCESS_KEY
62-
export AWS_ACCOUNT_ID
63-
64-
gum confirm "Do you want to create IAM resources?" && provision_aws_iam_resources
65-
66-
export AWS_B64ENCODED_CREDENTIALS=$(clusterawsadm bootstrap credentials encode-as-profile)
67-
export EXP_MACHINE_POOL=true
68-
export CAPA_EKS_IAM=true
69-
export CAPA_EKS_ADD_ROLES=true
70-
71-
CAPI_NAMESPACE+=" $provider-system"
72-
;;
73-
"byoh")
74-
CAPI_NAMESPACE+=" $provider-system"
75-
;;
76-
esac
77-
done
78-
79-
gum spin --spinner dot --title "Waiting for providers to be installed..." -- clusterctl init --infrastructure $(printf -v joined '%s,' "${CAPI_INFRA_PROVIDERS[@]}"; echo "${joined%,}") --wait-providers
21+
install_clusterctl
22+
prepare_capi_providers kind ${BOOTSTRAP_CLUSTER_SERVER_IP}:5000
23+
install_capi_providers kind ~/.kube/config
8024

8125
log_info "...Done"

04_create_tks-admin_cluster.sh

Lines changed: 33 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
set -e
44

55
source lib/common.sh
6+
source lib/capi.sh
67

78
if [ -z "$1" ] || [ -z "$2" ]
89
then
@@ -17,6 +18,10 @@ HELM_VALUE_K8S_ADDONS="--set cni.calico.enabled=true"
1718
IS_MANAGED_CLUSTER="false"
1819
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
1920

21+
YQ_ASSETS_DIR="$ASSET_DIR/yq/$(ls $ASSET_DIR/yq | grep v)"
22+
YQ_PATH="$YQ_ASSETS_DIR/yq_linux_amd64"
23+
chmod +x $YQ_PATH
24+
2025
export KUBECONFIG=~/.kube/config
2126

2227
log_info "Creating TKS Admin Cluster via Cluster API"
@@ -83,6 +88,7 @@ EOF
8388
else
8489
clusterctl get kubeconfig $CLUSTER_NAME > output/kubeconfig_$CLUSTER_NAME
8590
chmod 600 output/kubeconfig_$CLUSTER_NAME
91+
export KUBECONFIG=output/kubeconfig_$CLUSTER_NAME
8692
helm upgrade -i k8s-addons $ASSET_DIR/taco-helm/kubernetes-addons $HELM_VALUE_K8S_ADDONS
8793
helm upgrade -i aws-ebs-csi-driver --namespace kube-system $ASSET_DIR/aws-ebs-csi-driver-helm/aws-ebs-csi-driver
8894
fi
@@ -93,7 +99,7 @@ EOF
9399
chmod 600 output/kubeconfig_$CLUSTER_NAME
94100
export KUBECONFIG=output/kubeconfig_$CLUSTER_NAME
95101
kubectl apply -f $ASSET_DIR/calico/calico.yaml
96-
helm upgrade -i local-path-provisioner --namespace kube-system --set storageClass.name=taco-storage $ASSET_DIR/local-path-provisioner/deploy/chart/local-path-provisioner
102+
helm upgrade -i local-path-provisioner --namespace kube-system --set storageClass.name=taco-storage --set image.repository=${BOOTSTRAP_CLUSTER_SERVER_IP}:5000/local-path-provisioner $ASSET_DIR/local-path-provisioner/deploy/chart/local-path-provisioner
97103
;;
98104
esac
99105

@@ -102,66 +108,48 @@ for node in $(kubectl get no -o jsonpath='{.items[*].metadata.name}');do
102108
kubectl wait --for=condition=Ready no/$node
103109
done
104110
echo "-----"
111+
case $TKS_ADMIN_CLUSTER_INFRA_PROVIDER in
112+
"byoh")
113+
log_info "remove taint from the interim node in BYOH"
114+
for no in $(kubectl get no -o name); do
115+
BYOH_TMP_NODE=${no#*/}
116+
kubectl taint nodes $no node-role.kubernetes.io/control-plane:NoSchedule- || true
117+
done
118+
;;
119+
esac
120+
105121
kubectl get no
106122
log_info "Make sure all node status are ready"
107123

108-
install_capi_to_admin_cluster() {
109-
export KUBECONFIG=output/kubeconfig_$CLUSTER_NAME
110-
log_info "Initializing cluster API provider components in TKS admin cluster"
111-
for provider in ${CAPI_INFRA_PROVIDERS[@]}; do
112-
case $provider in
113-
"aws")
114-
export AWS_REGION
115-
export AWS_ACCESS_KEY_ID
116-
export AWS_SECRET_ACCESS_KEY
117-
118-
export AWS_B64ENCODED_CREDENTIALS=$(clusterawsadm bootstrap credentials encode-as-profile)
119-
export EXP_MACHINE_POOL=true
120-
export CAPA_EKS_IAM=true
121-
export CAPA_EKS_ADD_ROLES=true
122-
123-
CAPI_PROVIDER_NS=capa-system
124-
;;
125-
"byoh")
126-
CAPI_PROVIDER_NS=byoh-system
127-
;;
128-
esac
129-
done
130-
131-
case $TKS_ADMIN_CLUSTER_INFRA_PROVIDER in
132-
"byoh")
133-
for no in $(kubectl get no -o name); do
134-
BYOH_TMP_NODE=${no#*/}
135-
kubectl taint nodes $no node-role.kubernetes.io/control-plane:NoSchedule- || true
136-
done
137-
;;
138-
esac
139-
gum spin --spinner dot --title "Waiting for providers to be installed..." -- clusterctl init --infrastructure $(printf -v joined '%s,' "${CAPI_INFRA_PROVIDERS[@]}"; echo "${joined%,}") --wait-providers
140-
}
141-
142-
install_capi_to_admin_cluster
124+
log_info "Initializing cluster API provider components in TKS admin cluster"
125+
prepare_capi_providers admin ${BOOTSTRAP_CLUSTER_SERVER_IP}:5000
126+
install_capi_providers admin output/kubeconfig_$CLUSTER_NAME
143127

144128
move_byoh_resources() {
145129
rc_kind=$1
130+
src_k8s_kubeconfig=$2
131+
dst_k8s_kubeconfig=$3
146132

147133
log_info "Move $rc_kind BYOH resources to the admin cluster"
148134

149-
export KUBECONFIG=~/.kube/config
150-
for rc in $(kubectl get $rc_kind -o name); do
135+
for rc in $(kubectl get --kubeconfig $src_k8s_kubeconfig $rc_kind -o name); do
151136
rc_file=${rc#*/}
152-
kubectl get $rc -o yaml | egrep -v 'uid|resourceVersion|creationTimestamp|generation' > output/$rc_kind-"$rc_file".yaml
153-
kubectl apply --kubeconfig output/kubeconfig_$CLUSTER_NAME -f output/$rc_kind-"$rc_file".yaml
137+
kubectl get --kubeconfig $src_k8s_kubeconfig $rc -o yaml | egrep -v 'uid|resourceVersion|creationTimestamp|generation' > output/$rc_kind-"$rc_file".yaml
138+
kubectl apply --kubeconfig $dst_k8s_kubeconfig -f output/$rc_kind-"$rc_file".yaml
154139
done
155140
}
156141

157142
if [ $TKS_ADMIN_CLUSTER_INFRA_PROVIDER == "byoh" ]; then
158-
gum spin --spinner dot --title "Deleting BYOH infra provider for a moment..." -- clusterctl delete --infrastructure byoh
143+
log_info "Deleting BYOH infra provider for a moment..."
144+
kubectl delete -f output/admin-byoh-infra.yaml
145+
## XXX: check no pod in byoh-system
159146

160-
move_byoh_resources byoh
161-
move_byoh_resources k8sinstallerconfigtemplates
147+
move_byoh_resources byoh ~/.kube/config output/kubeconfig_$CLUSTER_NAME
148+
move_byoh_resources k8sinstallerconfigtemplates ~/.kube/config output/kubeconfig_$CLUSTER_NAME
162149

163-
export KUBECONFIG=output/kubeconfig_$CLUSTER_NAME
164-
gum spin --spinner dot --title "Reinstalling BYOH infra provider..." -- clusterctl init --infrastructure $(printf -v joined '%s,' "${CAPI_INFRA_PROVIDERS[@]}"; echo "${joined%,}") --wait-providers
150+
kubectl apply -f output/admin-byoh-infra.yaml
151+
sleep 10
152+
./util/wait_for_all_pods_in_ns.sh byoh-system
165153

166154
kubectl patch deploy -n byoh-system byoh-controller-manager --type='json' -p='[{"op": "replace", "path": "/spec/template/spec/containers/0/resources/limits/memory", "value":"1000Mi"}]'
167155
kubectl patch deploy -n byoh-system byoh-controller-manager --type='json' -p='[{"op": "replace", "path": "/spec/template/spec/containers/0/resources/limits/cpu", "value":"1000m"}]'

05_install_decapod.sh

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -321,6 +321,8 @@ case $TKS_ADMIN_CLUSTER_INFRA_PROVIDER in
321321
# BYOH
322322
curl -v --user tks_admin:$GIT_SVC_TOKEN -X DELETE $GIT_SVC_HTTP://${GIT_SVC_BASE_URL}/api/packages/decapod10/generic/byoh_hostagent/$BYOH_TKS_VERSION/byoh-hostagent-linux-amd64 || true
323323
curl -v --user tks_admin:$GIT_SVC_TOKEN --upload-file output/byoh-hostagent $GIT_SVC_HTTP://${GIT_SVC_BASE_URL}/api/packages/decapod10/generic/byoh_hostagent/$BYOH_TKS_VERSION/byoh-hostagent-linux-amd64
324+
curl -v --user tks_admin:$GIT_SVC_TOKEN -X DELETE $GIT_SVC_HTTP://${GIT_SVC_BASE_URL}/api/packages/decapod10/generic/imgpkg/$BYOH_TKS_VERSION/imgpkg || true
325+
curl -v --user tks_admin:$GIT_SVC_TOKEN --upload-file output/imgpkg $GIT_SVC_HTTP://${GIT_SVC_BASE_URL}/api/packages/decapod10/generic/imgpkg/$BYOH_TKS_VERSION/imgpkg
324326
;;
325327
esac
326328

@@ -338,8 +340,9 @@ kubectl create secret generic tks-admin-kubeconfig-secret -n argo --from-file=va
338340
kubectl delete secret byoh-hostagent-install-template -n argo || true
339341
cp templates/install_byoh_hostagent.sh.template templates/install_byoh_hostagent.sh.template.orig
340342
HOSTAGENT_CHECKSUM=$(sha1sum output/byoh-hostagent | awk '{print $1}')
341-
export HOSTAGENT_CHECKSUM BYOH_TKS_VERSION GIT_SVC_USERNAME GITEA_NODE_PORT GITEA_NODE_IP
342-
envsubst '$HOSTAGENT_CHECKSUM $BYOH_TKS_VERSION $GIT_SVC_USERNAME $GITEA_NODE_IP $GITEA_NODE_PORT' <templates/install_byoh_hostagent.sh.template.orig >templates/install_byoh_hostagent.sh.template
343+
IMGPKG_CHECKSUM=$(sha1sum output/imgpkg | awk '{print $1}')
344+
export HOSTAGENT_CHECKSUM IMGPKG_CHECKSUM BYOH_TKS_VERSION GIT_SVC_USERNAME GITEA_NODE_PORT GITEA_NODE_IP
345+
envsubst '$HOSTAGENT_CHECKSUM $IMGPKG_CHECKSUM $BYOH_TKS_VERSION $GIT_SVC_USERNAME $GITEA_NODE_IP $GITEA_NODE_PORT' <templates/install_byoh_hostagent.sh.template.orig >templates/install_byoh_hostagent.sh.template
343346
kubectl create secret generic byoh-hostagent-install-template -n argo --from-file=agent-install-template=templates/install_byoh_hostagent.sh.template
344347

345348
log_info "...Done"

byoh_generate_script_for_host.sh

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,19 @@ set -e
55
source lib/common.sh
66

77
function usage {
8-
echo -e "\nUsage: $0 <kubeconfig> <hostname> [--output OUTPUT_SCRIPT_PATH]"
8+
echo -e "\nUsage: $0 <kubeconfig> <container registry> <hostname> [--output OUTPUT_SCRIPT_PATH]"
99
echo -e "\n\tOUTPUT_SCRIPT_PATH (default): output/install_byoh_hostagent-<hostname>.sh"
1010
exit 1
1111
}
1212

13-
[[ $# -ge 2 ]] || usage
13+
[[ $# -ge 3 ]] || usage
1414

1515
inarray=$(echo ${CAPI_INFRA_PROVIDERS[@]} | grep -ow "byoh" | wc -w)
1616
[[ $inarray -ne 0 ]] || log_error "byoh infra provider is not configured"
1717

1818
export KUBECONFIG=$1
19-
HOSTNAME=$2
19+
export TARGET_REGISTRY=$2
20+
HOSTNAME=$3
2021
shift
2122
OUTPUT_SCRIPT_PATH=output/install_byoh_hostagent-$HOSTNAME.sh
2223

@@ -78,18 +79,17 @@ sleep 3
7879
kubectl get bootstrapkubeconfig bootstrap-kubeconfig-$HOSTNAME -n default -o=jsonpath='{.status.bootstrapKubeconfigData}' > output/bootstrap-kubeconfig-$HOSTNAME.conf
7980

8081
if kubectl get no | grep kind; then
81-
export KIND_PORT=$(sudo docker inspect kind-control-plane -f '{{ $published := index .NetworkSettings.Ports "6443/tcp" }}{{ range $published }}{{ .HostPort }}{{ end }}')
82+
export KIND_PORT=$(sudo podman inspect kind-control-plane -f '{{ $published := index .NetworkSettings.Ports "6443/tcp" }}{{ range $published }}{{ .HostPort }}{{ end }}')
8283
sed -i 's/ server\:.*/ server\: https\:\/\/'"$BOOTSTRAP_CLUSTER_SERVER_IP:$KIND_PORT"'/g' output/bootstrap-kubeconfig-$HOSTNAME.conf
8384
fi
8485

8586
# the variable to be substituded for BYOH host agent install script
8687
BOOTSTRAP_KUBECONFIG=$(cat output/bootstrap-kubeconfig-$HOSTNAME.conf | base64 -w 0)
8788
GITEA_NODE_PORT=$(kubectl get -n gitea -o jsonpath="{.spec.ports[0].nodePort}" services gitea-http 2>/dev/null) || true
8889
GITEA_NODE_IP=$(kubectl get no -ojsonpath='{.items[0].status.addresses[0].address}') || true
89-
export BOOTSTRAP_KUBECONFIG GITEA_NODE_IP GITEA_NODE_PORT GIT_SVC_USERNAME
90-
91-
envsubst '$BOOTSTRAP_KUBECONFIG $GITEA_NODE_IP $GITEA_NODE_PORT $GIT_SVC_USERNAME' < ./templates/install_byoh_hostagent.sh.template >$OUTPUT_SCRIPT_PATH
90+
export BOOTSTRAP_CLUSTER_SERVER_IP BOOTSTRAP_KUBECONFIG GITEA_NODE_IP GITEA_NODE_PORT GIT_SVC_USERNAME
91+
envsubst '$BOOTSTRAP_CLUSTER_SERVER_IP $BOOTSTRAP_KUBECONFIG $GITEA_NODE_IP $GITEA_NODE_PORT $GIT_SVC_USERNAME $TARGET_REGISTRY' < ./templates/install_byoh_hostagent.sh.template >$OUTPUT_SCRIPT_PATH
9292
chmod +x $OUTPUT_SCRIPT_PATH
9393

9494
log_info "Copy below files to each host and run a script!"
95-
echo "$OUTPUT_SCRIPT_PATH output/byoh-hostagent"
95+
echo "$OUTPUT_SCRIPT_PATH output/byoh-hostagent output/imgpkg"

conf.sh.example

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,3 +37,5 @@ DATABASE_PASSWORD=secretPassword
3737
GITEA_ADMIN_USER=tks-admin
3838
GITEA_ADMIN_PASSWORD=secretPassword
3939

40+
# Admin Cluster
41+
ADMIN_KUBE_VERSION=1.26.14

0 commit comments

Comments
 (0)