From b1d787d8be9fbac5d7c61ba254217e7b5300f228 Mon Sep 17 00:00:00 2001 From: Micah Nagel Date: Mon, 19 Apr 2021 16:05:31 +0000 Subject: [PATCH] Point to Minio BB Upstream --- CHANGELOG.md | 5 ++ chart/Chart.lock | 6 +- chart/Chart.yaml | 4 +- chart/charts/minio-instance-2.0.9-bb.5.tgz | Bin 4538 -> 0 bytes chart/charts/minio-instance-2.0.9-bb.9.tgz | Bin 0 -> 6058 bytes chart/charts/postgresql-10.3.5.tgz | Bin 40041 -> 40043 bytes chart/deps/minio/Chart.yaml | 2 +- chart/deps/minio/Kptfile | 4 +- chart/deps/minio/cypress/cypress.json | 5 ++ chart/deps/minio/cypress/minio-health.spec.js | 5 ++ chart/deps/minio/cypress/minio-login.js | 24 ++++++ .../deps/minio/templates/default-secret.yaml | 10 +++ chart/deps/minio/templates/minio-vs.yaml | 19 ++++- chart/deps/minio/templates/minioinstance.yaml | 8 ++ chart/deps/minio/templates/secret.yaml | 9 --- .../templates/tests/test-ui-configmap.yaml | 15 ++++ chart/deps/minio/templates/tests/test-ui.yaml | 69 ++++++++++++++++++ .../minio/templates/tests/test-write.yaml | 54 ++++++++++++++ chart/deps/minio/values.yaml | 18 +++-- chart/templates/mattermost.yaml | 2 +- .../templates/objectstorage-credentials.yaml | 2 +- chart/values.yaml | 4 + 22 files changed, 238 insertions(+), 27 deletions(-) delete mode 100644 chart/charts/minio-instance-2.0.9-bb.5.tgz create mode 100644 chart/charts/minio-instance-2.0.9-bb.9.tgz create mode 100644 chart/deps/minio/cypress/cypress.json create mode 100644 chart/deps/minio/cypress/minio-health.spec.js create mode 100644 chart/deps/minio/cypress/minio-login.js create mode 100644 chart/deps/minio/templates/default-secret.yaml delete mode 100644 chart/deps/minio/templates/secret.yaml create mode 100644 chart/deps/minio/templates/tests/test-ui-configmap.yaml create mode 100644 chart/deps/minio/templates/tests/test-ui.yaml create mode 100644 chart/deps/minio/templates/tests/test-write.yaml diff --git a/CHANGELOG.md b/CHANGELOG.md index 09cb72a..819ad4b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,11 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), --- +## [0.1.3-bb.2] - 2021-04-19 +### Changed +- Pulled in official BB Minio via kpt +- Refactored the Minio connection secret + ## [0.1.3-bb.1] - 2021-04-15 ### Added - Added Minio security context diff --git a/chart/Chart.lock b/chart/Chart.lock index 3b5e6f3..9c02284 100644 --- a/chart/Chart.lock +++ b/chart/Chart.lock @@ -4,6 +4,6 @@ dependencies: version: 10.3.5 - name: minio-instance repository: file://./deps/minio - version: 2.0.9-bb.5 -digest: sha256:e14a571d09ffdc66826b46a727ead36511ea5a6b0e349cda36d217bafcd26210 -generated: "2021-03-22T15:12:25.740669-06:00" + version: 2.0.9-bb.9 +digest: sha256:655a9483cf53a24afb867a32f3bcdaedced200bb5cdefb93b5889f79486e8b55 +generated: "2021-04-19T09:54:43.894362-06:00" diff --git a/chart/Chart.yaml b/chart/Chart.yaml index 58137f0..4c7ffe9 100644 --- a/chart/Chart.yaml +++ b/chart/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: mattermost type: application -version: "0.1.3-bb.1" +version: "0.1.3-bb.2" appVersion: "5.32.1" description: "Deployment of mattermost" keywords: @@ -17,7 +17,7 @@ dependencies: condition: postgresql.install repository: file://./deps/postgresql - name: minio-instance - version: 2.0.9-bb.5 + version: 2.0.9-bb.9 alias: minio condition: minio.install repository: file://./deps/minio diff --git a/chart/charts/minio-instance-2.0.9-bb.5.tgz b/chart/charts/minio-instance-2.0.9-bb.5.tgz deleted file mode 100644 index 126ad8893e08192f7565eb8e5b42cf41d1def3f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4538 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 literal 0 HcmV?d00001 diff --git a/chart/charts/postgresql-10.3.5.tgz b/chart/charts/postgresql-10.3.5.tgz index 9be125567d07edd81328f5a69e790deb89ce8836..e5e8457b930a4ca53624745d752d18708bc059b6 100644 GIT binary patch delta 38417 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 B*G2#U diff --git a/chart/deps/minio/Chart.yaml b/chart/deps/minio/Chart.yaml index 7f1461c..42df286 100644 --- a/chart/deps/minio/Chart.yaml +++ b/chart/deps/minio/Chart.yaml @@ -9,7 +9,7 @@ description: |- type: application -version: 2.0.9-bb.5 +version: 2.0.9-bb.9 appVersion: RELEASE.2020-11-19T23-48-16Z diff --git a/chart/deps/minio/Kptfile b/chart/deps/minio/Kptfile index ce3391e..521d916 100644 --- a/chart/deps/minio/Kptfile +++ b/chart/deps/minio/Kptfile @@ -5,7 +5,7 @@ metadata: upstream: type: git git: - commit: 99d751b096154d9c5820af4a84ff4a0f99f4f7b7 + commit: a8ef3702468317396a58ed94bb1823f9d4ae59cf repo: https://repo1.dso.mil/platform-one/big-bang/apps/application-utilities/minio directory: /chart - ref: 2.0.9-bb.5 + ref: 2.0.9-bb.9 diff --git a/chart/deps/minio/cypress/cypress.json b/chart/deps/minio/cypress/cypress.json new file mode 100644 index 0000000..e36f984 --- /dev/null +++ b/chart/deps/minio/cypress/cypress.json @@ -0,0 +1,5 @@ +{ + "pluginsFile": false, + "supportFile": false, + "fixturesFolder": false +} diff --git a/chart/deps/minio/cypress/minio-health.spec.js b/chart/deps/minio/cypress/minio-health.spec.js new file mode 100644 index 0000000..6778cf9 --- /dev/null +++ b/chart/deps/minio/cypress/minio-health.spec.js @@ -0,0 +1,5 @@ +describe('Basic Minio', function() { + it('Check Minio UI is accessible', function() { + cy.visit(Cypress.env('url')) + }) +}) diff --git a/chart/deps/minio/cypress/minio-login.js b/chart/deps/minio/cypress/minio-login.js new file mode 100644 index 0000000..d64096b --- /dev/null +++ b/chart/deps/minio/cypress/minio-login.js @@ -0,0 +1,24 @@ +describe('Minio Login', function() { + it('Check Minio Login', function() { + cy.visit(Cypress.env('url')+"/minio/login") + // Fill the username + cy.get('[name="username"]') + .type(Cypress.env('accesskey')) + .should('have.value', Cypress.env('accesskey')); + + // Fill the password + cy.get('[name="password"]') + .type(Cypress.env('secretkey')) + .should('have.value', Cypress.env('secretkey')); + + // Locate and submit the form + cy.get('form').submit(); + + // Verify the app redirected you to the homepage + cy.location('pathname', { timeout: 10000 }).should('eq', '/minio/'); + + // Verify the page title is "Home" + cy.title().should('eq', 'MinIO Browser'); + + }) +}) diff --git a/chart/deps/minio/templates/default-secret.yaml b/chart/deps/minio/templates/default-secret.yaml new file mode 100644 index 0000000..c79e87d --- /dev/null +++ b/chart/deps/minio/templates/default-secret.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: Secret +metadata: + name: default-minio-creds-secret + namespace: {{ .Release.Namespace }} +type: Opaque +data: + accesskey: bWluaW8= # base 64 encoded "minio" (echo -n 'minio' | base64) + secretkey: bWluaW8xMjM= # based 64 encoded "minio123" (echo -n 'minio123' | base64) +--- diff --git a/chart/deps/minio/templates/minio-vs.yaml b/chart/deps/minio/templates/minio-vs.yaml index 29e214f..0fbee17 100644 --- a/chart/deps/minio/templates/minio-vs.yaml +++ b/chart/deps/minio/templates/minio-vs.yaml @@ -4,11 +4,25 @@ kind: VirtualService metadata: name: {{ template "minio.fullname" . }} namespace: {{ .Release.Namespace }} + labels: + app: {{ template "minio.fullname" . }} + {{- include "minio.labels" . | nindent 4 }} + {{- if .Values.istio.virtualService.labels }} + {{ toYaml .Values.istio.virtualservice.labels | indent 4 }} + {{- end }} + {{- if .Values.istio.virtualService.annotations }} + annotations: + {{ toYaml .Values.istio.virtualService.annotations | indent 2 }} + {{- end }} spec: gateways: - - istio-system/main + {{- range .Values.istio.virtualService.gateways }} + - {{ . }} + {{- end }} hosts: - - {{ .Values.istio.virtualService.name }}.{{ .Values.hostname }} + {{- range .Values.istio.virtualService.hosts }} + - {{ tpl . $}} + {{- end }} http: - match: - uri: @@ -32,4 +46,3 @@ spec: port: number: {{ .Values.service.port }} {{- end }} - diff --git a/chart/deps/minio/templates/minioinstance.yaml b/chart/deps/minio/templates/minioinstance.yaml index 93131e2..b79519a 100644 --- a/chart/deps/minio/templates/minioinstance.yaml +++ b/chart/deps/minio/templates/minioinstance.yaml @@ -19,6 +19,14 @@ spec: prometheus.io/scrape: "true" {{- toYaml . | nindent 6 }} {{- end }} + {{- if .Values.affinity }} + affinity: +{{ toYaml .Values.affinity | indent 8 }} +{{- end }} + {{- if .Values.nodeSelector }} + nodeSelector: +{{ toYaml .Values.nodeSelector | indent 8 }} + {{- end }} ## Registry location and Tag to download MinIO Server image image: {{ .Values.image.name }}:{{ .Values.image.tag }} diff --git a/chart/deps/minio/templates/secret.yaml b/chart/deps/minio/templates/secret.yaml deleted file mode 100644 index 76b3a53..0000000 --- a/chart/deps/minio/templates/secret.yaml +++ /dev/null @@ -1,9 +0,0 @@ -apiVersion: v1 -kind: Secret -metadata: - name: minio-creds-secret - namespace: {{ .Release.Namespace }} -type: Opaque -data: - accesskey: {{ .Values.accessKey | b64enc }} - secretkey: {{ .Values.secretKey | b64enc }} diff --git a/chart/deps/minio/templates/tests/test-ui-configmap.yaml b/chart/deps/minio/templates/tests/test-ui-configmap.yaml new file mode 100644 index 0000000..d3b0c95 --- /dev/null +++ b/chart/deps/minio/templates/tests/test-ui-configmap.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: "{{ .Release.Name }}-cypress-test-configmap" + annotations: + "helm.sh/hook": test-success + "helm.sh/hook-weight": "5" + sidecar.istio.io/inject: "false" + labels: + helm-test: enabled + {{- include "minio.labels" . | nindent 4 }} + namespace: {{ .Release.Namespace }} +data: +{{ (.Files.Glob "cypress/*").AsConfig | indent 2 }} + diff --git a/chart/deps/minio/templates/tests/test-ui.yaml b/chart/deps/minio/templates/tests/test-ui.yaml new file mode 100644 index 0000000..86dc8e6 --- /dev/null +++ b/chart/deps/minio/templates/tests/test-ui.yaml @@ -0,0 +1,69 @@ +kind: Pod +apiVersion: v1 +metadata: + name: "{{ .Release.Name }}-ui-test" + namespace: {{ .Release.Namespace }} + annotations: + "helm.sh/hook": test-success + "helm.sh/hook-weight": "20" + sidecar.istio.io/inject: "false" + labels: + helm-test: enabled + {{- include "minio.labels" . | nindent 4 }} +spec: + initContainers: + - name: copier + image: registry.dso.mil/platform-one/big-bang/pipeline-templates/pipeline-templates/cypress/included:5.0.0 + command: + - "/bin/bash" + - "-c" + - | + + ls -la /src/ + cp /src/cypress.json /dest/ + mkdir -p /dest/cypress/integration/ + cp /src/*.js /dest/cypress/integration/ + ls -la /dest/ + ls -la /dest/cypress/integration/ + volumeMounts: + - name: cypress-tests + mountPath: /src + - name: workdir + mountPath: /dest + containers: + - name: {{ .Release.Name }}-ui-test + image: registry.dso.mil/platform-one/big-bang/pipeline-templates/pipeline-templates/cypress/included:5.0.0 + imagePullPolicy: {{ .Values.image.imagePullPolicy | quote }} + workingDir: /e2e + env: + - name: HOST + value: {{ .Values.service.port | quote }} + - name: MINIO_HOST + value: {{ include "minio.serviceName" . }} + - name: cypress_secretkey + valueFrom: + secretKeyRef: + name: {{ .Values.minioRootCreds }} + key: secretkey + - name: cypress_accesskey + valueFrom: + secretKeyRef: + name: {{ .Values.minioRootCreds }} + key: accesskey + - name: cypress_url + value: "http://{{ include "minio.serviceName" . }}:{{ .Values.service.port }}" + args: + - "--" + - "--reporter-options=list" + - "--reporter=spec" + volumeMounts: + - name: workdir + mountPath: /e2e/ + restartPolicy: Never + volumes: + - name: cypress-tests + configMap: + name: "{{ .Release.Name }}-cypress-test-configmap" + - name: workdir + emptyDir: {} + diff --git a/chart/deps/minio/templates/tests/test-write.yaml b/chart/deps/minio/templates/tests/test-write.yaml new file mode 100644 index 0000000..e352bc6 --- /dev/null +++ b/chart/deps/minio/templates/tests/test-write.yaml @@ -0,0 +1,54 @@ +kind: Pod +apiVersion: v1 +metadata: + name: "{{ .Release.Name }}-access-test" + namespace: {{ .Release.Namespace }} + annotations: + "helm.sh/hook": test-success + "helm.sh/hook-weight": "10" + sidecar.istio.io/inject: "false" + labels: + helm-test: enabled + {{- include "minio.labels" . | nindent 4 }} +spec: + containers: + - name: {{ .Release.Name }}-credentials-test + image: {{.Values.mcImage }} + imagePullPolicy: {{ .Values.image.imagePullPolicy | quote }} + env: + - name: MINIO_PORT + value: {{ .Values.service.port | quote }} + - name: MINIO_HOST + value: {{ include "minio.serviceName" . }} + - name: SECRET_KEY + valueFrom: + secretKeyRef: + name: {{ .Values.minioRootCreds }} + key: secretkey + - name: ACCESS_KEY + valueFrom: + secretKeyRef: + name: {{ .Values.minioRootCreds }} + key: accesskey + command: + - /bin/bash + - -ec + - |- + set -x + mc config host add bigbang http://${MINIO_HOST}:${MINIO_PORT} ${ACCESS_KEY} ${SECRET_KEY} + # cleanup from pervious runs + mc rb bigbang/foobar --force || true + mc mb bigbang/foobar + mc ls bigbang/foobar + base64 /dev/urandom | head -c 10000000 > /tmp/file.txt + md5sum /tmp/file.txt > /tmp/filesig + mc cp /tmp/file.txt bigbang/foobar/file.txt + mc ls bigbang/foobar/file.txt + mc cp bigbang/foobar/file.txt /tmp/file.txt + mc rb bigbang/foobar --force + md5sum -c /tmp/filesig + {{- with .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 4}} + {{- end }} + restartPolicy: Never \ No newline at end of file diff --git a/chart/deps/minio/values.yaml b/chart/deps/minio/values.yaml index afb3156..e51cc84 100644 --- a/chart/deps/minio/values.yaml +++ b/chart/deps/minio/values.yaml @@ -6,9 +6,7 @@ replicas: count: 1 -accessKey: minio -secretKey: minio#123 # default key, change this! - +hostname: bigbang.dev nameOverride: "" fullnameOverride: "" @@ -29,7 +27,7 @@ volumeClaimTemplate: accessModes: ReadWriteOnce storage: 1Gi # scale down for dev -minioRootCreds: minio-creds-secret +minioRootCreds: default-minio-creds-secret imagePullSecrets: [ ] @@ -55,8 +53,18 @@ istio: enabled: false virtualService: enabled: true - name: minio + annotations: {} + labels: {} + gateways: + - istio-system/main + hosts: + - minio.{{ .Values.hostname }} + service: "" + port: "" + monitoring: enabled: false namespace: monitoring + +mcImage: registry1.dso.mil/ironbank/opensource/minio/mc:RELEASE.2021-03-23T05-46-11Z \ No newline at end of file diff --git a/chart/templates/mattermost.yaml b/chart/templates/mattermost.yaml index d625eb4..353c9bb 100644 --- a/chart/templates/mattermost.yaml +++ b/chart/templates/mattermost.yaml @@ -105,4 +105,4 @@ spec: external: url: {{ .Values.fileStore.url | default (printf "%s:9000" .Values.minio.service.nameOverride) }} bucket: {{ .Values.fileStore.bucket | default "mattermost" }} - secret: {{ .Values.fileStore.secret | default "minio-creds-secret" }} + secret: {{ .Values.fileStore.secret | default "mattermost-objstore-creds" }} diff --git a/chart/templates/objectstorage-credentials.yaml b/chart/templates/objectstorage-credentials.yaml index fc2ca13..00acf7e 100644 --- a/chart/templates/objectstorage-credentials.yaml +++ b/chart/templates/objectstorage-credentials.yaml @@ -3,7 +3,7 @@ apiVersion: v1 kind: Secret type: Opaque metadata: - name: {{ include "mattermost.fullname" . }}-objstore-creds + name: mattermost-objstore-creds namespace: {{ .Release.Namespace }} labels: {{ include "mattermost.labels" . | nindent 4 }} diff --git a/chart/values.yaml b/chart/values.yaml index 10f87f4..293e314 100644 --- a/chart/values.yaml +++ b/chart/values.yaml @@ -102,6 +102,10 @@ minio: service: nameOverride: "minio-mattermost-service" + # Specify the secret to the Mattermost created secret + minioRootCreds: mattermost-objstore-creds + + # Credentials to populate the secret with accessKey: minio secretKey: minio#123 # default key, change this! -- GitLab