parent
d5c57a0c5b
commit
2c822f8d4e
Binary file not shown.
|
@ -0,0 +1,22 @@
|
|||
# Patterns to ignore when building packages.
|
||||
# This supports shell glob matching, relative path matching, and
|
||||
# negation (prefixed with !). Only one pattern per line.
|
||||
.DS_Store
|
||||
# Common VCS dirs
|
||||
.git/
|
||||
.gitignore
|
||||
.bzr/
|
||||
.bzrignore
|
||||
.hg/
|
||||
.hgignore
|
||||
.svn/
|
||||
# Common backup files
|
||||
*.swp
|
||||
*.bak
|
||||
*.tmp
|
||||
*~
|
||||
# Various IDEs
|
||||
.project
|
||||
.idea/
|
||||
*.tmproj
|
||||
.vscode/
|
|
@ -0,0 +1,23 @@
|
|||
annotations:
|
||||
catalog.cattle.io/certified: partner
|
||||
catalog.cattle.io/display-name: Minio Operator
|
||||
catalog.cattle.io/kube-version: '>=1.19-0'
|
||||
catalog.cattle.io/release-name: minio-operator
|
||||
apiVersion: v2
|
||||
appVersion: v6.0.2
|
||||
description: A Helm chart for MinIO Operator
|
||||
home: https://min.io
|
||||
icon: file://assets/icons/minio-operator.png
|
||||
keywords:
|
||||
- storage
|
||||
- object-storage
|
||||
- S3
|
||||
kubeVersion: '>=1.19-0'
|
||||
maintainers:
|
||||
- email: dev@minio.io
|
||||
name: MinIO, Inc
|
||||
name: minio-operator
|
||||
sources:
|
||||
- https://github.com/minio/operator
|
||||
type: application
|
||||
version: 6.0.2
|
|
@ -0,0 +1,45 @@
|
|||
# MinIO ![license](https://img.shields.io/badge/license-AGPL%20V3-blue)
|
||||
|
||||
[MinIO](https://min.io) is a High Performance Object Storage released under GNU AGPLv3 or later. It is API compatible
|
||||
with Amazon S3 cloud storage service. Use MinIO to build high performance infrastructure for machine learning, analytics
|
||||
and application data workloads.
|
||||
|
||||
For more detailed documentation please visit [here](https://docs.minio.io/)
|
||||
|
||||
Introduction
|
||||
------------
|
||||
|
||||
This chart bootstraps MinIO Operator on a [Kubernetes](http://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager.
|
||||
|
||||
Configure MinIO Helm repo
|
||||
--------------------
|
||||
|
||||
```bash
|
||||
helm repo add minio https://operator.min.io/
|
||||
```
|
||||
|
||||
Installing the Chart
|
||||
--------------------
|
||||
|
||||
Install this chart using:
|
||||
|
||||
```bash
|
||||
helm install \
|
||||
--namespace minio-operator \
|
||||
--create-namespace \
|
||||
minio-operator minio/operator
|
||||
```
|
||||
|
||||
The command deploys MinIO Operator on the Kubernetes cluster in the default configuration.
|
||||
|
||||
Creating a Tenant
|
||||
-----------------
|
||||
|
||||
Once the MinIO Operator Chart is successfully installed, create a MinIO Tenant using:
|
||||
|
||||
```bash
|
||||
helm install --namespace tenant-ns \
|
||||
--create-namespace tenant minio/tenant
|
||||
```
|
||||
|
||||
This creates a 4 Node MinIO Tenant (cluster). To change the default values, take a look at various [values.yaml](https://github.com/minio/operator/blob/master/helm/tenant/values.yaml).
|
|
@ -0,0 +1,78 @@
|
|||
# MinIO Operator
|
||||
|
||||
MinIO is a Kubernetes-native high performance object store with an S3-compatible API. The
|
||||
MinIO Kubernetes Operator supports deploying MinIO Tenants onto private and public
|
||||
cloud infrastructures ("Hybrid" Cloud).
|
||||
|
||||
## Procedure
|
||||
|
||||
### 1) Verify installation the MinIO Operator
|
||||
Run the following command to verify the status of the Operator:
|
||||
|
||||
```sh
|
||||
kubectl get pods -n minio-operator
|
||||
```
|
||||
|
||||
The output resembles the following:
|
||||
|
||||
```sh
|
||||
NAME READY STATUS RESTARTS AGE
|
||||
console-6b6cf8946c-9cj25 1/1 Running 0 99s
|
||||
minio-operator-69fd675557-lsrqg 1/1 Running 0 99s
|
||||
```
|
||||
|
||||
The `console-*` pod runs the MinIO Operator Console, a graphical user
|
||||
interface for creating and managing MinIO Tenants.
|
||||
|
||||
The `minio-operator-*` pod runs the MinIO Operator itself.
|
||||
|
||||
### 2) Access the Operator Console
|
||||
|
||||
Get the service-account token to access the UI:
|
||||
|
||||
```sh
|
||||
kubectl -n minio-operator get secret $(kubectl -n minio-operator get serviceaccount console-sa -o jsonpath="{.secrets[0].name}") -o jsonpath="{.data.token}" | base64 --decode
|
||||
```
|
||||
|
||||
Run the following command to create a local proxy to the MinIO Operator
|
||||
Console:
|
||||
|
||||
```sh
|
||||
kubectl -n minio-operator port-forward svc/console 9090
|
||||
```
|
||||
|
||||
Open your browser to http://localhost:9090 and use the JWT token to log in
|
||||
to the Operator Console.
|
||||
|
||||
|
||||
|
||||
Click **+ Create Tenant** to open the Tenant Creation workflow.
|
||||
|
||||
### 3) Build the Tenant Configuration
|
||||
|
||||
The Operator Console **Create New Tenant** walkthrough builds out
|
||||
a MinIO Tenant. The following list describes the basic configuration sections.
|
||||
|
||||
- **Name** - Specify the *Name*, *Namespace*, and *Storage Class* for the new Tenant.
|
||||
|
||||
The *Storage Class* must correspond to a [Storage Class](#default-storage-class) that corresponds to [Local Persistent Volumes](#local-persistent-volumes) that can support the MinIO Tenant.
|
||||
|
||||
The *Namespace* must correspond to an existing [Namespace](#minio-tenant-namespace) that does *not* contain any other MinIO Tenant.
|
||||
|
||||
Enable *Advanced Mode* to access additional advanced configuration options.
|
||||
|
||||
- **Tenant Size** - Specify the *Number of Servers*, *Number of Drives per Server*, and *Total Size* of the Tenant.
|
||||
|
||||
The *Resource Allocation* section summarizes the Tenant configuration
|
||||
based on the inputs above.
|
||||
|
||||
Additional configuration inputs may be visible if *Advanced Mode* was enabled
|
||||
in the previous step.
|
||||
|
||||
- **Preview Configuration** - summarizes the details of the new Tenant.
|
||||
|
||||
After configuring the Tenant to your requirements, click **Create** to create the new tenant.
|
||||
|
||||
The Operator Console displays credentials for connecting to the MinIO Tenant. You *must* download and secure these credentials at this stage. You cannot trivially retrieve these credentials later.
|
||||
|
||||
You can monitor Tenant creation from the Operator Console.
|
|
@ -0,0 +1,59 @@
|
|||
{{/* vim: set filetype=mustache: */}}
|
||||
{{/*
|
||||
Expand the name of the chart.
|
||||
*/}}
|
||||
{{- define "minio-operator.name" -}}
|
||||
{{- default .Chart.Name | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create a default fully qualified app name.
|
||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||
If release name contains chart name it will be used as a full name.
|
||||
*/}}
|
||||
{{- define "minio-operator.fullname" -}}
|
||||
{{- $name := default .Chart.Name -}}
|
||||
{{- if contains $name .Release.Name -}}
|
||||
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
|
||||
{{- else -}}
|
||||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create a default fully qualified console name.
|
||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||
If release name contains chart name it will be used as a full name.
|
||||
*/}}
|
||||
{{- define "minio-operator.console-fullname" -}}
|
||||
{{- printf "%s-%s" .Release.Name "console" | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create chart name and version as used by the chart label.
|
||||
*/}}
|
||||
{{- define "minio-operator.chart" -}}
|
||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Common labels for operator
|
||||
*/}}
|
||||
{{- define "minio-operator.labels" -}}
|
||||
helm.sh/chart: {{ include "minio-operator.chart" . }}
|
||||
{{- if .Chart.AppVersion }}
|
||||
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
||||
{{- end }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{- range $key, $val := .Values.operator.additionalLabels }}
|
||||
{{ $key }}: {{ $val | quote }}
|
||||
{{- end }}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Selector labels Operator
|
||||
*/}}
|
||||
{{- define "minio-operator.selectorLabels" -}}
|
||||
app.kubernetes.io/name: {{ include "minio-operator.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
{{- end -}}
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,180 @@
|
|||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: minio-operator-role
|
||||
labels: {{- include "minio-operator.labels" . | nindent 4 }}
|
||||
rules:
|
||||
- apiGroups:
|
||||
- "apiextensions.k8s.io"
|
||||
resources:
|
||||
- customresourcedefinitions
|
||||
verbs:
|
||||
- get
|
||||
- update
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- persistentvolumeclaims
|
||||
verbs:
|
||||
- get
|
||||
- update
|
||||
- list
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- namespaces
|
||||
- nodes
|
||||
verbs:
|
||||
- create
|
||||
- get
|
||||
- watch
|
||||
- list
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- pods
|
||||
- services
|
||||
- events
|
||||
- configmaps
|
||||
verbs:
|
||||
- get
|
||||
- watch
|
||||
- create
|
||||
- list
|
||||
- delete
|
||||
- deletecollection
|
||||
- update
|
||||
- patch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- secrets
|
||||
verbs:
|
||||
- get
|
||||
- watch
|
||||
- create
|
||||
- update
|
||||
- list
|
||||
- delete
|
||||
- deletecollection
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- serviceaccounts
|
||||
verbs:
|
||||
- create
|
||||
- delete
|
||||
- get
|
||||
- list
|
||||
- patch
|
||||
- update
|
||||
- watch
|
||||
- apiGroups:
|
||||
- rbac.authorization.k8s.io
|
||||
resources:
|
||||
- roles
|
||||
- rolebindings
|
||||
verbs:
|
||||
- create
|
||||
- delete
|
||||
- get
|
||||
- list
|
||||
- patch
|
||||
- update
|
||||
- watch
|
||||
- apiGroups:
|
||||
- apps
|
||||
resources:
|
||||
- statefulsets
|
||||
- deployments
|
||||
- deployments/finalizers
|
||||
verbs:
|
||||
- get
|
||||
- create
|
||||
- list
|
||||
- patch
|
||||
- watch
|
||||
- update
|
||||
- delete
|
||||
- apiGroups:
|
||||
- batch
|
||||
resources:
|
||||
- jobs
|
||||
verbs:
|
||||
- get
|
||||
- create
|
||||
- list
|
||||
- patch
|
||||
- watch
|
||||
- update
|
||||
- delete
|
||||
- apiGroups:
|
||||
- "certificates.k8s.io"
|
||||
resources:
|
||||
- "certificatesigningrequests"
|
||||
- "certificatesigningrequests/approval"
|
||||
- "certificatesigningrequests/status"
|
||||
verbs:
|
||||
- update
|
||||
- create
|
||||
- get
|
||||
- delete
|
||||
- list
|
||||
- apiGroups:
|
||||
- certificates.k8s.io
|
||||
resourceNames:
|
||||
- kubernetes.io/legacy-unknown
|
||||
- kubernetes.io/kube-apiserver-client
|
||||
- kubernetes.io/kubelet-serving
|
||||
- beta.eks.amazonaws.com/app-serving
|
||||
resources:
|
||||
- signers
|
||||
verbs:
|
||||
- approve
|
||||
- sign
|
||||
- apiGroups:
|
||||
- authentication.k8s.io
|
||||
resources:
|
||||
- tokenreviews
|
||||
verbs:
|
||||
- create
|
||||
- apiGroups:
|
||||
- minio.min.io
|
||||
- sts.min.io
|
||||
- job.min.io
|
||||
resources:
|
||||
- "*"
|
||||
verbs:
|
||||
- "*"
|
||||
- apiGroups:
|
||||
- min.io
|
||||
resources:
|
||||
- "*"
|
||||
verbs:
|
||||
- "*"
|
||||
- apiGroups:
|
||||
- monitoring.coreos.com
|
||||
resources:
|
||||
- prometheuses
|
||||
verbs:
|
||||
- '*'
|
||||
- apiGroups:
|
||||
- "coordination.k8s.io"
|
||||
resources:
|
||||
- leases
|
||||
verbs:
|
||||
- get
|
||||
- update
|
||||
- create
|
||||
- apiGroups:
|
||||
- policy
|
||||
resources:
|
||||
- poddisruptionbudgets
|
||||
verbs:
|
||||
- create
|
||||
- delete
|
||||
- get
|
||||
- list
|
||||
- patch
|
||||
- update
|
||||
- deletecollection
|
|
@ -0,0 +1,13 @@
|
|||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: minio-operator-binding
|
||||
labels: {{- include "minio-operator.labels" . | nindent 4 }}
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: minio-operator-role
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: minio-operator
|
||||
namespace: {{ .Release.Namespace }}
|
|
@ -0,0 +1,67 @@
|
|||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: minio-operator
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels: {{- include "minio-operator.labels" . | nindent 4 }}
|
||||
spec:
|
||||
replicas: {{ .Values.operator.replicaCount }}
|
||||
selector:
|
||||
matchLabels: {{- include "minio-operator.selectorLabels" . | nindent 6 }}
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
{{- include "minio-operator.labels" . | nindent 8 }}
|
||||
{{- include "minio-operator.selectorLabels" . | nindent 8 }}
|
||||
spec:
|
||||
{{- with .Values.operator.imagePullSecrets }}
|
||||
imagePullSecrets: {{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.operator.runtimeClassName }}
|
||||
runtimeClassName: {{ . }}
|
||||
{{- end }}
|
||||
serviceAccountName: minio-operator
|
||||
{{- with .Values.operator.securityContext }}
|
||||
securityContext: {{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.operator.nodeSelector }}
|
||||
nodeSelector: {{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.operator.affinity }}
|
||||
affinity: {{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.operator.tolerations }}
|
||||
tolerations: {{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.operator.topologySpreadConstraints }}
|
||||
topologySpreadConstraints: {{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.operator.priorityClassName }}
|
||||
priorityClassName: {{ . }}
|
||||
{{- end }}
|
||||
{{- with .Values.operator.initContainers }}
|
||||
initContainers: {{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
containers:
|
||||
- name: {{ .Chart.Name }}
|
||||
image: "{{ .Values.operator.image.repository }}:{{ .Values.operator.image.digest | default .Values.operator.image.tag }}"
|
||||
imagePullPolicy: {{ .Values.operator.image.pullPolicy }}
|
||||
args:
|
||||
- controller
|
||||
{{- with .Values.operator.env }}
|
||||
env: {{- toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- if .Values.operator.sidecarImage }}
|
||||
- name: "OPERATOR_SIDECAR_IMAGE"
|
||||
value: "{{ .Values.operator.sidecarImage.repository }}:{{ .Values.operator.sidecarImage.digest | default .Values.operator.sidecarImage.tag }}"
|
||||
{{- end }}
|
||||
resources: {{- toYaml .Values.operator.resources | nindent 12 }}
|
||||
{{- with .Values.operator.containerSecurityContext }}
|
||||
securityContext: {{- toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- with .Values.operator.volumeMounts }}
|
||||
volumeMounts: {{- toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- with .Values.operator.volumes }}
|
||||
volumes: {{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
|
@ -0,0 +1,14 @@
|
|||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: operator
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels: {{- include "minio-operator.labels" . | nindent 4 }}
|
||||
spec:
|
||||
type: ClusterIP
|
||||
ports:
|
||||
- port: 4221
|
||||
name: http
|
||||
selector:
|
||||
operator: leader
|
||||
{{- include "minio-operator.selectorLabels" . | nindent 4 }}
|
|
@ -0,0 +1,10 @@
|
|||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: minio-operator
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels: {{- include "minio-operator.labels" . | nindent 4 }}
|
||||
{{- with .Values.operator.serviceAccountAnnotations }}
|
||||
annotations:
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
|
@ -0,0 +1,12 @@
|
|||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: sts
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels: {{- include "minio-operator.labels" . | nindent 4 }}
|
||||
spec:
|
||||
type: ClusterIP
|
||||
ports:
|
||||
- port: 4223
|
||||
name: https
|
||||
selector: {{- include "minio-operator.selectorLabels" . | nindent 4 }}
|
|
@ -0,0 +1,133 @@
|
|||
---
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.15.0
|
||||
operator.min.io/version: v6.0.2
|
||||
name: policybindings.sts.min.io
|
||||
spec:
|
||||
group: sts.min.io
|
||||
names:
|
||||
kind: PolicyBinding
|
||||
listKind: PolicyBindingList
|
||||
plural: policybindings
|
||||
shortNames:
|
||||
- policybinding
|
||||
singular: policybinding
|
||||
scope: Namespaced
|
||||
versions:
|
||||
- additionalPrinterColumns:
|
||||
- jsonPath: .status.currentState
|
||||
name: State
|
||||
type: string
|
||||
- jsonPath: .metadata.creationTimestamp
|
||||
name: Age
|
||||
type: date
|
||||
name: v1alpha1
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
properties:
|
||||
apiVersion:
|
||||
type: string
|
||||
kind:
|
||||
type: string
|
||||
metadata:
|
||||
type: object
|
||||
spec:
|
||||
properties:
|
||||
application:
|
||||
properties:
|
||||
namespace:
|
||||
type: string
|
||||
serviceaccount:
|
||||
type: string
|
||||
required:
|
||||
- namespace
|
||||
- serviceaccount
|
||||
type: object
|
||||
policies:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
required:
|
||||
- application
|
||||
- policies
|
||||
type: object
|
||||
status:
|
||||
properties:
|
||||
currentState:
|
||||
type: string
|
||||
usage:
|
||||
nullable: true
|
||||
properties:
|
||||
authotizations:
|
||||
format: int64
|
||||
type: integer
|
||||
type: object
|
||||
required:
|
||||
- currentState
|
||||
- usage
|
||||
type: object
|
||||
type: object
|
||||
served: true
|
||||
storage: false
|
||||
subresources:
|
||||
status: {}
|
||||
- additionalPrinterColumns:
|
||||
- jsonPath: .status.currentState
|
||||
name: State
|
||||
type: string
|
||||
- jsonPath: .metadata.creationTimestamp
|
||||
name: Age
|
||||
type: date
|
||||
name: v1beta1
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
properties:
|
||||
apiVersion:
|
||||
type: string
|
||||
kind:
|
||||
type: string
|
||||
metadata:
|
||||
type: object
|
||||
spec:
|
||||
properties:
|
||||
application:
|
||||
properties:
|
||||
namespace:
|
||||
type: string
|
||||
serviceaccount:
|
||||
type: string
|
||||
required:
|
||||
- namespace
|
||||
- serviceaccount
|
||||
type: object
|
||||
policies:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
required:
|
||||
- application
|
||||
- policies
|
||||
type: object
|
||||
status:
|
||||
properties:
|
||||
currentState:
|
||||
type: string
|
||||
usage:
|
||||
nullable: true
|
||||
properties:
|
||||
authotizations:
|
||||
format: int64
|
||||
type: integer
|
||||
type: object
|
||||
required:
|
||||
- currentState
|
||||
- usage
|
||||
type: object
|
||||
type: object
|
||||
served: true
|
||||
storage: true
|
||||
subresources:
|
||||
status: {}
|
|
@ -0,0 +1,191 @@
|
|||
###
|
||||
# Root key for Operator Helm Chart
|
||||
operator:
|
||||
###
|
||||
# An array of environment variables to pass to the Operator deployment.
|
||||
# Pass an empty array to start Operator with defaults.
|
||||
#
|
||||
# For example:
|
||||
#
|
||||
# .. code-block:: yaml
|
||||
#
|
||||
# env:
|
||||
# - name: MINIO_OPERATOR_DEPLOYMENT_NAME
|
||||
# valueFrom:
|
||||
# fieldRef:
|
||||
# fieldPath: metadata.labels['app.kubernetes.io/name']
|
||||
# - name: CLUSTER_DOMAIN
|
||||
# value: "cluster.domain"
|
||||
# - name: WATCHED_NAMESPACE
|
||||
# value: ""
|
||||
# - name: MINIO_OPERATOR_RUNTIME
|
||||
# value: "OpenShift"
|
||||
#
|
||||
# See `Operator environment variables <https://github.com/minio/operator/blob/master/docs/env-variables.md>`__ for a list of all supported values.
|
||||
env:
|
||||
- name: OPERATOR_STS_ENABLED
|
||||
value: "on"
|
||||
# An array of additional annotations to be applied to the operator service account
|
||||
serviceAccountAnnotations: []
|
||||
# additional labels to be applied to operator resources
|
||||
additionalLabels: {}
|
||||
###
|
||||
# Specify the Operator container image to use for the deployment.
|
||||
# ``image.tag``
|
||||
# For example, the following sets the image to the ``quay.io/minio/operator`` repo and the v6.0.2 tag.
|
||||
# The container pulls the image if not already present:
|
||||
#
|
||||
# .. code-block:: yaml
|
||||
#
|
||||
# image:
|
||||
# repository: quay.io/minio/operator
|
||||
# tag: v6.0.2
|
||||
# pullPolicy: IfNotPresent
|
||||
#
|
||||
# The chart also supports specifying an image based on digest value:
|
||||
#
|
||||
# .. code-block:: yaml
|
||||
#
|
||||
# image:
|
||||
# repository: quay.io/minio/operator@sha256
|
||||
# digest: 28c80b379c75242c6fe793dfbf212f43c602140a0de5ebe3d9c2a3a7b9f9f983
|
||||
# pullPolicy: IfNotPresent
|
||||
#
|
||||
image:
|
||||
repository: quay.io/minio/operator
|
||||
tag: v6.0.2
|
||||
pullPolicy: IfNotPresent
|
||||
###
|
||||
# Specify the sidecar container image to deploy on tenant pods for init container and sidecar.
|
||||
# Only need to change this if want to use a different version that the default, or want to set a custom registry.
|
||||
# ``sidecarImage.tag``
|
||||
# For example, the following sets the image to the ``quay.io/minio/operator-sidecar`` repo and the v6.0.2 tag.
|
||||
# The container pulls the image if not already present:
|
||||
#
|
||||
# .. code-block:: yaml
|
||||
#
|
||||
# sidecarImage:
|
||||
# repository: quay.io/minio/operator-sidecar
|
||||
# tag: v6.0.2
|
||||
# pullPolicy: IfNotPresent
|
||||
#
|
||||
# The chart also supports specifying an image based on digest value:
|
||||
#
|
||||
# .. code-block:: yaml
|
||||
#
|
||||
# sidecarImage:
|
||||
# repository: quay.io/minio/operator-sidecar@sha256
|
||||
# digest: a11947a230b80fb1b0bffa97173147a505d4f1207958f722e348d11ab9e972c1
|
||||
# pullPolicy: IfNotPresent
|
||||
#
|
||||
sidecarImage: {}
|
||||
###
|
||||
#
|
||||
# An array of Kubernetes secrets to use for pulling images from a private ``image.repository``.
|
||||
# Only one array element is supported at this time.
|
||||
imagePullSecrets: [ ]
|
||||
###
|
||||
#
|
||||
# The name of a custom `Container Runtime <https://kubernetes.io/docs/concepts/containers/runtime-class/>`__ to use for the Operator pods.
|
||||
runtimeClassName: ~
|
||||
###
|
||||
# An array of `initContainers <https://kubernetes.io/docs/concepts/workloads/pods/init-containers/>`__ to start up before the Operator pods.
|
||||
# Exercise care as ``initContainer`` failures prevent Operator pods from starting.
|
||||
# Pass an empty array to start the Operator normally.
|
||||
initContainers: [ ]
|
||||
###
|
||||
# The number of Operator pods to deploy.
|
||||
# Higher values increase availability in the event of worker node failures.
|
||||
#
|
||||
# The cluster must have sufficient number of available worker nodes to fulfill the request.
|
||||
# Operator pods deploy with pod anti-affinity by default, preventing Kubernetes from scheduling multiple pods onto a single Worker node.
|
||||
replicaCount: 2
|
||||
###
|
||||
# The Kubernetes `SecurityContext <https://kubernetes.io/docs/tasks/configure-pod-container/security-context/>`__ to use for deploying Operator resources.
|
||||
#
|
||||
# You may need to modify these values to meet your cluster's security and access settings.
|
||||
securityContext:
|
||||
runAsUser: 1000
|
||||
runAsGroup: 1000
|
||||
runAsNonRoot: true
|
||||
fsGroup: 1000
|
||||
###
|
||||
# The Kubernetes `SecurityContext <https://kubernetes.io/docs/tasks/configure-pod-container/security-context/>`__ to use for deploying Operator containers.
|
||||
# You may need to modify these values to meet your cluster's security and access settings.
|
||||
containerSecurityContext:
|
||||
runAsUser: 1000
|
||||
runAsGroup: 1000
|
||||
runAsNonRoot: true
|
||||
allowPrivilegeEscalation: false
|
||||
capabilities:
|
||||
drop:
|
||||
- ALL
|
||||
seccompProfile:
|
||||
type: RuntimeDefault
|
||||
###
|
||||
# An array of `Volumes <https://kubernetes.io/docs/concepts/storage/volumes/>`__ which the Operator can mount to pods.
|
||||
#
|
||||
# The volumes must exist *and* be accessible to the Operator pods.
|
||||
volumes: [ ]
|
||||
###
|
||||
# An array of volume mount points associated to each Operator container.
|
||||
#
|
||||
# Specify each item in the array as follows:
|
||||
#
|
||||
# .. code-block:: yaml
|
||||
#
|
||||
# volumeMounts:
|
||||
# - name: volumename
|
||||
# mountPath: /path/to/mount
|
||||
#
|
||||
# The ``name`` field must correspond to an entry in the ``volumes`` array.
|
||||
volumeMounts: [ ]
|
||||
###
|
||||
# Any `Node Selectors <https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/>`__ to apply to Operator pods.
|
||||
#
|
||||
# The Kubernetes scheduler uses these selectors to determine which worker nodes onto which it can deploy Operator pods.
|
||||
#
|
||||
# If no worker nodes match the specified selectors, the Operator deployment will fail.
|
||||
nodeSelector: { }
|
||||
###
|
||||
#
|
||||
# The `Pod Priority <https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/>`__ to assign to Operator pods.
|
||||
priorityClassName: ""
|
||||
###
|
||||
#
|
||||
# The `affinity <https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity/>`__ or anti-affinity settings to apply to Operator pods.
|
||||
#
|
||||
# These settings determine the distribution of pods across worker nodes and can help prevent or allow colocating pods onto the same worker nodes.
|
||||
affinity:
|
||||
podAntiAffinity:
|
||||
requiredDuringSchedulingIgnoredDuringExecution:
|
||||
- labelSelector:
|
||||
matchExpressions:
|
||||
- key: name
|
||||
operator: In
|
||||
values:
|
||||
- minio-operator
|
||||
topologyKey: kubernetes.io/hostname
|
||||
###
|
||||
#
|
||||
# An array of `Toleration labels <https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/>`__ to associate to Operator pods.
|
||||
#
|
||||
# These settings determine the distribution of pods across worker nodes.
|
||||
tolerations: [ ]
|
||||
###
|
||||
#
|
||||
# An array of `Topology Spread Constraints <https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/>`__ to associate to Operator pods.
|
||||
#
|
||||
# These settings determine the distribution of pods across worker nodes.
|
||||
topologySpreadConstraints: [ ]
|
||||
###
|
||||
#
|
||||
# The `Requests or Limits <https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/>`__ for resources to associate to Operator pods.
|
||||
#
|
||||
# These settings can control the minimum and maximum resources requested for each pod.
|
||||
# If no worker nodes can meet the specified requests, the Operator may fail to deploy.
|
||||
resources:
|
||||
requests:
|
||||
cpu: 200m
|
||||
memory: 256Mi
|
||||
ephemeral-storage: 500Mi
|
29
index.yaml
29
index.yaml
|
@ -24072,6 +24072,33 @@ entries:
|
|||
- assets/airlock/microgateway-cni-4.2.3.tgz
|
||||
version: 4.2.3
|
||||
minio-operator:
|
||||
- annotations:
|
||||
catalog.cattle.io/certified: partner
|
||||
catalog.cattle.io/display-name: Minio Operator
|
||||
catalog.cattle.io/kube-version: '>=1.19-0'
|
||||
catalog.cattle.io/release-name: minio-operator
|
||||
apiVersion: v2
|
||||
appVersion: v6.0.2
|
||||
created: "2024-08-13T00:49:26.923407095Z"
|
||||
description: A Helm chart for MinIO Operator
|
||||
digest: d1ecb0c6b1eedbcae9dae74d4aea527eabe846528a913c30cac62e4dd11881da
|
||||
home: https://min.io
|
||||
icon: file://assets/icons/minio-operator.png
|
||||
keywords:
|
||||
- storage
|
||||
- object-storage
|
||||
- S3
|
||||
kubeVersion: '>=1.19-0'
|
||||
maintainers:
|
||||
- email: dev@minio.io
|
||||
name: MinIO, Inc
|
||||
name: minio-operator
|
||||
sources:
|
||||
- https://github.com/minio/operator
|
||||
type: application
|
||||
urls:
|
||||
- assets/minio/minio-operator-6.0.2.tgz
|
||||
version: 6.0.2
|
||||
- annotations:
|
||||
catalog.cattle.io/certified: partner
|
||||
catalog.cattle.io/display-name: Minio Operator
|
||||
|
@ -39286,4 +39313,4 @@ entries:
|
|||
urls:
|
||||
- assets/netfoundry/ziti-host-1.5.1.tgz
|
||||
version: 1.5.1
|
||||
generated: "2024-08-10T00:47:56.831690117Z"
|
||||
generated: "2024-08-13T00:49:23.982205921Z"
|
||||
|
|
Loading…
Reference in New Issue