Commit afbd9e6
feat: Use CAPI for provisioning clusters (#424)
* Bump cluster-api-migration
* bump migrator
* Bump cluster-api-migration
* bump migrator
* bump migrator
* bump migrator
* Update GCP migration config
* optimize imports
* Remove --cluster-api flag
* update google bootstrap flags
* Fix deploy logic
* bump migrator
* update destroy bootstrap flags for google provider
* Check if cluster exists
* update destroy steps
* Fix deploy
* Add logging
* Add missing new line
* Fix log types
* Add client ID and secret to init survey
* remove cluster resources during destroy
* Fix wait command
* Remove plural clusters watch command
* Run go mod tidy
* Fix unit tests
* Print step numbers for bootstrap and migration
* Remove plural cluster watch command and some unused code
* Remove build step and update descriptions for CAPI deploy
* Refactor deploy and migration steps
* Refactor destroy steps
* Add destroy logs
* Refactor
* Move CAPI related logic from cmd to pkg
* Extract common code
* Move checks
* Fix minor import issue
* Cleanup
* Remove unused flag
Remove duplicated command
* Minor improvements
* Add TODO
* add post install step
* Update cluster readiness check
* Fix merge conflicts
* Update migration configuration for gcp
* Export execute steps function
* Refactor
* Refactor migration
* Add tests for common functions
* Improve GCP preflight checks
* Add tests for migration functions
* Update messaging
* add kind provider
* Raise destroy timeout
* Refactor cilium.go
* Fix resource group and storage account name validation
* Add command to check if chart is installed
* save kubeconfig
* add kind configuration
* fix kind configuration
* fix docker destroy
* normilize kind
* update e2e test
* update github action
* bump kind action
* create bootstrap namespace
* create bootstrap namespace
* add extra debug
* do not run migrate when cluster already migrated
* read sa email from credentials file
* add vendor dir to gitignore
* fix import cycle
* add PLURAL_DISABLE_MP_TABLE_VIEW env for machine pools view
* remove bootstrap operator dependencies
* cilium update
* refactor
* split e2e tests
* change name
* Refactor e2e workflows
* distinguish between regular and cluster api
* distinguish between regular and cluster api - fix
* distinguish between regular and cluster api - improvement
* distinguish between regular and cluster api - improvement
* distinguish between regular and cluster api - improvement
* add e2e test for cluster api
* enable list view for destroy
* add e2e test to check installed packages
* fix linter
* Update github.com/gin-gonic/gin to avoid CVE
* Bump dependencies
* Read Go version from go.mod in CI
* Bump dependencies
* improve error handling for deoploy/destroy cluster
* e2e update machine pool
* Refactor storage account code
* Fixes
* Fix unit tests
* Fix kind delete
* remove role permissions check for gcp SA and use local CLI ADC for migration and bootstraping
* fetch AvailabilityZones
* fix unit test
* Use Microsoft Graph SDK to create service principal and get client ID and secret
* set bootstrapMode flag for gcp during the bootstrap phase
* fix fetching zones
* Add proper role assignment to Azure service principal
* fix execute not showing error and add workaround for tf value templating issue
* Minor improvements
* read gcp credentials from adc file
* Fix client ID
* change migrate to run deploy at the end and run gcp in bootstrapMode during migrate
* update gcp permissions check
* set azure bootstrap mode flag
Signed-off-by: David van der Spek <[email protected]>
* Add commit flag at the end of running migrate (#436)
It's very likely a large number of users will forget to manage their git, we should just remove that possibility w/ this.
* do not use bootstrap mode for the gcp migration
* improve gcp permissions check messaging
* Fix typo
* Enable OIDC issuer for Azure clusters
* add some todo comments
Signed-off-by: David van der Spek <[email protected]>
* Create temporary service principal with password during deploy and destroy
* Refactor
* e2e update machine pool version
* Fix destroy
* update bootstrap step building logic
* add plural build-values REPO
* init bubbletea tui
* revert bootstrap step changes
* Resolve Helm issue
* Extract methods from bootstrap steps
* Fix destroy
* Modify aws auth configmap manually to solve migration chicken-egg (#437)
* Modify aws auth configmap manually to solve migration chicken-egg
This allows us to reusably modify the aws-auth configmap for eks from the client which should help resolve some migrration-time issues
* add to migrate steps
* Add secret list and create funcs
* Add kube initializer with context
* add feature flag for CAPI stuff
* fix build
* Add kube initializer with context
* set aws credentials
* cleanup build values command
* use dynamic credentials for GCP without storing them on the repo
* lint fix
* Refactor
* Rename file
* allow overriding enable field of helm modules
* Fix var name
* Simplify migration
* Restore uninstall azure-identity package step
* update gcp permissions check name
* fix nil pointer error when listing uninstalled package
* improve fetching AZs
* bump migrator version (#440)
Signed-off-by: David van der Spek <[email protected]>
* fix gcp provider name
* remove credentials
* Properly normalize Google -> GCP provider name and add migration step to update google provider name to gcp
* update go.sum
* make genmock
* Fix executor println (#443)
This was always saying "actionName <app>" instead of the passed action name.
* bump migrator
* small refactor
* Bump migrator version
* fix null replacment
* Deprecate values.yaml migration
* bump migrator
* Fix Azure destroy after migration
* Refactor step filtering
* Fix Azure identity bug
* add posthog feature call timeout and fix caching
* cleanup some steps
* Switch google to gcp during init
* Update messaging for GCP
* bump migrator
* update go.sum
* fix linters
* ci: ensure docker buildx removes the running nodes (#448)
Signed-off-by: David van der Spek <[email protected]>
* Add semver validation for required bootstrap tf/helm modules on migration (#445)
There are now some requirements for performing a migration tied to our helm/tf. This will at least guarantee they're installed at migrate time.
* remove default values from migration values.yaml
* go mod tidy
* update AZs during migration
* disable external-dns and plural-certmanager-webhook
* Do not delete bootstrap cluster on failed deploy
* fix disabling plural-certmanager-webhook
Signed-off-by: David van der Spek <[email protected]>
* also disable external dns on gcp and azure
Signed-off-by: David van der Spek <[email protected]>
* Update step handling
* Add retry mechanism
* Fix step numbering
* Fix unit tests
* Further improvements
* Use map to store provider tags
* add move state backup and restore to capi deploy
* Further improvements
* Fix OIDC issuer step
* Fix typo
* add initial step confirm support
* move capi backup to .plural dir and add multi-cluster backup support
* Remove tui package
* add conditional recovery steps when cluster issues are detected
---------
Signed-off-by: David van der Spek <[email protected]>
Co-authored-by: Lukasz Zajaczkowski <[email protected]>
Co-authored-by: Sebastian Florek <[email protected]>
Co-authored-by: David van der Spek <[email protected]>
Co-authored-by: michaeljguarino <[email protected]>
Co-authored-by: David van der Spek <[email protected]>1 parent 4bd34b5 commit afbd9e6
File tree
96 files changed
+6564
-872
lines changed- .github/workflows
- cmd/plural
- hack/e2e
- pkg
- api
- application
- bootstrap
- aws
- azure
- validation
- bundle
- cluster
- executor
- exp
- posthog
- kubernetes
- machinepool
- manifest
- provider
- permissions
- scaffold
- template
- server
- template
- test
- e2eclusterapi
- mocks
- ui
- utils
- backup
- wkspace
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
96 files changed
+6564
-872
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
31 | | - | |
| 31 | + | |
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
7 | 45 | | |
| 46 | + | |
| 47 | + | |
8 | 48 | | |
9 | 49 | | |
10 | 50 | | |
11 | 51 | | |
12 | | - | |
13 | | - | |
| 52 | + | |
| 53 | + | |
14 | 54 | | |
15 | 55 | | |
16 | 56 | | |
| |||
31 | 71 | | |
32 | 72 | | |
33 | 73 | | |
| 74 | + | |
| 75 | + | |
34 | 76 | | |
35 | 77 | | |
36 | 78 | | |
37 | 79 | | |
38 | 80 | | |
39 | 81 | | |
40 | | - | |
| 82 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
2 | 12 | | |
3 | 13 | | |
4 | 14 | | |
5 | 15 | | |
6 | 16 | | |
7 | 17 | | |
| 18 | + | |
8 | 19 | | |
9 | 20 | | |
10 | 21 | | |
| |||
13 | 24 | | |
14 | 25 | | |
15 | 26 | | |
16 | | - | |
17 | | - | |
18 | 27 | | |
19 | | - | |
20 | | - | |
21 | | - | |
22 | | - | |
23 | | - | |
24 | | - | |
25 | | - | |
26 | | - | |
27 | | - | |
| 28 | + | |
| 29 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
40 | | - | |
41 | | - | |
| 40 | + | |
| 41 | + | |
42 | 42 | | |
43 | 43 | | |
44 | 44 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
5 | | - | |
6 | 4 | | |
7 | 5 | | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
8 | 9 | | |
9 | 10 | | |
10 | 11 | | |
| |||
111 | 112 | | |
112 | 113 | | |
113 | 114 | | |
114 | | - | |
| 115 | + | |
115 | 116 | | |
116 | 117 | | |
117 | 118 | | |
| |||
0 commit comments