Skip to content

Commit 013e356

Browse files
committed
add Helm chart OCI release to GH automation
Signed-off-by: Tim Ramlot <[email protected]>
1 parent 629dc86 commit 013e356

File tree

4 files changed

+16
-26
lines changed

4 files changed

+16
-26
lines changed

make/00_mod.mk

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,9 @@ deploy_name := approver-policy
3131
deploy_namespace := cert-manager
3232

3333
helm_chart_source_dir := deploy/charts/approver-policy
34-
helm_chart_name := cert-manager-approver-policy
34+
helm_chart_image_name := quay.io/jetstack/charts/cert-manager-approver-policy
3535
helm_chart_version := $(VERSION)
3636
helm_labels_template_name := cert-manager-approver-policy.labels
37-
helm_docs_use_helm_tool := 1
38-
helm_generate_schema := 1
39-
helm_verify_values := 1
4037

4138
golangci_lint_config := .golangci.yaml
4239

make/02_mod.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ include make/test-unit.mk
3434
## @category [shared] Release
3535
release: $(helm_chart_archive)
3636
$(MAKE) oci-push-manager
37+
$(MAKE) helm-chart-oci-push
3738

3839
@echo "RELEASE_OCI_MANAGER_IMAGE=$(oci_manager_image_name)" >> "$(GITHUB_OUTPUT)"
3940
@echo "RELEASE_OCI_MANAGER_TAG=$(oci_manager_image_tag)" >> "$(GITHUB_OUTPUT)"

make/_shared/helm/helm.mk

Lines changed: 13 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -24,25 +24,22 @@ ifndef helm_chart_source_dir
2424
$(error helm_chart_source_dir is not set)
2525
endif
2626

27-
ifndef helm_chart_name
28-
$(error helm_chart_name is not set)
27+
ifndef helm_chart_image_name
28+
$(error helm_chart_image_name is not set)
2929
endif
3030

3131
ifndef helm_chart_version
3232
$(error helm_chart_version is not set)
3333
endif
3434

35-
ifndef helm_chart_app_version
36-
# Default to the same as the chart version
37-
helm_chart_app_version = $(helm_chart_version)
38-
endif
39-
4035
ifndef helm_values_mutation_function
4136
$(error helm_values_mutation_function is not set)
4237
endif
4338

4439
##########################################
4540

41+
helm_chart_name := $(notdir $(helm_chart_image_name))
42+
helm_chart_registry := $(dir $(helm_chart_image_name))
4643
helm_chart_sources := $(shell find $(helm_chart_source_dir) -maxdepth 1 -type f) $(shell find $(helm_chart_source_dir)/templates -type f)
4744
helm_chart_archive := $(bin_dir)/scratch/image/$(helm_chart_name)-$(helm_chart_version).tgz
4845

@@ -64,17 +61,23 @@ $(helm_chart_archive): $(helm_chart_sources) | $(NEEDS_HELM) $(NEEDS_YQ) $(bin_d
6461

6562
mkdir -p $(dir $@)
6663
$(HELM) package $(helm_chart_source_dir_versioned) \
67-
--app-version $(helm_chart_app_version) \
64+
--app-version $(helm_chart_version) \
6865
--version $(helm_chart_version) \
6966
--destination $(dir $@)
7067

68+
.PHONY: helm-chart-oci-push
69+
## Create and push Helm chart to OCI registry.
70+
## Will also create a non-v-prefixed tag for the OCI image.
71+
## @category [shared] Publish
72+
helm-chart-oci-push: $(helm_chart_archive) | $(NEEDS_HELM) $(NEEDS_CRANE)
73+
$(HELM) push "$(helm_chart_archive)" "oci://$(helm_chart_registry)"
74+
$(CRANE) copy "$(helm_chart_image_name):$(helm_chart_version)" "$(helm_chart_image_name):$(helm_chart_version:v%=%)"
75+
7176
.PHONY: helm-chart
7277
## Create a helm chart
7378
## @category [shared] Helm Chart
7479
helm-chart: $(helm_chart_archive)
7580

76-
ifdef helm_docs_use_helm_tool
77-
7881
helm_tool_header_search ?= ^<!-- AUTO-GENERATED -->
7982
helm_tool_footer_search ?= ^<!-- /AUTO-GENERATED -->
8083

@@ -83,35 +86,24 @@ helm_tool_footer_search ?= ^<!-- /AUTO-GENERATED -->
8386
## @category [shared] Generate/ Verify
8487
generate-helm-docs: | $(NEEDS_HELM-TOOL)
8588
$(HELM-TOOL) inject -i $(helm_chart_source_dir)/values.yaml -o $(helm_chart_source_dir)/README.md --header-search "$(helm_tool_header_search)" --footer-search "$(helm_tool_footer_search)"
86-
else
87-
.PHONY: generate-helm-docs
88-
## Generate Helm chart documentation.
89-
## @category [shared] Generate/ Verify
90-
generate-helm-docs: | $(NEEDS_HELM-DOCS)
91-
$(HELM-DOCS) $(helm_chart_source_dir)/
92-
endif
9389

9490
shared_generate_targets += generate-helm-docs
9591

96-
ifdef helm_generate_schema
9792
.PHONY: generate-helm-schema
9893
## Generate Helm chart schema.
9994
## @category [shared] Generate/ Verify
10095
generate-helm-schema: | $(NEEDS_HELM-TOOL) $(NEEDS_GOJQ)
10196
$(HELM-TOOL) schema -i $(helm_chart_source_dir)/values.yaml | $(GOJQ) > $(helm_chart_source_dir)/values.schema.json
10297

10398
shared_generate_targets += generate-helm-schema
104-
endif
10599

106-
ifdef helm_verify_values
107100
.PHONY: verify-helm-values
108101
## Verify Helm chart values using helm-tool.
109102
## @category [shared] Generate/ Verify
110103
verify-helm-values: | $(NEEDS_HELM-TOOL) $(NEEDS_GOJQ)
111104
$(HELM-TOOL) lint -i $(helm_chart_source_dir)/values.yaml -d $(helm_chart_source_dir)/templates -e $(helm_chart_source_dir)/values.linter.exceptions
112105

113106
shared_verify_targets += verify-helm-values
114-
endif
115107

116108
.PHONY: verify-pod-security-standards
117109
## Verify that the Helm chart complies with the pod security standards.

make/_shared/klone/01_mod.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
## Generate klone shared Makefiles
1717
## @category [shared] Generate/ Verify
1818
generate-klone: | $(NEEDS_KLONE)
19-
$(KLONE) sync
19+
# $(KLONE) sync
2020

2121
shared_generate_targets += generate-klone
2222

0 commit comments

Comments
 (0)