Skip to content

Commit

Permalink
fix: charts and images
Browse files Browse the repository at this point in the history
Signed-off-by: Vishal Choudhary <[email protected]>
  • Loading branch information
vishal-chdhry committed Sep 18, 2024
1 parent 60de016 commit bb6a557
Show file tree
Hide file tree
Showing 8 changed files with 161 additions and 21 deletions.
4 changes: 3 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,7 @@ codegen-helm-docs: ## Generate helm docs
codegen-install-manifest: $(HELM) ## Create install manifest
@echo Generate latest install manifest... >&2
@$(HELM) template reports-server --namespace reports-server ./charts/reports-server/ \
--set apiServicesManagement.installApiServices.enabled=true \
--set image.tag=latest \
--set templating.enabled=true \
| $(SED) -e '/^#.*/d' \
Expand All @@ -166,6 +167,7 @@ codegen-install-manifest: $(HELM) ## Create install manifest
codegen-install-manifest-inmemory: $(HELM) ## Create install manifest without postgres
@echo Generate latest install manifest... >&2
@$(HELM) template reports-server --namespace reports-server ./charts/reports-server/ \
--set apiServicesManagement.installApiServices.enabled=true \
--set image.tag=latest \
--set config.debug=true \
--set postgresql.enabled=false \
Expand Down Expand Up @@ -244,7 +246,7 @@ kind-migrate: $(HELM) kind-load ## Build image, load it in kind cluster and depl
--set image.registry=$(KO_REGISTRY) \
--set image.repository=$(PACKAGE) \
--set image.tag=$(GIT_SHA) \
--set apiServices.enabled=false
--set apiServicesManagement.installApiServices.enabled=false

.PHONY: kind-apply-api-services
kind-apply-api-services: $(HELM) kind-load ## Build image, load it in kind cluster and deploy helm chart
Expand Down
7 changes: 4 additions & 3 deletions charts/reports-server/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,6 @@ helm install reports-server --namespace reports-server --create-namespace report
| postgresql.enabled | bool | `true` | Deploy postgresql dependency chart |
| postgresql.auth.postgresPassword | string | `"reports"` | |
| postgresql.auth.database | string | `"reportsdb"` | |
| apiServices.enabled | bool | `true` | Store reports in reports-server |
| apiServices.installEphemeralReportsService | bool | `true` | Store ephemeral reports in reports-server |
| nameOverride | string | `""` | Name override |
| fullnameOverride | string | `""` | Full name override |
| replicaCount | int | `1` | Number of pod replicas |
Expand Down Expand Up @@ -80,7 +78,10 @@ helm install reports-server --namespace reports-server --create-namespace report
| config.db.sslkey | string | `""` | Database SSL key |
| config.db.sslcert | string | `""` | Database SSL cert |
| apiServicesManagement.enabled | bool | `true` | Create a helm hooks to install and delete api services |
| apiServicesManagement.image.registry | string | `nil` | Image registry |
| apiServicesManagement.installApiServices | object | `{"enabled":false,"installEphemeralReportsService":true}` | Install api services in manifest |
| apiServicesManagement.installApiServices.enabled | bool | `false` | Store reports in reports-server |
| apiServicesManagement.installApiServices.installEphemeralReportsService | bool | `true` | Store ephemeral reports in reports-server |
| apiServicesManagement.image.registry | string | `"docker.io"` | Image registry |
| apiServicesManagement.image.repository | string | `"bitnami/kubectl"` | Image repository |
| apiServicesManagement.image.tag | string | `"1.30.2"` | Image tag Defaults to `latest` if omitted |
| apiServicesManagement.image.pullPolicy | string | `nil` | Image pull policy Defaults to image.pullPolicy if omitted |
Expand Down
46 changes: 46 additions & 0 deletions charts/reports-server/templates/api-service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
{{- if .Values.apiServicesManagement.installApiServices.enabled }}
---
apiVersion: apiregistration.k8s.io/v1
kind: APIService
metadata:
name: v1alpha2.wgpolicyk8s.io
namespace: {{ $.Release.Namespace }}
labels:
{{- include "reports-server.labels" . | nindent 4 }}
kube-aggregator.kubernetes.io/automanaged: "false"
annotations:
helm.sh/hook: post-install
spec:
group: wgpolicyk8s.io
groupPriorityMinimum: 100
insecureSkipTLSVerify: true
service:
name: {{ include "reports-server.fullname" . }}
namespace: {{ $.Release.Namespace }}
version: v1alpha2
versionPriority: 100

{{- if .Values.apiServicesManagement.installApiServices.installEphemeralReportsService }}
---
apiVersion: apiregistration.k8s.io/v1
kind: APIService
metadata:
name: v1.reports.kyverno.io
namespace: {{ $.Release.Namespace }}
labels:
{{- include "reports-server.labels" . | nindent 4 }}
kube-aggregator.kubernetes.io/automanaged: "false"
annotations:
helm.sh/hook: post-install
spec:
group: reports.kyverno.io
groupPriorityMinimum: 100
insecureSkipTLSVerify: true
service:
name: {{ include "reports-server.fullname" . }}
namespace: {{ $.Release.Namespace }}
version: v1
versionPriority: 100
{{- end }}
{{- end }}
Original file line number Diff line number Diff line change
Expand Up @@ -35,15 +35,14 @@ spec:
{{- end }}
containers:
- name: kubectl
image: bitnami/kubectl:1.30.2
image: "{{ .Values.apiServicesManagement.image.registry }}/{{ .Values.apiServicesManagement.image.repository }}:{{ .Values.apiServicesManagement.image.tag | default .Chart.AppVersion }}"
imagePullPolicy: {{ .Values.apiServicesManagement.image.pullPolicy }}
command:
- /bin/bash
- '-c'
- |-
set -euo pipefail
kubectl wait -n {{ $.Release.Namespace }} pod --for=condition=ready -l app.kubernetes.io/name={{ include "reports-server.fullname" . }} --timeout=120s
{{- if .Values.apiServices.enabled }}
kubectl apply -f - <<EOF
{
"apiVersion": "apiregistration.k8s.io/v1",
Expand Down Expand Up @@ -71,7 +70,6 @@ spec:
}
}
EOF
{{- if .Values.apiServices.installEphemeralReportsService }}
kubectl apply -f - <<EOF
{
"apiVersion": "apiregistration.k8s.io/v1",
Expand Down Expand Up @@ -99,8 +97,6 @@ spec:
}
}
EOF
{{- end }}
{{- end }}
{{- with .Values.apiServicesManagement.securityContext }}
securityContext:
{{- toYaml . | nindent 12 }}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,17 +36,15 @@ spec:
{{- end }}
containers:
- name: kubectl
image: bitnami/kubectl:1.30.2
image: "{{ .Values.apiServicesManagement.image.registry }}/{{ .Values.apiServicesManagement.image.repository }}:{{ .Values.apiServicesManagement.image.tag | default .Chart.AppVersion }}"
imagePullPolicy: {{ .Values.apiServicesManagement.image.pullPolicy }}
command:
- /bin/bash
- '-c'
- |-
set -euo pipefail
kubectl wait -n {{ $.Release.Namespace }} pod --for=condition=ready -l app.kubernetes.io/name={{ include "reports-server.fullname" . }} --timeout=120s
{{- if .Values.apiServices.enabled }}
kubectl delete apiservice v1alpha2.wgpolicyk8s.io v1.reports.kyverno.io --ignore-not-found=true
{{- end }}
{{- with .Values.apiServicesManagement.securityContext }}
securityContext:
{{- toYaml . | nindent 12 }}
Expand Down
19 changes: 10 additions & 9 deletions charts/reports-server/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,6 @@ postgresql:

database: reportsdb

apiServices:

# -- Store reports in reports-server
enabled: true

# -- Store ephemeral reports in reports-server
installEphemeralReportsService: true

# -- Name override
nameOverride: ""

Expand Down Expand Up @@ -220,9 +212,18 @@ apiServicesManagement:
# -- Create a helm hooks to install and delete api services
enabled: true

# -- Install api services in manifest
installApiServices:

# -- Store reports in reports-server
enabled: false

# -- Store ephemeral reports in reports-server
installEphemeralReportsService: true

image:
# -- (string) Image registry
registry: ~
registry: docker.io
# -- Image repository
repository: bitnami/kubectl
# -- Image tag
Expand Down
48 changes: 48 additions & 0 deletions config/install-inmemory.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -273,3 +273,51 @@ spec:
volumes:
- emptyDir: {}
name: tmp-dir
---
apiVersion: apiregistration.k8s.io/v1
kind: APIService
metadata:
name: v1alpha2.wgpolicyk8s.io
namespace: reports-server
labels:
helm.sh/chart: reports-server-0.1.0
app.kubernetes.io/name: reports-server
app.kubernetes.io/instance: reports-server
app.kubernetes.io/version: "v0.1.0"
app.kubernetes.io/managed-by: Helm
kube-aggregator.kubernetes.io/automanaged: "false"
annotations:
helm.sh/hook: post-install
spec:
group: wgpolicyk8s.io
groupPriorityMinimum: 100
insecureSkipTLSVerify: true
service:
name: reports-server
namespace: reports-server
version: v1alpha2
versionPriority: 100
---
apiVersion: apiregistration.k8s.io/v1
kind: APIService
metadata:
name: v1.reports.kyverno.io
namespace: reports-server
labels:
helm.sh/chart: reports-server-0.1.0
app.kubernetes.io/name: reports-server
app.kubernetes.io/instance: reports-server
app.kubernetes.io/version: "v0.1.0"
app.kubernetes.io/managed-by: Helm
kube-aggregator.kubernetes.io/automanaged: "false"
annotations:
helm.sh/hook: post-install
spec:
group: reports.kyverno.io
groupPriorityMinimum: 100
insecureSkipTLSVerify: true
service:
name: reports-server
namespace: reports-server
version: v1
versionPriority: 100
48 changes: 48 additions & 0 deletions config/install.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -538,3 +538,51 @@ spec:
resources:
requests:
storage: "8Gi"
---
apiVersion: apiregistration.k8s.io/v1
kind: APIService
metadata:
name: v1alpha2.wgpolicyk8s.io
namespace: reports-server
labels:
helm.sh/chart: reports-server-0.1.0
app.kubernetes.io/name: reports-server
app.kubernetes.io/instance: reports-server
app.kubernetes.io/version: "v0.1.0"
app.kubernetes.io/managed-by: Helm
kube-aggregator.kubernetes.io/automanaged: "false"
annotations:
helm.sh/hook: post-install
spec:
group: wgpolicyk8s.io
groupPriorityMinimum: 100
insecureSkipTLSVerify: true
service:
name: reports-server
namespace: reports-server
version: v1alpha2
versionPriority: 100
---
apiVersion: apiregistration.k8s.io/v1
kind: APIService
metadata:
name: v1.reports.kyverno.io
namespace: reports-server
labels:
helm.sh/chart: reports-server-0.1.0
app.kubernetes.io/name: reports-server
app.kubernetes.io/instance: reports-server
app.kubernetes.io/version: "v0.1.0"
app.kubernetes.io/managed-by: Helm
kube-aggregator.kubernetes.io/automanaged: "false"
annotations:
helm.sh/hook: post-install
spec:
group: reports.kyverno.io
groupPriorityMinimum: 100
insecureSkipTLSVerify: true
service:
name: reports-server
namespace: reports-server
version: v1
versionPriority: 100

0 comments on commit bb6a557

Please sign in to comment.