Skip to content

K0s 1.29 - DO NOT MERGE #1363

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 83 commits into
base: main
Choose a base branch
from
Open

K0s 1.29 - DO NOT MERGE #1363

wants to merge 83 commits into from

Conversation

emosbaugh
Copy link
Member

@emosbaugh emosbaugh commented Oct 22, 2024

Release Process for k0s-1-29 Branch

  1. Ensure current state:

    git checkout main && git pull
    git checkout k0s-1-29 && git pull
    
  2. Merge main into this branch:

    git merge origin/main
    

    Resolve any conflicts if necessary.

  3. Update images:

    • In pkg/config/static/metadata.yaml, update the kube-proxy and pause images to their latest patch versions and ensure the digests are updated accordingly.

    • To retrieve the digests for various platforms and architectures, use the following command:

      docker buildx imagetools inspect <image>:<tag>
      

      Example:

      docker buildx imagetools inspect registry.k8s.io/kube-proxy:v1.29.9
      
  4. Update dependencies:

    make go.mod
    
  5. Commit and push changes

  6. Wait for CI to pass

    Expected failures:

  7. Tag and release:

    git tag -m "<VERSION>+k8s-1.29" <VERSION>+k8s-1.29
    git push -u origin <VERSION>+k8s-1.29
    

    Replace <VERSION> with the correct version number

    Example:

    git tag -m "1.5.0+k8s-1.29" 1.5.0+k8s-1.29
    git push -u origin 1.5.0+k8s-1.29
    

Copy link

github-actions bot commented Oct 22, 2024

This PR has been released (on staging) and is available for download with a embedded-cluster-smoke-test-staging-app license ID.

Online Installer:

curl "https://staging.replicated.app/embedded/embedded-cluster-smoke-test-staging-app/ci/appver-dev-3b9bf80" -H "Authorization: $EC_SMOKE_TEST_LICENSE_ID" -o embedded-cluster-smoke-test-staging-app-ci.tgz

Airgap Installer (may take a few minutes before the airgap bundle is built):

curl "https://staging.replicated.app/embedded/embedded-cluster-smoke-test-staging-app/ci-airgap/appver-dev-3b9bf80?airgap=true" -H "Authorization: $EC_SMOKE_TEST_LICENSE_ID" -o embedded-cluster-smoke-test-staging-app-ci.tgz

Happy debugging!

@emosbaugh emosbaugh changed the title pin k0s version to 1.29 K0s 1.29 Oct 22, 2024
@emosbaugh emosbaugh changed the title K0s 1.29 K0s 1.29 - DO NOT MERGE Oct 30, 2024
@JGAntunes
Copy link
Member

We'll be releasing 2.6.0+k8s-1.29 since the failures registered are motivated by an upgrade from 1.28 which contained a known bug fixed upstream via - k0sproject/k0s@c802ffd - and which our CI starting picking up with the changes introduced in #2239

cursor[bot]

This comment was marked as outdated.

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: Helm Repository Validation Shift Causes Runtime Failures

The CRD schema for spec.extensions.helm.repositories in Config, Installation, and KubernetesInstallation resources was weakened. The required: [name, url] constraint and minLength: 1 validations for name and url fields were removed. This allows CRs with missing or empty repository names or URLs to be admitted, shifting validation errors from admission-time to runtime. Downstream operator code, such as helm repo add, expects these fields to be present and non-empty, leading to runtime failures.

operator/charts/embedded-cluster-operator/charts/crds/templates/resources.yaml#L103-L126

type: string
insecure:
description: Whether to skip TLS certificate checks
when connecting to the repository.
type: boolean
keyfile:
description: The TLS key file to use for HTTPS client
authentication.
type: string
name:
description: The repository name.
type: string
password:
description: Password for Basic HTTP authentication.
type: string
url:
description: The repository URL.
type: string
username:
description: Username for Basic HTTP authentication.
type: string
type: object
type: array
type: object

operator/config/crd/bases/embeddedcluster.replicated.com_configs.yaml#L101-L122

type: string
insecure:
description: Whether to skip TLS certificate checks
when connecting to the repository.
type: boolean
keyfile:
description: The TLS key file to use for HTTPS client
authentication.
type: string
name:
description: The repository name.
type: string
password:
description: Password for Basic HTTP authentication.
type: string
url:
description: The repository URL.
type: string
username:
description: Username for Basic HTTP authentication.
type: string
type: object

operator/config/crd/bases/embeddedcluster.replicated.com_installations.yaml#L175-L188

type: string
name:
description: The repository name.
type: string
password:
description: Password for Basic HTTP authentication.
type: string
url:
description: The repository URL.
type: string
username:
description: Username for Basic HTTP authentication.
type: string
type: object

Fix in Cursor Fix in Web

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants