Was looking for help installing Kiali dashboard with auth strategy anonymous as well as in view-only mode. I’ve installed kiali using istioctl. Was thinking I could pass the following flags during the generation of the manifest like:
–set values.kiali.dashboard.auth.strategy=anonymous --set values.kiali.dashboard.viewOnlyMode=true
but when I run this I get:
bad path=value (values.kiali.dashboard.auth.strategy=anonymous): unknown field “auth” in v1alpha1.KialiDashboardConfig
Even when I just pass the --set values.kiali.dashboard.viewOnlyMode=true, when I login I’m still able to edit the istio-system configurations.
Does anyone know how to get Kiali in anonymous auth and view-only mode using istioctl?
Interestingly, looks like the view-only mode flag is missing from the istioctl template, but the auth.strategy one is there:
So I can see why the viewonly mode flag doesn’t work, but the auth.strategy should work. You should write up a github issue on at least the view-only mode flag missing from the kiali configmap template. Check the kiali configmap and see if the auth strategy flag is set correctly.
Thanks for the reply. I generated a manifest file using the --set values.kiali.dashboard.viewOnlyMode=true and a second manifest file without the -set values.kiali.dashboard.viewOnlyMode=true. I then did a diff:
So looks like it did add some things associated with view only mode. However when I launch the dashboard I can still edit and delete istio configuration files.
I can’t even generate a manifest file with the –set values.kiali.dashboard.auth.strategy=anonymous as I get the bad path error.
Oh, that’s right. The view-only flag doesn’t need to be in the configmap. That’s really a flag for the Kiali Operator (and in this case, the helm templates).
So the view-only mode is supposed to install Kiali with a role that only gives it read permissions (that’s what the kiali-viewer role is supposed to be - its supposed to be different than the kiali role - your diff seems to show it is not different other than the name).
This is the problem of having custom installation for kiali within istioctl and not using the kiali operator. The Kiali Operator handles the view only mode properly. Doesn’t look like the helm istioctl does.
Yea, I looked at using the Kiali Operator earlier today. Based on the documentation, it says to run:
bash <(curl -L https://git.io/getLatestKialiOperator) --operator-install-kiali false
When I try this I get:
Using downloader: wget -q -O -
ERROR: Failed to determine latest Kiali release.
Make sure this URL is accessible and returning valid results: https://api.github.com/repos/kiali/kiali/releases
Thanks for the response. Any idea why this error occurs when I try and install the operator? ERROR: Failed to determine latest Kiali release. Make sure this URL is accessible and returning valid results: https://api.github.com/repos/kiali/kiali/releases
MacOS? Make sure you have installed the latest wget.
@mithomps knows the details - he ran into this a couple weeks ago. He just used the Mac installer to install the latest wget (or was it curl?) to get it to work.
Ah ok. I already had wget version 1.19.4_1 installed. After upgrading to 1.20.3_2, I am no longer getting the ERROR: Failed to determine latest Kiali release. message
Istio 1.5 no longer generates certs, so until Kiali 1.15 is released, try to pass in “-oiv latest -kiv latest” so the deploy script installs the latest Kiali (this is the latest master build). 1.15 should be released this week - definitely by beginning of next week.
# If this fails, you are missing wget, which is needed by the script anyway
wget https://git.io/getLatestKialiOperator
# This traces the script execution in case something goes wrong
bash -x getLatestKialiOperator -an '**' -kcr kiali-cr.yaml
Is there a way to check if the kiali operator is already installed, Trying to automate the installation of the operator via Jenkins. I guess I could check for the existance of the kiali-operator namespace and then skip the stage to install the operator, but was wondering if there was some command I can run that will check like the istioctl verify-install command.
Any ideas of how to add node affinity to the kiali operator pod? Tried adding the following to the kiali-cr.yaml file:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kops.k8s.io/instancegroup
operator: In
values:
- my-job-nodes
Kiali operator doesn’t register with the node I’m trying to assign it to.