Fleet Management

  • Changed

    • Update github.com/giantswarm/telemetrydeck-go to v0.3.3 (giantswarm/kubectl-gs#2146)

    Fixed

    • update cluster: a Cluster API cluster’s update is checked before it is applied or scheduled. The command fails when the management cluster has no Release for the target version (for example aws-34.3.0), when the target is not higher than the current version, or when the values carry no global.release.version. The current version is read from the values, not the Cluster’s label, so an update after a failed one no longer silently changes nothing, and only global.release.version is replaced, not every key ending in version:.
    • template cluster: --service-priority takes effect again. The flag was accepted and validated but its value never reached the rendered manifests, because its only consumers were the vintage AWS/Azure providers removed in v5.0.0. It is now rendered as global.metadata.servicePriority for every provider. Because the flag defaults to highest, templated manifests now always carry global.metadata.servicePriority; this is semantically a no-op against the chart default of highest, but re-templated clusters will show the added key in a GitOps diff.
    • Usage telemetry: the version is also sent as TelemetryDeck.AppInfo.version, the parameter the TelemetryDeck dashboard’s standard “App Versions” insight reads (it was only in the payload key appVersion, so that chart stayed empty). telemetrydeck-go v0.2.0.
  • Changed

    • Update to Zot v2.1.20.
  • Changed

    • Update to Zot v2.1.20.
    • Added more trimming to the calculated value for the helm.sh/chart label.
  • Added

    • gitops: generated repositories now record which version of the repository structure they were built with, in a .gitops-metadata.yaml file at the repository root. gitops init creates it and every gitops add ... records the layer it generated.
    • gitops check: new command reporting the parts of a GitOps repository that were generated with an older repository structure than the current kubectl-gs produces. It exits non-zero when anything is behind, so it can be used as a check in the repository’s own CI. Repositories created before this existed are brought in with gitops check --adopt. (#23540)

    Fixed

    • template cluster: releases without a published release-<provider> chart, such as a hand-crafted Release CR used for testing (e.g. 35.0.0-andreas), no longer produce an App CR pointing to a chart which does not exist. The cluster-<provider> chart is used instead, which resolves the Release CR in the management cluster. (#4347)
    • template cluster: --cluster-version is no longer ignored for CAPA, CAPZ and AKS. Setting it templates the given cluster-<provider> app version instead of the release-<provider> chart, which allows testing a provider chart build together with a release.
    • Commands that fail because you are not logged into a management cluster now print a hint telling you to run kubectl gs login, instead of only a raw client error such as dial tcp 127.0.0.1:8080: connect: connection refused or no matches for kind "AppCatalogEntry". The hint is added for every command, not just template cluster.
  • Fixed

    • krew archives now include the LICENSE file, so validate-krew-manifest accepts the gs plugin release.
  • Fixed

    • krew install of the gs plugin: releases again publish .tar.gz archives (kubectl-gs-<tag>-<os>-<arch>.tar.gz) for every platform and the krew manifest references them.
  • Added

    • login: new --api-endpoint flag enables a fully offline direct-OIDC workload cluster login. When set together with --oidc-issuer, --oidc-client-id and --api-ca-file, the login skips all management cluster access, so the user needs no RBAC on the management cluster.
    • template cluster: support --provider aks for templating AKS workload clusters via the cluster-aks / release-aks chart. Reuses --region, --azure-subscription-id, and --management-cluster for the required Azure inputs.
    • template cluster: new --azure-cluster-identity-name and --azure-cluster-identity-namespace flags for both capz and aks, setting global.providerSpecific.azureClusterIdentity. Omitted when unset so the chart’s built-in defaults apply.

    Changed

    • Release binaries now include darwin/amd64, darwin/arm64, windows/amd64, and windows/arm64 alongside the existing linux targets. Windows binaries are named kubectl-gs-windows-<arch>.exe.
    • krew manifest updated to reference bare binaries directly instead of tarballs, and extended with windows/arm64 support.
    • (CAPA): Derive the number of VPC chunks from --az-usage-limit. This enables small single-AZ VPC layouts (e.g. a /24 VPC with a /25 private subnet and a /26 public subnet).
  • Changed

    • Update to upstream Helm Chart v0.1.122 and Zot v2.1.18.
  • Changed

    • Update to upstream Helm Chart v0.1.117 and Zot v2.1.17.
  • Changed

    • Fix ABS config to not override AppVersion in Chart.yaml