Releases: rancher/turtles
v0.13.0
Rancher Turtles is an extension to Rancher that brings full Cluster API integration to Rancher.
This release brings a number of bug fixes and improvements, including:
- CAPRKE2 v0.8.0, which is shipped with Turtles, now supports publishing images to Rancher Prime Registry.
- Turtles image build time made faster by streamlining Dockerfile steps.
- [Experimental feature]: Turtles ETCD Snapshot Restore uses token-based approach for system-agent to reduce footprint of the system-agent RBAC.
What's Changed
🚀 Enhancements
- Use token based approach for system-agent by @Danil-Grigorev in #769
- Implement etcd snapshot restore skeleton by @Danil-Grigorev in #736
- add pre-upgrade/post-delete clusterctl cm cleanup by @salasberryfin in #766
🐛 Bugs
- Add helm labels to allow chart downgrade by @Danil-Grigorev in #767
- CAPIProvider: Always provide a name for UI and -o wide by @Danil-Grigorev in #777
- Drop sudo from system agent install command by @Danil-Grigorev in #780
- Remove requirement to specify CAPIProvider secret by @Danil-Grigorev in #788
- fix: sign updatecli commits by @salasberryfin in #803
- Fix panic in webhook for CC clusters by @Danil-Grigorev in #808
- fix: long e2e not running by @salasberryfin in #814
- Permit turtles controller to access the cluster by @Danil-Grigorev in #804
📖 Docs
- Add additional post-release step to release docs by @furkatgofurov7 in #784
- Add snapshot restore quickstart doc by @Danil-Grigorev in #759
Other Changes
- Cache e2e image builds by @alexander-demicev in #793
- Add a way to run ETCDRestore controller locally by @furkatgofurov7 in #775
- Bump elemental provider version by @anmazzotti in #757
- feat: improve ux on auto/manual etcd snapshots by @salasberryfin in #773
- test: cover azure provisioning via cluster class by @salasberryfin in #779
- Bump CAPI/CAPI Operator by @furkatgofurov7 in #778
- test: disable docker/rke2 e2e scenario by @salasberryfin in #790
- Update janitor repo values by @cpinjani in #798
- chore: fix provider url placeholder by @salasberryfin in #799
- chore: fix azure janitor action url by @salasberryfin in #801
- chore(deps): Bump aquasecurity/trivy-action from 0.18.0 to 0.28.0 by @dependabot in #789
- chore(deps): Bump actions/setup-go from 3.5.0 to 5.0.2 by @dependabot in #770
- chore(deps): Bump golangci/golangci-lint-action from 4.0.0 to 6.1.1 by @dependabot in #771
- chore(deps): Bump helm/kind-action from 1.9.0 to 1.10.0 by @dependabot in #513
- chore(deps): Bump slackapi/slack-github-action from 1.26.0 to 1.27.0 by @dependabot in #709
- Switch org for gcp-janitor by @Danil-Grigorev in #806
- chore: remove redundant steps in docker build by @salasberryfin in #807
- [updatecli] Bump CAPI Provider RKE2 version by @github-actions in #802
- feat: bump provider versions with updatecli by @salasberryfin in #796
New Contributors
- @cpinjani made their first contribution in #798
- @github-actions made their first contribution in #802
Full Changelog: v0.12.0...v0.13.0
v0.12.0
Rancher Turtles is an extension to Rancher that brings full Cluster API integration to Rancher.
This release brings a number of new features, including:
- Turtles now uses its own upstream CAPI build which is signed and published to Prime Registry.
- New resource
ClusterctlConfig
for specifying additional provider overrides and latest version management: please refer to ADR 12 for additional information. - Images are now built using
buildx
which is also used for provenance.
What's Changed
🚀 Enhancements
- Check CAPI provider latest version daily by @Danil-Grigorev in #679
- Add system-agent installation script to etcd restore by @alexander-demicev in #695
- Implement Planner for system-agent integration by @Danil-Grigorev in #727
- Add turtles annotation to RKE2Config modified by webhook by @alexander-demicev in #701
- Add EtcdMachineSnapshot controller by @furkatgofurov7 in #708
- Add snapshot sync controller by @alexander-demicev in #718
- feat: migrate image building to buildx by @salasberryfin in #724
- Use forks as source for CAPI manifests by @alexander-demicev in #741
- Sign published turtles manifest and all underlying images by @alexander-demicev in #740
- Add CAPV, CAPZ and CAPI operator images by @alexander-demicev in #746
- Implement ClusterctlConfig with controller by @Danil-Grigorev in #742
🐛 Bugs
- Skip CAPIProvider reconciliation on deletion timestamp by @Danil-Grigorev in #706
- Fix make command for pushing e2e image by @alexander-demicev in #744
- Fix: Ensure digest is correctly passed and set as an output by @furkatgofurov7 in #747
- Fix build and publish nightly Helm chart workflow by @furkatgofurov7 in #748
- Fix: prevent applying k3s API CRDs on management cluster by @Danil-Grigorev in #723
- Fix SSA patching in etcd snapshot restore secret sync by @Danil-Grigorev in #754
- Tilt build fix by @Danil-Grigorev in #753
📖 Docs
- ADR: Clusterctl Config resoruce by @Danil-Grigorev in #713
Other Changes
- chore: Use straight quotes instead of curly in the git command by @furkatgofurov7 in #694
- Add ETCD snapshot restore API types per proposal by @Danil-Grigorev in #690
- Bump CAPRKE2 to v0.6.0 version by @furkatgofurov7 in #696
- chore(deps): Bump actions/checkout from 4.1.3 to 4.1.7 by @dependabot in #670
- ETCD backup/restore: use structured setting by @Danil-Grigorev in #698
- Add Elemental infra provider by @anmazzotti in #702
- Remove etcd restore feature gate from code by @alexander-demicev in #700
- Perform ETCD snapshot restore ownership sync by @Danil-Grigorev in #703
- Bump CAPRKE2 to v0.6.1 by @alexander-demicev in #707
- Re-enable RKE2 tests for 0.6.0 version, after migration by @Danil-Grigorev in #634
- Add option to skip rancher pre-requisites by @Danil-Grigorev in #705
- Improvements to EtcdMachineSnapshot controller by @furkatgofurov7 in #716
- Update CAPI Operator version to v0.13.0 by @Danil-Grigorev in #715
- Run short e2e tests only for code changes by @furkatgofurov7 in #737
- Add webhook that validated users RBAC rules by @alexander-demicev in #732
- Replace LocalObjectReference usage with strings in exp/etcdrestore API by @furkatgofurov7 in #735
- Integrate GCP janitor to the e2e by @Danil-Grigorev in #750
- Bump CAPRKE2 to v0.7.0 by @furkatgofurov7 in #752
- Use local clusterctl overrides for determining latest version for provider by @Danil-Grigorev in #751
- New issue template for provider certification by @salasberryfin in #681
- Setup tilt for etcd snapshot restore controller by @alexander-demicev in #689
New Contributors
- @anmazzotti made their first contribution in #702
Full Changelog: v0.11.0...v0.12.0
v0.11.0
🚀 This release brings two new providers to the list of certified providers: CAPV (vSphere) from experimental to GA and CAPZ (Azure). Moreover, our test suite is now available for prospective end-users to use and add their providers to the list of certified providers. For more information please read here.
Rancher Turtles is an extension to Rancher that brings full Cluster API integration to Rancher.
What's Changed
🚀 Enhancements
- Refactor e2e suite setup to make it more customizable by @alexander-demicev in #623
- [etcdbackup&restore] Implement RKE2Config webhook by @furkatgofurov7 in #542
- Pass the new GVK flag to azure manager by @Danil-Grigorev in #646
- Refactor E2E suite to make it more generic by @alexander-demicev in #637
- Use E2E config instead of ginkgo flags by @alexander-demicev in #657
- Bump dependencies: CAPI, Rancher and K8s versions by @furkatgofurov7 in #658
- Bump azure janitor version by @alexander-demicev in #677
🐛 Bugs
- Dependabot fix - check if make generate produced changes by @alexander-demicev in #644
- Make generate updates etcd backup/restore modules by @Danil-Grigorev in #650
- Bump CAPI infra providers versions by @alexander-demicev in #655
- Propagate artifacts folder to e2e by @Danil-Grigorev in #674
- Fix secret namespace for CAPZ in E2E by @alexander-demicev in #675
- fix: Install cert-manager before capi-operator by @yiannistri in #636
- Fix suite path in e2e setup by @alexander-demicev in #656
📖 Docs
- Update release docs with test package tag by @alexander-demicev in #665
🌱 Others
- Bump CAPI Operator to v0.12.0 by @furkatgofurov7 in #625
- Bump CAAPF to v0.3.1 by @Danil-Grigorev in #635
- Ensure we don't commit empty changes with dependabot generate by @Danil-Grigorev in #645
- Push generated code by @Danil-Grigorev in #647
- chore(deps): Bump the test-dependencies group across 1 directory with 5 updates by @dependabot in #653
- chore(deps): Bump github.com/docker/docker from 25.0.5+incompatible to 25.0.6+incompatible in /test by @dependabot in #631
- chore(deps): Bump the test-dependencies group in /exp/etcdrestore with 2 updates by @dependabot in #652
- chore(deps): Bump slackapi/slack-github-action from 1.25.0 to 1.26.0 by @dependabot in #491
- chore(deps): Bump the dependencies group across 1 directory with 4 updates by @dependabot in #648
- Perform e2e on CAAPF with hostNetwork: true by @Danil-Grigorev in #654
- Re-enable AKS e2e by @Danil-Grigorev in #662
- Add new rancher setting patch in e2e by @alexander-demicev in #660
- Use k8s 1.30.3 by @Danil-Grigorev in #668
- Perform chart upgrade test separately by @Danil-Grigorev in #666
- Disable 'rancher-kubeconfigs' feature gate in charts by @furkatgofurov7 in #663
- chore: update lower/upper rancher version in chart by @salasberryfin in #672
New Contributors
- @yiannistri made their first contribution in #636
Full Changelog: v0.10.0...v0.11.0
v0.10.0
Rancher Turtles is an extension to Rancher that brings full Cluster API integration to Rancher.
What's Changed
🚀 Enhancements
- Add fleet addon config with auto-import label setting by @Danil-Grigorev in #609
- Add RKE2 vSphere case to E2E suite by @alexander-demicev in #610
- Pin CAAPF version to v0.3.0 by @Danil-Grigorev in #614
- Support for management v3 downgrade to provisioning v1 with automigration by @Danil-Grigorev in #581
🐛 Bugs
- Perform finalizer removal independently from main controller loop by @Danil-Grigorev in #613
- Perform cache-less check on imported annotation for CAPI cluster by @Danil-Grigorev in #619
- Check agent deployment based on
Ready
condition by @Danil-Grigorev in #591 - Apply finalizer on rancher cluster to avoid re-create race condition by @Danil-Grigorev in #597
- Fix gitea service type in E2E by @alexander-demicev in #617
📖 Docs
- docs: add notification step to release guide by @salasberryfin in #607
Other Changes
- test: fix v1 controller test on embedded-capi-disabled suite by @salasberryfin in #593
- test: restructure e2e v1v3 suites by @salasberryfin in #594
- chore: add v3 checks to nightly + fix e2e naming in workflow yaml by @salasberryfin in #596
- chore: update caprke2 url in clusterctl config by @salasberryfin in #598
- E2E: Add custom ingress for gitea by @alexander-demicev in #608
- Update getting started guide reference by @furkatgofurov7 in #602
Full Changelog: v0.9.0...v0.10.0
v0.9.1
Rancher Turtles is an extension to Rancher that brings full Cluster API integration to Rancher.
What's Changed
🐛 Bugs
- Check agent deployment based on Ready condition: delay cluster import until manifests are deleted
- Apply finalizer on rancher cluster to avoid re-create race condition
- Fix v1 controller test on embedded-capi-disabled suite
These fixes are cherry-picked for patch release here
Full Changelog: v0.9.0...v0.9.1
v0.9.0
⚠️ Important:
Starting with Turtles v0.9.0
, the process used for importing CAPI clusters into Rancher has changed. We recommend you take a look at the changelog and the instructions provided in the v0.9
version of the Turtles book: https://turtles.docs.rancher.com/
Rancher Turtles is an extension to Rancher that brings full Cluster API integration to Rancher.
Supported | Experimental (not suitable for production) |
---|---|
Automatic import of CAPI Clusters into Rancher | Everything not specifically listed on the “Supported” column |
Manual migration from provisioning/v1 to management/v3 Cluster import | Cluster API Provider vSphere (non-experimental features with the exception of machine pools and clusterclass) |
Automatic migration from provisioning/v1 to management/v3 Cluster import (disabled by default) | CAPIProvider integration with Rancher Cloud Credentials. |
Enabling CAPI Providers (excluding integration with Rancher Cloud Credentials) | |
Cluster provisioning via Fleet (i.e. GitOps) | |
Cluster API Provider AWS (non-experimental features with the exception of machine pools and clusterclass) | |
Cluster API Provider RKE2 (excluding any day 2 operations like ETCD Backup & Restore) |
Supported versions:
- Rancher: v2.8.1 or greater
- Cluster API: v1.4.6
- Cluster API Provider AWS: v2.3.5
- Cluster API Provider RKE2: v0.3.0
What's Changed
🚀 Enhancements
- Bump RKE2 API version in E2E by @alexander-demicev in #546
- Bump CAPI Operator to v0.11.0 by @alexander-demicev in #567
- test: add rke2 cluster to e2e test cases by @salasberryfin in #562
- feat: add script for import controller migration by @salasberryfin in #574
- Add v1->v3 cluster migration by @alexander-demicev in #575
📖 Docs
- 📖 Updated documentation release steps by @Danil-Grigorev in #563
- 📖 ADR: v1-v3 automatic migration by @Danil-Grigorev in #579
- docs: add adr for v1 to v3 controller migration by @salasberryfin in #573
Other Changes
- chore: Fix imageUrl override to allow air-gapped turtles helm chart setup by @Danil-Grigorev in #572
- 🌱 Cleanup v1 cluster before creating v3 clusters on upgrade by @Danil-Grigorev in #576
- Import CAPI cluster with managementv3 by default by @Danil-Grigorev in #578
- 🐛 Separate auto-migration e2e from the import tests by @Danil-Grigorev in #586
Full Changelog: v0.8.0...v0.9.0
v0.8.0
Rancher Turtles is an extension to Rancher that brings full Cluster API integration to Rancher.
What's Changed
🚀 Enhancements
- Add ETCD Snapshot and Restore Controllers/Webhooks/Reconcilers skeleton by @furkatgofurov7 in #506
- Bump CAPRKE2 to the latest RC by @alexander-demicev in #543
- Continously propagate labels to Rancher cluster by @alexander-demicev in #547
- Bump CAPRKE2 to v0.3.0 by @alexander-demicev in #557
- Enable addon provider fleet as experimental by @Danil-Grigorev in #559
🐛 Bugs
- [Bug] fix missing conditional for CAPI Operator dependencies by @CiraciNicolo in #518
- 🐛 B64 encode gcp credentials for credentials sync by @Danil-Grigorev in #529
- Add ipam and runtimeextension providers by @Danil-Grigorev in #549
- fix: git add files in dependabot workflow by @salasberryfin in #556
Other Changes
- Remove deprecated workflows by @Danil-Grigorev in #550
- Replace github commit/push actions with manual steps by @Danil-Grigorev in #551
- Mark propagate labels as experimental by @Danil-Grigorev in #561
New Contributors
- @CiraciNicolo made their first contribution in #518
Full Changelog: v0.7.0...v0.8.0
v0.7.0
Rancher Turtles is an extension to Rancher that brings full Cluster API integration to Rancher.
Supported | Experimental (not suitable for production) |
---|---|
Automatic import of CAPI Clusters into Rancher | Everything not specifically listed on the “Supported” column |
Enabling CAPI Providers (excluding integration with Rancher Cloud Credentials) | CAPIProvider integration with Rancher Cloud Credentials. |
Cluster provisioning via Fleet (i.e. GitOps) | Cluster API Provider vSphere (non-experimental features with the exception of machine pools and clusterclass) |
Cluster API Provider AWS (non-experimental features with the exception of machine pools and clusterclass) | |
Cluster API Provider RKE2 (excluding any day 2 operations like ETCD Backup & Restore) |
Supported versions:
- Rancher: v2.8.1 or greater
- Cluster API: v1.4.6
- Cluster API Provider AWS: v2.3.5
- Cluster API Provider RKE2: v0.2.7
We are also developing an UI extension that will be released in the future. This is only available at present via the early adopter programme. Please get in contact with your account team about details.
What's Changed
🚀 Enhancements
- Add label propagation (for use with Fleet Cluster Groups) by @richardcase in #460
- Add CAPRKE2 to e2e suite by @alexander-demicev in #519
- Cover uninstall in e2e tests by @salasberryfin in #474
- Cover cluster reimport after running e2e by @salasberryfin in #484
🐛 Bugs
- Ensure CAPIProviders are removed correctly on chart uninstall by @Danil-Grigorev in #508
- Add helm chart value to override CAPI images by @alexander-demicev in #525
- Ensure controller always patches CAPIProvider status by @Danil-Grigorev in #470
📖 Docs
- Improve release docs by @furkatgofurov7 in #467
Other Changes
- Add ETCD Snapshot and Restore API skeleton by @alexander-demicev in #505
- Update references to documentation site by @salasberryfin in #466
- Remove s390x architecture from release packages by @furkatgofurov7 in #468
- Update dev-env script by @furkatgofurov7 in #471
- Perform helm chart upgrade tests in pre-submits by @Danil-Grigorev in #485
- E2E Testing Changes by @richardcase in #511, #512
- Bump the test-dependencies group in /test with 7 updates by @dependabot in #490
- Bump actions/checkout from 3.3.0 to 4.1.3 by @dependabot in #492
- Bump dev-drprasad/delete-tag-and-release from 1.0 to 1.1 by @dependabot in #469
Full Changelog: v0.6.0...v0.7.0
v0.6.0
Rancher Turtles (The Cluster API Extension) GA
We are pleased to announce that the Rancher Cluster API Extension (a.k.a Rancher Turtles) is becoming generally available, transitioning out from an early adopter program.
With each new release going forward we will include a table of the features that have moved to be fully supported and the new features that are experimental.
The initial GA is targeted at the GitOps workflow (to be used, for example, with Fleet) and cluster creation / operations will need to be performed via the CAPI cluster definitions directly (applied to the management cluster).
Supported | Experimental (not suitable for production) |
---|---|
Automatic import of CAPI Clusters into Rancher | Everything not specifically listed on the “Supported” column |
Enabling CAPI Providers (excluding integration with Rancher Cloud Credentials) | CAPIProvider integration with Rancher Cloud Credentials. |
Cluster provisioning via Fleet (i.e. GitOps) | Cluster API Provider vSphere (non-experimental features with the exception of machine pools and clusterclass) |
Cluster API Provider AWS (non-experimental features with the exception of machine pools and clusterclass) | |
Cluster API Provider RKE2 (excluding any day 2 operations like ETCD Backup & Restore) |
Supported versions:
- Rancher: v2.8.1 or greater
- Cluster API: v1.4.6
- Cluster API Provider AWS: v2.3.5
- Cluster API Provider RKE2: v0.2.7
We are also developing an UI extension that will be released in the future. This is only available at present via the early adopter programme. Please get in contact with your account team about details.
What's Changed
🚀 Enhancements
- Add dependabot rule to bump CAPI Operator dependency as early as possible by @Danil-Grigorev in #392
- Pin installed versions for CAPI Operator by @Danil-Grigorev in #406
- Support creating management v3 cluster by @salasberryfin in #362
- Add post-delete helm hook for RT extension deletion process by @furkatgofurov7 in #425
- feat: add devcontainer by @richardcase in #434
- feat: changing to use EKS for management cluster by @richardcase in #394
- Install RKE2 by default by @alexander-demicev in #437
🐛 Bugs
- Fix dependabot duplicate rule issue by @Danil-Grigorev in #398
- Re-apply capi infra periodically by @Danil-Grigorev in #393
- Provider re apply tests by @Danil-Grigorev in #422
- Fix repo name in release-workflow.yml GH workflow by @furkatgofurov7 in #444
- fix: install aws-iam-authenticator by @richardcase in #447
- fix: chart changes for upgrade and uninstall by @richardcase in #458
- Fix nightly release CI job by @furkatgofurov7 in #459
- Exclude namespace selection from questions.yaml by @Danil-Grigorev in #464
📖 Docs
- Add ADR around use of structured proxy types by @Danil-Grigorev in #114
- add helm chart repository adr by @salasberryfin in #426
🌱 Other Changes
- Bump helm/kind-action from 1.8.0 to 1.9.0 by @dependabot in #379
- Bump golangci/golangci-lint-action from 3.7.0 to 4.0.0 by @dependabot in #378
- Bump slackapi/slack-github-action from 1.24.0 to 1.25.0 by @dependabot in #360
- Bump aquasecurity/trivy-action from 0.16.1 to 0.17.0 by @dependabot in #380
- update development environment script by @salasberryfin in #383
- Update tests to use same envtest helper, add eventual checks for cache consistency by @Danil-Grigorev in #395
- Rancher credentials lookup by namespace name by @Danil-Grigorev in #390
- Bump go to 1.22 by @Danil-Grigorev in #397
- Pin provider versions by @furkatgofurov7 in #404
- Configure janitor to cleanup aws resources by @salasberryfin in #413
- Add tests for capi provider edit operations by @Danil-Grigorev in #396
- test: add wait-delete-cluster interval by @salasberryfin in #421
- update go version in release test workflow by @salasberryfin in #418
- Bump Azure/setup-helm from 3 to 4 by @dependabot in #411
- Bump aquasecurity/trivy-action from 0.17.0 to 0.18.0 by @dependabot in #412
- Bump CAPI to v1.6.2 & CAPI Operator v0.9.0 by @furkatgofurov7 in #403
- Create dependabot.yml to run make generate on each dependabot PR by @Danil-Grigorev in #408
- Disable kubeadm provider installation by default by @alexander-demicev in #402
- Bump go version in dependabot workflow by @Danil-Grigorev in #429
- Rename 'rancher-sandbox/rancher-turtles' to 'rancher/turtles' by @furkatgofurov7 in #432
- Bump operator dependency to 0.9.1 by @Danil-Grigorev in #445
- Edit chart display name by @salasberryfin in #449
- Downgrade CAPI to 1.4.6 by @Danil-Grigorev in #452
- Revise questions.yaml and add missing options by @Danil-Grigorev in #454
- chore: add tags to eks resources by @richardcase in #463
Full Changelog: v0.5.0...v0.6.0
v0.5.0
Rancher Turtles is a extension to Rancher that brings full Cluster API integration to Rancher.
What's Changed
🚀 Enhancements
- ✨Implement initial rancher credentials mapping by @Danil-Grigorev in #342
🐛 Bugs
- fix: installation on eks by @richardcase in #349
- 🐛 Separate k8s versions for management and child clusters, add a separate group for v2prov testing. by @Danil-Grigorev in #354
- 🐛 Slow down nightly schedule 2 times, to prevent hitting data limit by @Danil-Grigorev in #358
📖 Docs
- 📖 Add release docs to Rancher Turtles repo by @furkatgofurov7 in #359
- docs: managementv3 cluster support strategy by @salasberryfin in #357
Other Changes
- Bump github.com/go-git/go-git/v5 to v5.11.0 by @furkatgofurov7 in #340
- 🌱 Implement full cluster artifact gathering for both clusters after each test run by @Danil-Grigorev in #335
- chore(deps): Bump the test-dependencies group in /test with 3 updates by @dependabot in #355
- chore(deps): Bump actions/upload-artifact from 3 to 4 by @dependabot in #328
- chore: e2e environment with fixed capd version by @salasberryfin in #372
Full Changelog: v0.4.0...v0.5.0