From 03c7c440e030fea9ed24ed040e8098f3b40c1834 Mon Sep 17 00:00:00 2001 From: pi-B Date: Fri, 17 Jan 2025 12:22:18 +0000 Subject: [PATCH 1/4] docs: update the documentation on MinIO configuration and give tips for beginner users Signed-off-by: pi-B --- docs/configure-artifact-repository.md | 40 +++++++++++++++++++++++---- 1 file changed, 34 insertions(+), 6 deletions(-) diff --git a/docs/configure-artifact-repository.md b/docs/configure-artifact-repository.md index 44ef704a3a41..2047ffaf88e3 100644 --- a/docs/configure-artifact-repository.md +++ b/docs/configure-artifact-repository.md @@ -32,29 +32,57 @@ First, [install `helm`](https://helm.sh/docs/intro/install/). Then, install MinI ```bash helm repo add minio https://charts.min.io/ # official minio Helm charts helm repo update -helm install argo-artifacts minio/minio --set service.type=LoadBalancer --set fullnameOverride=argo-artifacts ``` -Login to the MinIO UI using a web browser (port 9000) after obtaining the +By default, this chart will deploy **16 replicas**, each requiring **16Gi of memory** and **500Gi of disk space** on your cluster. You can modify those values to fit the capacities of your environment, declaring `MEMORY_REQ`, `SPACE_REQ`, and `REPLICAS`. + +```bash +export MEMORY_REQ=4Gi +export SPACE_REQ=20Gi +export REPLICAS=4 +``` + +If you need to access the MinIO UI from outside the cluster, configure the service as a LoadBalancer to expose port 9001 with `--set consoleService.type=LoadBalancer`. + +Finalize the install by installing the Helm release: + +```bash +# If you already tried this install but it failed you should erase previous PVC with : kubectl delete pvc -l app=minio -l release=argo-artifact +helm install argo-artifacts minio/minio \ + --set service.type=LoadBalancer \ + --set consoleService.type=LoadBalancer \ + --set fullnameOverride=argo-artifacts \ + --set resources.requests.memory=$MEMORY_REQ \ + --set replicas=$REPLICAS \ + --set volumeClaimTemplates.spec.resources.requests.storage=$SPACE_REQ +``` + +Login to the MinIO UI using a web browser (port 9001) after obtaining the external IP using `kubectl`. ```bash -kubectl get service argo-artifacts +kubectl get service argo-artifacts-console ``` On Minikube: ```bash -minikube service --url argo-artifacts +minikube service --url argo-artifacts-console ``` NOTE: When MinIO is installed via Helm, it generates credentials, which you will use to login to the UI: Use the commands shown below to see the credentials -- `AccessKey`: `kubectl get secret argo-artifacts -o jsonpath='{.data.accesskey}' | base64 --decode` -- `SecretKey`: `kubectl get secret argo-artifacts -o jsonpath='{.data.secretkey}' | base64 --decode` +```bash +# Retrieve MinIO credentials +rootUser=$(kubectl get secret argo-artifacts --namespace default -o jsonpath="{.data.rootUser}" | base64 --decode) +rootPassword=$(kubectl get secret argo-artifacts --namespace default -o jsonpath="{.data.rootPassword}" | base64 --decode) + +echo "MinIO Root User: $rootUser" +echo "MinIO Root Password: $rootPassword" +``` Create a bucket named `my-bucket` from the MinIO UI. If MinIO is configured to use TLS you need to set the parameter `insecure` to `false`. Additionally, if MinIO is protected by certificates generated by a custom CA, you first need to save the CA certificate in a Kubernetes secret, then set the `caSecret` parameter accordingly. This will allow Argo to correctly verify the server certificate presented by MinIO. For example: From b4c09aa0cba3f1dde352a245140f5b978814e2f8 Mon Sep 17 00:00:00 2001 From: pi-B Date: Fri, 17 Jan 2025 12:28:13 +0000 Subject: [PATCH 2/4] docs: update the documentation on MinIO configuration and give tips for beginner users Signed-off-by: pi-B --- docs/configure-artifact-repository.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/configure-artifact-repository.md b/docs/configure-artifact-repository.md index 2047ffaf88e3..116b5cd72636 100644 --- a/docs/configure-artifact-repository.md +++ b/docs/configure-artifact-repository.md @@ -34,7 +34,7 @@ helm repo add minio https://charts.min.io/ # official minio Helm charts helm repo update ``` -By default, this chart will deploy **16 replicas**, each requiring **16Gi of memory** and **500Gi of disk space** on your cluster. You can modify those values to fit the capacities of your environment, declaring `MEMORY_REQ`, `SPACE_REQ`, and `REPLICAS`. +By default, this chart will deploy *16 replicas, each requiring 16Gi of memory and 500Gi of disk space on your cluster. You can modify those values to fit the capacities of your environment, declaring `MEMORY_REQ`, `SPACE_REQ`, and `REPLICAS`. ```bash export MEMORY_REQ=4Gi From 7da2abd5876e4925315b1ccc957f510c6226000c Mon Sep 17 00:00:00 2001 From: pi-B Date: Fri, 17 Jan 2025 12:34:06 +0000 Subject: [PATCH 3/4] docs: update the documentation on MinIO configuration and give tips for beginner users Signed-off-by: pi-B --- docs/configure-artifact-repository.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/docs/configure-artifact-repository.md b/docs/configure-artifact-repository.md index 116b5cd72636..7c826a5146e2 100644 --- a/docs/configure-artifact-repository.md +++ b/docs/configure-artifact-repository.md @@ -34,7 +34,7 @@ helm repo add minio https://charts.min.io/ # official minio Helm charts helm repo update ``` -By default, this chart will deploy *16 replicas, each requiring 16Gi of memory and 500Gi of disk space on your cluster. You can modify those values to fit the capacities of your environment, declaring `MEMORY_REQ`, `SPACE_REQ`, and `REPLICAS`. +By default, this chart deploys 16 replicas, each requiring 16 GiB of memory and 500 GiB of disk space on your cluster. You can modify these values to match your environment's capacities by declaring the MEMORY_REQ, SPACE_REQ, and REPLICAS variables: ```bash export MEMORY_REQ=4Gi @@ -42,7 +42,11 @@ export SPACE_REQ=20Gi export REPLICAS=4 ``` -If you need to access the MinIO UI from outside the cluster, configure the service as a LoadBalancer to expose port 9001 with `--set consoleService.type=LoadBalancer`. +To access the MinIO UI from outside the cluster, configure the service as a LoadBalancer to expose port 9001 by using the following option: + +```bash +--set consoleService.type=LoadBalancer +``` Finalize the install by installing the Helm release: From 16b6b6aaf10011a251085568df89666cd31c1b9b Mon Sep 17 00:00:00 2001 From: pi-B Date: Fri, 17 Jan 2025 12:41:10 +0000 Subject: [PATCH 4/4] docs: update the documentation on MinIO configuration and give tips for beginner users Signed-off-by: pi-B --- docs/configure-artifact-repository.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/configure-artifact-repository.md b/docs/configure-artifact-repository.md index 7c826a5146e2..97a8691bb601 100644 --- a/docs/configure-artifact-repository.md +++ b/docs/configure-artifact-repository.md @@ -34,7 +34,7 @@ helm repo add minio https://charts.min.io/ # official minio Helm charts helm repo update ``` -By default, this chart deploys 16 replicas, each requiring 16 GiB of memory and 500 GiB of disk space on your cluster. You can modify these values to match your environment's capacities by declaring the MEMORY_REQ, SPACE_REQ, and REPLICAS variables: +By default, this chart deploys 16 replicas, each requiring 16 GiB of memory and 500 GiB of disk space on your cluster. You can modify these values to match your environment's capacities by declaring the `MEMORY_REQ`, `SPACE_REQ`, and `REPLICAS` variables: ```bash export MEMORY_REQ=4Gi @@ -42,7 +42,7 @@ export SPACE_REQ=20Gi export REPLICAS=4 ``` -To access the MinIO UI from outside the cluster, configure the service as a LoadBalancer to expose port 9001 by using the following option: +To access the MinIO UI from outside the cluster, configure the service as a `LoadBalancer` to expose port 9001 by using the following option: ```bash --set consoleService.type=LoadBalancer