Description:
When trying to install PMM on Minikube via Helm, it installs successfully. But when I try to login as admin user with the decoded password, it gives an invalid username/password.
Steps to Reproduce:
-
Follow this document: Helm - Percona Monitoring and Management
-
Run the following commands:
$ helm repo add percona https://percona.github.io/percona-helm-charts/
$ helm install pmm percona/pmm
$ kubectl get secret pmm-secret --namespace default -o jsonpath='{.data.PMM_ADMIN_PASSWORD}' | base64 --decode
- to get the password
$ minikube service monitoring-service
- open your browser with the above URL and you should see the login page
- enter admin as the username, and the password from the one you decoded
Version:
Mac OS: Sonoma 14.3.1
Minikube: v1.26.1
Helm: v3.9.4
Logs:
From the pods, I only see this last few lines:
2024-03-14 16:48:52,412 INFO exited: qan-api2 (exit status 1; not expected)
2024-03-14 16:48:53,514 INFO spawned: 'qan-api2' with pid 720
2024-03-14 16:48:55,082 INFO success: qan-api2 entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2024-03-14 16:49:33,955 INFO exited: pmm-update-perform-init (exit status 0; expected)
Expected Result:
I should be able to login successfully
Actual Result:
I am getting an invalid username/password
Hi @brianestrada658,
Are those commands you sent there in the exact same sequence you ran them? You should first create the secret, and then use helm install
pointing to it.
Please send us the exact commands you used, and in the exact same order.
The documentation link you pointed to has the correct order and syntax:
1- Create secret:
2- Install:
Note that the full install command is presented as a multiline shell command:
helm install pmm \
--set secret.create=false \
--set secret.name=pmm-secret \
percona/pmm
Which is the same as running:
helm install pmm --set secret.create=false --set secret.name=pmm-secret percona/pmm
Hi Guys! I’m having the same issue. I’m trying to deploy PMM using helm chart with terraform and the service is getting deployed but when I try to connect to it using kubectl port-forward I get an error “Invalid username and password”
This is my terraform code
resource "helm_release" "pmm" {
name = var.namespace
chart = "percona/pmm"
namespace = var.namespace
# version = "1.3.13"
values = [data.template_file.helm_values.rendered]
cleanup_on_fail = true
create_namespace = true
}
Here is the helm_values.yaml file
secret:
name: pmm-secret
create: true
pmm_password: "admin"
service:
name: monitoring-service
type: NodePort
ports:
- port: 443
targetPort: https
protocol: TCP
name: https
- port: 80
targetPort: http
protocol: TCP
name: http
I tried setting the create: false value and create the value manually before running the terraform code using this code
cat <<EOF | kubectl create -n pmm -f -
apiVersion: v1
kind: Secret
metadata:
name: pmm-secret
labels:
app.kubernetes.io/name: pmm
type: Opaque
data:
# base64 encoded password
# encode some password: `echo -n "admin" | base64`
PMM_ADMIN_PASSWORD: YWRtaW4=
EOF
But still got the same error. Not sure what I’m doing wrong. Last week I was working with this same code and everything was working just fine.
when I run the
kubectl get secret pmm-secret --namespace pmm -o jsonpath=‘{.data.PMM_ADMIN_PASSWORD}’ | base64 -d
I get the value for the default password which is admin
Thanks a lot guys for you help! 
PS: I tried installing it with plain helm without terraform using this command but got the same error
helm repo add percona https://percona.github.io/percona-helm-charts/
helm install pmm \
-n pmm \
--set secret.create=false \
--set secret.name=pmm-secret \
percona/pmm
Ok, the fix was to run the change-admin-password inside te pod and now it’s working!
I did that by running
kubectl -n pmm exec --stdin --tty pmm-0 -- change-admin-password admin2025