Skip to content

Commit 9accaa9

Browse files
committed
feat(minio): add minio
1 parent 2af0353 commit 9accaa9

54 files changed

Lines changed: 4568 additions & 0 deletions

Some content is hidden

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

README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,12 @@ kafka | standard-256 | kafka standard-256 plan which limit persistence siz
4848
kafka | standard-512 | kafka standard-512 plan which limit persistence size 512Gi.
4949
kafka | standard-768 | kafka standard-768 plan which limit persistence size 768Gi.
5050
kafka | standard-1024| kafka standard-1000 plan which limit persistence size 1Ti.
51+
minio | standard-16 | minio standard-16 plan which limit persistence size 16Gi.
52+
minio | standard-64 | minio standard-64 plan which limit persistence size 64Gi.
53+
minio | standard-256 | minio standard-256 plan which limit persistence size 256Gi.
54+
minio | standard-512 | minio standard-512 plan which limit persistence size 512Gi.
55+
minio | standard-768 | minio standard-768 plan which limit persistence size 768Gi.
56+
minio | standard-1024| minio standard-1000 plan which limit persistence size 1Ti.
5157
redis | 128 | Redis 128 plan which limit resources memory size 128Mi.
5258
redis | 256 | Redis 250 plan which limit resources memory size 256Mi.
5359
redis | 512 | Redis 500 plan which limit resources memory size 512Mi.

addons/index.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ entries:
1212
- name: redis
1313
description: "Redis is an advanced key-value cache and store."
1414
version: 1.1.0
15+
minio:
16+
- name: minio
17+
description: "MinIO offers high-performance, S3 compatible object storage."
18+
version: 1.1.0
1519
kafka:
1620
- name: kafka
1721
description: "Apache Kafka is an open-source distributed event streaming platform used by thousands of companies for high-performance data pipelines, streaming analytics, data integration, and mission-critical applications."
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Patterns to ignore when building packages.
2+
# This supports shell glob matching, relative path matching, and
3+
# negation (prefixed with !). Only one pattern per line.
4+
.DS_Store
5+
# Common VCS dirs
6+
.git/
7+
.gitignore
8+
.bzr/
9+
.bzrignore
10+
.hg/
11+
.hgignore
12+
.svn/
13+
# Common backup files
14+
*.swp
15+
*.bak
16+
*.tmp
17+
*~
18+
# Various IDEs
19+
.project
20+
.idea/
21+
*.tmproj
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
dependencies:
2+
- name: common
3+
repository: https://charts.bitnami.com/bitnami
4+
version: 1.16.0
5+
digest: sha256:f41cb9ff725b7c9fa2725634196a6813566d630342f86a74903ed114b282c8c0
6+
generated: "2022-06-03T19:30:33.626239956Z"
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
annotations:
2+
category: Infrastructure
3+
apiVersion: v2
4+
appVersion: 2022.6.20
5+
dependencies:
6+
- name: common
7+
repository: https://charts.bitnami.com/bitnami
8+
tags:
9+
- bitnami-common
10+
version: 1.x.x
11+
description: MinIO(R) is an object storage server, compatible with Amazon S3 cloud storage service, mainly used for storing unstructured data (such as photos, videos, log files, etc.).
12+
engine: gotpl
13+
home: https://github.com/bitnami/charts/tree/master/bitnami/minio
14+
icon: https://bitnami.com/assets/stacks/minio/img/minio-stack-220x234.png
15+
keywords:
16+
- minio
17+
- storage
18+
- object-storage
19+
- s3
20+
- cluster
21+
maintainers:
22+
- name: Bitnami
23+
url: https://github.com/bitnami/charts
24+
name: minio
25+
sources:
26+
- https://github.com/bitnami/bitnami-docker-minio
27+
- https://min.io
28+
version: 11.7.6

addons/minio-1.1.0/chart/minio/README.md

Lines changed: 583 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
CHART NAME: {{ .Chart.Name }}
2+
CHART VERSION: {{ .Chart.Version }}
3+
APP VERSION: {{ .Chart.AppVersion }}
4+
5+
** Please be patient while the chart is being deployed **
6+
7+
{{- if .Values.gateway.enabled }}
8+
MinIO® deployed as a {{ upper .Values.gateway.type }} Gateway
9+
{{- end }}
10+
11+
MinIO® can be accessed via port {{ .Values.service.port }} on the following DNS name from within your cluster:
12+
13+
{{ include "common.names.fullname" . }}.{{ .Release.Namespace }}.svc.{{ .Values.clusterDomain }}
14+
15+
To get your credentials run:
16+
17+
export ROOT_USER=$(kubectl get secret --namespace {{ .Release.Namespace }} {{ include "minio.secretName" . }} -o jsonpath="{.data.root-user}" | base64 -d)
18+
export ROOT_PASSWORD=$(kubectl get secret --namespace {{ .Release.Namespace }} {{ include "minio.secretName" . }} -o jsonpath="{.data.root-password}" | base64 -d)
19+
20+
To connect to your MinIO® server using a client:
21+
22+
- Run a MinIO® Client pod and append the desired command (e.g. 'admin info'):
23+
24+
kubectl run --namespace {{ .Release.Namespace }} {{ include "common.names.fullname" . }}-client \
25+
--rm --tty -i --restart='Never' \
26+
--env MINIO_SERVER_ROOT_USER=$ROOT_USER \
27+
--env MINIO_SERVER_ROOT_PASSWORD=$ROOT_PASSWORD \
28+
--env MINIO_SERVER_HOST={{ include "common.names.fullname" . }} \
29+
{{- if and (.Values.networkPolicy.enabled) (not .Values.networkPolicy.allowExternal) }}
30+
--labels="{{ include "common.names.fullname" . }}-client=true" \
31+
{{- end }}
32+
--image {{ template "minio.clientImage" . }} -- admin info minio
33+
34+
{{- if and (.Values.networkPolicy.enabled) (not .Values.networkPolicy.allowExternal) }}
35+
36+
NOTE: Since NetworkPolicy is enabled, only pods with label
37+
"{{ template "common.names.fullname" . }}-client=true" will be able to connect to MinIO®.
38+
39+
{{- end }}
40+
{{- if or .Values.gateway.enabled (not .Values.disableWebUI) }}
41+
42+
To access the MinIO® web UI:
43+
44+
- Get the MinIO® URL:
45+
46+
{{- if .Values.ingress.enabled }}
47+
48+
You should be able to access your new MinIO® web UI through
49+
50+
{{ if .Values.ingress.tls }}https{{ else }}http{{ end }}://{{ .Values.ingress.hostname }}/minio/
51+
{{- else if contains "LoadBalancer" .Values.service.type }}
52+
53+
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
54+
Watch the status with: 'kubectl get svc --namespace {{ .Release.Namespace }} -w {{ include "common.names.fullname" . }}'
55+
56+
{{- $port:=.Values.service.ports.console | toString }}
57+
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "common.names.fullname" . }} --template "{{ "{{ range (index .status.loadBalancer.ingress 0) }}{{ . }}{{ end }}" }}")
58+
echo "MinIO® web URL: http://$SERVICE_IP{{- if ne $port "80" }}:{{ .Values.service.ports.console }}{{ end }}/minio"
59+
60+
{{- else if contains "ClusterIP" .Values.service.type }}
61+
62+
echo "MinIO® web URL: http://127.0.0.1:{{ .Values.containerPorts.console }}/minio"
63+
kubectl port-forward --namespace {{ .Release.Namespace }} svc/{{ include "common.names.fullname" . }} {{ .Values.containerPorts.console }}:{{ .Values.service.ports.console }}
64+
65+
{{- else if contains "NodePort" .Values.service.type }}
66+
67+
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.names.fullname" . }})
68+
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
69+
echo "MinIO® web URL: http://$NODE_IP:$NODE_PORT/minio"
70+
71+
{{- end }}
72+
{{- else }}
73+
74+
WARN: MinIO® Web UI is disabled.
75+
{{- end }}
76+
77+
{{- include "common.warnings.rollingTag" .Values.image }}
78+
{{- include "common.warnings.rollingTag" .Values.clientImage }}
79+
{{- include "common.warnings.rollingTag" .Values.volumePermissions.image }}
80+
{{- include "minio.validateValues" . }}
81+
82+
{{- $requiredPasswords := list -}}
83+
{{- $secretName := include "minio.secretName" . -}}
84+
{{- if and (not .Values.auth.existingSecret) (not .Values.auth.forceNewKeys) (not .Values.gateway.enabled) -}}
85+
{{- $requiredRootUser := dict "valueKey" "auth.rootUser" "secret" $secretName "field" "root-user" -}}
86+
{{- $requiredRootPassword := dict "valueKey" "auth.rootPassword" "secret" $secretName "field" "root-password" -}}
87+
{{- $requiredPasswords = append $requiredPasswords $requiredRootUser -}}
88+
{{- $requiredPasswords = append $requiredPasswords $requiredRootPassword -}}
89+
{{- end -}}
90+
{{- $requiredMinioPasswordErrors := include "common.validations.values.multiple.empty" (dict "required" $requiredPasswords "context" $) -}}
91+
{{- include "common.errors.upgrade.passwords.empty" (dict "validationErrors" (list $requiredMinioPasswordErrors) "context" $) -}}

0 commit comments

Comments
 (0)