arkade icon indicating copy to clipboard operation
arkade copied to clipboard

Bug: Minio chart deprecated

Open elyesbenamor opened this issue 1 year ago • 1 comments

Expected Behaviour

Based on the arkade documentation, installing minio application will invoke ark install minio and the behaviour would be installing minio in the default namespace.

Current Behaviour

Invoking ark install minio led to this issue

Node architecture: "amd64"
Access Key not provided, one will be generated for you
Secret Key not provided, one will be generated for you
Using Kubeconfig: /root/.kube/config
[Warning] unable to create namespace default, may already exist: Error from server (AlreadyExists): namespaces "default" already exists
Client: x86_64, Linux
2024/01/07 14:41:16 User dir established as: /root/.arkade/
Error: looks like "https://helm.min.io/" is not a valid chart repository or cannot be reached: Get "https://helm.min.io/index.yaml": dial tcp: lookup helm.min.io on xxxxx: no such host
Error: looks like "https://helm.min.io/" is not a valid chart repository or cannot be reached: Get "https://helm.min.io/index.yaml": dial tcp: lookup helm.min.io on xxxxx:53: no such host

Error: exit code 1

I tried to install it manually using simple helm command didn't work either helm repo add minio https://helm.min.io/

helm repo add minio https://helm.min.io/
Error: looks like "https://helm.min.io/" is not a valid chart repository or cannot be reached: Get "https://helm.min.io/index.yaml": dial tcp: lookup helm.min.io on 172.30.80.1:53: no such host

Possible Solution

Updated the minio chart repository to point to https://charts.bitnami.com/bitnami Builded the arkade binary again and installed the minio app. go build ./arkade install minio

./arkade install minio
Node architecture: "amd64"
Access Key not provided, one will be generated for you
Secret Key not provided, one will be generated for you
Using Kubeconfig: /root/.kube/config
[Warning] unable to create namespace default, may already exist: Error from server (AlreadyExists): namespaces "default" already exists
Client: x86_64, Linux
2024/01/07 14:44:11 User dir established as: /root/.arkade/
"minio" has been added to your repositories

Hang tight while we grab the latest from your chart repositories...
...Unable to get an update from the "truecharts" chart repository (https://charts.truecharts.org/):
        Get "https://charts.truecharts.org/index.yaml": tls: failed to verify certificate: x509: certificate is valid for *.github.io, github.io, *.github.com, github.com, www.github.com, *.githubusercontent.com, githubusercontent.com, not charts.truecharts.org
...Successfully got an update from the "metallb" chart repository
...Successfully got an update from the "portainer" chart repository
...Successfully got an update from the "trivy-operator" chart repository
...Successfully got an update from the "openebs" chart repository
...Successfully got an update from the "ingress-nginx" chart repository
...Successfully got an update from the "aqua" chart repository
...Successfully got an update from the "litmuschaos" chart repository
...Successfully got an update from the "vault-raft-snapshot-agent" chart repository
...Successfully got an update from the "klustair" chart repository
...Successfully got an update from the "harbor" chart repository
...Successfully got an update from the "netdata" chart repository
...Successfully got an update from the "cert-manager" chart repository
...Successfully got an update from the "signoz" chart repository
...Successfully got an update from the "openfaas" chart repository
...Successfully got an update from the "stakater" chart repository
...Successfully got an update from the "nicholaswilde" chart repository
...Successfully got an update from the "gabe565" chart repository
...Successfully got an update from the "grafana" chart repository
...Successfully got an update from the "prometheus-community" chart repository
...Successfully got an update from the "minio" chart repository
...Successfully got an update from the "bitnami" chart repository
Update Complete. ⎈Happy Helming!⎈

VALUES values.yaml
Command: /root/.arkade/bin/helm [upgrade --install minio minio/minio --namespace default --values /tmp/charts/minio/values.yaml --set secretKey=Dmn16/OygKW2yc6+d3QKm6jNUt9aewE7N++r+9V2 --set persistence.enabled=false --set accessKey=03yIAJ2484jPw4NaZ202]
Release "minio" has been upgraded. Happy Helming!
NAME: minio
LAST DEPLOYED: Sun Jan  7 14:44:18 2024
NAMESPACE: default
STATUS: deployed
REVISION: 2
TEST SUITE: None
NOTES:
CHART NAME: minio
CHART VERSION: 12.12.2
APP VERSION: 2023.12.23

** Please be patient while the chart is being deployed **

MinIO® can be accessed via port  on the following DNS name from within your cluster:

   minio.default.svc.cluster.local

To get your credentials run:

   export ROOT_USER=$(kubectl get secret --namespace default minio -o jsonpath="{.data.root-user}" | base64 -d)
   export ROOT_PASSWORD=$(kubectl get secret --namespace default minio -o jsonpath="{.data.root-password}" | base64 -d)

To connect to your MinIO® server using a client:

- Run a MinIO® Client pod and append the desired command (e.g. 'admin info'):

   kubectl run --namespace default minio-client \
     --rm --tty -i --restart='Never' \
     --env MINIO_SERVER_ROOT_USER=$ROOT_USER \
     --env MINIO_SERVER_ROOT_PASSWORD=$ROOT_PASSWORD \
     --env MINIO_SERVER_HOST=minio \
     --image docker.io/bitnami/minio-client:2023.12.23-debian-11-r1 -- admin info minio

To access the MinIO® web UI:

- Get the MinIO® URL:

   echo "MinIO® web URL: http://127.0.0.1:9001/minio"
   kubectl port-forward --namespace default svc/minio 9001:9001
=======================================================================
= Minio has been installed.                                           =
=======================================================================

# Forward the minio port to your machine
kubectl port-forward -n default svc/minio 9000:9000 &

# Get the access and secret key to gain access to minio
ACCESSKEY=$(kubectl get secret -n default minio -o jsonpath="{.data.accesskey}" | base64 --decode; echo)
SECRETKEY=$(kubectl get secret -n default minio -o jsonpath="{.data.secretkey}" | base64 --decode; echo)

# Get the Minio Client
arkade get mc

# Add a host
mc config host add minio http://127.0.0.1:9000 $ACCESSKEY $SECRETKEY

# List buckets
mc ls minio

# Find out more at: https://min.io

🚀 Speed up GitHub Actions/GitLab CI + reduce costs: https://actuated.dev

Steps to Reproduce (for bugs)

  1. ark install minio

Context

Your Environment

  • What Kubernetes distribution are you using?
kubectl v1.28.4
  • Operating System and version (e.g. Linux, Windows, MacOS):
Linux xxxxx 5.15.133.1-microsoft-standard-WSL2 #1 SMP Thu Oct 5 21:02:42 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

PRETTY_NAME="Ubuntu 22.04.3 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.3 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy
  • What arkade version is this?
arkade Version: 0.10.20

elyesbenamor avatar Jan 07 '24 13:01 elyesbenamor

@alexellis can we speed up this fix?

elyesbenamor avatar Jan 13 '24 14:01 elyesbenamor

Is there no upstream chart?

https://min.io/docs/minio/kubernetes/upstream/operations/install-deploy-manage/deploy-operator-helm.html

This is for the operator, but do they have an alternative for a more stand-alone installation, or is bitnami the only option for that now?

alexellis avatar Feb 24 '24 09:02 alexellis

First and I quote

The minio-operator/minio-operator is a legacy chart and should not be installed under normal circumstances.

Second only Bitnami now support the full minio installation features.

As described above I used the normal arkade installation for minio, and it failed, after investigation the chart used is no longer available.

elyesbenamor avatar Feb 28 '24 13:02 elyesbenamor

Given the changes Minio has made (we don't maintain and are not affiliated with Minio Inc) - if someone wants to contribute an update to arkade to switch to Bitnami's distribution of Minio I am fine with that.

Otherwise, feel free to install Bitnami's chart manually without arkade: https://github.com/bitnami/charts/tree/main/bitnami/minio

alexellis avatar Mar 29 '24 17:03 alexellis

@nitishkumar71 do you have time to try and convert this over to the Bitnami chart? There may be different parameters to consider vs the older chart which apparently has been deleted now so have a think about how to map things and whether they exist in the new chart.

alexellis avatar Mar 29 '24 17:03 alexellis

I am updating a course on arkade for the Linux Foundation and ran into this very issue. I am looking for clarification on when or whether this issue might be resolved.

eeganlf avatar Mar 29 '24 20:03 eeganlf

@nitishkumar71 do you have time to try and convert this over to the Bitnami chart? There may be different parameters to consider vs the older chart which apparently has been deleted now so have a think about how to map things and whether they exist in the new chart.

Sure, I will start looking into this.

nitishkumar71 avatar Mar 30 '24 17:03 nitishkumar71

I am updating a course on arkade for the Linux Foundation and ran into this very issue. I am looking for clarification on when or whether this issue might be resolved.

I would start looking into this and will try to finish asap.

nitishkumar71 avatar Mar 30 '24 17:03 nitishkumar71

Hi @eeganlf could you try out the change from @nitishkumar71 ?

https://github.com/alexellis/arkade/releases/tag/0.11.9

arkade update should get the newest version for you, or if you're not on Linux, you can download a newer version from the releases page.

alexellis avatar Apr 09 '24 14:04 alexellis

@alexellis works great, thanks!

eeganlf avatar May 15 '24 16:05 eeganlf

Glad to hear it @eeganlf

alexellis avatar May 16 '24 21:05 alexellis

/lock: resolved

alexellis avatar May 16 '24 21:05 alexellis