MinIO console and control panel in local
If you need to extend or correct something of the MinIO console integration, you have to take into account a set of peculiarities explained in Integration of the MinIO console into the platform.
Â
To set up the integration in a development environment, the fastest way is to do the following:
Boot a Rancher 2 locally:
docker run -d --restart=unless-stopped \ -p 8443:443 --privileged rancher/rancher:latest
Once booted, copy the kubect configuration to local in: $HOME/.kube/config
Run the chart of the basic MinIO installation, which is at https://gitlab.devops.onesait.com/onesait/platform/engine/onesait-platform/deployment/onesaitplatform-operator
helm install onesaitplatform-minio-minimal-chart/ --namespace onesaitplatform --generate-name --version 3
With this, you will have MinIO running in your premises. As this Rancher does not have Ingress, you have to expose the services manually using the following commands, which expose both consoles (ports 9001 and 9002) as well as the MinIO server (port 9000).
kubectl port-forward service/minio-console 9001:9090 -n onesaitplatform --insecure-skip-tls-verify=true --address='0.0.0.0'
kubectl port-forward service/minio-browser 9002:9090 -n onesaitplatform --insecure-skip-tls-verify=true --address='0.0.0.0'
kubectl port-forward service/minio 9000:9000 -n onesaitplatform --insecure-skip-tls-verify=true --address='0.0.0.0'
The next step is to have subdomains for the MinIO consoles in your premises (in the controlpanel, you can’t use the typical localhost:9001 and localhost:9002, but you need subdomains). To do this, edit the etc/hosts file with the following mock domains to your own machine:
Finally, due to the configuration of the MinIO consoles, to embed them in an IFrame, you have to do it via HTTPS, so you need to generate three certificates and configure them in an NGINX, which will give access to the control panel and to both consoles. To do this, follow the instructions in this page Create a Self-Signed Certificate for Nginx in 5 Minutes and generate three certificates for (example):
midominio.com
miniobrowser.midominio.com
minioadmin.midominio.com
Next, configure a containerized NGINX that redirects to the control panel and both MinIO consoles through a secure port.
Create a directory nginx_minio with two subdirectories:
nginx
certs
Copy the certificates from the previous step to certs.
In the nginx subdirectory, copy a base nginx configuration (e.g. copied from a new nginx container).
In nginx_minio/nginx/nginx.conf , configure that the configurations of /etc/nginx/conf.d are included.
Create in nginx_minio/nginx the directory conf.d and create in it the configuration of redirections to the controlpanel and the MinIO consoles through three files:
controlpanel.conf:
minio-console-browser.conf
minio-console-admin.conf
Start the nginx:
By starting the controlpanel from eclipse, you will have access to the integrated console with MinIO through https://mydomain.com/controlpanel. It is likely that you have to configure in the console configuration in Endpoint modules, the MinIO routes.