Skip to content

Commit f3ab0ac

Browse files
authored
Merge pull request #778 from jlandowner/merge-charts2
2 parents 3edbec9 + 3ac92c8 commit f3ab0ac

File tree

102 files changed

+22716
-2759
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

102 files changed

+22716
-2759
lines changed

Makefile

Lines changed: 4 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,7 @@ DASHBOARD_VERSION ?= $(VERSION)
99
COSMOCTL_VERSION ?= $(VERSION)
1010
TRAEFIK_PLUGINS_VERSION ?= $(VERSION)
1111

12-
13-
CHART_MANAGER_VERSION ?= $(MANAGER_VERSION)
14-
CHART_DASHBOARD_VERSION ?= $(DASHBOARD_VERSION)
15-
CHART_TRAEFIK_VERSION ?= $(TRAEFIK_PLUGINS_VERSION)
12+
CHART_VERSION ?= $(VERSION)
1613

1714
IMG_MANAGER ?= cosmo-controller-manager:$(MANAGER_VERSION)
1815
IMG_DASHBOARD ?= cosmo-dashboard:$(DASHBOARD_VERSION)
@@ -51,68 +48,11 @@ all: manager cosmoctl dashboard
5148
##---------------------------------------------------------------------
5249
##@ Development
5350
##---------------------------------------------------------------------
54-
define WEBHOOK_CHART_SUFIX
55-
---
56-
{{- if not $$.Values.enableCertManager }}
57-
apiVersion: v1
58-
kind: Secret
59-
metadata:
60-
name: webhook-server-cert
61-
namespace: {{ .Release.Namespace }}
62-
labels:
63-
{{- include "cosmo-controller-manager.labels" . | nindent 4 }}
64-
type: kubernetes.io/tls
65-
data:
66-
ca.crt: {{ $$tls.caCert }}
67-
tls.crt: {{ $$tls.clientCert }}
68-
tls.key: {{ $$tls.clientKey }}
69-
{{- else }}
70-
apiVersion: cert-manager.io/v1
71-
kind: Certificate
72-
metadata:
73-
labels:
74-
{{- include "cosmo-controller-manager.labels" . | nindent 4 }}
75-
name: cosmo-serving-cert
76-
namespace: {{ .Release.Namespace }}
77-
spec:
78-
dnsNames:
79-
- cosmo-webhook-service.{{ .Release.Namespace }}.svc
80-
- cosmo-webhook-service.{{ .Release.Namespace }}.svc.cluster.local
81-
issuerRef:
82-
kind: ClusterIssuer
83-
name: cosmo-selfsigned-clusterissuer
84-
secretName: webhook-server-cert
85-
---
86-
apiVersion: cert-manager.io/v1
87-
kind: ClusterIssuer
88-
metadata:
89-
labels:
90-
{{- include "cosmo-controller-manager.labels" . | nindent 4 }}
91-
name: cosmo-selfsigned-clusterissuer
92-
namespace: {{ .Release.Namespace }}
93-
spec:
94-
selfSigned: {}
95-
{{- end }}
96-
endef
97-
98-
WEBHOOK_CHART_YAML ?= charts/cosmo-controller-manager/templates/webhook.yaml
99-
100-
export WEBHOOK_CHART_SUFIX
101-
gen-charts: kustomize
102-
cp config/crd/bases/* charts/cosmo-controller-manager/crds/
103-
# cp config/user-addon/traefik-middleware/useraddon-*.yaml charts/cosmo-dashboard/templates/
104-
$(KUSTOMIZE) build config/webhook-chart \
105-
| sed -e 's/namespace: system/namespace: {{ .Release.Namespace }}/g' \
106-
| sed -z 's;apiVersion: v1\nkind: Service\nmetadata:\n name: cosmo-webhook-service\n namespace: {{ .Release.Namespace }}\nspec:\n ports:\n - port: 443\n targetPort: 9443\n selector:\n control-plane: controller-manager;{{ $$tls := fromYaml ( include "cosmo-controller-manager.gen-certs" . ) }};g' \
107-
| sed -z 's;creationTimestamp: null;{{- if $$.Values.enableCertManager }}\n annotations:\n cert-manager.io/inject-ca-from: {{ .Release.Namespace }}/cosmo-serving-cert\n {{- end }}\n labels:\n {{- include "cosmo-controller-manager.labels" . | nindent 4 }};g' \
108-
| sed -z 's;clientConfig:;clientConfig:\n caBundle: {{ if not $$.Values.enableCertManager -}}{{ $$tls.caCert }}{{- else -}}Cg=={{ end }};g' > $(WEBHOOK_CHART_YAML)
109-
echo "$$WEBHOOK_CHART_SUFIX" >> $(WEBHOOK_CHART_YAML)
11051

11152
.PHONY: manifests
11253
manifests: controller-gen ## Generate WebhookConfiguration, ClusterRole and CustomResourceDefinition objects.
11354
ifeq ($(QUICK_BUILD),no)
11455
$(CONTROLLER_GEN) $(CRD_OPTIONS) rbac:roleName=manager-role webhook paths="./api/..." output:crd:artifacts:config=config/crd/bases
115-
make gen-charts
11656
endif
11757

11858
.PHONY: generate
@@ -125,11 +65,6 @@ endif
12565
proto-generate: ## Generate code protocol buffer api.
12666
make -C proto/ all
12767

128-
.PHONY: chart-check
129-
chart-check: helm gen-charts
130-
./hack/diff-chart-kust.sh controller-manager
131-
./hack/diff-chart-kust.sh dashboard
132-
13368
.PHONY: fmt
13469
fmt: go ## Run go fmt against code.
13570
ifeq ($(QUICK_BUILD),no)
@@ -223,22 +158,10 @@ endif
223158
cd config/manager && $(KUSTOMIZE) edit set image controller=${IMG_MANAGER}
224159
cd config/dashboard && $(KUSTOMIZE) edit set image dashboard=${IMG_DASHBOARD}
225160
sed -i.bk \
226-
-e "s/version: [0-9]\+.[0-9]\+.[0-9]\+.*/version: ${CHART_MANAGER_VERSION:v%=%}/" \
227-
-e "s/appVersion: v[0-9]\+.[0-9]\+.[0-9]\+.*/appVersion: ${MANAGER_VERSION}/" \
228-
-e 's;artifacthub.io/prerelease: "\(true\|false\)";artifacthub.io/prerelease: "$(PRERELEASE)";' \
229-
charts/cosmo-controller-manager/Chart.yaml
230-
sed -i.bk \
231-
-e "s/version: [0-9]\+.[0-9]\+.[0-9]\+.*/version: ${CHART_DASHBOARD_VERSION:v%=%}/" \
232-
-e "s/appVersion: v[0-9]\+.[0-9]\+.[0-9]\+.*/appVersion: ${DASHBOARD_VERSION}/" \
161+
-e "s/version: [0-9]\+.[0-9]\+.[0-9]\+.*/version: ${CHART_VERSION:v%=%}/" \
162+
-e "s/appVersion: v[0-9]\+.[0-9]\+.[0-9]\+.*/appVersion: ${VERSION}/" \
233163
-e 's;artifacthub.io/prerelease: "\(true\|false\)";artifacthub.io/prerelease: "$(PRERELEASE)";' \
234-
charts/cosmo-dashboard/Chart.yaml
235-
sed -i.bk \
236-
-e "s/version: [0-9]\+.[0-9]\+.[0-9]\+.*/version: ${CHART_TRAEFIK_VERSION:v%=%}/" \
237-
-e 's;artifacthub.io/prerelease: "\(true\|false\)";artifacthub.io/prerelease: "$(PRERELEASE)";' \
238-
charts/cosmo-traefik/Chart.yaml
239-
sed -i.bk \
240-
-e "s;image: ghcr.io/cosmo-workspace/cosmo-traefik-plugins:v[0-9]\+.[0-9]\+.[0-9]\+.*;image: ghcr.io/cosmo-workspace/cosmo-traefik-plugins:${CHART_TRAEFIK_VERSION};" \
241-
charts/cosmo-traefik/values.yaml
164+
charts/cosmo/Chart.yaml
242165

243166
##---------------------------------------------------------------------
244167
##@ Run

api/v1alpha1/cluster_template_types.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ type TemplateObject interface {
2323
// +kubebuilder:object:root=true
2424
// +kubebuilder:resource:scope="Cluster",shortName=ctmpl
2525
// +kubebuilder:storageversion
26+
// +kubebuilder:printcolumn:name="Type",type=string,JSONPath=`.metadata.labels.cosmo-workspace\.github\.io/type`
2627
// ClusterTemplate is the Schema for the Templates API
2728
type ClusterTemplate struct {
2829
metav1.TypeMeta `json:",inline"`

api/v1alpha1/template_types.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ func init() {
2929
// +kubebuilder:object:root=true
3030
// +kubebuilder:resource:scope="Cluster",shortName=tmpl
3131
// +kubebuilder:storageversion
32+
// +kubebuilder:printcolumn:name="Type",type=string,JSONPath=`.metadata.labels.cosmo-workspace\.github\.io/type`
3233
// Template is the Schema for the Templates API
3334
type Template struct {
3435
metav1.TypeMeta `json:",inline"`

charts/Makefile

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
2+
HELM = ../bin/helm
3+
KUSTOMIZE = ../bin/kustomize
4+
5+
helm:
6+
make -C ../ helm
7+
8+
helm-dependency-update:
9+
cd cosmo; ../$(HELM) dependency update
10+
11+
chartsnap:
12+
go install github.com/cosmo-workspace/controller-testtools/cmd/chartsnap@latest
13+
14+
TEST_VALUES ?= cosmo/test
15+
16+
test: chartsnap helm helm-dependency-update
17+
chartsnap --chart cosmo --values $(TEST_VALUES) --helm-path $(HELM) $(CHARTSNAP_OPT)
18+
19+
test-list:
20+
grep -R '{{[-|] if .*}}' cosmo/templates/* | grep .Values | awk -F':' '{print $$2}' | sed -n 's/.*\(.Values[^ ]*\).*/\1/p' | tr -d ')' | sort | uniq | awk -F'.Values.' '{print $$2}' > cosmo/test/if-values.list
21+
22+
update-charts: crd cosmo-username-headers-addon.yaml webhook.yaml
23+
24+
crd:
25+
cp ../config/crd/bases/* cosmo/crds/
26+
27+
ADDON_YAML ?= cosmo/templates/cosmo-username-headers-addon.yaml
28+
29+
cosmo-username-headers-addon.yaml:
30+
echo '{{- if .Values.installDefaultUserAddon }}' > $(ADDON_YAML)
31+
cat ../config/user-addon/traefik-middleware/cosmo-username-headers-addon.yaml \
32+
| sed -e 's/{{INSTANCE}}/{{ print "{{INSTANCE}}" }}/g' \
33+
| sed -e 's/{{TEMPLATE}}/{{ print "{{TEMPLATE}}" }}/g' \
34+
| sed -e 's/{{NAMESPACE}}/{{ print "{{NAMESPACE}}" }}/g' \
35+
| sed -e 's/{{USER_NAME}}/{{ print "{{USER_NAME}}" }}/g' >> $(ADDON_YAML)
36+
echo '{{- end }}' >> $(ADDON_YAML)
37+
38+
WEBHOOK_CHART_YAML ?= cosmo/templates/controller-manager/webhook.yaml
39+
webhook.yaml:
40+
$(KUSTOMIZE) build ../config/webhook-chart \
41+
| sed -e 's/namespace: system/namespace: {{ .Release.Namespace }}/g' \
42+
| sed -z 's;apiVersion: v1\nkind: Service\nmetadata:\n name: cosmo-webhook-service\n namespace: {{ .Release.Namespace }}\nspec:\n ports:\n - port: 443\n targetPort: 9443\n selector:\n control-plane: controller-manager\n---;{{ $$tls := fromYaml ( include "cosmo.webhook.gen-certs" . ) }}\n---\n{{- if $$.Values.controllerManager.webhook.enabled }};g' \
43+
| sed -z 's;creationTimestamp: null;{{- if $$.Values.certManager.enabled }}\n annotations:\n cert-manager.io/inject-ca-from: {{ .Release.Namespace }}/cosmo-webhook-cert\n {{- end }}\n labels:\n {{- include "cosmo.labels" . | nindent 4 }};g' \
44+
| sed -z 's;clientConfig:;clientConfig:\n caBundle: {{ if not $$.Values.certManager.enabled -}}{{ $$tls.caCert }}{{- else -}}Cg=={{ end }};g' > $(WEBHOOK_CHART_YAML)
45+
echo '{{- end }}' >> $(WEBHOOK_CHART_YAML)

charts/cosmo-controller-manager/Chart.yaml

Lines changed: 0 additions & 25 deletions
This file was deleted.

charts/cosmo-controller-manager/README.md

Lines changed: 0 additions & 21 deletions
This file was deleted.

charts/cosmo-controller-manager/templates/NOTES.txt

Lines changed: 0 additions & 1 deletion
This file was deleted.

charts/cosmo-controller-manager/templates/_helpers.tpl

Lines changed: 0 additions & 74 deletions
This file was deleted.

0 commit comments

Comments
 (0)