Code Monkey home page Code Monkey logo

Comments (5)

moxious avatar moxious commented on June 19, 2024 1

Yes, this makes sense. When you set a password in neo4j 4.0+, it writes something to the system database. If you retain disk images between launches, then when your new database starts up, it will have the state on disk of the old system database, which of course has the old password.

This can be avoided several ways:

  • When redeploying, use a different name
  • Prior to redeploying, delete the PVCs associated with the old deploy
  • Prior to redeploying, use other tooling to delete the /data/databases folders in the PVC mount point.

Unfortunately, as your'e describing this situation, it's working as intended. Helm doesn't auto-delete the PVCs associated with the install when you delete -- because the purpose of PVCs is to retain the data.

from neo4j-helm.

guga-kudos avatar guga-kudos commented on June 19, 2024 1

@moxious, yes indeed!

Sorry, I guess it was misinformation from my end.

But it is a good headsup if anyone stubble upon this in the future :)

Thanks a lot for your help

from neo4j-helm.

moxious avatar moxious commented on June 19, 2024

I'm not sure what's happening here because this bit is tested, and I can't reproduce.

Could you paste the exact command you're using to connect using this password, and what it's result is? Can you verify that the secret was installed in kubernetes, and that it's base64 decoded value is mySecretPassword?

A final thing to try is the default neo4j/neo4j. If the container failed to set your desired password (for some reason, which I doubt) then the password would be neo4j.

from neo4j-helm.

moxious avatar moxious commented on June 19, 2024

Any update here?

from neo4j-helm.

guga-kudos avatar guga-kudos commented on June 19, 2024

Hey @moxious , thanks for your quick response and sorry for my late one.

So I investigated a little bit more and it seems to be related to persistent volumes. If I install the chart once, delete it, and install it again with a different password it will keep the first password stored in the volume.

I don't know if that is an issue, but it might get people confused.

Here is what a I did to reproduce:
(make sure to clean up all the persistent volumes and claims using kubectl, or install chart with a different name)

  1. Install the chart for the first time:
helm install graphdb RELEASE_URL --set core.standalone=true --set acceptLicenseAgreement=yes --set neo4jPassword=pass1
  1. Run inside the cluster:
# this should work
curl http://neo4j:pass1@graphdb-neo4j-core-0.graphdb-neo4j.default.svc.cluster.local:7474/user/neo4j
  1. Delete chart:
helm delete graphdb --purge
  1. Install it again with different password:
helm install graphdb RELEASE_URL --set core.standalone=true --set acceptLicenseAgreement=yes --set neo4jPassword=pass2
  1. Run inside the cluster:
# this should not work
curl http://neo4j:pass2@graphdb-neo4j-core-0.graphdb-neo4j.default.svc.cluster.local:7474/user/neo4j

# this should work
curl http://neo4j:pass1@graphdb-neo4j-core-0.graphdb-neo4j.default.svc.cluster.local:7474/user/neo4j

from neo4j-helm.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.