-
Notifications
You must be signed in to change notification settings - Fork 20
fix: remove Helm charts and standardize on operator-based deployment #448
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
raballew
wants to merge
22
commits into
jumpstarter-dev:main
Choose a base branch
from
raballew:042-remove-helm-charts
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
22 commits
Select commit
Hold shift + click to select a range
506f2af
feat: remove Helm charts and keep only operator-based deployment
raballew af57a56
fix: propagate RuntimeError in check_jumpstarter_installation instead…
raballew faf614e
fix: remove stale noqa C901 complexity suppression from check_jumpsta…
raballew 6815036
fix: remove stale METHOD=helm references from root Makefile
raballew eb0ce04
fix: remove vestigial chart_name field from V1Alpha1JumpstarterInstance
raballew fb9317e
fix: correct stale default version comment in compat setup script
raballew d0dff94
fix: update version discovery to query operator image repo instead of…
raballew 2a60403
fix: fail fast when Jumpstarter CR baseDomain is not found in compat …
raballew 919575c
fix: remove vestigial METHOD variable from Makefiles
raballew 6a9e41f
fix: remove vestigial METHOD deployment abstraction
raballew e4c5c6f
fix: remove old-controller compat test (v0.7.0 has no operator instal…
raballew 47973aa
Revert "fix: remove old-controller compat test (v0.7.0 has no operato…
raballew 825a43c
fix: deploy old controller v0.8.1 via operator installer in compat tests
raballew 8c3ca55
fix: remove stale bats test file re-added by revert
raballew 6f6e300
fix: address CodeRabbit review findings
raballew 699edc2
fix: fail fast when baseDomain is empty in e2e setup
raballew fc1ff1f
fix: load operator image in e2e-compat-old-client CI job
raballew d70677a
fix: use client version 0.7.4 for old-client compat test
raballew a72a0d7
fix: use correct kustomize image name and require CR instances for in…
raballew 3bd8ed3
test: add coverage for helm-removal changes in kubectl, operations, a…
raballew 7ef1b71
fix: resolve lint violations and improve test coverage for helm-remov…
raballew 2e6d0ea
fix: add coverage source config for proper diff-cover path resolution
raballew File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -30,9 +30,6 @@ endif | |
| # tools. (i.e. podman) | ||
| CONTAINER_TOOL ?= podman | ||
|
|
||
| # Deployment method: operator (default) or helm | ||
| METHOD ?= operator | ||
|
|
||
| # Cluster type: kind (default) or k3s | ||
| CLUSTER_TYPE ?= kind | ||
| export CLUSTER_TYPE | ||
|
|
@@ -67,17 +64,8 @@ help: ## Display this help. | |
| .PHONY: manifests | ||
| manifests: controller-gen ## Generate WebhookConfiguration, ClusterRole and CustomResourceDefinition objects. | ||
| $(CONTROLLER_GEN) rbac:roleName=jumpstarter-manager-role crd webhook paths="./api/..." paths="./internal/..." \ | ||
| output:crd:artifacts:config=deploy/helm/jumpstarter/charts/jumpstarter-controller/templates/crds/ \ | ||
| output:rbac:artifacts:config=deploy/helm/jumpstarter/charts/jumpstarter-controller/templates/rbac/ | ||
|
|
||
| # Add ArgoCD sync-wave annotation to RBAC role for proper deployment ordering (PR #207) | ||
| @awk '/^ name: jumpstarter-manager-role$$/{print; print " annotations:"; print " argocd.argoproj.io/sync-wave: \"-1\""; next}1' \ | ||
| deploy/helm/jumpstarter/charts/jumpstarter-controller/templates/rbac/role.yaml > \ | ||
| deploy/helm/jumpstarter/charts/jumpstarter-controller/templates/rbac/role.yaml.tmp && \ | ||
| mv deploy/helm/jumpstarter/charts/jumpstarter-controller/templates/rbac/role.yaml.tmp \ | ||
| deploy/helm/jumpstarter/charts/jumpstarter-controller/templates/rbac/role.yaml | ||
|
|
||
| cp deploy/helm/jumpstarter/charts/jumpstarter-controller/templates/crds/* deploy/operator/config/crd/bases/ | ||
| output:crd:artifacts:config=deploy/operator/config/crd/bases/ \ | ||
| output:rbac:artifacts:config=deploy/operator/config/rbac/ | ||
|
|
||
| # Regenerate operator install.yaml to include updated CRDs | ||
| $(MAKE) -C deploy/operator build-installer | ||
|
|
@@ -170,8 +158,8 @@ docker-buildx: ## Build and push docker image for the manager for cross-platform | |
| .PHONY: build-installer | ||
| build-installer: manifests generate kustomize ## Generate a consolidated YAML with CRDs and deployment. | ||
| mkdir -p dist | ||
| cd config/manager && $(KUSTOMIZE) edit set image controller=${IMG} | ||
| $(KUSTOMIZE) build config/default > dist/install.yaml | ||
| cd deploy/operator/config/manager && $(KUSTOMIZE) edit set image quay.io/jumpstarter-dev/jumpstarter-operator=${IMG} | ||
|
Comment on lines
-173
to
+161
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. we shouldn't make these changes or we need to revisit this. So... this Makefile is for the controller, not the operator, they really use the same framework and it gets confusing |
||
| $(KUSTOMIZE) build deploy/operator/config/default > dist/install.yaml | ||
|
coderabbitai[bot] marked this conversation as resolved.
|
||
|
|
||
| ##@ Deployment | ||
|
|
||
|
|
@@ -181,32 +169,20 @@ endif | |
|
|
||
| .PHONY: install | ||
| install: manifests kustomize ## Install CRDs into the K8s cluster specified in ~/.kube/config. | ||
| $(KUSTOMIZE) build config/crd | $(KUBECTL) apply -f - | ||
| $(KUSTOMIZE) build deploy/operator/config/crd | $(KUBECTL) apply -f - | ||
|
|
||
| .PHONY: uninstall | ||
| uninstall: manifests kustomize ## Uninstall CRDs from the K8s cluster specified in ~/.kube/config. Call with ignore-not-found=true to ignore resource not found errors during deletion. | ||
| $(KUSTOMIZE) build config/crd | $(KUBECTL) delete --ignore-not-found=$(ignore-not-found) -f - | ||
| $(KUSTOMIZE) build deploy/operator/config/crd | $(KUBECTL) delete --ignore-not-found=$(ignore-not-found) -f - | ||
|
|
||
| .PHONY: deploy | ||
| deploy: cluster grpcurl ## Deploy controller using METHOD (operator or helm). Set SKIP_BUILD=1 to skip image builds. | ||
| deploy: cluster grpcurl ## Deploy controller using the operator. Set SKIP_BUILD=1 to skip image builds. Set CLUSTER_TYPE=k3s for k3s. | ||
| ifeq ($(SKIP_BUILD),) | ||
| $(MAKE) docker-build | ||
| endif | ||
| ifeq ($(METHOD),operator) | ||
| ifeq ($(SKIP_BUILD),) | ||
| $(MAKE) build-operator | ||
| endif | ||
| ./hack/deploy_with_operator.sh | ||
| else ifeq ($(METHOD),helm) | ||
| ./hack/deploy_with_helm.sh | ||
| else | ||
| $(error Unknown METHOD=$(METHOD). Use 'operator' or 'helm') | ||
| endif | ||
|
|
||
| # Backward compatibility alias | ||
| .PHONY: deploy-with-operator | ||
| deploy-with-operator: | ||
| $(MAKE) deploy METHOD=operator | ||
|
|
||
| .PHONY: deploy-operator | ||
| deploy-operator: docker-build build-operator cluster grpcurl ## Deploy only the operator (without Jumpstarter CR) | ||
|
|
@@ -221,20 +197,15 @@ operator-logs: | |
|
|
||
| .PHONY: deploy-with-operator-parallel | ||
| deploy-with-operator-parallel: | ||
| make deploy METHOD=operator -j5 --output-sync=target | ||
| make deploy -j5 --output-sync=target | ||
|
|
||
| .PHONY: deploy-exporters | ||
| deploy-exporters: | ||
| ./hack/demoenv/prepare_exporters.sh | ||
|
|
||
| .PHONY: lint-helm | ||
| lint-helm: | ||
| helm lint deploy/helm/jumpstarter | ||
|
|
||
|
|
||
| .PHONY: undeploy | ||
| undeploy: kustomize ## Undeploy controller from the K8s cluster specified in ~/.kube/config. Call with ignore-not-found=true to ignore resource not found errors during deletion. | ||
| $(KUSTOMIZE) build config/default | $(KUBECTL) delete --ignore-not-found=$(ignore-not-found) -f - | ||
| $(KUSTOMIZE) build deploy/operator/config/default | $(KUBECTL) delete --ignore-not-found=$(ignore-not-found) -f - | ||
|
|
||
| ##@ Dependencies | ||
|
|
||
|
|
||
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.