mirror of
https://github.com/k3s-io/k3s.git
synced 2026-02-03 20:39:49 -05:00
Inclusive naming proposal (#13133)
Basic renaming from 'master' to 'main' as primary branch according to https://github.com/cncf/foundation/blob/main/code-of-conduct.md#our-standards * Additional replacement of master with main in E2E testing, Github Action workflows Signed-off-by: Andrea Benini <andreabenini@gmail.com> Signed-off-by: Derek Nola <derek.nola@suse.com> Co-authored-by: Ben <andreabenini@users.noreply.github.com>
This commit is contained in:
parent
36c220384a
commit
29b9a7ba7a
51 changed files with 83 additions and 83 deletions
22
.drone.yml
22
.drone.yml
|
|
@ -44,7 +44,7 @@ steps:
|
|||
- drone-publish.k3s.io
|
||||
ref:
|
||||
include:
|
||||
- "refs/heads/master"
|
||||
- "refs/heads/main"
|
||||
- "refs/heads/release-*"
|
||||
event:
|
||||
- push
|
||||
|
|
@ -64,7 +64,7 @@ steps:
|
|||
instance:
|
||||
- drone-publish.k3s.io
|
||||
ref:
|
||||
- refs/head/master
|
||||
- refs/head/main
|
||||
- refs/tags/*
|
||||
event:
|
||||
- tag
|
||||
|
|
@ -182,7 +182,7 @@ steps:
|
|||
instance:
|
||||
- drone-publish.k3s.io
|
||||
ref:
|
||||
- refs/head/master
|
||||
- refs/head/main
|
||||
- refs/tags/*
|
||||
event:
|
||||
- tag
|
||||
|
|
@ -230,7 +230,7 @@ steps:
|
|||
- name: skipfiles
|
||||
image: plugins/git
|
||||
commands:
|
||||
- export NAME=$(test $DRONE_BUILD_EVENT = pull_request && echo remotes/origin/${DRONE_COMMIT_BRANCH:-master} || echo ${DRONE_COMMIT_SHA}~)
|
||||
- export NAME=$(test $DRONE_BUILD_EVENT = pull_request && echo remotes/origin/${DRONE_COMMIT_BRANCH:-main} || echo ${DRONE_COMMIT_SHA}~)
|
||||
- export DIFF=$(git --no-pager diff --name-only $NAME | grep -v -f .droneignore);
|
||||
- if [ -z "$DIFF" ]; then
|
||||
echo "All files in PR are on ignore list";
|
||||
|
|
@ -276,7 +276,7 @@ steps:
|
|||
instance:
|
||||
- drone-publish.k3s.io
|
||||
ref:
|
||||
- refs/head/master
|
||||
- refs/head/main
|
||||
- refs/tags/*
|
||||
event:
|
||||
- tag
|
||||
|
|
@ -317,7 +317,7 @@ steps:
|
|||
- name: skipfiles
|
||||
image: plugins/git
|
||||
commands:
|
||||
- export NAME=$(test $DRONE_BUILD_EVENT = pull_request && echo remotes/origin/${DRONE_COMMIT_BRANCH:-master} || echo ${DRONE_COMMIT_SHA}~)
|
||||
- export NAME=$(test $DRONE_BUILD_EVENT = pull_request && echo remotes/origin/${DRONE_COMMIT_BRANCH:-main} || echo ${DRONE_COMMIT_SHA}~)
|
||||
- export DIFF=$(git --no-pager diff --name-only $NAME | grep -v -f .droneignore);
|
||||
- if [ -z "$DIFF" ]; then
|
||||
echo "All files in PR are on ignore list";
|
||||
|
|
@ -349,7 +349,7 @@ trigger:
|
|||
instance:
|
||||
- drone-publish.k3s.io
|
||||
ref:
|
||||
- refs/head/master
|
||||
- refs/head/main
|
||||
- refs/tags/*
|
||||
event:
|
||||
include:
|
||||
|
|
@ -377,7 +377,7 @@ steps:
|
|||
- name: skipfiles
|
||||
image: plugins/git
|
||||
commands:
|
||||
- export NAME=$(test $DRONE_BUILD_EVENT = pull_request && echo remotes/origin/${DRONE_COMMIT_BRANCH:-master} || echo ${DRONE_COMMIT_SHA}~)
|
||||
- export NAME=$(test $DRONE_BUILD_EVENT = pull_request && echo remotes/origin/${DRONE_COMMIT_BRANCH:-main} || echo ${DRONE_COMMIT_SHA}~)
|
||||
- export DIFF=$(git --no-pager diff --name-only $NAME | grep -v -f .droneignore);
|
||||
- if [ -z "$DIFF" ]; then
|
||||
echo "All files in PR are on ignore list";
|
||||
|
|
@ -409,7 +409,7 @@ trigger:
|
|||
instance:
|
||||
- drone-publish.k3s.io
|
||||
ref:
|
||||
- refs/head/master
|
||||
- refs/head/main
|
||||
- refs/tags/*
|
||||
event:
|
||||
- tag
|
||||
|
|
@ -433,7 +433,7 @@ steps:
|
|||
- name: skipfiles
|
||||
image: plugins/git
|
||||
commands:
|
||||
- export NAME=$(test $DRONE_BUILD_EVENT = pull_request && echo remotes/origin/${DRONE_COMMIT_BRANCH:-master} || echo ${DRONE_COMMIT_SHA}~)
|
||||
- export NAME=$(test $DRONE_BUILD_EVENT = pull_request && echo remotes/origin/${DRONE_COMMIT_BRANCH:-main} || echo ${DRONE_COMMIT_SHA}~)
|
||||
- export DIFF=$(git --no-pager diff --name-only $NAME | grep -v -f .droneignore);
|
||||
- if [ -z "$DIFF" ]; then
|
||||
echo "All files in PR are on ignore list";
|
||||
|
|
@ -539,7 +539,7 @@ steps:
|
|||
if [ "$DRONE_BUILD_EVENT" = "pull_request" ]; then
|
||||
cd tests/e2e/upgradecluster
|
||||
# Convert release-1.XX branch to v1.XX channel
|
||||
if [ "$DRONE_BRANCH" = "master" ]; then
|
||||
if [ "$DRONE_BRANCH" = "main" ]; then
|
||||
UPGRADE_CHANNEL="latest"
|
||||
else
|
||||
UPGRADE_CHANNEL=$(echo $DRONE_BRANCH | sed 's/release-/v/')
|
||||
|
|
|
|||
4
.github/PULL_REQUEST_TEMPLATE.md
vendored
4
.github/PULL_REQUEST_TEMPLATE.md
vendored
|
|
@ -1,5 +1,5 @@
|
|||
<!-- HTML Comments can be left in place or removed. -->
|
||||
<!-- Please see our contributing guide at https://github.com/k3s-io/k3s/blob/master/CONTRIBUTING.md for guidance on opening pull requests -->
|
||||
<!-- Please see our contributing guide at https://github.com/k3s-io/k3s/blob/main/CONTRIBUTING.md for guidance on opening pull requests -->
|
||||
|
||||
#### Proposed Changes ####
|
||||
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
#### Testing ####
|
||||
|
||||
<!-- Is this change covered by testing? If not, consider adding a Unit or Integration test. -->
|
||||
<!-- See https://github.com/k3s-io/k3s/blob/master/tests/TESTING.md for more info -->
|
||||
<!-- See https://github.com/k3s-io/k3s/blob/main/tests/TESTING.md for more info -->
|
||||
|
||||
#### Linked Issues ####
|
||||
|
||||
|
|
|
|||
10
.github/actions/setup-go/action.yaml
vendored
10
.github/actions/setup-go/action.yaml
vendored
|
|
@ -1,15 +1,15 @@
|
|||
name: 'Setup golang with master only caching'
|
||||
description: 'A composite action that installs golang, but with a caching strategy that only updates the cache on master branch.'
|
||||
name: 'Setup golang with main only caching'
|
||||
description: 'A composite action that installs golang, but with a caching strategy that only updates the cache on main branch.'
|
||||
runs:
|
||||
using: 'composite'
|
||||
steps:
|
||||
- uses: actions/setup-go@v5
|
||||
with:
|
||||
go-version-file: 'go.mod' # Just use whatever version is in the go.mod file
|
||||
cache: ${{ github.ref == 'refs/heads/master' || github.ref == 'refs/heads/release-1.32' }}
|
||||
cache: ${{ github.ref == 'refs/heads/main' || github.ref == 'refs/heads/release-1.32' }}
|
||||
|
||||
- name: Prepare for go cache
|
||||
if: github.ref != 'refs/heads/master' && github.ref != 'refs/heads/release-1.32'
|
||||
if: github.ref != 'refs/heads/main' && github.ref != 'refs/heads/release-1.32'
|
||||
shell: bash
|
||||
run: |
|
||||
echo "GO_CACHE=$(go env GOCACHE)" | tee -a "$GITHUB_ENV"
|
||||
|
|
@ -17,7 +17,7 @@ runs:
|
|||
echo "GO_VERSION=$(go env GOVERSION | tr -d 'go')" | tee -a "$GITHUB_ENV"
|
||||
|
||||
- name: Setup read-only cache
|
||||
if: github.ref != 'refs/heads/master' && github.ref != 'refs/heads/release-1.32'
|
||||
if: github.ref != 'refs/heads/main' && github.ref != 'refs/heads/release-1.32'
|
||||
uses: actions/cache/restore@v4
|
||||
with:
|
||||
path: |
|
||||
|
|
|
|||
4
.github/workflows/e2e.yaml
vendored
4
.github/workflows/e2e.yaml
vendored
|
|
@ -61,14 +61,14 @@ jobs:
|
|||
- name: Set up vagrant and libvirt
|
||||
uses: ./.github/actions/vagrant-setup
|
||||
- name: Vagrant R/W Cache
|
||||
if: matrix.etest != 'btrfs' && github.ref == 'refs/heads/master'
|
||||
if: matrix.etest != 'btrfs' && github.ref == 'refs/heads/main'
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
~/.vagrant.d/boxes
|
||||
key: ${{ matrix.etest != 'btrfs' && 'vagrant-box-ubuntu-2404' || 'vagrant-box-leap' }}
|
||||
- name: Vagrant Read Cache
|
||||
if: matrix.etest != 'btrfs' && github.ref != 'refs/heads/master'
|
||||
if: matrix.etest != 'btrfs' && github.ref != 'refs/heads/main'
|
||||
uses: actions/cache/restore@v4
|
||||
with:
|
||||
path: |
|
||||
|
|
|
|||
2
.github/workflows/scorecard.yml
vendored
2
.github/workflows/scorecard.yml
vendored
|
|
@ -12,7 +12,7 @@ on:
|
|||
schedule:
|
||||
- cron: '25 12 * * 5'
|
||||
push:
|
||||
branches: [ "master" ]
|
||||
branches: [ "main" ]
|
||||
|
||||
# Declare default permissions as read only.
|
||||
permissions: read-all
|
||||
|
|
|
|||
2
.github/workflows/updatecli.yaml
vendored
2
.github/workflows/updatecli.yaml
vendored
|
|
@ -17,7 +17,7 @@ jobs:
|
|||
contents: write
|
||||
issues: write
|
||||
pull-requests: write
|
||||
if: github.ref == 'refs/heads/master'
|
||||
if: github.ref == 'refs/heads/main'
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ Accepted
|
|||
|
||||
Currently the network policy agent included in k3s is in fact a copied code of
|
||||
[kube-router's](https://github.com/cloudnativelabs/kube-router) network policy
|
||||
controller, which can be found [here](https://github.com/k3s-io/k3s/tree/master/pkg/agent/netpol).
|
||||
controller, which can be found [here](https://github.com/k3s-io/k3s/tree/main/pkg/agent/netpol).
|
||||
|
||||
The first and the most important issue is that kube-router lacks support for
|
||||
dual-stack (and even IPv6 in general in the most of its components). However,
|
||||
|
|
|
|||
|
|
@ -8,14 +8,14 @@ Accepted
|
|||
|
||||
## Context
|
||||
|
||||
K3s is released at the same cadence as upstream Kubernetes. This requires management of multiple versions at any given point in time. The current branching strategy uses `release-v[MAJOR].[MINOR]`, with the `master` branch corresponding to the highest version released based on [semver](https://semver.org/). Github's Tags are then used to cut releases, which are just point-in-time snapshots of the specified branch at a given point. As there is the potential for bugs and regressions to be on present on any given branch, this branching and release strategy requires a code freeze to QA the branch without new potentially breaking changes going in.
|
||||
K3s is released at the same cadence as upstream Kubernetes. This requires management of multiple versions at any given point in time. The current branching strategy uses `release-v[MAJOR].[MINOR]`, with the `main` branch corresponding to the highest version released based on [semver](https://semver.org/). Github's Tags are then used to cut releases, which are just point-in-time snapshots of the specified branch at a given point. As there is the potential for bugs and regressions to be on present on any given branch, this branching and release strategy requires a code freeze to QA the branch without new potentially breaking changes going in.
|
||||
|
||||
## Decision
|
||||
All code changes go into the `master` branch. We maintain branches for all current release versions in the format `release-v[MAJOR].[MINOR]`. When changes made in master are necessary in a release, they should be backported directly into the release branches. If ever there are changes required only in the release branches and not in master, such as when bumping the kubernetes version from upstream, those can be made directly into the release branches themselves.
|
||||
All code changes go into the `main` branch. We maintain branches for all current release versions in the format `release-v[MAJOR].[MINOR]`. When changes made in main are necessary in a release, they should be backported directly into the release branches. If ever there are changes required only in the release branches and not in main, such as when bumping the kubernetes version from upstream, those can be made directly into the release branches themselves.
|
||||
|
||||
## Consequences
|
||||
|
||||
- Allows for constant development, with code freeze only relevant for the release branches.
|
||||
- This requires maintaining one additional branch than the current workflow, which also means one additional issue.
|
||||
- Testing would be more constant from the master branch.
|
||||
- Testing would be more constant from the main branch.
|
||||
- Minor release captain will have to cut the new branch as soon as they bring in that new minor version.
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ There are kubernetes use cases which require a kubernetes cluster to be deployed
|
|||
* Having a baremetal cluster that requires, only in certain periods, to be extended with hyperscalers VMs to cope out with the demand
|
||||
* Require cluster to include nodes in different hyperscalers due to resiliency reasons or legal requirements, e.g. GDPR
|
||||
|
||||
As of today, k3s allows to deploy a cluster on a set of heterogeneous nodes by a simple and robust solution. This is achieved by using the [websocket proxy](https://github.com/k3s-io/k3s/blob/master/pkg/agent/run.go#L277) to connect the control-plane of the cluster, i.e. kube-api <==> kubelet, and a vpn-type flannel backend, e.g. wireguard, to connect the data-plane, i.e. pod <==> pod/node.
|
||||
As of today, k3s allows to deploy a cluster on a set of heterogeneous nodes by a simple and robust solution. This is achieved by using the [websocket proxy](https://github.com/k3s-io/k3s/blob/main/pkg/agent/run.go#L277) to connect the control-plane of the cluster, i.e. kube-api <==> kubelet, and a vpn-type flannel backend, e.g. wireguard, to connect the data-plane, i.e. pod <==> pod/node.
|
||||
|
||||
The current solution works well but has a few limitations:
|
||||
* It requires the server to have a public IP
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ The loadbalancer controller takes care of three tasks:
|
|||
2 - Sets up the infrastructure to provide the connectivity (externalIP ==> service)
|
||||
3 - Sets the externalIP
|
||||
|
||||
K3s embeds a simple [loadbalancer controller](https://github.com/k3s-io/k3s/tree/master/pkg/cloudprovider) that we call svclb, which has been part of K3s since its inception. When a new service of type LoadBalancer comes up, this svclb [creates a daemonset](https://github.com/k3s-io/k3s/blob/master/pkg/cloudprovider/loadbalancer.go#L35). That daemonset uses [hostPort](https://github.com/k3s-io/k3s/blob/master/pkg/cloudprovider/servicelb.go#L526-L531) to reserve the service port in all nodes. Subsequently, the serviceLB controller queries the daemonset pods [to know the node ips](https://github.com/k3s-io/k3s/blob/master/pkg/cloudprovider/servicelb.go#L291) and sets those node ips as [the externalIPs for the service](https://github.com/k3s-io/k3s/blob/master/pkg/cloudprovider/servicelb.go#L299)
|
||||
K3s embeds a simple [loadbalancer controller](https://github.com/k3s-io/k3s/tree/main/pkg/cloudprovider) that we call svclb, which has been part of K3s since its inception. When a new service of type LoadBalancer comes up, this svclb [creates a daemonset](https://github.com/k3s-io/k3s/blob/main/pkg/cloudprovider/loadbalancer.go#L35). That daemonset uses [hostPort](https://github.com/k3s-io/k3s/blob/main/pkg/cloudprovider/servicelb.go#L526-L531) to reserve the service port in all nodes. Subsequently, the serviceLB controller queries the daemonset pods [to know the node ips](https://github.com/k3s-io/k3s/blob/main/pkg/cloudprovider/servicelb.go#L291) and sets those node ips as [the externalIPs for the service](https://github.com/k3s-io/k3s/blob/main/pkg/cloudprovider/servicelb.go#L299)
|
||||
|
||||
When an external client wants to reach the service, it needs to point to any of the node ips and use the service port. The flow of traffic would be the following:
|
||||
1 - Traffic reaches the node
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ K3s project uses the [GitHub flow](https://docs.github.com/en/get-started/quicks
|
|||
Every forked repository works independently, meaning that any contributor can create branches with the name they see fit. However, it is worth noting that K3s mirrors [Kubernetes version skew policy](https://kubernetes.io/releases/version-skew-policy/) by maintaining release branches for the most recent three minor releases. The only exception is that the main branch mirrors the latest Kubernetes release (1.23) instead of using a `release-` prefixed one.
|
||||
|
||||
```text
|
||||
master -------------------------------------------. (Kubernetes 1.23)
|
||||
main -------------------------------------------. (Kubernetes 1.23)
|
||||
release-1.21 \---------------|---------------. (Kubernetes 1.21)
|
||||
release-1.22 \---------------. (Kubernetes 1.22)
|
||||
```
|
||||
|
|
@ -74,23 +74,23 @@ Every time one wants to work on a new K3s feature, we do:
|
|||
In code it would look this way:
|
||||
|
||||
```sh
|
||||
## Get local master up to date
|
||||
## Get local main up to date
|
||||
# Assuming the k3s clone is the current working directory
|
||||
git fetch upstream
|
||||
git checkout master
|
||||
git rebase upstream/master
|
||||
git checkout main
|
||||
git rebase upstream/main
|
||||
|
||||
## Create a new branch from master
|
||||
## Create a new branch from main
|
||||
git checkout -b myfeature
|
||||
```
|
||||
|
||||
### Keeping local branches in sync
|
||||
|
||||
Either when branching out from master or a release one, keep in mind it is worth checking if any change has been pushed upstream by doing:
|
||||
Either when branching out from main or a release one, keep in mind it is worth checking if any change has been pushed upstream by doing:
|
||||
|
||||
```sh
|
||||
git fetch upstream
|
||||
git rebase upstream/master
|
||||
git rebase upstream/main
|
||||
```
|
||||
|
||||
It is suggested to `fetch` then `rebase` instead of `pull` since the latter does a merge, which leaves merge commits. For this, one can consider changing the local repository configuration by doing `git config branch.autoSetupRebase always` to change the behavior of `git pull`, or another non-merge option such as `git pull --rebase`.
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
Once the release is verified, the channel server config needs to be updated to reflect the new version for “stable”.
|
||||
|
||||
1. Channel.yaml can be found at the [root of the K3s repo.](https://github.com/k3s-io/k3s/blob/master/channel.yaml)
|
||||
1. Channel.yaml can be found at the [root of the K3s repo.](https://github.com/k3s-io/k3s/blob/main/channel.yaml)
|
||||
1. When updating the channel server a single-line change will need to be performed.
|
||||
1. Release Captains responsible for this change will need to update the following stanza to reflect the new stable version of kubernetes relative to the release in progress.
|
||||
1. Example:
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
1. After the merge CI has completed, cut an RC by creating a release in the GitHub interface
|
||||
1. the title is the version of k3s you are releasing with the rc1 subversion eg. "v1.25.0-rc1+k3s1"
|
||||
1. In the case of a update to k3s, it should be incremented from `k3s1` to `k3s2`, for example, meaning the k3s version is being incremented.
|
||||
1. the target should match the release branch, remember that the latest version is attached to "master"
|
||||
1. the target should match the release branch, remember that the latest version is attached to "main"
|
||||
1. no description
|
||||
1. the tag should match the title
|
||||
1. After the RC is cut validate that the CI for the RC passes
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@
|
|||
- if the commit is not in the comparison, try comparing the previous release tags
|
||||
- example: `https://github.com/k3s-io/k3s/compare/v1.25.0+k3s1...v1.25.2+k3s1`
|
||||
- the commit's merge issue should be listed in the release notes
|
||||
1. if you are adding backports, make sure you are using the backport issues, not the one for master
|
||||
1. if you are adding backports, make sure you are using the backport issues, not the one for main
|
||||
1. Verify component release versions
|
||||
- the list of components is completely static, someone should say something in the PR if we need to add to the list
|
||||
- Kubernetes, Kine, SQLite, Etcd, Containerd, Runc, Flannel, Metrics-server, Traefik, CoreDNS, Helm-controller, Local-path-provisioner
|
||||
|
|
@ -65,7 +65,7 @@
|
|||
the build script runs 'make' on whatever was downloaded
|
||||
see https://github.com/k3s-io/k3s/blob/v1.23.13-rc2%2Bk3s1/scripts/version.sh#L40
|
||||
and https://github.com/k3s-io/k3s/blob/v1.23.13-rc2+k3s1/scripts/download#L29
|
||||
and https://github.com/k3s-io/k3s/blob/master/scripts/build#L138
|
||||
and https://github.com/k3s-io/k3s/blob/main/scripts/build#L138
|
||||
flannel: version.sh sets an env variable based on go.mod, then the build script builds it
|
||||
see https://github.com/k3s-io/k3s/blob/v1.23.13-rc2+k3s1/go.mod#L83
|
||||
metrics-server: version is set in the manifest at manifests/metric-server
|
||||
|
|
|
|||
|
|
@ -190,7 +190,7 @@ git push --set-upstream origin ${NEW_K3S_VER}
|
|||
Create a commit with all the changes, and push this upstream.
|
||||
Create a PR to merge your branch into the corresponding release branch, and wait for CI to run tests on the PR. Make sure to create the PR against the associated release branch for this update.
|
||||
|
||||
Once CI passes and you receive two approvals, you may now squash-merge the PR and then tag an RC after the merge to master CI run completes.
|
||||
Once CI passes and you receive two approvals, you may now squash-merge the PR and then tag an RC after the merge to main CI run completes.
|
||||
|
||||
# Create a Release Candidate
|
||||
Releases are kicked off and created by tagging a new tag.
|
||||
|
|
@ -295,7 +295,7 @@ The resulting CI/CD run can be viewed here:
|
|||
[k3s-io/k3s Drone Dashboard](https://drone-publish.k3s.io/k3s-io/k3s)
|
||||
|
||||
# Update Channel Server
|
||||
Once the release is verified, the channel server config needs to be updated to reflect the new version for “stable”. [channel.yaml can be found at the root of the K3s repo.](https://github.com/k3s-io/k3s/blob/master/channel.yaml)
|
||||
Once the release is verified, the channel server config needs to be updated to reflect the new version for “stable”. [channel.yaml can be found at the root of the K3s repo.](https://github.com/k3s-io/k3s/blob/main/channel.yaml)
|
||||
|
||||
When updating the channel server a single-line change will need to be performed.
|
||||
Release Captains responsible for this change will need to update the following stanza to reflect the new stable version of kubernetes relative to the release in progress.
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ func Test_DockerSkew(t *testing.T) {
|
|||
var lastMinorVersion string
|
||||
var _ = BeforeSuite(func() {
|
||||
// If this test runs on v1.31 commit, we want the latest v1.30 release
|
||||
// For master and unreleased branches, we want the latest stable release
|
||||
// For main and unreleased branches, we want the latest stable release
|
||||
var upgradeChannel string
|
||||
var err error
|
||||
// We want to substract one from the minor version to get the previous release
|
||||
|
|
|
|||
2
tests/e2e/btrfs/Vagrantfile
vendored
2
tests/e2e/btrfs/Vagrantfile
vendored
|
|
@ -5,7 +5,7 @@ NODE_ROLES = (ENV['E2E_NODE_ROLES'] ||
|
|||
["server-0"])
|
||||
NODE_BOXES = (ENV['E2E_NODE_BOXES'] ||
|
||||
['opensuse/Leap-15.6.x86_64'])
|
||||
GITHUB_BRANCH = (ENV['E2E_GITHUB_BRANCH'] || "master")
|
||||
GITHUB_BRANCH = (ENV['E2E_GITHUB_BRANCH'] || "main")
|
||||
RELEASE_VERSION = (ENV['E2E_RELEASE_VERSION'] || "")
|
||||
NODE_CPUS = (ENV['E2E_NODE_CPUS'] || 2).to_i
|
||||
NODE_MEMORY = (ENV['E2E_NODE_MEMORY'] || 2048).to_i
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ var ci = flag.Bool("ci", false, "running on CI")
|
|||
var local = flag.Bool("local", false, "deploy a locally built K3s binary")
|
||||
|
||||
// Environment Variables Info:
|
||||
// E2E_RELEASE_VERSION=v1.23.1+k3s2 or nil for latest commit from master
|
||||
// E2E_RELEASE_VERSION=v1.23.1+k3s2 or nil for latest commit from main
|
||||
|
||||
func Test_E2EBtrfsSnapshot(t *testing.T) {
|
||||
RegisterFailHandler(Fail)
|
||||
|
|
|
|||
2
tests/e2e/dualstack/Vagrantfile
vendored
2
tests/e2e/dualstack/Vagrantfile
vendored
|
|
@ -3,7 +3,7 @@ NODE_ROLES = (ENV['E2E_NODE_ROLES'] ||
|
|||
["server-0", "server-1", "server-2", "agent-0" ])
|
||||
NODE_BOXES = (ENV['E2E_NODE_BOXES'] ||
|
||||
['bento/ubuntu-24.04', 'bento/ubuntu-24.04', 'bento/ubuntu-24.04', 'bento/ubuntu-24.04'])
|
||||
GITHUB_BRANCH = (ENV['E2E_GITHUB_BRANCH'] || "master")
|
||||
GITHUB_BRANCH = (ENV['E2E_GITHUB_BRANCH'] || "main")
|
||||
RELEASE_VERSION = (ENV['E2E_RELEASE_VERSION'] || "")
|
||||
GOCOVER = (ENV['E2E_GOCOVER'] || "")
|
||||
NODE_CPUS = (ENV['E2E_NODE_CPUS'] || 2).to_i
|
||||
|
|
|
|||
2
tests/e2e/embeddedmirror/Vagrantfile
vendored
2
tests/e2e/embeddedmirror/Vagrantfile
vendored
|
|
@ -3,7 +3,7 @@ NODE_ROLES = (ENV['E2E_NODE_ROLES'] ||
|
|||
["server-0", "agent-0"])
|
||||
NODE_BOXES = (ENV['E2E_NODE_BOXES'] ||
|
||||
['bento/ubuntu-24.04', 'bento/ubuntu-24.04'])
|
||||
GITHUB_BRANCH = (ENV['E2E_GITHUB_BRANCH'] || "master")
|
||||
GITHUB_BRANCH = (ENV['E2E_GITHUB_BRANCH'] || "main")
|
||||
RELEASE_VERSION = (ENV['E2E_RELEASE_VERSION'] || "")
|
||||
GOCOVER = (ENV['E2E_GOCOVER'] || "")
|
||||
NODE_CPUS = (ENV['E2E_NODE_CPUS'] || 2).to_i
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ var ci = flag.Bool("ci", false, "running on CI")
|
|||
var local = flag.Bool("local", false, "deploy a locally built K3s binary")
|
||||
|
||||
// Environment Variables Info:
|
||||
// E2E_RELEASE_VERSION=v1.23.1+k3s2 (default: latest commit from master)
|
||||
// E2E_RELEASE_VERSION=v1.23.1+k3s2 (default: latest commit from main)
|
||||
// E2E_REGISTRY: true/false (default: false)
|
||||
|
||||
func Test_E2EEmbeddedMirror(t *testing.T) {
|
||||
|
|
|
|||
2
tests/e2e/externalip/Vagrantfile
vendored
2
tests/e2e/externalip/Vagrantfile
vendored
|
|
@ -3,7 +3,7 @@ NODE_ROLES = (ENV['E2E_NODE_ROLES'] ||
|
|||
["server-0", "agent-0" ])
|
||||
NODE_BOXES = (ENV['E2E_NODE_BOXES'] ||
|
||||
['bento/ubuntu-24.04', 'bento/ubuntu-24.04'])
|
||||
GITHUB_BRANCH = (ENV['E2E_GITHUB_BRANCH'] || "master")
|
||||
GITHUB_BRANCH = (ENV['E2E_GITHUB_BRANCH'] || "main")
|
||||
RELEASE_VERSION = (ENV['E2E_RELEASE_VERSION'] || "")
|
||||
GOCOVER = (ENV['E2E_GOCOVER'] || "")
|
||||
NODE_CPUS = (ENV['E2E_NODE_CPUS'] || 2).to_i
|
||||
|
|
|
|||
2
tests/e2e/privateregistry/Vagrantfile
vendored
2
tests/e2e/privateregistry/Vagrantfile
vendored
|
|
@ -3,7 +3,7 @@ NODE_ROLES = (ENV['E2E_NODE_ROLES'] ||
|
|||
["server-0", "agent-0"])
|
||||
NODE_BOXES = (ENV['E2E_NODE_BOXES'] ||
|
||||
['bento/ubuntu-24.04', 'bento/ubuntu-24.04', 'bento/ubuntu-24.04', 'bento/ubuntu-24.04', 'bento/ubuntu-24.04'])
|
||||
GITHUB_BRANCH = (ENV['E2E_GITHUB_BRANCH'] || "master")
|
||||
GITHUB_BRANCH = (ENV['E2E_GITHUB_BRANCH'] || "main")
|
||||
RELEASE_VERSION = (ENV['E2E_RELEASE_VERSION'] || "")
|
||||
GOCOVER = (ENV['E2E_GOCOVER'] || "")
|
||||
NODE_CPUS = (ENV['E2E_NODE_CPUS'] || 2).to_i
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ var ci = flag.Bool("ci", false, "running on CI")
|
|||
var local = flag.Bool("local", false, "deploy a locally built K3s binary")
|
||||
|
||||
// Environment Variables Info:
|
||||
// E2E_RELEASE_VERSION=v1.23.1+k3s2 (default: latest commit from master)
|
||||
// E2E_RELEASE_VERSION=v1.23.1+k3s2 (default: latest commit from main)
|
||||
// E2E_REGISTRY: true/false (default: false)
|
||||
|
||||
func Test_E2EPrivateRegistry(t *testing.T) {
|
||||
|
|
|
|||
2
tests/e2e/rootless/Vagrantfile
vendored
2
tests/e2e/rootless/Vagrantfile
vendored
|
|
@ -1,7 +1,7 @@
|
|||
ENV['VAGRANT_NO_PARALLEL'] = 'no'
|
||||
NODE_ROLES = (ENV['E2E_NODE_ROLES'] || ["server-0"])
|
||||
NODE_BOXES = (ENV['E2E_NODE_BOXES'] || ['bento/ubuntu-24.04'])
|
||||
GITHUB_BRANCH = (ENV['E2E_GITHUB_BRANCH'] || "master")
|
||||
GITHUB_BRANCH = (ENV['E2E_GITHUB_BRANCH'] || "main")
|
||||
RELEASE_VERSION = (ENV['E2E_RELEASE_VERSION'] || "")
|
||||
GOCOVER = (ENV['E2E_GOCOVER'] || "")
|
||||
NODE_CPUS = (ENV['E2E_NODE_CPUS'] || 2).to_i
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ var ci = flag.Bool("ci", false, "running on CI")
|
|||
var local = flag.Bool("local", false, "deploy a locally built K3s binary")
|
||||
|
||||
// Environment Variables Info:
|
||||
// E2E_RELEASE_VERSION=v1.27.1+k3s2 or nil for latest commit from master
|
||||
// E2E_RELEASE_VERSION=v1.27.1+k3s2 or nil for latest commit from main
|
||||
|
||||
func Test_E2ERootless(t *testing.T) {
|
||||
RegisterFailHandler(Fail)
|
||||
|
|
|
|||
2
tests/e2e/rotateca/Vagrantfile
vendored
2
tests/e2e/rotateca/Vagrantfile
vendored
|
|
@ -3,7 +3,7 @@ NODE_ROLES = (ENV['E2E_NODE_ROLES'] ||
|
|||
["server-0", "server-1", "server-2", "agent-0"])
|
||||
NODE_BOXES = (ENV['E2E_NODE_BOXES'] ||
|
||||
['bento/ubuntu-24.04', 'bento/ubuntu-24.04', 'bento/ubuntu-24.04', 'bento/ubuntu-24.04'])
|
||||
GITHUB_BRANCH = (ENV['E2E_GITHUB_BRANCH'] || "master")
|
||||
GITHUB_BRANCH = (ENV['E2E_GITHUB_BRANCH'] || "main")
|
||||
RELEASE_VERSION = (ENV['E2E_RELEASE_VERSION'] || "")
|
||||
GOCOVER = (ENV['E2E_GOCOVER'] || "")
|
||||
NODE_CPUS = (ENV['E2E_NODE_CPUS'] || 2).to_i
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ var ci = flag.Bool("ci", false, "running on CI")
|
|||
var local = flag.Bool("local", false, "deploy a locally built K3s binary")
|
||||
|
||||
// Environment Variables Info:
|
||||
// E2E_RELEASE_VERSION=v1.23.1+k3s2 or nil for latest commit from master
|
||||
// E2E_RELEASE_VERSION=v1.23.1+k3s2 or nil for latest commit from main
|
||||
|
||||
func Test_E2ECustomCARotation(t *testing.T) {
|
||||
RegisterFailHandler(Fail)
|
||||
|
|
|
|||
2
tests/e2e/s3/Vagrantfile
vendored
2
tests/e2e/s3/Vagrantfile
vendored
|
|
@ -3,7 +3,7 @@ NODE_ROLES = (ENV['E2E_NODE_ROLES'] ||
|
|||
["server-0"])
|
||||
NODE_BOXES = (ENV['E2E_NODE_BOXES'] ||
|
||||
['bento/ubuntu-24.04'])
|
||||
GITHUB_BRANCH = (ENV['E2E_GITHUB_BRANCH'] || "master")
|
||||
GITHUB_BRANCH = (ENV['E2E_GITHUB_BRANCH'] || "main")
|
||||
RELEASE_VERSION = (ENV['E2E_RELEASE_VERSION'] || "")
|
||||
GOCOVER = (ENV['E2E_GOCOVER'] || "")
|
||||
NODE_CPUS = (ENV['E2E_NODE_CPUS'] || 2).to_i
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ var ci = flag.Bool("ci", false, "running on CI")
|
|||
var local = flag.Bool("local", false, "deploy a locally built K3s binary")
|
||||
|
||||
// Environment Variables Info:
|
||||
// E2E_RELEASE_VERSION=v1.23.1+k3s2 (default: latest commit from master)
|
||||
// E2E_RELEASE_VERSION=v1.23.1+k3s2 (default: latest commit from main)
|
||||
// E2E_REGISTRY: true/false (default: false)
|
||||
|
||||
func Test_E2ES3(t *testing.T) {
|
||||
|
|
|
|||
2
tests/e2e/scripts/Jenkinsfile
vendored
2
tests/e2e/scripts/Jenkinsfile
vendored
|
|
@ -9,7 +9,7 @@ pipeline {
|
|||
stages {
|
||||
stage('Git Checkout') {
|
||||
steps {
|
||||
git branch: 'master', url: 'https://github.com/k3s-io/k3s.git'
|
||||
git branch: 'main', url: 'https://github.com/k3s-io/k3s.git'
|
||||
script {
|
||||
dir("${WORKSPACE}/tests/e2e") {
|
||||
if (env.AWS_SSH_PEM_KEY && env.AWS_SSH_KEY_NAME) {
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ E2E_EXTERNAL_DB=$db && export E2E_EXTERNAL_DB
|
|||
E2E_REGISTRY=true && export E2E_REGISTRY
|
||||
|
||||
cd
|
||||
cd k3s && git pull --rebase origin master
|
||||
cd k3s && git pull --rebase origin main
|
||||
/usr/local/go/bin/go mod tidy
|
||||
|
||||
cd tests/e2e
|
||||
|
|
@ -40,7 +40,7 @@ echo "$OS"
|
|||
vagrant global-status | awk '/running/'|cut -c1-7| xargs -r -d '\n' -n 1 -- vagrant destroy -f
|
||||
|
||||
# To reduce GH API requsts, we grab the latest commit on the host and pass it to the tests
|
||||
./scripts/latest_commit.sh master latest_commit.txt
|
||||
./scripts/latest_commit.sh main latest_commit.txt
|
||||
E2E_RELEASE_VERSION=$(cat latest_commit.txt) && export E2E_RELEASE_VERSION
|
||||
|
||||
echo 'RUNNING DUALSTACK TEST'
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#!/bin/sh
|
||||
|
||||
# GitHub repository URL
|
||||
github_url="https://raw.githubusercontent.com/k3s-io/k3s/master/k3s-rootless.service"
|
||||
github_url="https://raw.githubusercontent.com/k3s-io/k3s/main/k3s-rootless.service"
|
||||
|
||||
# Destination file path
|
||||
destination_path="/home/vagrant/.config/systemd/user/"
|
||||
|
|
|
|||
2
tests/e2e/secretsencryption/Vagrantfile
vendored
2
tests/e2e/secretsencryption/Vagrantfile
vendored
|
|
@ -3,7 +3,7 @@ NODE_ROLES = (ENV['E2E_NODE_ROLES'] ||
|
|||
["server-0", "server-1", "server-2"])
|
||||
NODE_BOXES = (ENV['E2E_NODE_BOXES'] ||
|
||||
['bento/ubuntu-24.04', 'bento/ubuntu-24.04', 'bento/ubuntu-24.04'])
|
||||
GITHUB_BRANCH = (ENV['E2E_GITHUB_BRANCH'] || "master")
|
||||
GITHUB_BRANCH = (ENV['E2E_GITHUB_BRANCH'] || "main")
|
||||
RELEASE_VERSION = (ENV['E2E_RELEASE_VERSION'] || "")
|
||||
GOCOVER = (ENV['E2E_GOCOVER'] || "")
|
||||
NODE_CPUS = (ENV['E2E_NODE_CPUS'] || 2).to_i
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ var ci = flag.Bool("ci", false, "running on CI")
|
|||
var local = flag.Bool("local", false, "deploy a locally built K3s binary")
|
||||
|
||||
// Environment Variables Info:
|
||||
// E2E_RELEASE_VERSION=v1.28.0+k3s1 or nil for latest commit from master
|
||||
// E2E_RELEASE_VERSION=v1.28.0+k3s1 or nil for latest commit from main
|
||||
|
||||
func Test_E2ESecretsEncryption(t *testing.T) {
|
||||
RegisterFailHandler(Fail)
|
||||
|
|
|
|||
2
tests/e2e/secretsencryption_old/Vagrantfile
vendored
2
tests/e2e/secretsencryption_old/Vagrantfile
vendored
|
|
@ -3,7 +3,7 @@ NODE_ROLES = (ENV['E2E_NODE_ROLES'] ||
|
|||
["server-0", "server-1", "server-2"])
|
||||
NODE_BOXES = (ENV['E2E_NODE_BOXES'] ||
|
||||
['bento/ubuntu-24.04', 'bento/ubuntu-24.04', 'bento/ubuntu-24.04'])
|
||||
GITHUB_BRANCH = (ENV['E2E_GITHUB_BRANCH'] || "master")
|
||||
GITHUB_BRANCH = (ENV['E2E_GITHUB_BRANCH'] || "main")
|
||||
RELEASE_VERSION = (ENV['E2E_RELEASE_VERSION'] || "")
|
||||
GOCOVER = (ENV['E2E_GOCOVER'] || "")
|
||||
NODE_CPUS = (ENV['E2E_NODE_CPUS'] || 2).to_i
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ var ci = flag.Bool("ci", false, "running on CI")
|
|||
var local = flag.Bool("local", false, "deploy a locally built K3s binary")
|
||||
|
||||
// Environment Variables Info:
|
||||
// E2E_RELEASE_VERSION=v1.23.1+k3s2 or nil for latest commit from master
|
||||
// E2E_RELEASE_VERSION=v1.23.1+k3s2 or nil for latest commit from main
|
||||
|
||||
func Test_E2ESecretsEncryptionOld(t *testing.T) {
|
||||
RegisterFailHandler(Fail)
|
||||
|
|
|
|||
2
tests/e2e/splitserver/Vagrantfile
vendored
2
tests/e2e/splitserver/Vagrantfile
vendored
|
|
@ -3,7 +3,7 @@ NODE_ROLES = (ENV['E2E_NODE_ROLES'] ||
|
|||
["server-etcd-0", "server-etcd-1", "server-etcd-2", "server-cp-0", "server-cp-1", "agent-0", "agent-1"])
|
||||
NODE_BOXES = (ENV['E2E_NODE_BOXES'] ||
|
||||
['bento/ubuntu-24.04', 'bento/ubuntu-24.04', 'bento/ubuntu-24.04', 'bento/ubuntu-24.04', 'bento/ubuntu-24.04', 'bento/ubuntu-24.04', 'bento/ubuntu-24.04'])
|
||||
GITHUB_BRANCH = (ENV['E2E_GITHUB_BRANCH'] || "master")
|
||||
GITHUB_BRANCH = (ENV['E2E_GITHUB_BRANCH'] || "main")
|
||||
RELEASE_VERSION = (ENV['E2E_RELEASE_VERSION'] || "")
|
||||
GOCOVER = (ENV['E2E_GOCOVER'] || "")
|
||||
NODE_CPUS = (ENV['E2E_NODE_CPUS'] || 2).to_i
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ var local = flag.Bool("local", false, "deploy a locally built K3s binary")
|
|||
var hardened = flag.Bool("hardened", false, "true or false")
|
||||
|
||||
// Environment Variables Info:
|
||||
// E2E_RELEASE_VERSION=v1.23.1+k3s2 or nil for latest commit from master
|
||||
// E2E_RELEASE_VERSION=v1.23.1+k3s2 or nil for latest commit from main
|
||||
|
||||
// createSplitCluster creates a split server cluster with the given nodeOS, etcdCount, controlPlaneCount, and agentCount.
|
||||
// It duplicates and merges functionality found in the e2e.CreateCluster and e2e.CreateLocalCluster functions.
|
||||
|
|
|
|||
2
tests/e2e/startup/Vagrantfile
vendored
2
tests/e2e/startup/Vagrantfile
vendored
|
|
@ -3,7 +3,7 @@ NODE_ROLES = (ENV['E2E_NODE_ROLES'] ||
|
|||
["server-0", "agent-0"])
|
||||
NODE_BOXES = (ENV['E2E_NODE_BOXES'] ||
|
||||
['bento/ubuntu-24.04', 'bento/ubuntu-24.04'])
|
||||
GITHUB_BRANCH = (ENV['E2E_GITHUB_BRANCH'] || "master")
|
||||
GITHUB_BRANCH = (ENV['E2E_GITHUB_BRANCH'] || "main")
|
||||
RELEASE_VERSION = (ENV['E2E_RELEASE_VERSION'] || "")
|
||||
GOCOVER = (ENV['E2E_GOCOVER'] || "")
|
||||
NODE_CPUS = (ENV['E2E_NODE_CPUS'] || 2).to_i
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ var ci = flag.Bool("ci", false, "running on CI")
|
|||
var local = flag.Bool("local", false, "deploy a locally built K3s binary")
|
||||
|
||||
// Environment Variables Info:
|
||||
// E2E_RELEASE_VERSION=v1.23.1+k3s2 or nil for latest commit from master
|
||||
// E2E_RELEASE_VERSION=v1.23.1+k3s2 or nil for latest commit from main
|
||||
|
||||
// This test suite is used to verify that K3s can start up with dynamic configurations that require
|
||||
// both server and agent nodes. It is unique in passing dynamic arguments to vagrant, unlike the
|
||||
|
|
|
|||
2
tests/e2e/tailscale/Vagrantfile
vendored
2
tests/e2e/tailscale/Vagrantfile
vendored
|
|
@ -3,7 +3,7 @@ NODE_ROLES = (ENV['E2E_NODE_ROLES'] ||
|
|||
["server-0", "agent-0", "agent-1" ])
|
||||
NODE_BOXES = (ENV['E2E_NODE_BOXES'] ||
|
||||
['bento/ubuntu-24.04', 'bento/ubuntu-24.04', 'bento/ubuntu-24.04'])
|
||||
GITHUB_BRANCH = (ENV['E2E_GITHUB_BRANCH'] || "master")
|
||||
GITHUB_BRANCH = (ENV['E2E_GITHUB_BRANCH'] || "main")
|
||||
RELEASE_VERSION = (ENV['E2E_RELEASE_VERSION'] || "")
|
||||
GOCOVER = (ENV['E2E_GOCOVER'] || "")
|
||||
NODE_CPUS = (ENV['E2E_NODE_CPUS'] || 2).to_i
|
||||
|
|
|
|||
2
tests/e2e/upgradecluster/Vagrantfile
vendored
2
tests/e2e/upgradecluster/Vagrantfile
vendored
|
|
@ -10,7 +10,7 @@ REGISTRY = (ENV['E2E_REGISTRY'] || "")
|
|||
GOCOVER = (ENV['E2E_GOCOVER'] || "")
|
||||
NODE_CPUS = (ENV['E2E_NODE_CPUS'] || 2).to_i
|
||||
NODE_MEMORY = (ENV['E2E_NODE_MEMORY'] || 2048).to_i
|
||||
GITHUB_BRANCH = (ENV['E2E_GITHUB_BRANCH'] || "master")
|
||||
GITHUB_BRANCH = (ENV['E2E_GITHUB_BRANCH'] || "main")
|
||||
# Virtualbox >= 6.1.28 require `/etc/vbox/network.conf` for expanded private networks
|
||||
NETWORK_PREFIX = "10.10.11"
|
||||
install_type = ""
|
||||
|
|
|
|||
|
|
@ -20,14 +20,14 @@ var serverCount = flag.Int("serverCount", 3, "number of server nodes")
|
|||
var agentCount = flag.Int("agentCount", 2, "number of agent nodes")
|
||||
var hardened = flag.Bool("hardened", false, "true or false")
|
||||
var ci = flag.Bool("ci", false, "running on CI")
|
||||
var local = flag.Bool("local", false, "Controls which version k3s upgrades too, local binary or latest commit on master")
|
||||
var local = flag.Bool("local", false, "Controls which version k3s upgrades too, local binary or latest commit on main")
|
||||
|
||||
// Environment Variables Info:
|
||||
// E2E_REGISTRY: true/false (default: false)
|
||||
// Controls which K3s version is installed first
|
||||
// E2E_RELEASE_VERSION=v1.23.3+k3s1
|
||||
// OR
|
||||
// E2E_RELEASE_CHANNEL=(commit|latest|stable), commit pulls latest commit from master
|
||||
// E2E_RELEASE_CHANNEL=(commit|latest|stable), commit pulls latest commit from main
|
||||
|
||||
func Test_E2EUpgradeValidation(t *testing.T) {
|
||||
RegisterFailHandler(Fail)
|
||||
|
|
|
|||
2
tests/e2e/validatecluster/Vagrantfile
vendored
2
tests/e2e/validatecluster/Vagrantfile
vendored
|
|
@ -3,7 +3,7 @@ NODE_ROLES = (ENV['E2E_NODE_ROLES'] ||
|
|||
["server-0", "server-1", "server-2", "agent-0", "agent-1"])
|
||||
NODE_BOXES = (ENV['E2E_NODE_BOXES'] ||
|
||||
['bento/ubuntu-24.04', 'bento/ubuntu-24.04', 'bento/ubuntu-24.04', 'bento/ubuntu-24.04', 'bento/ubuntu-24.04'])
|
||||
GITHUB_BRANCH = (ENV['E2E_GITHUB_BRANCH'] || "master")
|
||||
GITHUB_BRANCH = (ENV['E2E_GITHUB_BRANCH'] || "main")
|
||||
RELEASE_VERSION = (ENV['E2E_RELEASE_VERSION'] || "")
|
||||
EXTERNAL_DB = (ENV['E2E_EXTERNAL_DB'] || "etcd")
|
||||
HARDENED = (ENV['E2E_HARDENED'] || "")
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ var local = flag.Bool("local", false, "deploy a locally built K3s binary")
|
|||
|
||||
// Environment Variables Info:
|
||||
// E2E_EXTERNAL_DB: mysql, postgres, etcd (default: etcd)
|
||||
// E2E_RELEASE_VERSION=v1.23.1+k3s2 (default: latest commit from master)
|
||||
// E2E_RELEASE_VERSION=v1.23.1+k3s2 (default: latest commit from main)
|
||||
// E2E_REGISTRY: true/false (default: false)
|
||||
|
||||
func Test_E2EClusterValidation(t *testing.T) {
|
||||
|
|
|
|||
2
tests/e2e/wasm/Vagrantfile
vendored
2
tests/e2e/wasm/Vagrantfile
vendored
|
|
@ -3,7 +3,7 @@ NODE_ROLES = (ENV['E2E_NODE_ROLES'] ||
|
|||
["server-0"])
|
||||
NODE_BOXES = (ENV['E2E_NODE_BOXES'] ||
|
||||
['bento/ubuntu-24.04'])
|
||||
GITHUB_BRANCH = (ENV['E2E_GITHUB_BRANCH'] || "master")
|
||||
GITHUB_BRANCH = (ENV['E2E_GITHUB_BRANCH'] || "main")
|
||||
RELEASE_VERSION = (ENV['E2E_RELEASE_VERSION'] || "")
|
||||
GOCOVER = (ENV['E2E_GOCOVER'] || "")
|
||||
NODE_CPUS = (ENV['E2E_NODE_CPUS'] || 2).to_i
|
||||
|
|
|
|||
|
|
@ -144,7 +144,7 @@ var _ = Describe("create a new cluster with kube-* flags", Ordered, func() {
|
|||
})
|
||||
/* The flag --disable-cloud-controller doesn't stop ccm from running,
|
||||
it appends -cloud-node and -cloud-node-lifecycle to the end of the --controllers flag
|
||||
https://github.com/k3s-io/k3s/blob/master/docs/adrs/servicelb-ccm.md
|
||||
https://github.com/k3s-io/k3s/blob/main/docs/adrs/servicelb-ccm.md
|
||||
*/
|
||||
It("should find cloud-controller-manager starting with"+
|
||||
"\"--cloud-node,--cloud-node-lifecycle,--secure-port=0\" flags ", func() {
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
---
|
||||
|
||||
These scripts uses Terraform to automate building and testing on k3s clusters on AWS, it supports building normal and HA clusters with N master nodes, N workers nodes and multiple storage backends including:
|
||||
These scripts uses Terraform to automate building and testing on k3s clusters on AWS, it supports building normal and HA clusters with N primary nodes, N workers nodes and multiple storage backends including:
|
||||
|
||||
- MySQL RDS
|
||||
- Postgres RDS
|
||||
|
|
@ -17,7 +17,7 @@ The scripts divides into three sections:
|
|||
|
||||
## Server
|
||||
|
||||
The server section deploys the storage backend and then deploys N master nodes, the scripts can be customized to use HA mode or use a single node cluster with sqlite backend, it can also support using 1 master node with external DB, the scripts can also be customized to specify instance type and k3s version, all available options are described in the variable section below.
|
||||
The server section deploys the storage backend and then deploys N primary nodes, the scripts can be customized to use HA mode or use a single node cluster with sqlite backend, it can also support using 1 primary node with external DB, the scripts can also be customized to specify instance type and k3s version, all available options are described in the variable section below.
|
||||
|
||||
The server section will also create a one or more agent nodes specifically for Prometheus deployment, clusterloader2 will deploy prometheus and grafana.
|
||||
|
||||
|
|
@ -45,7 +45,7 @@ The scripts can be modified by customizing the variables in `scripts/config`, th
|
|||
| Name | Description |
|
||||
|:----------------:|:------------------------------------------------------------------------------:|
|
||||
| CLUSTER_NAME | The cluster name on aws, this will prefix each component in the cluster |
|
||||
| DOMAIN_NAME | DNS name of the Loadbalancer for k3s master(s) |
|
||||
| DOMAIN_NAME | DNS name of the Loadbalancer for k3s primary(s) |
|
||||
| ZONE_ID | AWS route53 zone id for modifying the dns name |
|
||||
| K3S_VERSION | K3S version that will be used with the cluster |
|
||||
| EXTRA_SSH_KEYS | Public ssh keys that will be added to the servers |
|
||||
|
|
@ -68,7 +68,7 @@ The scripts can be modified by customizing the variables in `scripts/config`, th
|
|||
| Name | Description |
|
||||
|:--------------------:|:---------------------------------------------------------------------------------:|
|
||||
| SERVER_HA | Whether or not to use HA mode, if not then sqlite will be used as storage backend |
|
||||
| SERVER_COUNT | k3s master node count |
|
||||
| SERVER_COUNT | k3s primary node count |
|
||||
| SERVER_INSTANCE_TYPE | Ec2 instance type created for k3s server(s) |
|
||||
|
||||
### K3S Agent Variables
|
||||
|
|
@ -89,7 +89,7 @@ The scripts can be modified by customizing the variables in `scripts/config`, th
|
|||
|
||||
### build
|
||||
|
||||
The script includes a Makefile that run different sections, to build the master and workers, adjust the config file in `tests/perf/scripts/config` and then use the following:
|
||||
The script includes a Makefile that run different sections, to build the primary and workers, adjust the config file in `tests/perf/scripts/config` and then use the following:
|
||||
|
||||
```bash
|
||||
cd tests/perf
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ variable "db_version" {}
|
|||
|
||||
variable "server_count" {
|
||||
default = 1
|
||||
description = "Count of k3s master servers"
|
||||
description = "Count of k3s primary servers"
|
||||
}
|
||||
|
||||
variable "debug" {
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ github:
|
|||
k3s:
|
||||
org: "k3s-io"
|
||||
repo: "k3s"
|
||||
branch: "master"
|
||||
branch: "main"
|
||||
klipper_helm:
|
||||
org: "k3s-io"
|
||||
repo: "klipper-helm"
|
||||
|
|
|
|||
Loading…
Reference in a new issue