Commit 54057077 authored by Prout, Ryan's avatar Prout, Ryan
Browse files

update readme and make token entries variables

parent 41b9a136
Loading
Loading
Loading
Loading
+38 −8
Original line number Diff line number Diff line
@@ -4,20 +4,50 @@ This Chart provides an example that deploys a standalone [MinIO](https://min.io/

This example is a derivative of the [MinIO provided example](https://github.com/minio/minio/blob/master/docs/orchestration/kubernetes/k8s-yaml.md) to target Slate specifically.

We will look at the individual [template files](https://code.ornl.gov/ryu/slate_helm_examples/-/tree/prout-dev/charts%2Fminio-standalone%2Ftemplates) in this minio-standalone chart, to gain basic familiarity with the application/chart building blocks, then deploy the application in your Slate namespace.
Feel free to look at the individual [template files](./templates), in this minio-standalone chart, to gain basic familiarity with the application/chart building blocks.

**NOTE:** The main objective of this example is to show how the smaller, individual core, components come together to create a simple application deployment. This example can be used to build off of, for a variety of data applications, but it is not meant to be a production deployment. A production deployment may require more thought and robust configurations.

## Prerequisites

**NOTE:** This example will be done on Slate's Marble Cluster. Marble resides in OLCF's Moderate enclave, a peripheral system to Summit.
To install this chart on Slate's Marble cluster it is assumed you have the following:

- You have a Slate project allocation
- You have the OC tool isntalled
- You can log into Slate's Marble cluster via the OC CLI
- You have helm3 installed
- A Slate project allocation
- The OC tool is intalled locally
- Ability to log into Slate's Marble cluster via the OC CLI
- Helm version 3 is installed locally
- The access key and secret key, for the MinIO application, are installed via a secret-token.yaml of your own (not provided in this chart).

Please refer to the Slate user documentation (link coming soon) if you have any questions.
Example secret-token.yaml file:

```
apiVersion: v1
kind: List
metadata: {}
items:
- apiVersion: v1
  kind: Secret
  metadata:
    # The <name-of-your-app> piece can be found in the values.yaml file at minio.name. Keep the "-access-key" part appended to the name.
    name: <name-of-your-app>-access-key
  stringData:
    SECRET_TOKEN: <your_choice>
- apiVersion: v1
  kind: Secret
  metadata:
    name: <name-of-your-app>-secret-key
  stringData:
    SECRET_TOKEN: <your_choice>
```
Replace ```<your_choice>``` with your secret token strings of choice. These are needed to log into the MinIO GUI, after the NCCS SSO page.

Once you have your secret-tokens.yaml file established, you can apply it like this (must be logged into Marble via OC CLI first):
```
oc apply -f secret-token.yaml
```
The [minio-standalone-deployment.yaml](https://code.ornl.gov/ryu/slate_helm_examples/-/blob/master/charts/minio-standalone/templates/minio-standalone-deployment.yaml) file picks these secret tokens up as environment variables.

It is recommended to keep the secret-token.yaml file safe, locally, and not in a repository if unencrypted. 

## Deploying the MinIO Standalone Server on Slate

+2 −2
Original line number Diff line number Diff line
@@ -57,12 +57,12 @@ spec:
          valueFrom:
            secretKeyRef:
              key: SECRET_TOKEN
              name: minio-standalone-access-key
              name: {{ .Values.minio.name }}-access-key
        - name: MINIO_SECRET_KEY
          valueFrom:
            secretKeyRef:
              key: SECRET_TOKEN
              name: minio-standalone-secret-key
              name: {{ .Values.minio.name }}-secret-key
        resources:
          limits:
            cpu: {{ .Values.minio.resources.limits.cpu }}