From 5126d320104356dbbbcf35bd81c2c346eef60b79 Mon Sep 17 00:00:00 2001 From: Micah Nagel Date: Tue, 1 Jun 2021 21:01:03 +0000 Subject: [PATCH 01/13] Network Policies --- CHANGELOG.md | 6 ++++ chart/Chart.lock | 10 +++--- chart/Chart.yaml | 12 +++---- chart/charts/bb-test-lib-0.5.2.tgz | Bin 2475 -> 0 bytes chart/charts/gluon-0.1.1.tgz | Bin 0 -> 2691 bytes chart/charts/minio-instance-2.0.9-bb.9.tgz | Bin 4725 -> 4726 bytes chart/charts/postgresql-10.3.5.tgz | Bin 40043 -> 40042 bytes .../networkpolicies/allow-elastic-egress.yaml | 25 +++++++++++++ .../allow-external-filestore.yaml | 20 +++++++++++ .../allow-external-postgres.yaml | 20 +++++++++++ .../bigbang/networkpolicies/allow-in-ns.yaml | 18 ++++++++++ .../bigbang/networkpolicies/allow-istio.yaml | 33 ++++++++++++++++++ .../allow-monitoring-ingress.yaml | 24 +++++++++++++ .../networkpolicies/allow-sso-egress.yaml | 20 +++++++++++ .../networkpolicies/allow-test-egress.yaml | 26 ++++++++++++++ .../bigbang/networkpolicies/deny-default.yaml | 22 ++++++++++++ chart/templates/tests/test-ui.yaml | 4 +-- chart/values.yaml | 6 ++++ tests/test-values.yml | 4 +++ 19 files changed, 236 insertions(+), 14 deletions(-) delete mode 100644 chart/charts/bb-test-lib-0.5.2.tgz create mode 100644 chart/charts/gluon-0.1.1.tgz create mode 100644 chart/templates/bigbang/networkpolicies/allow-elastic-egress.yaml create mode 100644 chart/templates/bigbang/networkpolicies/allow-external-filestore.yaml create mode 100644 chart/templates/bigbang/networkpolicies/allow-external-postgres.yaml create mode 100644 chart/templates/bigbang/networkpolicies/allow-in-ns.yaml create mode 100644 chart/templates/bigbang/networkpolicies/allow-istio.yaml create mode 100644 chart/templates/bigbang/networkpolicies/allow-monitoring-ingress.yaml create mode 100644 chart/templates/bigbang/networkpolicies/allow-sso-egress.yaml create mode 100644 chart/templates/bigbang/networkpolicies/allow-test-egress.yaml create mode 100644 chart/templates/bigbang/networkpolicies/deny-default.yaml diff --git a/CHANGELOG.md b/CHANGELOG.md index 805368e..85a4ad3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), --- +## [0.1.6-bb.1] - 2021-06-01 +### Changed +- Moved tests to gluon library +### Added +- Default NetworkPolicies added + ## [0.1.6-bb.0] - 2021-05-11 ### Changed - Migrated Cypress tests to Helm tests diff --git a/chart/Chart.lock b/chart/Chart.lock index 042b232..98d66a8 100644 --- a/chart/Chart.lock +++ b/chart/Chart.lock @@ -5,8 +5,8 @@ dependencies: - name: minio-instance repository: file://./deps/minio version: 2.0.9-bb.9 -- name: bb-test-lib - repository: oci://registry.dso.mil/platform-one/big-bang/pipeline-templates/pipeline-templates - version: 0.5.2 -digest: sha256:0a15fa5bcd2dafdc621740c7cd177210b2c875337f32fe78755af8806bba735a -generated: "2021-05-13T10:38:37.154607-06:00" +- name: gluon + repository: oci://registry.dso.mil/platform-one/big-bang/apps/library-charts/gluon + version: 0.1.1 +digest: sha256:d5a1399418dd0d20db43fc884acd0ac51b1f8a3272d81d1e2e4650092ec25d87 +generated: "2021-05-28T11:12:03.789056-06:00" diff --git a/chart/Chart.yaml b/chart/Chart.yaml index 54b8cbe..85984aa 100644 --- a/chart/Chart.yaml +++ b/chart/Chart.yaml @@ -1,15 +1,13 @@ ---- apiVersion: v2 name: mattermost type: application -version: "0.1.6-bb.0" +version: "0.1.6-bb.1" appVersion: "5.34.2" description: "Deployment of mattermost" -keywords: +keywords: - Mattermost - Instance kubeVersion: ">=1.12.0-0" - dependencies: - name: postgresql version: 10.3.5 @@ -21,6 +19,6 @@ dependencies: alias: minio condition: minio.install repository: file://./deps/minio - - name: bb-test-lib - version: 0.5.2 - repository: "oci://registry.dso.mil/platform-one/big-bang/pipeline-templates/pipeline-templates" + - name: gluon + version: 0.1.1 + repository: oci://registry.dso.mil/platform-one/big-bang/apps/library-charts/gluon diff --git a/chart/charts/bb-test-lib-0.5.2.tgz b/chart/charts/bb-test-lib-0.5.2.tgz deleted file mode 100644 index 0df8143dd476200a3e95ccc1ddc9b52dac0bfae4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2475 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 diff --git a/chart/charts/gluon-0.1.1.tgz b/chart/charts/gluon-0.1.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b4a4878dae126348cdee9d80977a15121ba59f9f GIT binary patch literal 2691 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 literal 0 HcmV?d00001 diff --git a/chart/charts/minio-instance-2.0.9-bb.9.tgz b/chart/charts/minio-instance-2.0.9-bb.9.tgz index bbfa7b0d3abe6d2381694e9538bf214d1dbb934b..0e2c10f85f103dd00b79ab689d98e96302b9f1c2 100644 GIT binary patch delta 4395 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 delta 4394 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

DZn>Qi6kXI$!1@vyEVY>?@6UsWXNiZkk^ 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 Q6954J|1O^?9st4w03D4K%m4rY literal 40043 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 Date: Wed, 2 Jun 2021 08:05:34 -0600 Subject: [PATCH 02/13] changes for test policy --- CHANGELOG.md | 4 ++++ chart/Chart.yaml | 2 +- .../bigbang/networkpolicies/allow-test-egress.yaml | 13 +++---------- 3 files changed, 8 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 85a4ad3..c2d4c16 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), --- +## [0.1.6-bb.2] - 2021-06-02 +### Changed +- Restricted test policy to just cluster + ## [0.1.6-bb.1] - 2021-06-01 ### Changed - Moved tests to gluon library diff --git a/chart/Chart.yaml b/chart/Chart.yaml index 85984aa..325f389 100644 --- a/chart/Chart.yaml +++ b/chart/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v2 name: mattermost type: application -version: "0.1.6-bb.1" +version: "0.1.6-bb.2" appVersion: "5.34.2" description: "Deployment of mattermost" keywords: diff --git a/chart/templates/bigbang/networkpolicies/allow-test-egress.yaml b/chart/templates/bigbang/networkpolicies/allow-test-egress.yaml index 1a9b59b..853d928 100644 --- a/chart/templates/bigbang/networkpolicies/allow-test-egress.yaml +++ b/chart/templates/bigbang/networkpolicies/allow-test-egress.yaml @@ -1,9 +1,7 @@ {{- $bbtests := .Values.bbtests | default dict -}} -{{- $cypress := $bbtests.cypress | default dict -}} {{- $enabled := (hasKey $bbtests "enabled") -}} -{{- $artifacts := (hasKey $cypress "artifacts") -}} -{{- if and $enabled $artifacts }} -{{- if and .Values.networkPolicies.enabled .Values.bbtests.enabled .Values.bbtests.cypress.artifacts }} +{{- if $enabled }} +{{- if and .Values.networkPolicies.enabled .Values.bbtests.enabled }} apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: @@ -16,11 +14,6 @@ spec: policyTypes: - Egress egress: - - to: - - ipBlock: - cidr: 0.0.0.0/0 - # ONLY Block requests to AWS metadata IP - except: - - 169.254.169.254/32 + - {} {{- end }} {{- end }} -- GitLab From f85dd121a1566ad509cafa941aaa76bc615f09fb Mon Sep 17 00:00:00 2001 From: Branden Cobb Date: Wed, 2 Jun 2021 21:36:43 +0000 Subject: [PATCH 03/13] Update keycloak.md --- docs/keycloak.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/docs/keycloak.md b/docs/keycloak.md index a2423ae..d6a5e1d 100644 --- a/docs/keycloak.md +++ b/docs/keycloak.md @@ -20,7 +20,7 @@ Under the mappers tab, create a new mapper: - claim JSON type - long - add to userinfo - on -Create another mapper: +Create username mapper: - name - username - mapper type - user property - property - username @@ -29,6 +29,15 @@ Create another mapper: - add to userinfo - on - all other sliders off +Create email mapper: +- name - email +- mapper type - user property +- property - email +- token claim name - email +- claim JSON type - string +- add to userinfo - on +- all other sliders off + Add mattermostid to existing user: - Login to keycloak Admin Console with the master realm user - Go to your realm -- GitLab From e3912ce3fc7d5137b9245e6d0b5a1d73630b954e Mon Sep 17 00:00:00 2001 From: Micah Nagel Date: Fri, 4 Jun 2021 08:23:29 -0600 Subject: [PATCH 04/13] add IB image --- CHANGELOG.md | 5 +++++ chart/Chart.yaml | 2 +- chart/templates/mattermost.yaml | 4 ++++ chart/values.yaml | 2 +- tests/dependencies.yaml | 2 +- 5 files changed, 12 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c2d4c16..1a6f621 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.6-bb.3] - 2021-06-04 +### Added +- Add IPS with new operator +- Switch to the IB image being used directly + ## [0.1.6-bb.2] - 2021-06-02 ### Changed - Restricted test policy to just cluster diff --git a/chart/Chart.yaml b/chart/Chart.yaml index 325f389..29f2702 100644 --- a/chart/Chart.yaml +++ b/chart/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v2 name: mattermost type: application -version: "0.1.6-bb.2" +version: "0.1.6-bb.3" appVersion: "5.34.2" description: "Deployment of mattermost" keywords: diff --git a/chart/templates/mattermost.yaml b/chart/templates/mattermost.yaml index 190ebeb..ee5f8d8 100644 --- a/chart/templates/mattermost.yaml +++ b/chart/templates/mattermost.yaml @@ -9,6 +9,10 @@ metadata: spec: image: {{ .Values.image.name }} imagePullPolicy: {{ .Values.image.imagePullPolicy }} + {{- with .Values.global.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 4 }} + {{- end }} size: {{ .Values.users }}users version: {{ .Values.image.tag }} diff --git a/chart/values.yaml b/chart/values.yaml index 6d7ad14..50e56c7 100644 --- a/chart/values.yaml +++ b/chart/values.yaml @@ -34,7 +34,7 @@ sso: # Repo and image tag image: - name: registry.dso.mil/platform-one/big-bang/apps/collaboration-tools/mattermost/mattermost + name: registry1.dso.mil/ironbank/opensource/mattermost/mattermost tag: 5.34.2 imagePullPolicy: IfNotPresent diff --git a/tests/dependencies.yaml b/tests/dependencies.yaml index 3b18fbc..c4fe0c0 100644 --- a/tests/dependencies.yaml +++ b/tests/dependencies.yaml @@ -1,7 +1,7 @@ mattermostoperator: git: "https://repo1.dso.mil/platform-one/big-bang/apps/collaboration-tools/mattermost-operator.git" namespace: "mattermost-operator" - branch: "1.12.0-bb.0" + branch: "1.14.0-bb.1" miniooperator: git: "https://repo1.dso.mil/platform-one/big-bang/apps/application-utilities/minio-operator.git" -- GitLab From be199fb1d433f2c60a221a297b01067c1799ef63 Mon Sep 17 00:00:00 2001 From: Jason Krause Date: Fri, 4 Jun 2021 20:13:22 +0000 Subject: [PATCH 05/13] Update CODEOWNERS --- CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CODEOWNERS b/CODEOWNERS index 9c87a4c..f22535a 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -1 +1 @@ -* @micah.nagel @branden.cobb +* @branden.cobb @jasonkrause @micah.nagel -- GitLab From 323890540ccd498a6c58fbd50db99ab884601aec Mon Sep 17 00:00:00 2001 From: Micah Nagel Date: Tue, 8 Jun 2021 20:12:12 +0000 Subject: [PATCH 06/13] Update CODEOWNERS --- CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CODEOWNERS b/CODEOWNERS index f22535a..354c8d0 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -1 +1 @@ -* @branden.cobb @jasonkrause @micah.nagel +* @brandencobb @jasonkrause @micah.nagel -- GitLab From 60111a52191d576a012c62131dd9d0315bd47f8e Mon Sep 17 00:00:00 2001 From: Micah Nagel Date: Tue, 8 Jun 2021 20:25:37 +0000 Subject: [PATCH 07/13] Add Volumes/Mounts to MM Values & Custom CA docs --- CHANGELOG.md | 4 ++++ chart/Chart.yaml | 2 +- chart/templates/mattermost.yaml | 10 ++++++++++ chart/values.yaml | 11 +++++++++++ docs/keycloak.md | 24 ++++++++++++++++++++++++ 5 files changed, 50 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1a6f621..d32c328 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), --- +## [0.1.6-bb.4] - 2021-06-07 +### Added +- Ability to pass volumes / volumeMounts to MM pods + ## [0.1.6-bb.3] - 2021-06-04 ### Added - Add IPS with new operator diff --git a/chart/Chart.yaml b/chart/Chart.yaml index 29f2702..0a2698c 100644 --- a/chart/Chart.yaml +++ b/chart/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v2 name: mattermost type: application -version: "0.1.6-bb.3" +version: "0.1.6-bb.4" appVersion: "5.34.2" description: "Deployment of mattermost" keywords: diff --git a/chart/templates/mattermost.yaml b/chart/templates/mattermost.yaml index ee5f8d8..f7d6e68 100644 --- a/chart/templates/mattermost.yaml +++ b/chart/templates/mattermost.yaml @@ -153,6 +153,16 @@ spec: {{ toYaml .Values.nodeSelector | nindent 6 }} {{- end }} + {{- with .Values.volumes }} + volumes: + {{- toYaml . | nindent 4}} + {{- end }} + + {{- with .Values.volumeMounts }} + volumeMounts: + {{- toYaml . | nindent 4}} + {{- end }} + database: external: secret: {{ .Values.database.secret | default (printf "%s-dbcreds" (include "mattermost.fullname" .)) }} diff --git a/chart/values.yaml b/chart/values.yaml index 50e56c7..3c5b37c 100644 --- a/chart/values.yaml +++ b/chart/values.yaml @@ -101,6 +101,17 @@ existingSecretEnvs: {} # key: DB_CONNECTION_CHECK_URL # name: "mysecretname" +volumes: {} + # - name: ca-cert + # secret: + # secretName: ca-secret + # defaultMode: 0644 + +volumeMounts: {} + # - name: ca-cert + # mountPath: /etc/ssl/certs + # readOnly: true + minio: install: false diff --git a/docs/keycloak.md b/docs/keycloak.md index d6a5e1d..36431b3 100644 --- a/docs/keycloak.md +++ b/docs/keycloak.md @@ -77,3 +77,27 @@ helm upgrade -i mattermost chart -n mattermost --create-namespace -f my-values.y Role based authentication can be configured as long as you are on an enterprise version. Follow the steps in [this tutorial](https://docs.mattermost.com/deployment/advanced-permissions.html) to customize the permissions given to users. In general permissions can be edited under the "System Console -> User Management -> Permissions". Users should be created by default under the "Member" group, except for the first user to sign up or login. + +## OIDC Custom CA + +Mattermost can be configured to point to specific files to trust with an OIDC auth connection, here is an example when using Big Bang to deploy mattermost, assuming you are populating a secret named "ca-cert" in the same namespace, with a key of cert.pem and value of a single PEM encoded certificate (an easy way to make this secret is included below as well): + +```yaml +addons: + mattermost: + values: + volumes: + - name: ca-cert + secret: + secretName: ca-secret + defaultMode: 0644 + volumeMounts: + - name: ca-cert + mountPath: /etc/ssl/certs + readOnly: true +``` + +For secret creation with this example and a pem file at `/path/to/cert.pem`: +```bash +kubectl create secret generic ca-secret --from-file=cert.pem=/path/to/cert.pem -n mattermost +``` -- GitLab From a0744fa50c9d986bc5811961c682100c526031d9 Mon Sep 17 00:00:00 2001 From: Micah Nagel Date: Mon, 21 Jun 2021 16:42:06 +0000 Subject: [PATCH 08/13] Fix MM NP Bug --- CHANGELOG.md | 6 ++++++ chart/Chart.yaml | 2 +- .../networkpolicies/allow-dns-egress.yaml | 18 ++++++++++++++++++ .../allow-external-postgres.yaml | 19 +++++++++++++++++++ .../networkpolicies/allow-test-egress.yaml | 11 +++++++++-- .../bigbang/networkpolicies/deny-default.yaml | 10 +--------- chart/values.yaml | 1 + 7 files changed, 55 insertions(+), 12 deletions(-) create mode 100644 chart/templates/bigbang/networkpolicies/allow-dns-egress.yaml diff --git a/CHANGELOG.md b/CHANGELOG.md index d32c328..d1e9a2f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), --- +## [0.1.6-bb.5] - 2021-06-21 +### Fixed +- NetworkPolicy blocking an init container, added policy to allow postgres egress for the init container +- Redo of test egress +- Move around DNS policy + ## [0.1.6-bb.4] - 2021-06-07 ### Added - Ability to pass volumes / volumeMounts to MM pods diff --git a/chart/Chart.yaml b/chart/Chart.yaml index 0a2698c..68c86b6 100644 --- a/chart/Chart.yaml +++ b/chart/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v2 name: mattermost type: application -version: "0.1.6-bb.4" +version: "0.1.6-bb.5" appVersion: "5.34.2" description: "Deployment of mattermost" keywords: diff --git a/chart/templates/bigbang/networkpolicies/allow-dns-egress.yaml b/chart/templates/bigbang/networkpolicies/allow-dns-egress.yaml new file mode 100644 index 0000000..419d446 --- /dev/null +++ b/chart/templates/bigbang/networkpolicies/allow-dns-egress.yaml @@ -0,0 +1,18 @@ +{{- if .Values.networkPolicies.enabled }} +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: allow-dns-egress + namespace: {{ .Release.Namespace }} +spec: + podSelector: {} + policyTypes: + - Egress + # Allow access to DNS + egress: + - to: + - namespaceSelector: {} + ports: + - port: 53 + protocol: UDP +{{- end }} diff --git a/chart/templates/bigbang/networkpolicies/allow-external-postgres.yaml b/chart/templates/bigbang/networkpolicies/allow-external-postgres.yaml index bf11232..1e43c65 100644 --- a/chart/templates/bigbang/networkpolicies/allow-external-postgres.yaml +++ b/chart/templates/bigbang/networkpolicies/allow-external-postgres.yaml @@ -17,4 +17,23 @@ spec: # ONLY Block requests to AWS metadata IP except: - 169.254.169.254/32 +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: allow-external-postgres-egress-upgrade + namespace: {{ .Release.Namespace }} +spec: + podSelector: + matchLabels: + app: mattermost-update-check + policyTypes: + - Egress + egress: + - to: + - ipBlock: + cidr: 0.0.0.0/0 + # ONLY Block requests to AWS metadata IP + except: + - 169.254.169.254/32 {{- end }} diff --git a/chart/templates/bigbang/networkpolicies/allow-test-egress.yaml b/chart/templates/bigbang/networkpolicies/allow-test-egress.yaml index 853d928..974182b 100644 --- a/chart/templates/bigbang/networkpolicies/allow-test-egress.yaml +++ b/chart/templates/bigbang/networkpolicies/allow-test-egress.yaml @@ -11,9 +11,16 @@ spec: podSelector: matchLabels: helm-test: enabled + egress: + - to: + - ipBlock: + cidr: {{ .Values.networkPolicies.controlPlaneCidr }} + {{- if eq .Values.networkPolicies.controlPlaneCidr "0.0.0.0/0" }} + # ONLY Block requests to cloud metadata IP + except: + - 169.254.169.254/32 + {{- end }} policyTypes: - Egress - egress: - - {} {{- end }} {{- end }} diff --git a/chart/templates/bigbang/networkpolicies/deny-default.yaml b/chart/templates/bigbang/networkpolicies/deny-default.yaml index 2ee51fa..df7d38e 100644 --- a/chart/templates/bigbang/networkpolicies/deny-default.yaml +++ b/chart/templates/bigbang/networkpolicies/deny-default.yaml @@ -9,14 +9,6 @@ spec: policyTypes: - Ingress - Egress - # Deny all ingress ingress: [] - # Deny egress by default - # Allow access to DNS and Kube API - egress: - - to: - - namespaceSelector: {} - ports: - - port: 53 - protocol: UDP + egress: [] {{- end }} diff --git a/chart/values.yaml b/chart/values.yaml index 3c5b37c..418fd1e 100644 --- a/chart/values.yaml +++ b/chart/values.yaml @@ -23,6 +23,7 @@ networkPolicies: ingressLabels: app: istio-ingressgateway istio: ingressgateway + controlPlaneCidr: 0.0.0.0/0 sso: enabled: false -- GitLab From 5b094daf61ccb301b4a51fb3abd1c08c24da62f5 Mon Sep 17 00:00:00 2001 From: Charles Culman Date: Tue, 22 Jun 2021 19:59:25 +0000 Subject: [PATCH 09/13] Mm upgrade to v5.36.0 take2 --- CHANGELOG.md | 4 ++++ chart/Chart.yaml | 4 ++-- .../allow-external-filestore.yaml | 20 ------------------- .../allow-external-postgres.yaml | 19 ------------------ ...ress.yaml => allow-mattermost-egress.yaml} | 4 ++-- chart/values.yaml | 2 +- 6 files changed, 9 insertions(+), 44 deletions(-) delete mode 100644 chart/templates/bigbang/networkpolicies/allow-external-filestore.yaml rename chart/templates/bigbang/networkpolicies/{allow-sso-egress.yaml => allow-mattermost-egress.yaml} (79%) diff --git a/CHANGELOG.md b/CHANGELOG.md index d1e9a2f..9041031 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), --- +## [0.1.6-bb.6] - 2021-06-22 +### Changed +- Update Mattermost to version 5.36.0 + ## [0.1.6-bb.5] - 2021-06-21 ### Fixed - NetworkPolicy blocking an init container, added policy to allow postgres egress for the init container diff --git a/chart/Chart.yaml b/chart/Chart.yaml index 68c86b6..f6dd4af 100644 --- a/chart/Chart.yaml +++ b/chart/Chart.yaml @@ -1,8 +1,8 @@ apiVersion: v2 name: mattermost type: application -version: "0.1.6-bb.5" -appVersion: "5.34.2" +version: "0.1.6-bb.6" +appVersion: "5.36.0" description: "Deployment of mattermost" keywords: - Mattermost diff --git a/chart/templates/bigbang/networkpolicies/allow-external-filestore.yaml b/chart/templates/bigbang/networkpolicies/allow-external-filestore.yaml deleted file mode 100644 index 738b7a3..0000000 --- a/chart/templates/bigbang/networkpolicies/allow-external-filestore.yaml +++ /dev/null @@ -1,20 +0,0 @@ -{{- if and .Values.networkPolicies.enabled (not .Values.minio.install) }} -apiVersion: networking.k8s.io/v1 -kind: NetworkPolicy -metadata: - name: allow-external-filestore-egress - namespace: {{ .Release.Namespace }} -spec: - podSelector: - matchLabels: - app: mattermost - policyTypes: - - Egress - egress: - - to: - - ipBlock: - cidr: 0.0.0.0/0 - # ONLY Block requests to AWS metadata IP - except: - - 169.254.169.254/32 -{{- end }} diff --git a/chart/templates/bigbang/networkpolicies/allow-external-postgres.yaml b/chart/templates/bigbang/networkpolicies/allow-external-postgres.yaml index 1e43c65..265a0e5 100644 --- a/chart/templates/bigbang/networkpolicies/allow-external-postgres.yaml +++ b/chart/templates/bigbang/networkpolicies/allow-external-postgres.yaml @@ -1,25 +1,6 @@ {{- if and .Values.networkPolicies.enabled (not .Values.postgresql.install) }} apiVersion: networking.k8s.io/v1 kind: NetworkPolicy -metadata: - name: allow-external-postgres-egress - namespace: {{ .Release.Namespace }} -spec: - podSelector: - matchLabels: - app: mattermost - policyTypes: - - Egress - egress: - - to: - - ipBlock: - cidr: 0.0.0.0/0 - # ONLY Block requests to AWS metadata IP - except: - - 169.254.169.254/32 ---- -apiVersion: networking.k8s.io/v1 -kind: NetworkPolicy metadata: name: allow-external-postgres-egress-upgrade namespace: {{ .Release.Namespace }} diff --git a/chart/templates/bigbang/networkpolicies/allow-sso-egress.yaml b/chart/templates/bigbang/networkpolicies/allow-mattermost-egress.yaml similarity index 79% rename from chart/templates/bigbang/networkpolicies/allow-sso-egress.yaml rename to chart/templates/bigbang/networkpolicies/allow-mattermost-egress.yaml index 217238b..931746c 100644 --- a/chart/templates/bigbang/networkpolicies/allow-sso-egress.yaml +++ b/chart/templates/bigbang/networkpolicies/allow-mattermost-egress.yaml @@ -1,8 +1,8 @@ -{{- if and .Values.networkPolicies.enabled .Values.sso.enabled }} +{{- if .Values.networkPolicies.enabled }} apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: - name: allow-sso-egress + name: allow-mattermost-egress namespace: {{ .Release.Namespace }} spec: podSelector: diff --git a/chart/values.yaml b/chart/values.yaml index 418fd1e..636b50a 100644 --- a/chart/values.yaml +++ b/chart/values.yaml @@ -36,7 +36,7 @@ sso: # Repo and image tag image: name: registry1.dso.mil/ironbank/opensource/mattermost/mattermost - tag: 5.34.2 + tag: 5.36.0 imagePullPolicy: IfNotPresent global: -- GitLab From 69de83090fa54cad76ed34754718ff7ab99f682a Mon Sep 17 00:00:00 2001 From: Branden Cobb Date: Mon, 12 Jul 2021 17:44:29 +0000 Subject: [PATCH 10/13] Upgrade to 5.36.1 --- CHANGELOG.md | 3 +++ chart/Chart.yaml | 4 ++-- chart/values.yaml | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9041031..9c3a1ab 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). --- +## [0.1.6-bb.7] - 2021-07-08 +### Changed +- Update Mattermost to version 5.36.1 ## [0.1.6-bb.6] - 2021-06-22 ### Changed diff --git a/chart/Chart.yaml b/chart/Chart.yaml index f6dd4af..a2aa83f 100644 --- a/chart/Chart.yaml +++ b/chart/Chart.yaml @@ -1,8 +1,8 @@ apiVersion: v2 name: mattermost type: application -version: "0.1.6-bb.6" -appVersion: "5.36.0" +version: "0.1.6-bb.7" +appVersion: "5.36.1" description: "Deployment of mattermost" keywords: - Mattermost diff --git a/chart/values.yaml b/chart/values.yaml index 636b50a..b0f475f 100644 --- a/chart/values.yaml +++ b/chart/values.yaml @@ -36,7 +36,7 @@ sso: # Repo and image tag image: name: registry1.dso.mil/ironbank/opensource/mattermost/mattermost - tag: 5.36.0 + tag: 5.36.1 imagePullPolicy: IfNotPresent global: -- GitLab From ac9c082fc3ae62528b79e5de4f4f4293a1942569 Mon Sep 17 00:00:00 2001 From: Brendon Lloyd Date: Wed, 21 Jul 2021 10:30:19 -1000 Subject: [PATCH 11/13] Add port 5353 for openshift DNS --- CHANGELOG.md | 4 ++++ chart/Chart.yaml | 2 +- chart/templates/bigbang/networkpolicies/allow-dns-egress.yaml | 4 ++++ chart/values.yaml | 2 ++ 4 files changed, 11 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9c3a1ab..94784d7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). --- +## [0.1.6-bb.8] - 2021-07-21 +### Changed +- Add openshift toggle, conditionally add port 5353 egress. Changing "openshift:" to true in values.yaml will enable. + ## [0.1.6-bb.7] - 2021-07-08 ### Changed - Update Mattermost to version 5.36.1 diff --git a/chart/Chart.yaml b/chart/Chart.yaml index a2aa83f..f39880d 100644 --- a/chart/Chart.yaml +++ b/chart/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v2 name: mattermost type: application -version: "0.1.6-bb.7" +version: "0.1.6-bb.8" appVersion: "5.36.1" description: "Deployment of mattermost" keywords: diff --git a/chart/templates/bigbang/networkpolicies/allow-dns-egress.yaml b/chart/templates/bigbang/networkpolicies/allow-dns-egress.yaml index 419d446..fbf5d4a 100644 --- a/chart/templates/bigbang/networkpolicies/allow-dns-egress.yaml +++ b/chart/templates/bigbang/networkpolicies/allow-dns-egress.yaml @@ -15,4 +15,8 @@ spec: ports: - port: 53 protocol: UDP + {{- if .Values.openshift }} + - port: 5353 + protocol: UDP + {{- end }} {{- end }} diff --git a/chart/values.yaml b/chart/values.yaml index b0f475f..c4a8137 100644 --- a/chart/values.yaml +++ b/chart/values.yaml @@ -193,3 +193,5 @@ elasticsearch: enablesearching: true # When true, Elasticsearch will be used for all autocompletion queries on users and channels using the latest index. Autocompletion results may be incomplete until a bulk index of the existing users and channels database is finished. When false, database autocomplete is used. enableautocomplete: true + +openshift: false -- GitLab From 8e21916d490ad30c441e71e0e6bb8f8b864029fe Mon Sep 17 00:00:00 2001 From: Branden Cobb Date: Fri, 23 Jul 2021 09:45:51 -0600 Subject: [PATCH 12/13] minio4 upgrade --- chart/Chart.lock | 6 +- chart/charts/minio-instance-2.0.9-bb.9.tgz | Bin 4726 -> 0 bytes chart/charts/minio-instance-4.1.2-bb.1.tgz | Bin 0 -> 11639 bytes chart/charts/postgresql-10.3.5.tgz | Bin 40042 -> 40046 bytes chart/deps/minio/Chart.lock | 6 + chart/deps/minio/Chart.yaml | 35 +-- chart/deps/minio/Kptfile | 6 +- chart/deps/minio/charts/bb-test-lib-0.5.0.tgz | Bin 0 -> 2464 bytes chart/deps/minio/templates/_helpers.tpl | 29 ++- .../networkpolicies/default-deny-egress.yaml | 18 ++ .../networkpolicies/default-deny-ingress.yaml | 11 + .../helm-test-network-policy.yaml | 19 ++ .../bigbang/networkpolicies/istio-allow.yaml | 46 ++++ .../networkpolicies/monitoring-ingress.yaml | 19 ++ .../networkpolicies/namespace-allow.yaml | 18 ++ .../deps/minio/templates/console-secret.yaml | 16 ++ .../deps/minio/templates/default-secret.yaml | 3 +- chart/deps/minio/templates/minio-vs.yaml | 31 ++- .../{ => release2.0.9}/minioinstance.yaml | 3 + .../templates/{ => release2.0.9}/service.yaml | 3 + .../{ => release2.0.9}/serviceMonitor.yaml | 2 +- chart/deps/minio/templates/role.yaml | 23 -- chart/deps/minio/templates/rolebinding.yaml | 20 -- .../deps/minio/templates/service-account.yaml | 4 +- chart/deps/minio/templates/tenant-secret.yaml | 15 ++ chart/deps/minio/templates/tenant.yaml | 235 ++++++++++++++++++ chart/deps/minio/templates/tests/test-ui.yaml | 13 + .../minio/templates/tests/test-write.yaml | 13 + chart/deps/minio/tests/cypress/cypress.json | 5 + .../minio/tests/cypress/minio-health.spec.js | 5 + chart/deps/minio/tests/cypress/minio-login.js | 24 ++ chart/deps/minio/tests/scripts/test-write.sh | 16 ++ chart/deps/minio/values.yaml | 226 ++++++++++++++--- tests/dependencies.yaml | 2 +- 34 files changed, 741 insertions(+), 131 deletions(-) delete mode 100644 chart/charts/minio-instance-2.0.9-bb.9.tgz create mode 100644 chart/charts/minio-instance-4.1.2-bb.1.tgz create mode 100644 chart/deps/minio/Chart.lock create mode 100644 chart/deps/minio/charts/bb-test-lib-0.5.0.tgz create mode 100644 chart/deps/minio/templates/bigbang/networkpolicies/default-deny-egress.yaml create mode 100644 chart/deps/minio/templates/bigbang/networkpolicies/default-deny-ingress.yaml create mode 100644 chart/deps/minio/templates/bigbang/networkpolicies/helm-test-network-policy.yaml create mode 100644 chart/deps/minio/templates/bigbang/networkpolicies/istio-allow.yaml create mode 100644 chart/deps/minio/templates/bigbang/networkpolicies/monitoring-ingress.yaml create mode 100644 chart/deps/minio/templates/bigbang/networkpolicies/namespace-allow.yaml create mode 100644 chart/deps/minio/templates/console-secret.yaml rename chart/deps/minio/templates/{ => release2.0.9}/minioinstance.yaml (97%) rename chart/deps/minio/templates/{ => release2.0.9}/service.yaml (79%) rename chart/deps/minio/templates/{ => release2.0.9}/serviceMonitor.yaml (88%) delete mode 100644 chart/deps/minio/templates/role.yaml delete mode 100644 chart/deps/minio/templates/rolebinding.yaml create mode 100644 chart/deps/minio/templates/tenant-secret.yaml create mode 100644 chart/deps/minio/templates/tenant.yaml create mode 100644 chart/deps/minio/templates/tests/test-ui.yaml create mode 100644 chart/deps/minio/templates/tests/test-write.yaml create mode 100644 chart/deps/minio/tests/cypress/cypress.json create mode 100644 chart/deps/minio/tests/cypress/minio-health.spec.js create mode 100644 chart/deps/minio/tests/cypress/minio-login.js create mode 100644 chart/deps/minio/tests/scripts/test-write.sh diff --git a/chart/Chart.lock b/chart/Chart.lock index 98d66a8..420b931 100644 --- a/chart/Chart.lock +++ b/chart/Chart.lock @@ -4,9 +4,9 @@ dependencies: version: 10.3.5 - name: minio-instance repository: file://./deps/minio - version: 2.0.9-bb.9 + version: 4.1.2-bb.1 - name: gluon repository: oci://registry.dso.mil/platform-one/big-bang/apps/library-charts/gluon version: 0.1.1 -digest: sha256:d5a1399418dd0d20db43fc884acd0ac51b1f8a3272d81d1e2e4650092ec25d87 -generated: "2021-05-28T11:12:03.789056-06:00" +digest: sha256:92b86cfa02024a6b1df1211f5881f756775945eacab13cc7f267fc8bd41aa828 +generated: "2021-07-23T09:44:19.142388-06:00" diff --git a/chart/charts/minio-instance-2.0.9-bb.9.tgz b/chart/charts/minio-instance-2.0.9-bb.9.tgz deleted file mode 100644 index 0e2c10f85f103dd00b79ab689d98e96302b9f1c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4726 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 E04)PaQ2+n{ diff --git a/chart/charts/minio-instance-4.1.2-bb.1.tgz b/chart/charts/minio-instance-4.1.2-bb.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..61c65299c90f8a745cd4d5bc45d13617fd6d45da GIT binary patch literal 11639 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 Zfrc7tsG)B||0e(d|No9|FsJ~+1ORL7G-m(+ literal 40042 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 Q6954J|1O^?9st4w03D4K%m4rY diff --git a/chart/deps/minio/Chart.lock b/chart/deps/minio/Chart.lock new file mode 100644 index 0000000..df1fa9a --- /dev/null +++ b/chart/deps/minio/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: bb-test-lib + repository: oci://registry.dso.mil/platform-one/big-bang/pipeline-templates/pipeline-templates + version: 0.5.0 +digest: sha256:ec47e1f5de8d2060a2e7b93a756bb34c21b62069f04237c915adf8619ac03698 +generated: "2021-05-12T14:29:40.198378-06:00" diff --git a/chart/deps/minio/Chart.yaml b/chart/deps/minio/Chart.yaml index 42df286..3f48e06 100644 --- a/chart/deps/minio/Chart.yaml +++ b/chart/deps/minio/Chart.yaml @@ -1,26 +1,17 @@ apiVersion: v2 - -name: minio-instance - -description: |- - A Helm chart for deploying the Minio instances based on use of the Minio operator - -#home: https://github.com/elastic/cloud-on-k8s - type: application - -version: 2.0.9-bb.9 - -appVersion: RELEASE.2020-11-19T23-48-16Z - -kubeVersion: ">=1.17.0-0" - +name: minio-instance +version: 4.1.2-bb.1 +appVersion: v4.1.2 +description: A Helm chart for MinIO based on Minio Operator 4.1.2 +home: https://min.io +icon: https://min.io/resources/img/logo/MINIO_wordmark.png keywords: - - Minio - - Instance - +- storage +- object-storage +- S3 maintainers: - - name: me - email: - -dependencies: +- email: dev@minio.io + name: MinIO, Inc +sources: +- https://github.com/minio/operator diff --git a/chart/deps/minio/Kptfile b/chart/deps/minio/Kptfile index 521d916..5eb41fa 100644 --- a/chart/deps/minio/Kptfile +++ b/chart/deps/minio/Kptfile @@ -1,11 +1,11 @@ apiVersion: kpt.dev/v1alpha1 kind: Kptfile metadata: - name: minio + name: chart upstream: type: git git: - commit: a8ef3702468317396a58ed94bb1823f9d4ae59cf + commit: 337d856c949baa059d9b909eb889458bedca52ff repo: https://repo1.dso.mil/platform-one/big-bang/apps/application-utilities/minio directory: /chart - ref: 2.0.9-bb.9 + ref: 4.1.2-bb.1 diff --git a/chart/deps/minio/charts/bb-test-lib-0.5.0.tgz b/chart/deps/minio/charts/bb-test-lib-0.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..ca0adf9edaa4f6f8a56ee22c14af94e432b150b8 GIT binary patch literal 2464 zcmV;R319XfiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0PH($Z`(N1{j6Uxj~XnTJS$30>}27^?xENA_7->B4cbL5|3UZS^hviD^e%#KKj@!73A$&e7Z*<;*zYu&A=8GcC&9hPT4wHl z1Zc|MqS8!?0ZdOFnx?bYF6o|=z==^uilruRdj@|;o65^DY|am0q3-_%lay0~+J7J2qzbi;q!_YMLeqOig$@4S z4f_2h|G&8C2M7Ou2)MoVAjTmR2yV?5NNE7x+yX+X(S=W+oQ06lbtX*219+a}{X$bG zK|^C|=)eIeLV|mH3#3?FUeN^M(DeLvKLl)wHl+oal;=UF2=^G^!|SR8tn=vnZ08 zFt2hcuNShWyZhMKOFq8>YCCgr^!*&(sr~oXXBOHLj5z|K9kXTESFz(w}GL$Ou zq(DDpBQK<49iaY5;z1u8~XVfNrO!y(yV|U)>Me~=t^2v(dfQPf!CSuQV!%#!4m#o;OAs zbNl_9Zvd}TsSLdQ*U!JbfBx%>mp>f+SU`b5`j`3h905 zgXayEOuQlExUCRt6KOV%DT`5VWfuizvq==+)>y-0#|A@KK-i}Zl+1lW^{+6#Kh2ku zZ&Lbtfz^gzSgm$x!fR&W=yn$2sxMQ?vjl&!3#lH=u&Z^izRJ}Fl34spYQ}>+R3#R%bO@+}-qVemuyI5n1QiIbJ((FBeb zr98EC=HI8ejQ^cUgNy8~$gP;sE-cyEl;fqulwm zjVGNUQ`%Uq&t*}5UN6pOga)a$BYu`}tGVA>#5FRT*3df=)SZ3%V8f&4U*$)99l}1B3d|h z0BV-DrG4ov{D6_kmEGvSd-U3!be`uI+hig(7A+)s?RiV?y}RMhY;QT~d+ad%#bC|) zUtIaw&-IUu_doi*-tzk2KR?|6dJtIWorM83UH{m5*H@6*0)ymx*L__vS>WJLeZ!;_ z-?leQHa@Nm*(*lzV0+wE8)`?Ko6>zYqRmdQycga0_}D()2CeabKi5At#s6Oa;%sIA z*E>DL|A&ALuD)>O=RHvLzuzU3a^{b9$D|wV`;y7_mosXtFW${4%K+_?uT?7cc*Uam zlEubBR< zEd6=4Y_;uq)3#u>?&bZ7HwE>~=y+=x)}J3c^~+&R{-4WXU%v$0^!vYy{_^kt`e*&# zA^(2}umRPncN=P!WU7Oqv-mW3*vEc?$etY1Q>C}12r zCw}RBP2sEV^HspI6C3;hWw4qx&nIF(Dw*V=yHkadjt$<|K%je^lQ@PuJ0i`vflkaK z1IP0bQoe!6=|&>u($Oh2RGXcpzFo<@?*GJYLfA-1g?qKJP5$3MTmJpuSwA?O|2_yj zg-dD-DxtwhD3lLZV-yf(jK_8xl+tKIN2rPO6ms9zS(-{^H0UvM4kIo@NT`X%OpLw- zg`65TMM$X`*V?Iwou?phlshkUQiVfyjd77d{ogTxUj@GbDe|6nN|2%g&IA&Nym<5e zjgbnSr|?`Ri4^em`5TCt(heCh.minio.default.svc.cluster.local` + s3: + ## This feature is turned off by default + bucketDNS: {{ .Values.tenants.s3.bucketDNS }} + + ## This field is used only when "requestAutoCert" is set to true. Use this field to set CommonName + ## for the auto-generated certificate. Internal DNS name for the pod will be used if CommonName is + ## not provided. DNS name format is *.minio.default.svc.cluster.local + {{- with .Values.tenants.certificate.certConfig }} + certConfig: + {{ toYaml . | nindent 4 }} + {{- end }} + + ## PodManagement policy for MinIO Tenant Pods. Can be "OrderedReady" or "Parallel" + ## Refer https://kubernetes.io/docs/tutorials/stateful-application/basic-stateful-set/#pod-management-policy + ## for details. + podManagementPolicy: {{ .Values.tenants.podManagementPolicy }} + + ## PrometheusOperator enables the Minio Operator to create the Prometheus serviceMonitor objects to scrape + ## metrics from the tenant + prometheusOperator: + labels: + app.kubernetes.io/component: "monitoring" + {{ include "minio.labels" . | nindent 6 }} + + ## serviceMetadata allows passing additional labels and annotations to MinIO and Console specific + ## services created by the operator. + {{- with .Values.tenants.serviceMetadata }} + serviceMetadata: + {{ toYaml . | nindent 4 }} + {{- end }} + {{- with .env }} + {{ toYaml . | nindent 4 }} + {{- end }} + + ## Add environment variables to be set in MinIO container (https://github.com/minio/minio/tree/master/docs/config) + #env: + # - name: MINIO_PROMETHEUS_AUTH_TYPE + # value: "public" + # - name: MINIO_BROWSER + # value: "off" # to turn-off browser + # - name: MINIO_STORAGE_CLASS_STANDARD + # value: "EC:2" + # ## For secure env vars like passwords, create an opaque Kubernetes secret and specify the secret in + # ## the `valueFrom` field. The `valueFrom` object must contain the following fields: + # ## `name` - the secret from which MinIO extracts the password, `key` - the data field + # ## within secret, whose value will be set to the env variable's value + # - name: MINIO_IDENTITY_LDAP_LOOKUP_BIND_PASSWORD + # valueFrom: + # secretKeyRef: + # name: ldap-minio-secret + # key: MINIO_IDENTITY_LDAP_LOOKUP_BIND_PASSWORD + + ## PriorityClassName indicates the Pod priority and hence importance of a Pod relative to other Pods. + ## This is applied to MinIO pods only. + ## Refer Kubernetes documentation for details https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass/ + {{- if .Values.tenants.priorityClassName }} + priorityClassName: {{ .Values.tenants.priorityClassName }} + {{- end }} + + ## Define configuration for Console (Graphical user interface for MinIO) + ## Refer https://github.com/minio/console + {{- if .Values.tenants.console.enabled }} + console: + image: {{ .Values.tenants.console.image.repository }}:{{ .Values.tenants.console.image.tag }} + replicas: {{ .Values.tenants.console.replicaCount }} + consoleSecret: + name: {{ .Values.tenants.console.secrets.name }} + {{- with .Values.tenants.securityContext }} + securityContext: + {{ toYaml . | nindent 6 }} + {{ end }} + {{- end }} +{{- end }} \ No newline at end of file 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..331d74e --- /dev/null +++ b/chart/deps/minio/templates/tests/test-ui.yaml @@ -0,0 +1,13 @@ +{{- include "bb-test-lib.cypress-configmap.overrides" (list . "minio-test.cypress-configmap") }} +{{- define "minio-test.cypress-configmap" }} +metadata: + labels: + {{- include "minio.labels" . | nindent 4 }} +{{- end }} +--- +{{- include "bb-test-lib.cypress-runner.overrides" (list . "minio-test.cypress-runner") -}} +{{- define "minio-test.cypress-runner" -}} +metadata: + labels: + {{- include "minio.labels" . | nindent 4 }} +{{- end }} 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..dac09b7 --- /dev/null +++ b/chart/deps/minio/templates/tests/test-write.yaml @@ -0,0 +1,13 @@ +{{- include "bb-test-lib.script-configmap.overrides" (list . "minio-test.script-configmap") }} +{{- define "minio-test.script-configmap" }} +metadata: + labels: + {{- include "minio.labels" . | nindent 4 }} +{{- end }} +--- +{{- include "bb-test-lib.script-runner.overrides" (list . "minio-test.script-runner") -}} +{{- define "minio-test.script-runner" -}} +metadata: + labels: + {{- include "minio.labels" . | nindent 4 }} +{{- end }} diff --git a/chart/deps/minio/tests/cypress/cypress.json b/chart/deps/minio/tests/cypress/cypress.json new file mode 100644 index 0000000..e36f984 --- /dev/null +++ b/chart/deps/minio/tests/cypress/cypress.json @@ -0,0 +1,5 @@ +{ + "pluginsFile": false, + "supportFile": false, + "fixturesFolder": false +} diff --git a/chart/deps/minio/tests/cypress/minio-health.spec.js b/chart/deps/minio/tests/cypress/minio-health.spec.js new file mode 100644 index 0000000..6778cf9 --- /dev/null +++ b/chart/deps/minio/tests/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/tests/cypress/minio-login.js b/chart/deps/minio/tests/cypress/minio-login.js new file mode 100644 index 0000000..d64096b --- /dev/null +++ b/chart/deps/minio/tests/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/tests/scripts/test-write.sh b/chart/deps/minio/tests/scripts/test-write.sh new file mode 100644 index 0000000..3980f45 --- /dev/null +++ b/chart/deps/minio/tests/scripts/test-write.sh @@ -0,0 +1,16 @@ +#!/bin/bash +set -ex +# stall the ensure that the instances are started. +sleep 60 +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 diff --git a/chart/deps/minio/values.yaml b/chart/deps/minio/values.yaml index e51cc84..6161362 100644 --- a/chart/deps/minio/values.yaml +++ b/chart/deps/minio/values.yaml @@ -1,35 +1,13 @@ -# ## Default values for minio instance creation. -## This is a YAML-formatted file. -## Declare variables to be passed into your templates. -## Configure number of MinIO Operator Deployment Replicas -replicas: - count: 1 +## Note: to enable upgrade of minio instance, then values file has a number of values that will be +## deprecated in the future. Deprecation candidates will have an annotation in comments regarding the timeframe for deprecation. hostname: bigbang.dev -nameOverride: "" -fullnameOverride: "" -# Configure repo and tag of MinIO Operator Image -image: - name: registry1.dso.mil/ironbank/opensource/minio/minio - tag: RELEASE.2020-11-19T23-48-16Z - imagePullPolicy: IfNotPresent - -zones: - # refer to documentation for number of servers versus volumes per server - # https://docs.min.io/docs/minio-server-limits-per-tenant.html - servers: 3 # scale to 3 for dev - -volumesPerServer: 2 # 2 is minimum volumes with 3 servers - -volumeClaimTemplate: - accessModes: ReadWriteOnce - storage: 1Gi # scale down for dev - -minioRootCreds: default-minio-creds-secret - -imagePullSecrets: [ ] +# When true, upgradeTenants enables use of the V4.* Minio Operator CRD for creation of tenants is enabled. +# The default will be made TRUE in a future release. +upgradeTenants: + enabled: false serviceAccount: # Specifies whether a service account should be created @@ -40,6 +18,8 @@ serviceAccount: # If not set and create is true, a name is generated using the fullname template name: "" +# This is maintained for compatible upgrade with the 2.0.9 release. The following service itens will be removed ina future release +# because the operator handles the service deployment in 4.x and beyond. service: # Internal service name for minio instance. This is the full name of the service used to connect to Minio from within the cluster. # If not specified, the service name will be the default full name of the minio instance. @@ -47,6 +27,7 @@ service: type: ClusterIP port: 9000 +# Removed ina future release podAnnotations: {} istio: @@ -62,9 +43,194 @@ istio: 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 +networkPolicies: + enabled: false + ingressLabels: + app: istio-ingressgateway + istio: ingressgateway + +# This is maintained for compatible upgrade with the 2.0.9 release. The following service itens will be removed ina future release +# once all upgrades are complete. +image: + name: registry1.dso.mil/ironbank/opensource/minio/minio + tag: RELEASE.2020-11-19T23-48-16Z + pullPolicy: "IfNotPresent" + +# This is maintained for compatible upgrade with the 2.0.9 release. The following service itens will be removed ina future release +# once all upgrades are complete. +zones: + # refer to documentation for number of servers versus volumes per server + # https://docs.min.io/docs/minio-server-limits-per-tenant.html + servers: 3 # scale to 3 for dev + +# This is maintained for compatible upgrade with the 2.0.9 release. The following service itens will be removed ina future release +# once all upgrades are complete. +volumesPerServer: 2 # 2 is minimum volumes with 3 servers + +# This is maintained for compatible upgrade with the 2.0.9 release. The following service itens will be removed ina future release +# once all upgrades are complete. +volumeClaimTemplate: + accessModes: ReadWriteOnce + storage: 1Gi # scale down for dev + +# This is maintained for compatible upgrade with the 2.0.9 release. The following service itens will be removed ina future release +# once all upgrades are complete. +minioRootCreds: default-minio-creds-secret + +## MinIO Tenant Definition used for 4.1.2 upgrade +tenants: + # Tenant name + name: minio + ## Registry location and Tag to download MinIO Server image + # Configure repo and tag of MinIO Operator Image + image: + repository: registry1.dso.mil/ironbank/opensource/minio/minio + tag: RELEASE.2021-06-17T00-10-46Z + pullPolicy: "IfNotPresent" + ## Customize namespace for tenant deployment + #namespace: default + imagePullSecret: + name: private-registry + ## If a scheduler is specified here, Tenant pods will be dispatched by specified scheduler. + ## If not specified, the Tenant pods will be dispatched by default scheduler. + ##scheduler: + ## name: + scheduler: {} + + ## Used to specify a toleration for a pod + #tolerations: {} + + ## nodeSelector parameters for MinIO Pods. It specifies a map of key-value pairs. For the pod to be + ## eligible to run on a node, the node must have each of the + ## indicated key-value pairs as labels. + ## Read more here: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ + #nodeSelector: {} + + ## Affinity settings for MinIO pods. Read more about affinity + ## here: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity. + #affinity: {} + + ## Configure resource requests and limits for MinIO containers + #resources: {} + + ## Configure security context + ## BB Note: Defaults for Ironbank image are 1001 for user, group, and fsGroup + #securityContext: + # runAsUser: 1001 + # runAsGroup: 1001 + # fsGroup: 1001 + + ## Specification for MinIO Pool(s) in this Tenant. + pools: + ## Servers specifies the number of MinIO Tenant Pods / Servers in this pool. + ## For standalone mode, supply 1. For distributed mode, supply 4 or more. + ## Note that the operator does not support upgrading from standalone to distributed mode. + - servers: 4 + ## volumesPerServer specifies the number of volumes attached per MinIO Tenant Pod / Server. + volumesPerServer: 4 + ## size specifies the capacity per volume + size: 1Gi + ## storageClass specifies the storage class name to be used for this pool + storageClassName: local-path + ## Used to specify a toleration for a pod + tolerations: {} + ## nodeSelector parameters for MinIO Pods. It specifies a map of key-value pairs. For the pod to be + ## eligible to run on a node, the node must have each of the + ## indicated key-value pairs as labels. + ## Read more here: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ + nodeSelector: {} + ## Affinity settings for MinIO pods. Read more about affinity + ## here: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity. + affinity: {} + ## Configure resource requests and limits for MinIO containers + resources: {} + ## Configure security context + ## BB Note: Defaults for Ironbank image are 1001 for user, group, and fsGroup + securityContext: + runAsUser: 1001 + runAsGroup: 1001 + fsGroup: 1001 + ## Mount path where PV will be mounted inside container(s). + mountPath: /export + + ## Sub path inside Mount path where MinIO stores data. + subPath: /data + + # pool secrets + secrets: + enabled: true + name: minio-creds-secret + accessKey: minio + secretKey: minio123 + + # pool metrics to be read by Prometheus + metrics: + enabled: false + port: 9000 + + certificate: + ## Use this field to provide a list of Secrets with external certificates. This can be used to to configure + ## TLS for MinIO Tenant pods. Create secrets as explained here: + ## https://github.com/minio/minio/tree/master/docs/tls/kubernetes#2-create-kubernetes-secret + externalCertSecret: {} + ## Enable automatic Kubernetes based certificate generation and signing as explained in + ## https://kubernetes.io/docs/tasks/tls/managing-tls-in-a-cluster + ## false = disabled TLS endpoints at the tenants + requestAutoCert: false + ## This field is used only when "requestAutoCert" is set to true. Use this field to set CommonName + ## for the auto-generated certificate. Internal DNS name for the pod will be used if CommonName is + ## not provided. DNS name format is *.minio.default.svc.cluster.local + ##certConfig: + ## commonName: "" + ## organizationName: [] + ## dnsNames: [] + certConfig: {} + ## Enable S3 specific features such as Bucket DNS which would allow `buckets` to be + ## accessible as DNS entries of form `.minio.default.svc.cluster.local` + s3: + ## This feature is turned off by default + bucketDNS: false + ## PodManagement policy for MinIO Tenant Pods. Can be "OrderedReady" or "Parallel" + ## Refer https://kubernetes.io/docs/tutorials/stateful-application/basic-stateful-set/#pod-management-policy + ## for details. + podManagementPolicy: Parallel + ## serviceMetadata allows passing additional labels and annotations to MinIO and Console specific + ## services created by the operator. + ##serviceMetadata: {} + serviceMetadata: + minioServiceLabels: + label: minio-svc + minioServiceAnnotations: + v2.min.io: minio-svc + # consoleServiceLabels: + # label: console-svc + # consoleServiceAnnotations: + # v2.min.io: console-svc + + ## Add environment variables to be set in MinIO container (https://github.com/minio/minio/tree/master/docs/config) + env: {} + ## PriorityClassName indicates the Pod priority and hence importance of a Pod relative to other Pods. + ## This is applied to MinIO pods only. + ## Refer Kubernetes documentation for details https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass/ + # e.g., priorityClassName: high-priority + priorityClassName : "" + ## Define configuration for Console (Graphical user interface for MinIO) + ## Refer https://github.com/minio/console + console: + enabled: false + image: + repository: minio/console + tag: v0.7.4 + pullPolicy: IfNotPresent + replicaCount: 1 + secrets: + enabled: true + name: console-secret + passphrase: SECRET + salt: SECRET + accessKey: YOURCONSOLEACCESS + secretKey: YOURCONSOLESECRET \ No newline at end of file diff --git a/tests/dependencies.yaml b/tests/dependencies.yaml index c4fe0c0..4d3fe12 100644 --- a/tests/dependencies.yaml +++ b/tests/dependencies.yaml @@ -6,4 +6,4 @@ mattermostoperator: miniooperator: git: "https://repo1.dso.mil/platform-one/big-bang/apps/application-utilities/minio-operator.git" namespace: "minio-operator" - branch: "2.0.9-bb.1" + branch: "4.1.2-bb.1" -- GitLab From db484a2a895663d488b41112ddc78bec68fc867e Mon Sep 17 00:00:00 2001 From: Branden Cobb Date: Fri, 23 Jul 2021 09:57:08 -0600 Subject: [PATCH 13/13] chart minio --- chart/Chart.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chart/Chart.yaml b/chart/Chart.yaml index f39880d..f99a952 100644 --- a/chart/Chart.yaml +++ b/chart/Chart.yaml @@ -15,7 +15,7 @@ dependencies: condition: postgresql.install repository: file://./deps/postgresql - name: minio-instance - version: 2.0.9-bb.9 + version: 4.1.2-bb.1 alias: minio condition: minio.install repository: file://./deps/minio -- GitLab