All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project's packages adheres to Semantic Versioning.
4.5.0 - 2024-11-15
- Adjust columns for
kubectl gs get releases
.
4.4.0 - 2024-11-13
- Cloud Director Provider.
4.3.1 - 2024-11-04
- Fixed unique user tracking
- Remove debug logging regarding telemetry
4.3.0 - 2024-10-28
- Basic usage tracking data is now collected for every command execution. This should help us maintain and develop the tool. Set the
KUBECTL_GS_TELEMETRY_OPTOUT
environment variable to an arbitrary value to disable this. Data is submitted to TelemetryDeck in the EU. More details are available in our docs.
4.2.0 - 2024-10-15
- BREAKING When templating cluster manifests for CAPV clusters with
kubectl gs template cluster
command, now we set the workload cluster release version via the--release
flag, instead setting cluster-vsphere version via--cluster-version
.
4.1.0 - 2024-09-04
- Add support for unified cluster-vsphere app. With cluster-vsphere v0.61.0 and newer, default apps are deployed with cluster-vsphere, and default-apps-vsphere app is not deployed anymore.
4.0.0 - 2024-08-22
- The way to specify a release in
kubectl gs gitops add workload-cluster
has changed. The flag--cluster-release
has been replaced by--release
.
kubectl gs gitops add workload-cluster
:- The flag
--default-apps-user-config
has been removed - The flag
--default-apps-release
has been removed - The flag
--cluster-release
has been removed
- The flag
3.2.0 - 2024-08-12
- Use more portable, Bash specific shebang for GitOps pre-commit script template
- Schedule cluster upgrades for CAPI clusters.
- Print Release information in
get cluster
command.
3.1.0 - 2024-07-23
- Add
--prevent-deletion
flag to cluster template command for capv clusters - Helpful error messages for invalid subnet split parameters of CAPA private clusters
- BREAKING When templating cluster manifests for CAPZ clusters with
kubectl gs template cluster
command, now we set the workload cluster release version via the--release
flag, instead setting cluster-azure version via--cluster-version
.
3.0.0 - 2024-06-27
- BREAKING Remove deprecated
--enable-long-name
flag (affected commands: kubectl gs template cluster/nodepool/networkpool/catalog)
- BREAKING When templating cluster manifests for CAPA clusters with
kubectl gs template cluster
command, now we set the workload cluster release version via the--release
flag (like for vintage AWS), instead setting cluster-aws version via--cluster-version
. - Update module version to v3.
2.57.0 - 2024-06-21
- Support unified cluster-azure app. With cluster-azure v0.14.0 and newer, default apps are deployed with cluster-azure and default-apps-azure app is not deployed anymore.
- Added
--prevent-deletion
flag to cluster template command for capa, capa-eks, capz clusters
2.56.0 - 2024-06-10
- Allow
kubectl gs update app
to update App CR to any version from any catalog. - Also add
--suspend
flag to manage Flux App reconciliation.
- BREAKING
kubectl gs template cluster
for Cluster API provider vSphere has been adapted to work with the values schema ofcluster-vsphere
v0.52.0.
2.55.0 - 2024-05-14
- Support unified cluster-aws app. With cluster-aws v0.76.0 and newer, default apps are deployed with cluster-aws and default-apps-aws app is not deployed anymore.
2.54.0 - 2024-05-09
- Default value for CAPA Node Pool
rootVolumeSizeGB
was decreased from300
to8
.
2.53.0 - 2024-04-23
- BREAKING
kubectl gs template cluster
for Cluster API provider Azure has been adapted to work with the values schema ofcluster-azure
v0.7.0.
2.52.3 - 2024-04-23
- Make error message actionable in case
kubectl gs template cluster
fails because the user did not log into, or point to, the management cluster - Support internal api URLs in
kubectl gs login
id token verification - Print a warning in case
kubectl gs login
id token verification fails but don't fail the command
2.52.2 - 2024-03-26
- Add
kubectl gs get nodepools
for CAPA,CAPZ,CAPV,EKS and CAPVCD. - Add validation of ID token retrieved from OIDC provider during
kubectl gs login
- Errors during update checks no longer interrupt the command execution.
- Fix authentication failure in case the browser sends multiple requests to the callback server during the
login
command execution
2.52.1 - 2024-02-01
No significant changes compared to v2.52.0. This release was made to ensure the proper distribution to all channels, which failed with the last release.
2.52.0 - 2024-01-25
- Allow subnet generation customization for CAPA clusters.
2.51.0 - 2024-01-10
- Remove bastion section for generating CAPA cluster manifests.
2.50.1 - 2023-12-13
- Update values schema for generating EKS cluster.
2.50.0 - 2023-12-12
kubectl gs template cluster
: Either--name
or new--generated-name
parameter is now required for CAPI cluster names. We kept the CLI backward-compatible for vintage, so if none of these parameters is specified, the old default of generating a random name still applies and no error is thrown.
2.49.1 - 2023-12-06
2.49.0 - 2023-12-05
- BREAKING All values of cluster userconfig for
CAPA
are moving underglobal
.
2.48.1 - 2023-11-30
- Changed the length of randomly-generated cluster names to 10
2.48.0 - 2023-11-29
- Add support for device authentication flow in the
login
command and a new--device-auth
flag to activate it.
- Fix storage of separate kubeconfig file (
--self-contained
) for EKS workload clusters
2.47.1 - 2023-11-15
- Increase the cluster name length to 20 characters.
- Change how
login
works to use our DNS record for the k8s API when using non-vintage providers, rather than the value found in the CAPI CRs. - Defaults for
cluster template --provider vsphere
since it was migrated to flatcar os.
2.47.0 - 2023-11-13
- Change default volume Docker size to 10Gb on AWS vintage NodePools.
2.46.0 - 2023-11-08
- Add CAPA cluster templating parameter
--control-plane-load-balancer-ingress-allow-cidr-block
which automatically adds NAT Gateway IPs of the MC to the allowlist
2.45.4 - 2023-11-08
- Added a bash script to generate self-contained kubeconfig files with client certificate for workload clusters in Vintage installations using device auth flow in Dex
2.45.3 - 2023-10-26
2.45.3 - 2023-10-26
2.45.2 - 2023-10-26
2.45.1 - 2023-10-26
- Upgrade K8s dependencies (#1149).
- Upgrade giantswarm/k8sclient to 7.1.0.
- Upgrade sigs.k8s.io/cluster-api to v1.5.2.
- Migrate sigs.k8s.io/cluster-api-provider-aws to v2 (2.2.4).
- Upgrade sigs.k8s.io/cluster-api-provider-azure to v1.11.4.
- Upgrade sigs.k8s.io/controller-runtime to v0.16.3.
- Upgrade github.com/coreos/go-oidc/v3 to v3.6.0.
- Upgrade other dependencies.
- Replace capi.ClusterLabelName with capi.ClusterNameLabel.
2.45.0 - 2023-10-25
cluster template
for up-to-date vsphere cluster app.
2.44.0 - 2023-10-16
- Make the
--organization
flag visible when templating App CR.
kubectl-gs login
: listen only on localhost for callbacks
2.43.0 - 2023-10-11
- Support deletion prevention for
kubectl gs template app
command
2.42.0 - 2023-10-06
- Removed
controlPlane.replicas
value for CAPA since it is not supported anymore
- Removed support for private DNS mode for proxy based CAPA clusters
2.41.1 - 2023-09-19
- Change how
login
works on CAPA andgcp
to use our DNS record for the k8s API when using these providers, rather than the value found in the CAPI CRs.
2.41.0 - 2023-08-16
- Adding
opsctl login
support for EKS clusters.
2.40.0 - 2023-08-09
- Add
--login-timeout
flag to control the time period of OIDC login timeout - Add experimental support for templating
cluster-eks
with providereks
.
- Graceful failure of the
login
command in case workload cluster API is not known - Improved error message after login timeout
- Adjusted description of the
--cluster-admin
flag in thelogin
command
2.39.0 - 2023-06-22
- Add minimal support for templating CAPZ clusters by command line parameters. This removes
--cluster-config
and--default-app-config
parameters which required handcrafted YAML input. It leaves one consistent templating option for CAPI products (kubectl gs template cluster --provider ... --other-params
).
2.38.0 - 2023-06-14
- Sanitize file passed as inputs data for config maps by stripping spaces from the right end of the lines.
- This makes the output to use proper multi-line strings for the embedded YAML content by working around a bug in
sig.k8s.io/[email protected]
- This makes the output to use proper multi-line strings for the embedded YAML content by working around a bug in
2.37.0 - 2023-05-17
- Use non-exp apiVersion for azure machine pool types in
template nodepool
.
2.36.1 - 2023-05-17
- Setting
spec.config.configMap
inapp/<cluster-name>-default-apps
forCAPZ
clusters.
2.36.0 - 2023-05-04
- Add support for
--proxy
and--proxy-port
flags tologin cmd
to enableproxy-url: socks5://localhost:9000
in the cluster section of the configuration added to kubeconfig- This is only supported for
clientcert
Workload Clusters
- This is only supported for
2.35.0 - 2023-04-17
- Stop using old
v1alpha3
version when using CAPI CRDs.
2.34.1 - 2023-03-30
kubectl gs template cluster
now by default creates a node pool with the namenodepool0
, instead ofmachine-pool0
, as the latter is no longer valid according to the cluster-aws schema as of v0.24.0.
2.34.0 - 2023-03-23
cluster template
supports a generic way to templateCAPI
based clusters where all the input parameters are given asvalues.yaml
from the correspondingcluster
anddefault-apps
chart.- CAPZ: removed unmaintained
CAPZ
implementation and switched to the generic templating implementation.
kubectl gs template cluster
for Cluster API provider AWS has been adapted to work with the values schema of cluster-aws v0.28.0.
2.33.0 - 2023-03-08
- Add workload cluster login support for
CAPZ
based clusters - CAPA: Add hidden flags
--aws-prefix-list-id
and--aws-transit-gateway-id
for private clusters
- CAPA: Renamed hidden parameter
--role
to--aws-cluster-role-identity-name
and adapted manifest output to the new nameawsClusterRoleIdentityName
(see cluster-aws change)
2.32.0 - 2023-02-02
As part of our automatic upgrades journey, we have learnt that cluster chart should structure in such a way that allows overwriting all sections in different levels
Warning: This results in a breaking change in the template output of a capa
clusters machine pools.
- Breaking: Update
capa
machine pools to template usings an object instead of arrays as of cluster-awsv0.24.0
2.31.2 - 2023-02-02
- Fixed creating client certificates for workload clusters in
capvcd
installations.
2.31.1 - 2023-01-19
- Updated CAPA template output to support new subnet layout as of cluster-aws v0.21.0
- Change default folder for cluster base templates generated by
gitops add base
frombases/clusters/<PROVIDER>
tobases/clusters/<PROVIDER>/template
- Add default machine pool name for
gitops add base
generated templates tocapa
andgcp
(CAPG) providers with value:machine-pool0
2.31.0 - 2023-01-18
- Adjusted communication with Dex in the
login
command to provide an option to choose from multiple connectors - Modified detection of installation providers - downloading the provider information from Athena with a fallback to the old detection from API URLs
- Added a new provider -
cloud-director
- Introduced a new
--connector-id
flag in thelogin
command to specify a Dex connector to use and skip the selection step - Ensured that ID tokens needed for OIDC authentication are renewed only when they expire
2.30.0 - 2023-01-12
- Add flags
--cluster-type
,--https-proxy
,--http-proxy
,--no-proxy
,--api-mode
,--dns-mode
,--vpc-mode
and `--topol - ogy-mode
to
template clusterthat specify
capa` as provider. - Add
gitops add base
command to generate CAP[A,G,O] bases. The values for--provider
flag is compatible with thetemplate cluster
command (A: capa, G: gcp, O: openstack).
2.29.5 - 2022-12-20
- Extended detection of providers in the login command to take the provider value primarily from Athena with fallback to the original way of inspecting the API URL
2.29.4 - 2022-12-15
- Respect
--control-plane-instance-type
for AWS cluster templating. Previously, the default valuem5.xlarge
was always used.
2.29.3 - 2022-12-08
- Fixed logging in to clusters running on custom domains by removing domain restriction from API URL validation
2.29.2 - 2022-12-02
- Add missing namespace in SOPS related secrets created by GitOps subcommands.
2.29.1 - 2022-11-30
- Fix
update cluster
command when scheduling an upgrade for a Cluster when the Cluster CR had no previous annotations.
2.29.0 - 2022-11-24
- Ensure dedicated
cert-operator
version0.0.0
is used for client certificate creation inlogin
command to avoid timeouts. - Adjusted GCP config to support the volume type for all kind of volumes (root, etcd, kubelet, containerd)
2.28.2 - 2022-11-16
2.28.1 - 2022-11-09
- Use
n1-standard-4
as default instance types for CAPG worker nodes. - Adjusted behaviour of the
login
command to prevent updates of the main kubeconfig file in case there are no changes in access tokens and/or the current context, or if the current context is provided via override (e.g. by using the--context
flag).
2.28.0 - 2022-11-09
- Fixed a bug in CLI output tests that made them fail randomly
2.27.0 - 2022-10-25
- Disable
kubectl gs template nodepool
command for Cluster API (CAPI) based workload Clusters.
2.26.1 - 2022-10-24
- Avoid panic in
get nodepools
when node pool is lacking the release version label. - When templating Vintage Azure Cluster, use Flatcar version from the Release CR rather than hardcoded one.
2.26.0 - 2022-10-20
- Change module name to
github.com/giantswarm/kubectl-gs/v2
.
- Upgraded dependencies
2.25.0 - 2022-10-19
- Use the
cluster-values
configmap when templating thedefault-apps-aws
app.
- Fixed a bug in modifying existing entries in self-contained config files where new data for the existing entries failed to be written to the file.
2.24.2 - 2022-10-13
- Fixed a bug in
login
command where theissuer
URL was used instead of theserver
address in login retry attempt.
- Add flags
--gcp-machine-deployment-sa-email
and--gcp-machine-deployment-sa-scopes
totemplate cluster
that specify a Google Cloud Platform service account and its scope to a cluster's machine deployments - Added read header timeout to http server
- Adjusted
kubectl gs login
command to ensure that it writes to the main kubeconfig file only in case there are actual changes in the content of the file.
2.24.1 - 2022-10-12
- Fix login command failing because opening the browser blocks and callback webserver does not start on some operating systems
2.24.0 - 2022-10-10
- Add
giantswarm.io/cluster
label to the 'default-apps' bundle so that it's deleted when aCluster
is deleted. - Deprecated
--enable-long-names
flag and added support for generating and validating long resource names (up to 10 characters) by default. - Add option to reference the
cluster-values
configmap in theApp
CR created for CAPI clusters.
2.23.2 - 2022-10-04
- Add timeouts support to App CR.
- Added support for deriving internal API hostname from workload cluster main API URLs
2.23.1 - 2022-09-27
kubectl gs template app
help text: Replace deprecated--cluster
flag by new--cluster-name
.- Fixed generating common names for workload cluster certificates from internal management cluster API URLs in
kubectl gs login --workload-cluster --internal-api ...
2.23.0 - 2022-09-22
- Added
--cn-prefix
flag tologin
command which allows setting a specific CN prefix for workload cluster client certificates.
2.22.0 - 2022-09-14
- Renamed local flags, whose names conflicted with global flags and deprecated local flags with the old names
--namespace
inkubectl gs gitops add app
has been deprecated and replaced with--target-namespace
--namespace
inkubectl gs template app
has been deprecated and replaced with--target-namespace
--cluster
inkubectl gs template app
has been deprecated and replaced with--cluster-name
--namespace
inkubectl gs template catalog
has been deprecated and replaced with--target-namespace
- Added a test to detect local flags with names conflicting with global flag names
2.21.0 - 2022-09-08
- Switched from exp to non-exp apiVersion for
MachinePools
andAzureMachinePools
CR onAzure
inget nodepool
command.
- Added
organizations
subcommand tokubectl gs get
family of commands to list and display details of organizations
2.20.0 - 2022-09-02
- Introduced
kubectl gs gitops
family of commands.
2.19.3 - 2022-08-23
- Set domain name for the Kubernetes APIs server address when logging in to CAPI provider workload clusters.
2.19.2 - 2022-08-17
- Fixed common name in certificates generated for workload clusters by stripping https:// prefix from cluster base path
2.19.1 - 2022-08-17
- Fix nil pointer panic in
template nodepool
command.
2.19.0 - 2022-08-12
- Make all
kubectl
config flags (e.g--context
and--kubeconfig
global and unify kubeconfig management throughout commands. - Remove CAPA templating from
aws
provider. - Add new provider
capa
for templating a cluster. - Remove fetching ssh sso ca pub key for capa from management cluster.
- Add test for CAPA provider cluster templating.
2.18.0 - 2022-07-08
- In the
login
command, allow concatenation of contexts in destination file when creating WC client certificates with--self-contained
flag.
2.17.0 - 2022-07-07
- Allow calling
login
command with a second argument to select WC contexts. - Add
-clientcert
suffix to WC client certificate contexts created by thelogin
command. Fall back to-clientcert
context selection if no other context exists for a cluster. - Use
CertificateAuthorityData
to store CA data and ensure thatCertificateAuthority
is not set when manipulating the kubeconfig in thelogin
command.
2.16.0 - 2022-07-01
- Command
template cluster --provider gcp
no longer tries to get SSH SSO public key secret in thegiantswarm
namespace
2.15.0 - 2022-06-22
- Add flags
--gcp-control-plane-sa-email
and--gcp-control-plane-sa-scopes
totemplate cluster
that specify a Google Cloud Platform service account and its scopes to a cluster's control plane nodes
- Removed
giantswarm.io/cluster
label from the default apps bundle and theApp
representing a CAPI cluster.
2.14.0 - 2022-06-15
- Added flag
--service-priority
totemplate cluster
command that allows setting the service priority label. - Updated
kubectl gs template catalog
to support multiple repository mirrors.
2.13.2 - 2022-06-09
- Remove
giantswarm.io/managed-by: flux
for App CRs labeled for unique App Operator.
2.13.1 - 2022-06-09
- In the
template app
command, add thegiantswarm.io/cluster
label to in-cluster App CR when requested by the user.
2.13.0 - 2022-06-09
- Add
service-priority
label valuehighest
by default tovintage
clusters - Add
SERVICE PRIORITY
column toget clusters
command table output.
2.12.1 - 2022-06-08
- Take
--context
flag into account when building config forlogin
.
2.12.0 - 2022-06-02
- When loging in, take the k8s API endpoint from the
Cluster
CR rather than calculating it. - Make
kubectl gs login
to work on GCP clusters.
2.11.2 - 2022-05-26
- Pass region flag to template config
2.11.1 - 2022-05-25
- Use provided name as cluster name when using
kubectl-gs template cluster --provider gcp
2.11.0 - 2022-05-19
- Add a NOTES column to the output of the
get apps
command. The column contains information why the last Helm release attempt failed if so, empty otherwise.
2.10.0 - 2022-05-13
- Allow to reuse any current context in
login
command by omitting the argument. This allows creating clientCerts for WCs in an arbitrary MC context. (not followinggs-codename
format)
2.9.1 - 2022-05-06
- Fix retry fetching clientcert secret in the
default
namespace for legacy azure clusters.
2.9.0 - 2022-05-05
- base64 encode ssh key for CAPZ clusters.
- Fix bastion systemd unit on CAPZ clusters.
- Make CAPZ clusters compatible with cluster-apps-operator new version.
2.8.1 - 2022-05-03
- Fixed missing
Kind
intemplate
command.
2.8.0 - 2022-05-03
- Bump CAPI (cluster-api) dependencies to v1beta1
2.7.11 - 2022-04-20
- Disable colored output on Windows to avoid printing of ANSII escape codes.
2.7.10 - 2022-04-20
- Build signed Windows binaries
- Extend CI config to include the Windows package in the Krew index when a new release is published
2.7.1 - 2022-04-14
- Improved description of the
--control-plane-az
parameter when templating a cluster.
2.7.0 - 2022-04-01
- In
kubectl gs login
, add support for workload clusters on OpenStack.
2.6.0 - 2022-03-31
- Add templating for clusters using Cluster API provider Google Cloud (CAPG).
- Make the region and availability zones flags optional for CAPA clusters.
2.5.0 - 2022-03-23
- Add cluster name label to Cluster API provider AWS (CAPA) Apps and ConfigMaps created with
kubectl-gs template
2.4.0 - 2022-03-21
- Add tests for
kubectl gs login
. - Add
--visibility
flag totemplate catalog
to add label to control display in web UI.
- Look up cluster-related AppCatalogEntries in the
giantswarm
namespace instead of thedefault
namespace.
2.3.1 - 2022-03-11
- Set correct labels of GiantSwarm components on cluster templates.
login
: simplify description for the--certificate-ttl
flag.
2.3.0 - 2022-03-09
- Add description column to the
get catalog
limited to 80 characters. - Add
--enable-long-names
feature flag totemplate cluster/networkpool/nodepool
to allow resource names longer than 5 characters. Only for internal testing. - Implement
get clusters
command for OpenStack.
- Add missing availability zones to cluster configuration for OpenStack.
- Change default catalog for
cluster-*
anddefault-apps-*
apps fromgiantswarm
tocluster
.
2.2.0 - 2022-03-04
- Add OIDC flags to the
template cluster
command (OpenStack only).
- Improve flag handling and naming for
template cluster
command (no user facing changes). - Add new flags for
template cluster --provider-openstack
to be able to use existing networks and subnets. - Update the kubectl version in Dockerfile
2.1.1 - 2022-02-25
- Fixed crash if listing nodepools when one is missing the release version label.
- Add audit log configuration file to the
KubeadmControlPlane
CR. - Use the CAPZ controller manager env vars for control-plane identity when authenticating to Azure API.
2.1.0 - 2022-02-08
login
command: Try logging in again if token renewal fails.- Add
security
API group to scheme in order to getorganizations
duringlogin
.
- Enable logging into clusters in all versions and namespaces if
--insecure-namespace
flag is active. - Simplify log in with context name
- Add support for self-contained kubeconfig creation for management cluster context.
- Add
--keep-context
flag tologin
.
2.0.0 - 2022-02-04
- Enable
cluster-topology
templates for OpenStack by default. - Update default
cluster-openstack
version to 0.3.0.
- Remove deprecated
--cluster-id
flag fromget nodepools
,template cluster
, andtemplate nodepool
commands. Replaced by--cluster-name
. - Remove deprecated
--owner
flag fromtemplate cluster
,template networkpool
, andtemplate nodepool
commands. Replaced by--organization
. - Remove deprecated
--master-az
flag fromtemplate cluster
command. Replaced by--control-plane-az
. - Remove deprecated
--nodepool-name
flag fromtemplate nodepool
command. Replaced by--description
. - Remove deprecated
--nodex-min
flag fromtemplate nodepool
command. Replaced by--nodes-min
. - Remove deprecated
--nodex-max
flag fromtemplate nodepool
command. Replaced by--nodes-max
.
- Add support for templating App CRs in organization namespace.
- Add
--catalog-namespace
flag totemplate app
.
1.60.0 - 2022-01-27
- Use
v1beta1
api version when templating ClusterAPI manifests on Azure.
1.59.0 - 2022-01-26
- Add support to
template cluster --provider openstack
for templating clusters as App CRs.
1.58.2 - 2022-01-13
- Add
--in-cluster
flag totemplate app
command to support installation of MC apps.
login
command: Prevent deletion of all CertConfig resources in a namespace, instead delete only one.- Adjust
login
to consider other prefixes while parsing the MC API endpoint.
1.58.1 - 2021-12-17
- Populate the nodepool release label for AWS provider
1.58.0 - 2021-12-14
- Add support cluster updates and scheduling cluster updates.
1.57.0 - 2021-12-09
- Modify
STATUS
column ofget releases
command table output to display release state.
1.56.0 - 2021-12-07
- Add support for the new URL scheme
api.INSTALLATION.OWNER_ID.gigantic.io
forkubectl-gs login
command.
1.55.0 - 2021-12-06
- Add alpha support for OpenStack cluster templating.
1.54.0 - 2021-12-03
- Fix a problem preventing the
login
command from creating a client certificate for older workload clusters on Azure. - Fix the problem where the
template cluster
output for a v20 Cluster API cluster on AWS contained a bad infrastructure reference, resulting in the cluster not being provisioned.
1.53.0 - 2021-11-29
- Disable version caching for the
selfupdate
command, so you will always get the latest version right after it's released. - Make the
--release
flag mandatory in thetemplate cluster
andtemplate nodepool
subcommands.
1.52.0 - 2021-11-23
- Replace the
CREATED
column withAGE
in all theget
subcommand table outputs.
1.51.0 - 2021-11-18
- Add the ability of executing the management cluster login part of the
login
command with aServiceAccount
token.
1.50.1 - 2021-11-17
- Strip ':' suffix when requesting a client certificate.
1.50.0 - 2021-11-17
- Add
--self-contained
flag tokubectl-gs login
command for workload clusters to allow output of standalone kubeconfig file.
1.49.0 - 2021-11-16
- Validate
--certificate-ttl
flag of thelogin
command.
1.48.1 - 2021-11-11
- Fix self-update command suggestion in the update warning.
1.48.0 - 2021-11-11
- Allow using
ServiceAccount
tokens for creating workload cluster certificates. - Let users override their kubectl config using flags in the
login
command.
1.47.0 - 2021-11-09
- Print warning after running any command if there is a newer version available.
- Implement command for self-updating (
kubectl gs selfupdate
).
- Make the
--organization
flag optional when using thelogin
command with a workload cluster. The cluster will be searched in all the organization namespaces that the user has access to.
1.46.0 - 2021-11-09
- Find
Cluster
resources on AWS based on thegiantswarm.io/cluster
label if thecluster.x-k8s.io/cluster-name
label does not yield results. - Add
cluster.x-k8s.io/cluster-name
label to all CRs created by AWS Cluster and Nodepol templating.
- Usa CAPI templates for all releases from
v20.0.0-alpha1
onwards, to include alpha and beta releases. - Move AWS Cluster templating from
apiextensions
- Move AWS Node Pool templating from
apiextensions
1.45.0 - 2021-10-26
- Add support for updating
App
CRs.
1.44.0 - 2021-10-25
- Add support for creating workload cluster client certificates using the
login
command.
1.43.1 - 2021-10-15
- Fix a problem with fetching Catalog CRs in
validate apps
. - Fixing a problem where the function to fetch the SSH secret to generate the templates was using
inCluster
config ignoring the kubeconfig.
1.43.0 - 2021-10-13
- Add templating for EKS clusters using the management cluster API
- Add templating for EKS node pools using the management cluster API
- Add templating for CAPA node pools using the management cluster API
- In the
get catalogs
command output, rename the columAPP VERSION
toUPSTREAM VERSION
and change the column order.
1.42.1 - 2021-10-08
- Fix a problem where the template subcommands would be slower than expected because of obsolete API requests.
1.42.0 - 2021-10-07
- Add CRs to create a bastion host in CAPZ cluster template.
- Enable termination events for CAPZ node pools.
1.41.1 - 2021-10-04
- Use org-namespace for AWS Clusters by default
1.41.0 - 2021-10-04
- Nodepool nodes are labeled with nodepool id on AWS using
giantswarm.io/machine-pool
. MachinePool
andAzureMachinePool
are labeled with thegiantswarm.io/machine-pool
label.get releases
command to return details of available releases.
1.40.0 - 2021-09-24
- Nodepool nodes are labeled with nodepool id on Azure using
giantswarm.io/machine-pool
.
- Update the
template cluster
command to add CAPI defaults and validation using the management cluster API.
1.39.2 - 2021-09-17
- In the
template cluster
andtemplate nodepool
commands, the--owner
flag got replaced by--organization
.
1.39.1 - 2021-09-14
- The
template organization
command now also offers an--output
flag to specify an output path optionally.
- In the
template
commands, the flag--owner
is replaced by--organization
. - Make the
login
command be able to start a new authentication flow if one of the tokens of an existing authentication provider are not present. - Update cluster templating error messages for
--name
flag to use correct terminology
1.39.0 - 2021-09-10
- Add support for templating
Organization
CRs.
- Allow providing Kubernetes API URLs with prefixes to the
login
command.
1.38.0 - 2021-09-08
- Add tags to enable
cluster autoscaler
to Azure Node Pool template. - Enable system assigned identity in Azure CAPI clusters' master nodes.
- Set routing table in master subnet in Azure CAPI clusters.
- Set
cluster.giantswarm.io/description
annotation forCluster
CR in template generation command on Azure. - Set
machine-pool.giantswarm.io/name
annotation forMachinePool
CR in template generation command on Azure.
1.37.0 - 2021-09-03
- Template cluster and nodepool resources in the org-namespace from AWS release
16.0.0
onwards.
- Added
aws-cluster-namespace
flag for nodepools to override the standard namespace to support nodepool creation for upgraded >v16.0.0 clusters that remain in the default namespace. - Added support to generate templates for CAPZ clusters and node pools.
1.36.0 - 2021-08-26
kubectl gs login
now offers the flag--callback-port
to specify the port number the OIDC callback server on localhost should use.
1.35.1 - 2021-08-24
- Update the Dockerfile to include kuebctl v1.19 and be based on Alpine v3.14.1.
- Make the
login
command continue to work even if opening the default browser fails.
1.35.0 - 2021-08-11
- Apply only
v1alpha3
CRs on provider AWS.
- Add CRs to create bastion host, when creating a CAPI cluster via
template cluster
command. - Add configuration to allow SSH for Giant Swarm employees when creating CAPI cluster. Applies to
template cluster
andtemplate nodepool
commands. - Update template version for CAPA cluster and nodepool templating to version 0.6.8
1.34.0 - 2021-07-30
Throughout our UIs and documentation we are aligning our terminology regarding cluster and node pool details, to use consistent terminology matching our Management API. The unique, immutable identifier that was formerly called ID in our user interfaces, is now called the name. The user-friendly, changeable description of the cluster's and node pool's purpose was called name in our UIs and is now called the description.
Warning: This terminology change results in a breaking change in the template cluster
command, as the purpose of the flag --name
has changed. Also several flags in other commands have been deprecated.
If you are upgrading from an earlier releases, apply these changes to migrate any scripts:
- When using
template cluster
, replace--name
with--description
to set the user-friendly cluster description, and replace--cluster-id
with--name
to set the cluster's unique identifier. - When using
template nodepool
, replace--cluster-id
with--cluster-name
.
template app
: Added the--namespace-annotations
and--namespace-labels
flags to allow users to specify thenamespaceConfig
of the generatedApp
manifest. Read App CR's target namespace configuration for more information.
get clusters
:- The output table header
ID
has been renamed toNAME
.
- The output table header
get nodepools
:- The
--cluster-id
flag is now deprecated, replaced with--cluster-name
. - Output column headers have been renamed from
ID
toNAME
and fromCLUSTER ID
toCLUSTER NAME
.
- The
template cluster
:- Deprecated the
--cluster-id
flag. - Breaking: the
--name
flag changed purpose to set the cluster's unique identifier. - The
--description
flag has been added to set the user-friendly description.
- Deprecated the
template nodepool
:- Deprecated the
--cluster-id
flag, added the--cluster-name
flag as a replacement. - Deprecated the
--nodepool-name
flag, add the--description
flag as a replacement.
- Deprecated the
1.33.0 - 2021-07-19
- Add support for Spot VMs for Azure Node Pools.
1.32.0 - 2021-07-16
- Replace AppCatalog CRD with new namespace scoped Catalog CRD.
- Add templating using CAPA upstream templates for clusters in release version
v20.0.0
on AWS. - Add templating using CAPA upstream templates for machinepools in release version
v20.0.0
on AWS. - Add optional
--release
flag to nodepool templating so that the new functionality can be used for CAPA versions.
- Extend
login
error message to mention if OIDC is configured.
1.31.0 - 2021-07-08
- Allow overriding the app CR name in the
template app
command.
- Update Dockerfile to use alpine:3.14 as a base image
1.30.0 - 2021-06-29
- Extend
template app
to only output required fields, the flag--defaulting-enabled
can be set to false to disable this.
1.29.2 - 2021-06-17
- In the
template cluster
command, the flag--control-plane-az
is replacing--master-az
.
1.29.1 - 2021-06-16
- Modify the AWS subnet validation for machine deployments.
1.29.0 - 2021-06-15
- Add the AWS subnet annotations into the
template
command. - Limit the time allowed for the
login
command to call the authentication proxy to one minute.
- Updated terminology to use "control plane nodes" instead of "master nodes".
1.28.0 - 2021-05-11
- Disable unique AZ validation to allow China cluster templating.
- Only set configmap or secret in
template appcatalog
if values are provided.
- Add
get appcatalogs
andget apps
commands.
1.27.1 - 2021-04-28
- Bug fixed on the internal API URL composition.
1.27.0 - 2021-04-27
- Publish darwin and linux arm64 to krew index.
- Login command now supports internal API.
- Fix templating nested YAML for configmaps and secrets referenced in App and AppCatalog CRs.
1.26.0 - 2021-04-13
- Add clusterresourcesets and clusterresourcesetbindings CRDs to the information about Cluster API CRDs and controllers.
- Removed the
--num-availability-zones
flag from thekubectl-gs template
commands. The--availability-zones
flag should be used to specify a list of availability zones.
- Build release binaries using go 1.16. Kubectl-gs is now available for Linux and Darwin ARM64 machines including Apple M1 Macs.
- Upgrade dependency github.com/giantswarm/app to 4.9.0
- Fetch installation information using a new service, instead of relying on the Giant Swarm REST API.
1.25.0 - 2021-03-16
- Disallow provided cluster IDs from starting with a digit.
1.24.0 - 2021-03-10
- Add support for showing information about Cluster API CRDs and controllers.
- Switch to a PKCE authentication flow.
- If the CLI quits with an error, display the error via the default OS error stream.
1.23.0 - 2021-02-24
- Allow having node pools with the scaling set to
0
.
1.22.0 - 2021-02-11
- The
MachinePool
CRs now hold a reference to theSpark
CR in theirspec.template.spec.bootstrap.configRef
field. - Add missing fields when templating
AzureMachine
andAzureCluster
, in order to pass CAPZ validation.
1.21.0 - 2021-01-29
- Make the
login
command validate the current context before considering it good to go. - Re-enabled the
--pods-cidr
flag in thetemplate cluster
command. - Return the Cluster API
Cluster
resource when using theget clusters
command withYAML
/JSON
output.
1.20.0 - 2021-01-18
- Add support for getting nodepools.
- Remove the mention of the unexistent 'create cluster' command.
1.19.0 - 2021-01-12
- Add support for node pool autoscaling on Azure.
0.18.0 - 2020-12-14
0.17.0 - 2020-12-14
- Allow for empty
--release
flag in AWS since it is defaulted in the admission controller. - Allow for empty
--master-az
flag in AWS since it is defaulted in the admission controller. - Allow for empty
--name
flag in AWS since it is defaulted in the admission controller.
- Removed the
--domain
flag since it is managed by admission controller. - Removed defaulting of the
--provider
flag fortemplate cluster
andtemplate nodepool
commands.
0.16.0 - 2020-12-09
- In the
template nodepool
command, the flags--nodex-min
and--nodex-max
have been renamed to--nodes-min
and--nodes-max
.
0.15.0 - 2020-12-07
- Add support for fetching installation information using non-standard Giant Swarm API URLs.
- Removed the
--credential
flag, now it is managed by admission controller.
0.14.0 - 2020-11-24
- Add
--cluster-admin
flag tologin
command, which allows full access for Giant Swarm staff. - Print namespace when using the
get clusters
command with the--all-namespaces
flag.
- Remove client-side validation of the GS
release
when creating aCluster
's template.
0.13.0 - 2020-11-20
- Removed the
--release
and--release-branch
version fromkubectl-gs template nodepool
command.
0.12.0 - 2020-11-13
- Removed the
--region
flag from thekubectl-gs template
commands. Region gets set automatically according to the installation the cluster is created in.
- Added the
validate apps
command for validating the values of apps against thevalues.schema.json
in their chart, or against avalues.schema.json
locally via a path provided through the command line.
0.11.0 - 2020-10-29
- Add support for using a custom namespace set for a specific Kubernetes context in the Kubeconfig file.
- Add support for using the
--all-namespaces, -A
flag for listing resources in all namespaces.
0.10.0 - 2020-10-23
- Removed availability zones for
GermanyWestCentral
inAzure
. - Removed the
--domain
flag onAzure
.
0.9.0 - 2020-10-16
- Remove SSH key parameter for azure in the template command.
0.8.0 - 2020-10-14
- Start publishing a container image of kubectl-gs as giantswarm/kubectl-gs
- Normalize organization name when used as a namespace, to match company requirements.
- Allow using inactive release versions for templating clusters. This is especially useful for testing cluster upgrades.
0.7.2 - 2020-10-12
- Store Azure node pools resources in the organization-specific namespace.
- Display full error output when getting installation info fails or when the OIDC configuration is incorrect, while running the
login
command fails. - Use proper CAPI conditions to determine Azure Cluster status.
- Use the custom releases branch when fetching release components.
0.7.1 - 2020-09-30
- Add support for using a custom release branch when templating clusters or node pools.
- Change the default Azure VM size to
Standard_D4s_v3
- Store all Azure resources in the organization-specific namespace.
- Use correct K8s API version for Cluster API Machine Pools.
0.7.0 - 2020-09-30
- Add support for templating clusters and node pools on Azure.
- Add support for templating NetworkPools.
0.6.1 - 2020-09-14
- Add the
--version
flag for printing the current version. Runkgs --version
to check which version you're running.
- Disabled templating clusters with legacy or deprecated release versions.
- Allow specifying the
--release
flag for templating clusters and node pools with leadingv
.
0.6.0 - 2020-08-11
- Implemented support for the
get cluster(s) <id>
command. - Improved error printing formatting.
- Running the
template
command without any arguments how displays the command help output.
0.5.5 - 2020-07-28
- Make executable work on lightweight linux distributions, such as
alpine
.
0.5.4 - 2020-07-24
- Prevent breaking the client's kubeconfig if token renewal fails.
- Add
--use-alike-instance-types
for node pools.
0.5.3 - 2020-07-13
- Add
kubectl gs login
command (#85, #86, #87)
0.5.2 - 2020-07-03
No changes
0.5.1 - 2020-07-03
- Several changes regarding the use as a kubectl plugin
- Remove non-existing AZ cn-north-1c (#54)
- Allow specifying tenant cluster labels through --label flags (#55)
- Update main README, Installation docs for Krew (#56)
0.5.0 2020-06-10
- Add support for organization credentials
0.4.0 2020-06-09
- Add support for new release info structure
0.3.5 2020-06-04
- Add goreleaser github action
- Add instance distribution (#48)
- Remove default node pool creation (#49)
0.3.4 2020-05-27
0.3.3 2020-05-21
- Add External SNAT option
0.3.2 2020-05-08
- Allow user to create cluster with cluster ID containing
[a-z0-9]
0.3.1 2020-05-06
- Fix mixed namespace/cluster namespaces usage in App CR
0.3.0 2020-05-06
- Allow user to specify Cluster ID
0.2.0 2020-03-26
- Added
pods-cidr
flag to generate pods CIDR in Cluster CRs - Added support for new Release CR
0.1.0 2020-03-26
This release supports rendering for CRs:
- Tenant cluster control plane:
Cluster
(API versioncluster.x-k8s.io/v1alpha2
)AWSCluster
(API versioninfrastructure.giantswarm.io/v1alpha2
)
- Node pool:
MachineDeployment
(API versioncluster.x-k8s.io/v1alpha2
)AWSMachineDeployment
(API versioninfrastructure.giantswarm.io/v1alpha2
)
AppCatalog
App