diff --git a/bootstrap/.gemini/settings.json b/bootstrap/.gemini/settings.json new file mode 100644 index 0000000..d4dfcac --- /dev/null +++ b/bootstrap/.gemini/settings.json @@ -0,0 +1,15 @@ +{ + "mcpServers": { + "kubespray-changelog": { + "command": "./bin/get_kubespray_changelog.py", + "args": [], + "trust": true + } + }, + "general": { + "preferredEditor": "vscode" + }, + "ui": { + "theme": "Default" + } +} \ No newline at end of file diff --git a/bootstrap/.gemini/settings.json.orig b/bootstrap/.gemini/settings.json.orig new file mode 100644 index 0000000..f3ba497 --- /dev/null +++ b/bootstrap/.gemini/settings.json.orig @@ -0,0 +1,16 @@ +{ + "theme": "Default", + "preferredEditor": "vscode", + "mcpServers": { + //====================================================================== + // *** FOR YOUR KUBESPRAY GOAL *** + // This is the config for the custom Python script we discussed. + // This is the tool that will *actually* search changelogs. + //====================================================================== + "kubespray-changelog": { + "command": "./bin/get_kubespray_changelog.py", + "args": [], + "trust": true + } + } +} \ No newline at end of file diff --git a/bootstrap/GEMINI.md b/bootstrap/GEMINI.md new file mode 100644 index 0000000..ed27030 --- /dev/null +++ b/bootstrap/GEMINI.md @@ -0,0 +1,17 @@ +# Purpose + +This project configures a Kubernetes cluster utilizing Kubespray with a Vagrant-based development environment. + +# Current task + +Currently Kubespray `release-2.26`is used. I want you to: +* Read the changelog of Kubespray 2.27 here: https://github.com/kubernetes-sigs/kubespray/releases +* Analyze changes for this new version 2.27. +* MOdify the inventory files in "./inventory" to fit those changes. +* MOdify "init.sh" script and write "release-2.27" as the new version to be used. + +# Folder structure + +* `./init.sh` - Bootstrap script to set up the environment. The variable `release` defines the Kubespray version to be used. +* `./inventory/` - Directory containing inventory configurations for the Kubernetes cluster. It also contains variables on the Kubeernetes version. +* `./kubespray/` a checked out clone of the Kubespray repository with a specific version. We do not edit files in this sub folder. The "inventory folder from current sub folder will be synced into this "kubespray" folder. \ No newline at end of file diff --git a/bootstrap/init.sh b/bootstrap/init.sh index 4c3e4f0..9469fe4 100755 --- a/bootstrap/init.sh +++ b/bootstrap/init.sh @@ -6,7 +6,7 @@ echo "######################################################################################" echo "## Reinit repository" rm -rf kubespray -VERSION="release-2.26" +VERSION="release-2.27" git clone --branch $VERSION https://github.com/kubernetes-sigs/kubespray.git echo "######################################################################################" diff --git a/bootstrap/inventory/prod/group_vars/k8s-cluster/k8s-cluster.yml b/bootstrap/inventory/prod/group_vars/k8s-cluster/k8s-cluster.yml index 9c217de..ed90d37 100644 --- a/bootstrap/inventory/prod/group_vars/k8s-cluster/k8s-cluster.yml +++ b/bootstrap/inventory/prod/group_vars/k8s-cluster/k8s-cluster.yml @@ -27,7 +27,7 @@ kube_kubeadm_apiserver_extra_args: kube_api_anonymous_auth: true ## Change this to use another Kubernetes version, e.g. a current beta release -kube_version: v1.29.5 +kube_version: 1.30.8 # kubernetes image repo define #kube_image_repo: "k8s.gcr.io"