operator icon indicating copy to clipboard operation
operator copied to clipboard

Minio Operator Path Prefix Change

Open jyousefpour1 opened this issue 1 year ago • 2 comments
trafficstars

Is your feature request related to a problem? Please describe. A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] Minio Operator helm chart does not allow changing the path prefix of the console ui to something different than /login in the values.yaml when connected to a reverse proxy Describe the solution you'd like A clear and concise description of what you want to happen. values.yaml allow a new variable to change path prefix of the minio-operator dashboard

Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered. Have considered setting the MINIO_SERVER_URL but it defaults to minio-dashboard with any prefix supplied after /

Additional context Add any other context or screenshots about the feature request here.

jyousefpour1 avatar Feb 01 '24 13:02 jyousefpour1

@jyousefpour1 After small investigating the problem, I have identified the root cause and a potential solution.

The issue stems from the presence of the tag in the operator/web-app/public/index.html file. This tag forces all relative links and resource paths within the web application to be resolved from the site root /, instead of the path prefix where the Minio Operator is deployed when running behind a reverse proxy.

YuriyKrasilnikov avatar Mar 17 '24 12:03 YuriyKrasilnikov

Hello jyousefpour1, thank you for raising this issue. I believe it is related to the following:

  • https://github.com/minio/operator/pull/1616
  • https://github.com/minio/console/pull/2818

The solution may lie within the environment variables of the console deployment for the operator:

apiVersion: apps/v1
kind: Deployment
spec:
  replicas: 1
  selector:
    matchLabels:
      app.kubernetes.io/instance: minio-operator-console
      app.kubernetes.io/name: operator
  template:
    metadata:
      creationTimestamp: null
      labels:
        app.kubernetes.io/instance: minio-operator-console
        app.kubernetes.io/name: operator
    spec:
      containers:
        - name: operator
          image: docker.io/minio/operator:v5.0.4-13-g041a74ca
          args:
            - ui
            - '--certs-dir=/tmp/certs'
          ports:
            - name: http
              containerPort: 9090
              protocol: TCP
            - name: https
              containerPort: 9443
              protocol: TCP
          env:
            - name: OPERATOR_SUBPATH
              value: /minio-operator/

Particularly, in reference to this section:

          env:
            - name: OPERATOR_SUBPATH
              value: /minio-operator/

This can also be accomplished via the Helm chart, in the values file under the console section:

  ###
  # An array of environment variables to pass to the Operator Console deployment.
  # Pass an empty array to start Operator Console with defaults.
  env: [ ]

Please let us know if this is helpful for you

cniackz avatar Mar 18 '24 21:03 cniackz

I have the same problem. could the problem be solved? I am trying to reach minio via a subpath (in kubernetes), but I get an error in the console in the browser after adding OPERATOR_SUBPATH. SyntaxError: Unexpected token '<' Manifest: Line: 1, column: 1, Syntax error. This seems to be the same problem as described in #1607. Only their solution also refers to #1616. I just don't know what to do, I've been going round in circles for hours, and there doesn't seem to be any documentation about it either.

BigFlagBurito avatar Jul 01 '24 19:07 BigFlagBurito

MinIO operator UI will be removed from v6. Operators are commonly used to manage deployments via Kubernetes resources and are not typically used via a UI. It's not common for operators to have a web interface and it requires a lot of resources to bring all operator features to the web interface. The UI has been lagging behind for a while, so we finally decided to remove it.

ramondeklein avatar Jul 09 '24 09:07 ramondeklein