@@ -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.