diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index e742426..84f8532 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -1,9 +1,19 @@ on: workflow_dispatch: inputs: - token: + hcloud_token: description: 'Hetzner Cloud API token' required: true + e2e_file_name: + description: 'Name of the e2e tests' + required: false + default: 'v1.30*' + debug: + type: choice + description: 'Debug mode' + required: false + options: ['true', 'false'] + default: 'false' jobs: e2e: @@ -17,4 +27,6 @@ jobs: - run: ssh-keygen -t rsa -q -f "$HOME/.ssh/id_rsa" -N "" - run: make e2e branch=${{ github.base_ref || github.ref_name }} env: - HCLOUD_TOKEN: ${{ github.event.inputs.token }} \ No newline at end of file + HCLOUD_TOKEN: ${{ github.event.inputs.hcloud_token }} + E2E_FILE_NAME: ${{ github.event.inputs.e2e_file_name }} + DEBUG: ${{ github.event.inputs.debug }} \ No newline at end of file diff --git a/README.md b/README.md index 7cf9307..2d77961 100644 --- a/README.md +++ b/README.md @@ -312,6 +312,118 @@ cluster-autoscaler: maxSize: 20 ``` +
Kubernetes: v1.30, Arch: amd64, Ubuntu: 20.04, Region: eu + +```yaml +ipRange: "10.0.0.0/16" +masterCount: 3 +serverComponents: + ubuntu: + version: ubuntu-20.04 + architecture: x86 + kubernetes: + version: 1.30.5-1.1 + docker: + version: 5:27.3.1-1~ubuntu.$(lsb_release -rs)~$(lsb_release -cs) + containerd: + version: 1.7.22-1 + +``` +
+
Kubernetes: v1.30, Arch: amd64, Ubuntu: 20.04, Region: us + +```yaml +ipRange: "10.0.0.0/16" +masterCount: 3 +networkZone: us-east +location: ash +datacenter: ash-dc1 +masterServers: + servertype: cpx21 +serverComponents: + ubuntu: + version: ubuntu-20.04 + architecture: x86 + kubernetes: + version: 1.30.5-1.1 + docker: + version: 5:27.3.1-1~ubuntu.$(lsb_release -rs)~$(lsb_release -cs) + containerd: + version: 1.7.22-1 +cluster-autoscaler: + autoscalingGroups: + - name: CPX51:ASH:cpx51-ash + minSize: 1 + maxSize: 20 +``` +
+
Kubernetes: v1.30, Arch: amd64, Ubuntu: 22.04, Region: eu + +```yaml +ipRange: "10.0.0.0/16" +masterCount: 3 +serverComponents: + ubuntu: + version: ubuntu-22.04 + architecture: x86 + kubernetes: + version: 1.30.5-1.1 + docker: + version: 5:27.3.1-1~ubuntu.$(lsb_release -rs)~$(lsb_release -cs) + containerd: + version: 1.7.22-1 + +``` +
+
Kubernetes: v1.30, Arch: arm64, Ubuntu: 20.04, Region: eu + +```yaml +ipRange: "10.0.0.0/16" +masterCount: 3 +serverComponents: + ubuntu: + version: ubuntu-20.04 + architecture: arm + kubernetes: + version: 1.30.5-1.1 + docker: + version: 5:27.3.1-1~ubuntu.$(lsb_release -rs)~$(lsb_release -cs) + containerd: + version: 1.7.22-1 +masterServers: + servertype: cax11 +cluster-autoscaler: + autoscalingGroups: + - name: CAX41:FSN1:cax-fsn1 + minSize: 1 + maxSize: 20 +``` +
+
Kubernetes: v1.30, Arch: arm64, Ubuntu: 22.04, Region: eu + +```yaml +ipRange: "10.0.0.0/16" +masterCount: 3 +serverComponents: + ubuntu: + version: ubuntu-22.04 + architecture: arm + kubernetes: + version: 1.30.5-1.1 + docker: + version: 5:27.3.1-1~ubuntu.$(lsb_release -rs)~$(lsb_release -cs) + containerd: + version: 1.7.22-1 +masterServers: + servertype: cax11 +cluster-autoscaler: + autoscalingGroups: + - name: CAX41:FSN1:cax-fsn1 + minSize: 1 + maxSize: 20 + +``` +
diff --git a/e2e/configs/v1.30-amd64-ubuntu-20.04-eu.yaml b/e2e/configs/v1.30-amd64-ubuntu-20.04-eu.yaml new file mode 100644 index 0000000..fb6770a --- /dev/null +++ b/e2e/configs/v1.30-amd64-ubuntu-20.04-eu.yaml @@ -0,0 +1,13 @@ +# Kubernetes v1.30 in Europe +ipRange: "10.0.0.0/16" +masterCount: 3 +serverComponents: + ubuntu: + version: ubuntu-20.04 + architecture: x86 + kubernetes: + version: 1.30.5-1.1 + docker: + version: 5:27.3.1-1~ubuntu.$(lsb_release -rs)~$(lsb_release -cs) + containerd: + version: 1.7.22-1 diff --git a/e2e/configs/v1.30-amd64-ubuntu-20.04-us.yaml b/e2e/configs/v1.30-amd64-ubuntu-20.04-us.yaml new file mode 100644 index 0000000..1c7d395 --- /dev/null +++ b/e2e/configs/v1.30-amd64-ubuntu-20.04-us.yaml @@ -0,0 +1,23 @@ +# Kubernetes v1.30 in US East +ipRange: "10.0.0.0/16" +masterCount: 3 +networkZone: us-east +location: ash +datacenter: ash-dc1 +masterServers: + servertype: cpx21 +serverComponents: + ubuntu: + version: ubuntu-20.04 + architecture: x86 + kubernetes: + version: 1.30.5-1.1 + docker: + version: 5:27.3.1-1~ubuntu.$(lsb_release -rs)~$(lsb_release -cs) + containerd: + version: 1.7.22-1 +cluster-autoscaler: + autoscalingGroups: + - name: CPX51:ASH:cpx51-ash + minSize: 1 + maxSize: 20 \ No newline at end of file diff --git a/e2e/configs/v1.30-amd64-ubuntu-22.04-eu.yaml b/e2e/configs/v1.30-amd64-ubuntu-22.04-eu.yaml new file mode 100644 index 0000000..e933b79 --- /dev/null +++ b/e2e/configs/v1.30-amd64-ubuntu-22.04-eu.yaml @@ -0,0 +1,13 @@ +# Kubernetes v1.30 in Europe (ARM64 architecture) +ipRange: "10.0.0.0/16" +masterCount: 3 +serverComponents: + ubuntu: + version: ubuntu-22.04 + architecture: x86 + kubernetes: + version: 1.30.5-1.1 + docker: + version: 5:27.3.1-1~ubuntu.$(lsb_release -rs)~$(lsb_release -cs) + containerd: + version: 1.7.22-1 diff --git a/e2e/configs/v1.30-arm64-ubuntu-20.04-eu.yaml b/e2e/configs/v1.30-arm64-ubuntu-20.04-eu.yaml new file mode 100644 index 0000000..7489d2c --- /dev/null +++ b/e2e/configs/v1.30-arm64-ubuntu-20.04-eu.yaml @@ -0,0 +1,20 @@ +# Kubernetes v1.30 in Europe (ARM64 architecture) +ipRange: "10.0.0.0/16" +masterCount: 3 +serverComponents: + ubuntu: + version: ubuntu-20.04 + architecture: arm + kubernetes: + version: 1.30.5-1.1 + docker: + version: 5:27.3.1-1~ubuntu.$(lsb_release -rs)~$(lsb_release -cs) + containerd: + version: 1.7.22-1 +masterServers: + servertype: cax11 +cluster-autoscaler: + autoscalingGroups: + - name: CAX41:FSN1:cax-fsn1 + minSize: 1 + maxSize: 20 \ No newline at end of file diff --git a/e2e/configs/v1.30-arm64-ubuntu-22.04-eu.yaml b/e2e/configs/v1.30-arm64-ubuntu-22.04-eu.yaml new file mode 100644 index 0000000..210fdc9 --- /dev/null +++ b/e2e/configs/v1.30-arm64-ubuntu-22.04-eu.yaml @@ -0,0 +1,20 @@ +# Kubernetes v1.30 in Europe (ARM64 architecture) +ipRange: "10.0.0.0/16" +masterCount: 3 +serverComponents: + ubuntu: + version: ubuntu-22.04 + architecture: arm + kubernetes: + version: 1.30.5-1.1 + docker: + version: 5:27.3.1-1~ubuntu.$(lsb_release -rs)~$(lsb_release -cs) + containerd: + version: 1.7.22-1 +masterServers: + servertype: cax11 +cluster-autoscaler: + autoscalingGroups: + - name: CAX41:FSN1:cax-fsn1 + minSize: 1 + maxSize: 20 diff --git a/e2e/e2e_test.go b/e2e/e2e_test.go index 09a6d42..89e1079 100644 --- a/e2e/e2e_test.go +++ b/e2e/e2e_test.go @@ -40,7 +40,16 @@ func Test(t *testing.T) { //nolint:funlen,paralleltest,cyclop log.SetLevel(log.WarnLevel) - tests, err := filepath.Glob("./configs/*.yaml") + if os.Getenv("DEBUG") == "true" { + log.SetLevel(log.DebugLevel) + } + + nameGlob := os.Getenv("E2E_FILE_NAME") + if nameGlob == "" { + nameGlob = "*" + } + + tests, err := filepath.Glob("./configs/" + nameGlob + ".yaml") if err != nil { t.Fatal(err) } diff --git a/scripts/common-install.sh b/scripts/common-install.sh index 89f54d2..55a05b5 100755 --- a/scripts/common-install.sh +++ b/scripts/common-install.sh @@ -117,6 +117,9 @@ EOF cat </etc/apt/sources.list.d/kubernetes-v1.29.list deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.29/deb/ / EOF +cat </etc/apt/sources.list.d/kubernetes-v1.30.list +deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.30/deb/ / +EOF cat </etc/apt/sources.list.d/docker.list deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable EOF diff --git a/scripts/ubuntu-versions.sh b/scripts/ubuntu-versions.sh index d392c08..c87ccfb 100755 --- a/scripts/ubuntu-versions.sh +++ b/scripts/ubuntu-versions.sh @@ -37,6 +37,9 @@ EOF cat </etc/apt/sources.list.d/kubernetes-v1.29.list deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.29/deb/ / EOF +cat </etc/apt/sources.list.d/kubernetes-v1.30.list +deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.30/deb/ / +EOF cat </etc/apt/sources.list.d/docker.list deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable EOF