diff --git a/README.md b/README.md index e558b7ecea5fee87db8d7079346e2e11f68a103e..71a4f963cb3069b602d30cf3056db276aa5de48e 100644 --- a/README.md +++ b/README.md @@ -1,75 +1,51 @@ -# Minio Instances - -Project [here](https://github.com/minio/minio-operator). +# Minio Instance Documentation MinIO is a high performance, distributed object storage system. It is software-defined, runs on industry standard hardware and is 100% open source under the Apache V2 license. -Operator version based on: 2.0.9 -Instance deployment version: 2.0.9 - -Plugins: -Additional docs for using and its plugins can be found at $URL -The containers being used are maintained in the public/apps/minio registry. These containers ahve not been hardened, but have been retagged. When available hardened containers will be implemented. - -secrets=minio-creds-secret - -Usage - -Prerequisites - -Kubernetes cluster deployed -Kubernetes config installed in ~/.kube/config - - - +* Operator version based on: 2.0.9 +* Instance deployment version: RELEASE.2020-11-19T23-48-16Z -Install kubectl -brew install kubectl -Install kustomize -brew install kustomize +## Open Source Documentation -Deployment -Clone repository -git clone https://repo1.dsop.io/platform-one/apps/fluentd-elasticsearch.git -cd fluentd-elasticsearch -Apply kustomized manifest -kubectl -k ./ +The opensource documentation for Minio can be found at https://docs.min.io/docs/minio-quickstart-guide.html -Operations -By default, this application will use an index prefix name of logstash. To verify and configure the -index, utilize Kibana Discover. -The Fluentd inputs and outputs are defined in the ConfigMap resource, which sources from the conf files. +The deployment of minio instance is based on the use of the minio Operator which is documented +[here](https://github.com/minio/minio-operator). -Container Environment Variables -These variables are patched in via kustomize and may require modifications depending on your -environment. +## Prerequisites +* Kubernetes Cluster deployed +* Kubernetes config installed in `~/.kube/config` +* Helm installed +## Values Used for Deployment +Most of the values used to deploy the minio instance are documented in the chart/values.yaml file. +Most of these values are decribed in the opensource documentation listed above. However, this section describes a +few of the values in more detail. +### Root Credentials +``` +minioRootCreds: default-minio-creds-secret +``` +Th default root credentials are spcified in secret name in the above value. The secret must contain 2 fields: +* accesskey: effectively the username +* secretkey: effectively the password +This helm chart create a default secret that will be used if none is specified. +### service name override +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. -Contributing -Clone repository -git clone https://repo1.dsop.io/platform-one/apps/fluentd-elasticsearch.git -Create a feature branch -git checkout -b -Stage and commit changes -git add . -git commit -m "Made a change for reasons" -Push commits to upstream branch -git push -u origin -Create a new merge request - -# MINIO Operator - -Minio Operator on Kubernetes Operator chart. - +``` +service: + nameOverride: "" +``` ## Deployment ``` -git clone https://repo1.dsop.io/platform-one/big-bang/apps/application-utilities/minio.git -cd minio -helm install minio chart +git clone https://repo1.dsop.io/platform-one/big-bang/apps/core/monitoring.git +cd monitoring +helm dependency update chart +helm install minio chart --debug ``` - diff --git a/chart/Chart.yaml b/chart/Chart.yaml index ded32135655fe5c41f403b36d305c83165509269..7f09b17533bdf51e513aa1b01141e92e25353036 100644 --- a/chart/Chart.yaml +++ b/chart/Chart.yaml @@ -9,11 +9,11 @@ description: |- type: application -version: 2.0.9-bb.3 +version: 2.0.9-bb.4 -appVersion: 2.0.9 +appVersion: RELEASE.2020-11-19T23-48-16Z -kubeVersion: ">=1.12.0-0" +kubeVersion: ">=1.17.0-0" keywords: - Minio @@ -24,7 +24,3 @@ maintainers: email: dependencies: -# - name: eck-operator-crds -# version: 1.3.0 -# condition: installCRDs -# repository: "file://eck-operator-crds" diff --git a/chart/templates/minioinstance.yaml b/chart/templates/minioinstance.yaml index 17ba74fa571043c1fdb227b8b949b4fc1a33c22f..9ef88091d837bea7a6c9836fa16213eb9986fe5e 100644 --- a/chart/templates/minioinstance.yaml +++ b/chart/templates/minioinstance.yaml @@ -52,7 +52,7 @@ spec: storage: {{ .Values.volumeClaimTemplate.storage}} ## Secret with credentials to be used by MinIO instance. credsSecret: - name: {{ .Values.minioUICreds }} + name: {{ .Values.minioRootCreds }} ## PodManagement policy for pods created by StatefulSet. Can be "OrderedReady" or "Parallel" ## Refer https://kubernetes.io/docs/tutorials/stateful-application/basic-stateful-set/#pod-management-policy ## for details. Defaults to "Parallel" diff --git a/chart/templates/service.yaml b/chart/templates/service.yaml index 7be34e0d3f71fb5372f3da2723f12fac270a875c..e095e9932f2a814160647fa823ace17adf211a9f 100644 --- a/chart/templates/service.yaml +++ b/chart/templates/service.yaml @@ -1,7 +1,7 @@ apiVersion: v1 kind: Service metadata: - name: {{ include "minio.fullname" . }} + name: {{ .Values.service.nameOverride | default (include "minio.fullname" .) }} labels: {{- include "minio.labels" . | nindent 4 }} spec: diff --git a/chart/values.yaml b/chart/values.yaml index d38115211c55ca35cab7762d18a401e467151e36..b95d1b971ebe81cfd5434eccccd715a91167781f 100644 --- a/chart/values.yaml +++ b/chart/values.yaml @@ -6,13 +6,16 @@ replicas: count: 1 + + + nameOverride: "" fullnameOverride: "" # Configure repo and tag of MinIO Operator Image image: name: registry1.dso.mil/ironbank/opensource/minio/minio - tag: RELEASE.2020-07-02T00-15-09Z + tag: RELEASE.2020-11-19T23-48-16Z imagePullPolicy: IfNotPresent zones: @@ -26,7 +29,7 @@ volumeClaimTemplate: accessModes: ReadWriteOnce storage: 1Gi # scale down for dev -minioUICreds: default-minio-creds-secret +minioRootCreds: default-minio-creds-secret imagePullSecrets: [ ] @@ -40,6 +43,9 @@ serviceAccount: name: "" 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. + nameOverride: "" type: ClusterIP port: 9000 diff --git a/docs/README.md b/docs/README.md index 44c854fcda96b7968a9c7edd7d55342bb18bdb1b..ab2fc5dd5513b06905e68454674170d3d8a36ff0 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,131 +1 @@ - - - -# Minio Operator - -Project [here](https://github.com/minio/minio-operator). - -MinIO is a high performance, distributed object storage system. It is software-defined, runs on industry standard hardware and is 100% open source under the Apache V2 license. - -App Version: Operator 1.0.7, instance 1.0.7 -Plugins: -Additional docs for using and its plugins can be found at $URL -The containers being used are maintained in the public/apps/minio registry. These containers have not been hardened, but have been retagged. When available hardened containers will be implemented. - -Minio instances mount a secret named by default as `minio-creds-secret` with `accesskey` and `secretkey`. -By default this is `minio` and `minio123` respectively and this should be changed for production deployments - -### Prerequisites - -* Kubernetes cluster deployed -* kubectl configuration installed - -Install kubectl - -``` -brew install kubectl -``` - -Install kustomize for development - -``` -brew install kustomize -``` - -### Deployment - -Clone repository - -``` -git clone https://repo1.dsop.io/platform-one/apps/minio.git -cd minio/deployment -``` - -Apply kustomized manifest - -``` -kubectl apply -k ./manifests/operator -kubectl apply -k ./manifests/instance -``` - -## Logs - -By default, this application's logs will appear on Kibana under an index prefix name of logstash-*. To verify and configure the index, utilize Kibana Discover. - -Logs are emitted in two namespaces `minio-operator` and `minio` (Use filter `kubernetes.namespace_name`: ) - -The minio-operator pod runs the `minio-operator` container in the `minio-operator` namespaces and the logs for this contaienr can be filtered with `kubernetes.container_name`: `minio-operator` - -minio-* pods run inthe `minio` namespace. The number of replicas vary and the * is replaced by the instance number. The logs for this pod can be filtered with `kubernetes.pod_name`: `minio- - -Stage and commit changes - -git add . - -git commit -m "Made a change for reasons" - -Push commits to upstream branch - -git push -u origin - -Create a new merge request +# empty file \ No newline at end of file