Releases: gardener/gardenctl-v2
Releases · gardener/gardenctl-v2
v2.14.0
[github.com/gardener/gardenctl-v2:v2.14.0]
✨ New Features
[USER]gardenctl target viewnow also displays the seed, if a shoot was targeted. by @dguendisch [#712]
📖 Documentation
v2.13.0
[github.com/gardener/gardenctl-v2:v2.13.0]
✨ New Features
[USER]ssh: Bastion ingress addresses and hostnames are now validated to prevent invalid IP addresses and non-DNS-compliant hostnames. by @petersutter [#678][USER]Added sanity checks for user-provided and shoot node SSH keys by @petersutter [#674][USER]Thegardenctl sshcommand now accepts a--shellflag to specify the shell used for escaping arguments when printing SSH commands. If not provided, it falls back to theGCTL_SHELLenvironment variable or defaults tobash. To setGCTL_SHELLautomatically, source the gardenctl startup script in your shell profile (e.g., addsource <(gardenctl rc bash)to ~/.bashrc), or use the--shellflag to avoid escaping issues. by @petersutter [#690][USER]provider-env: Added workload identity support for provider environments on AWS, Azure, and GCP. Use the--workload-identity-token-expirationflag to control token validity duration (default: 1h). by @petersutter [#659]
v2.12.0
[github.com/gardener/gardenctl-v2:v2.12.0]
⚠️ Breaking Changes
[DEVELOPER]provider-env:regionand credential field values are now written to temporary files. Their file paths are exposed under.dataFilesboth in (custom) provider templates and when usinggardenctl provider-env -o {json|yaml}(for example,.dataFiles.regionpoints to the temporary file). This change is only relevant when using custom provider templates or when invokinggardenctl provider-env -o {json|yaml}in custom scripts. by @petersutter [#648][USER]Garden names and aliases must now follow naming rules: only alphanumeric characters, underscore, or hyphen are allowed, and names must start and end with an alphanumeric character. Existing configurations with invalid names will be rejected when loading the configuration. by @petersutter [#650][USER]provider-envcommand:- OpenStack:
provider-envnow requires configuring allowedauthURLpatterns; the command will fail for OpenStack if none are provided. See documentation: OpenStack: Allowed authURL patterns (required) - Templates: raw Secret data is no longer exposed at the top level in
provider-envtemplates. Custom/out-of-tree templates that previously accessed raw keys must now read them from.unsafeSecretData(unvalidated — hence "unsafe"). This is currently required to keep out-of-tree provider support in gardenctl. Built-in templates must not use.unsafeSecretData. by @petersutter [#636]
- OpenStack:
✨ New Features
[USER]Introducesgardenctl config set-openstack-authurlcommand for setting one or more allowed OpenStack authURLs used in theprovider-envcommand. Example usage:gardenctl config set-openstack-authurl --uri-pattern https://keystone.example.com:5000/v3by @petersutter [#643][USER]provider-envcommand enhancements:- Enforce schema-driven validation for provider credentials
- Avoid exporting credentials unless needed by @petersutter [#636]
[USER]Added additional GCP service account validation forprovider-envcommand by @petersutter [#574]
🐛 Bug Fixes
[USER]Fixed an issue where theprovider-envcommand failed when the targeted Shoot used aNamespacedCloudProfileby @petersutter [#639]
🏃 Others
[USER]Improved the openstack credential handling by @petersutter [#619][DEVELOPER]migrate CICD-Pipeline to GitHub-Actions by @ccwienk [#598][USER]gardenctl does not fallback anymore to<shoot-name>.ca-clusterSecretfor fetching the CA of the cluster. It only relies on the<shoot-name>.ca-clusterConfigMapto be present. by @petersutter [#618]
v2.11.0
[gardener/gardenctl-v2]
✨ New Features
[USER]ssh to nodes that have IPv6 addresses is now supported. by @axel7born [#565]
🐛 Bug Fixes
[USER]Added validation to ensure credential type is properly set for GCP authentication, preventing potential connection failures due to incomplete configuration. by @petersutter [#567]
🏃 Others
[DEVELOPER]Updated dependencies to latest versions by @gardener-ci-robot [#526][DEVELOPER]The golang version to build the binaries is upgraded tov1.24.1by @gardener-ci-robot [#529]
v2.10.0
[gardener/gardenctl-v2]
⚠️ Breaking Changes
[USER]Access Restrictions: Thegardens[].accessRestrictions[].notifyIffield in thegardenctlconfiguration (seegardenctl config view) is no longer supported and will be ignored.gardenctlnow assumesnotifyIf=true. This change does not affect thegardens[].accessRestrictions[].options[].notifyIfsetting. by @petersutter [#503][USER]The session directory has been moved to asessionssubfolder, changing from<temp_dir>/garden/<session_id>to<temp_dir>/garden/sessions/<session_id>. The current session will be migrated on the next run of agardenctlcommand. by @petersutter [#476]
✨ New Features
[USER]ssh: New flags have been introduced to provide finer control over strict host key checking behavior when using the gardenctl ssh command:--bastion-strict-host-key-checking: Controls how the SSH client performs host key checking for the bastion host. Valid options areyes,no, orask. The default value isask.--node-strict-host-key-checking: Controls how the SSH client performs host key checking for the Shoot cluster node. Valid options areyes,no, orask. The default value isask.
Previously, the behavior was equivalent to setting these flags tono, meaning no host key verification was performed. by @petersutter [#470]
[USER]Access Restrictions:- Use new fields in
ShootAPI for the shoot access restriction configuration, that were introduced with g/g#10654. - The legacy access-restriction key
seed.gardener.cloud/eu-accesswill be mapped toeu-access-onlyif yourgardenctlconfiguration has not been updated (seegardenctl config view). by @petersutter [#503]
- Use new fields in
[USER]ssh: Default paths forknown_hostsfiles are set for bastions and shoot nodes. Bastion keys are stored in temporary directories, while shoot node keys persist in the garden home directory. by @petersutter [#476][DEVELOPER]gosecwas introduced for Static Application Security Testing (SAST). by @petersutter [#470]
v2.9.0
[gardener/gardenctl-v2]
✨ New Features
[USER]Cloud provider credentials can now be extracted following a shoot reference to a credentials binding. by @dimityrmirchev [#464][USER]Support Namespaced Cloud Profiles by @petersutter [#462]
v2.8.0
[gardener/gardenctl-v2]
🏃 Others
[USER]Thegardenloginkubeconfig now only includes kube-apiserver addresses fromShoot.status.advertisedAddresses. This ensures compatibility withgardener/gardenerversionv1.91.0and later. by @petersutter [#412]
v2.7.0
[gardener/gardenctl-v2]
✨ New Features
[USER]Users with theProjectviewerrole can nowtargetshoot clusters and obtain thekubeconfigfor these clusters.gardenctl-v2fetches the cluster CA viaConfigMapto generate thegardenloginkubeconfig. This feature is supported with Gardenerv1.89and requiresgardenloginv0.5or higher. by @petersutter [#380]
v2.6.1
[gardener/gardenctl-v2]
🐛 Bug Fixes
[USER]Fixed: Windows build not being uploaded to GitHub release and to Chocolatey by @petersutter [#376]
v2.6.0
[gardener/gardenctl-v2]
✨ New Features
[OPERATOR]ssh: Now outputs pendingNodes in addition to already joinedNodes. by @petersutter [#368][OPERATOR]gardenctl ssh <tab>completes nodes that are unable to join the cluster. The list is based on the machine objects by @tedteng [#347][USER]gardenctl-v2is now also available forlinux/arm64by @petersutter [#358]
🏃 Others
[OPERATOR]sshnow uses 3072 bit keys by @dimityrmirchev [#348]