Skip to content

K0s 1.30 - DO NOT MERGE #2182

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 21 commits into
base: main
Choose a base branch
from
Open

K0s 1.30 - DO NOT MERGE #2182

wants to merge 21 commits into from

Conversation

JGAntunes
Copy link
Member

@JGAntunes JGAntunes commented May 22, 2025

Release Process for k0s-1-30 Branch

  1. Ensure current state:

    git checkout main && git pull
    git checkout k0s-1-30 && 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.30.13
      
  4. Update dependencies:

    make go.mod
    
  5. Commit and push changes

  6. Wait for CI to pass

    Expected failures:

    • TestMultiNodeUpgradePreviousStable
    • TestMultiNodeAirgapUpgradePreviousStable
  7. Tag and release:

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

    Replace <VERSION> with the correct version number

    Example:

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

Copy link

github-actions bot commented May 22, 2025

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-abc058a" -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-abc058a?airgap=true" -H "Authorization: $EC_SMOKE_TEST_LICENSE_ID" -o embedded-cluster-smoke-test-staging-app-ci.tgz

Happy debugging!

cursor[bot]

This comment was marked as outdated.

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 Regression

The CRD schema validation for Helm repositories under spec.extensions.helm.repositories was weakened by removing the required: [name, url] constraint and minLength: 1 for both fields. This regression allows Config, Installation, and KubernetesInstallation resources with missing or empty repository names or URLs to be admitted, leading to runtime failures when the operator attempts to add or use these repositories. The issue impacts CRD bases, chart templates, and JSON schemas.

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

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/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

pkg/crds/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

pkg/crds/resources.yaml#L420-L443

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

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.

4 participants