Skip to content

Commit

Permalink
Enterprise split reports api (#188)
Browse files Browse the repository at this point in the history
* move reports service to seperate deployment
* use enterprise prefix for helper templates
* add rbacAuth container back to api pod
* make reports-worker fullname match values key for the service
* update unit tests
* bump chart version
* fix reports worker descriptions & alphabetize the top level keys

---------

Signed-off-by: Brady Todhunter <[email protected]>
  • Loading branch information
Btodhunter committed Feb 2, 2024
1 parent 366c5f6 commit a388676
Show file tree
Hide file tree
Showing 20 changed files with 705 additions and 380 deletions.
2 changes: 1 addition & 1 deletion stable/enterprise/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
apiVersion: v2
name: enterprise
version: "2.3.0"
version: "2.3.1"
appVersion: "5.2.0"
kubeVersion: 1.23.x - 1.28.x || 1.23.x-x - 1.28.x-x
description: |
Expand Down
321 changes: 172 additions & 149 deletions stable/enterprise/README.md

Large diffs are not rendered by default.

4 changes: 0 additions & 4 deletions stable/enterprise/templates/_common.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -90,11 +90,7 @@ When calling this template, .component can be included in the context for compon
{{ toYaml . }}
{{- end }}
- name: ANCHORE_ENDPOINT_HOSTNAME
{{- if and (eq $component "reports") (eq .api "true") }}
value: {{ template "enterprise.api.fullname" . }}
{{- else }}
value: {{ include (printf "enterprise.%s.fullname" $component) . }}
{{- end }}
{{- with (index .Values (print $component)).service }}
- name: ANCHORE_PORT
value: {{ .port | quote }}
Expand Down
2 changes: 1 addition & 1 deletion stable/enterprise/templates/_helpers.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ Return the database user for the Anchore Enterprise UI config
{{/*
Set the nodePort for services if its defined
*/}}
{{- define "service.nodePort" -}}
{{- define "enterprise.service.nodePort" -}}
{{- $component := .component -}}
{{- if (index .Values (print $component)).service.nodePort -}}
nodePort: {{ (index .Values (print $component)).service.nodePort }}
Expand Down
5 changes: 5 additions & 0 deletions stable/enterprise/templates/_names.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,11 @@ We truncate at 63 chars because some Kubernetes name fields are limited to this
{{- printf "%s-%s-%s" .Release.Name $name "reports"| trunc 63 | trimSuffix "-" -}}
{{- end -}}

{{- define "enterprise.reportsWorker.fullname" -}}
{{- $name := default .Chart.Name .Values.global.nameOverride -}}
{{- printf "%s-%s-%s" .Release.Name $name "reportsworker"| trunc 63 | trimSuffix "-" -}}
{{- end -}}

{{- define "enterprise.simpleQueue.fullname" -}}
{{- $name := default .Chart.Name .Values.global.nameOverride -}}
{{- printf "%s-%s-%s" .Release.Name $name "simplequeue"| trunc 63 | trimSuffix "-" -}}
Expand Down
29 changes: 1 addition & 28 deletions stable/enterprise/templates/api_deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -71,28 +71,6 @@ spec:
{{- with .Values.api.resources }}
resources: {{- toYaml . | nindent 12 }}
{{- end }}

- name: "{{ .Chart.Name }}-reports-api"
image: {{ .Values.image }}
imagePullPolicy: {{ .Values.imagePullPolicy }}
{{- with .Values.containerSecurityContext }}
securityContext:
{{ toYaml . | nindent 12 }}
{{- end }}
command: ["/bin/sh", "-c"]
args:
- {{ print (include "enterprise.common.dockerEntrypoint" .) }} reports
envFrom: {{- include "enterprise.common.envFrom" . | nindent 12 }}
env: {{- include "enterprise.common.environment" (merge (dict "component" "reports" "api" "true") .) | nindent 12 }}
ports:
- containerPort: {{ .Values.reports.service.port }}
name: reports
volumeMounts: {{- include "enterprise.common.volumeMounts" . | nindent 12 }}
livenessProbe: {{- include "enterprise.common.livenessProbe" (merge (dict "component" "reports") .) | nindent 12 }}
readinessProbe: {{- include "enterprise.common.readinessProbe" (merge (dict "component" "reports") .) | nindent 12 }}
{{- with .Values.reports.resources }}
resources: {{- toYaml . | nindent 12 }}
{{- end }}
{{- include "enterprise.common.rbacAuthContainer" . | nindent 8 }}

---
Expand All @@ -110,12 +88,7 @@ spec:
port: {{ .Values.api.service.port }}
targetPort: {{ .Values.api.service.port }}
protocol: TCP
{{ include "service.nodePort" (merge (dict "component" $component) .) }}
- name: reports
port: {{ .Values.reports.service.port }}
targetPort: {{ .Values.reports.service.port }}
protocol: TCP
{{ include "service.nodePort" (merge (dict "component" "reports") .) }}
{{ include "enterprise.service.nodePort" (merge (dict "component" $component) .) }}
selector:
app.kubernetes.io/name: {{ template "enterprise.fullname" . }}
app.kubernetes.io/component: {{ $component | lower }}
2 changes: 1 addition & 1 deletion stable/enterprise/templates/catalog_deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ spec:
port: {{ .Values.catalog.service.port }}
targetPort: {{ .Values.catalog.service.port }}
protocol: TCP
{{ include "service.nodePort" (merge (dict "component" $component) .) }}
{{ include "enterprise.service.nodePort" (merge (dict "component" $component) .) }}
selector:
app.kubernetes.io/name: {{ template "enterprise.fullname" . }}
app.kubernetes.io/component: {{ $component | lower }}
16 changes: 8 additions & 8 deletions stable/enterprise/templates/ingress.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -98,13 +98,13 @@ spec:
pathType: Prefix
backend:
service:
name: {{ template "enterprise.api.fullname" $ }}
name: {{ template "enterprise.reports.fullname" $ }}
port:
number: {{ $.Values.api.service.reportsPort }}
number: {{ $.Values.reports.service.port }}
{{- else }}
backend:
serviceName: {{ template "enterprise.api.fullname" $ }}
servicePort: {{ $.Values.api.service.reportsPort }}
serviceName: {{ template "enterprise.reports.fullname" $ }}
servicePort: {{ $.Values.reports.service.port }}
{{- end }}
{{- end }}
{{- end }}
Expand Down Expand Up @@ -162,13 +162,13 @@ spec:
pathType: Prefix
backend:
service:
name: {{ template "enterprise.api.fullname" $ }}
name: {{ template "enterprise.reports.fullname" $ }}
port:
number: {{ $.Values.api.service.reportsPort }}
number: {{ $.Values.reports.service.port }}
{{- else }}
backend:
serviceName: {{ template "enterprise.api.fullname" $ }}
servicePort: {{ $.Values.api.service.reportsPort }}
serviceName: {{ template "enterprise.reports.fullname" $ }}
servicePort: {{ $.Values.reports.service.port }}
{{- end }}
{{- end }}
{{- end }}
Expand Down
2 changes: 1 addition & 1 deletion stable/enterprise/templates/notifications_deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ spec:
port: {{ .Values.notifications.service.port }}
targetPort: {{ .Values.notifications.service.port }}
protocol: TCP
{{ include "service.nodePort" (merge (dict "component" $component) .) }}
{{ include "enterprise.service.nodePort" (merge (dict "component" $component) .) }}
selector:
app.kubernetes.io/name: {{ template "enterprise.fullname" . }}
app.kubernetes.io/component: {{ $component | lower }}
2 changes: 1 addition & 1 deletion stable/enterprise/templates/policyengine_deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ spec:
port: {{ .Values.policyEngine.service.port }}
targetPort: {{ .Values.policyEngine.service.port }}
protocol: TCP
{{ include "service.nodePort" (merge (dict "component" $component) .) }}
{{ include "enterprise.service.nodePort" (merge (dict "component" $component) .) }}
selector:
app.kubernetes.io/name: {{ template "enterprise.fullname" . }}
app.kubernetes.io/component: {{ $component | lower }}
2 changes: 1 addition & 1 deletion stable/enterprise/templates/rbacmanager_deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ spec:
port: {{ .Values.rbacManager.service.port }}
targetPort: {{ .Values.rbacManager.service.port }}
protocol: TCP
{{ include "service.nodePort" (merge (dict "component" $component) .) }}
{{ include "enterprise.service.nodePort" (merge (dict "component" $component) .) }}
selector:
app.kubernetes.io/name: {{ template "enterprise.fullname" . }}
app.kubernetes.io/component: {{ $component | lower }}
4 changes: 2 additions & 2 deletions stable/enterprise/templates/reports_deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ spec:
{{- end }}
command: ["/bin/sh", "-c"]
args:
- {{ print (include "enterprise.common.dockerEntrypoint" .) }} reports_worker
- {{ print (include "enterprise.common.dockerEntrypoint" .) }} reports
ports:
- containerPort: {{ .Values.reports.service.port }}
name: {{ $component | lower }}
Expand Down Expand Up @@ -81,7 +81,7 @@ spec:
port: {{ .Values.reports.service.port }}
targetPort: {{ .Values.reports.service.port }}
protocol: TCP
{{ include "service.nodePort" (merge (dict "component" $component) .) }}
{{ include "enterprise.service.nodePort" (merge (dict "component" $component) .) }}
selector:
app.kubernetes.io/name: {{ template "enterprise.fullname" . }}
app.kubernetes.io/component: {{ $component | lower }}
71 changes: 71 additions & 0 deletions stable/enterprise/templates/reportsworker_deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
{{- $component := "reportsWorker" -}}

apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ template "enterprise.reportsWorker.fullname" . }}
namespace: {{ .Release.Namespace }}
labels: {{- include "enterprise.common.labels" (merge (dict "component" $component) .) | nindent 4 }}
annotations: {{- include "enterprise.common.annotations" (merge (dict "component" $component) .) | nindent 4 }}
spec:
selector:
matchLabels: {{- include "enterprise.common.matchLabels" (merge (dict "component" $component) .) | nindent 6 }}
replicas: {{ .Values.reportsWorker.replicaCount }}
strategy:
type: Recreate
template:
metadata:
labels: {{- include "enterprise.common.labels" (merge (dict "component" $component) .) | nindent 8 }}
annotations: {{- include "enterprise.common.annotations" (merge (dict "component" $component "nil" true) .) | nindent 8 }}
{{- if and (not .Values.injectSecretsViaEnv) (not .Values.useExistingSecrets) }}
checksum/secrets: {{ include (print $.Template.BasePath "/anchore_secret.yaml") . | sha256sum }}
{{- end }}
checksum/enterprise-config: {{ tpl (print $.Files.BasePath "/default_config.yaml") . | sha256sum }}
spec:
{{- include "enterprise.common.podSpec" (merge (dict "component" $component) .) | indent 6 }}
volumes: {{- include "enterprise.common.volumes" . | nindent 8 }}
containers:
{{- if .Values.cloudsql.enabled }}
{{- include "enterprise.common.cloudsqlContainer" . | nindent 8 }}
{{- end }}
- name: "{{ .Chart.Name }}-{{ $component | lower }}"
image: {{ .Values.image }}
imagePullPolicy: {{ .Values.imagePullPolicy }}
{{- with .Values.containerSecurityContext }}
securityContext:
{{ toYaml . | nindent 12 }}
{{- end }}
command: ["/bin/sh", "-c"]
args:
- {{ print (include "enterprise.common.dockerEntrypoint" .) }} reports_worker
ports:
- containerPort: {{ .Values.reportsWorker.service.port }}
name: {{ $component | lower }}
envFrom: {{- include "enterprise.common.envFrom" . | nindent 12 }}
env: {{- include "enterprise.common.environment" (merge (dict "component" $component) .) | nindent 12 }}
volumeMounts: {{- include "enterprise.common.volumeMounts" . | nindent 12 }}
livenessProbe: {{- include "enterprise.common.livenessProbe" (merge (dict "component" $component) .) | nindent 12 }}
readinessProbe: {{- include "enterprise.common.readinessProbe" (merge (dict "component" $component) .) | nindent 12 }}
{{- with .Values.reportsWorker.resources }}
resources: {{- toYaml . | nindent 12 }}
{{- end }}

---
apiVersion: v1
kind: Service
metadata:
name: {{ template "enterprise.reportsWorker.fullname" . }}
namespace: {{ .Release.Namespace }}
labels: {{- include "enterprise.common.labels" (merge (dict "component" $component) .) | nindent 4 }}
annotations: {{- include "enterprise.common.annotations" (merge (dict "component" $component) .) | nindent 4 }}
spec:
type: {{ .Values.reportsWorker.service.type }}
ports:
- name: {{ $component | lower }}
port: {{ .Values.reportsWorker.service.port }}
targetPort: {{ .Values.reportsWorker.service.port }}
protocol: TCP
{{ include "enterprise.service.nodePort" (merge (dict "component" $component) .) }}
selector:
app.kubernetes.io/name: {{ template "enterprise.fullname" . }}
app.kubernetes.io/component: {{ $component | lower }}
2 changes: 1 addition & 1 deletion stable/enterprise/templates/simplequeue_deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ spec:
port: {{ .Values.simpleQueue.service.port }}
targetPort: {{ .Values.simpleQueue.service.port }}
protocol: TCP
{{ include "service.nodePort" (merge (dict "component" $component) .) }}
{{ include "enterprise.service.nodePort" (merge (dict "component" $component) .) }}
selector:
app.kubernetes.io/name: {{ template "enterprise.fullname" . }}
app.kubernetes.io/component: {{ $component | lower }}
2 changes: 1 addition & 1 deletion stable/enterprise/templates/ui_deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ spec:
port: {{ .Values.ui.service.port }}
protocol: TCP
targetPort: 3000
{{ include "service.nodePort" (merge (dict "component" $component) .) }}
{{ include "enterprise.service.nodePort" (merge (dict "component" $component) .) }}
selector:
app.kubernetes.io/name: {{ template "enterprise.fullname" . }}
app.kubernetes.io/component: {{ $component | lower }}
Loading

0 comments on commit a388676

Please sign in to comment.