Installing with GCP Kubernetes WITHOUT HELM

I'm using image: neo4j:latest No Config-map. Totally basic install just to start. Using that image directly with Docker works fine, no problems at all. But when I use Kubernetes on GCP I get this in the logs.

Error: Unrecognized setting. No declared setting with name: SERVICE.SERVICE.HOST. Cleanup the config or disable 'server.config.strict_validation.enabled' to continue.

To debug, I put a spin loop in the spec so the pod doesn't exit, then I looked at the config file and its perfectly valid with no instance of "SERVICE.SERVICE.HOST" .

I tried to build a custom image that includes a complete neo4j.conf file and that didn't matter. I built an image with a totally bogus neo4j.conf file and indeed got new errors about the file being trash so that file is indeed being read. I have NO IDEA where "SERVICE.SERVICE.HOST" is coming from.

I also tried to use Config-Map but with that I get errors because something (I assume Neo) wants to chown the config file which is something Config-Map does not allow.

I looked at the instructions at Kubernetes - Operations Manual but that uses Helm which is a no-go for my environment. It's not allowed, I 120% MUST use a standard Kubernetes YAML file.

HELP? PLEASE!

Hi Rick,
Did you solve this?
I have encountered the exactly same problem when using Kubernetes under RedHat-OpenShift.
The only difference is that I have "COMMUNITY.SERVICE.HOST"

Hi @torodinekle and @rick,
Has anyone fixed this?
PLEASE HELP

Hi @rick and @torodinekle encountering the Unrecognized setting error with Neo4j in Kubernetes,

I faced a similar issue with my Neo4j deployment in Kubernetes (without helm) and found a solution that worked for me. I figured that the problem arise because Kubernetes automatically generates environment variables based on the names of services. These environment variables can inadvertently conflict with Neo4j's configuration parameters, especially when the service name contains "neo4j," leading to errors like the ones you've encountered.

Here's how to fix it:

Rename Your Neo4j Service: Avoid starting the service name with "neo4j". For example, change name: neo4j-service to name: custom-neo4j-service. Update all references in your configuration to match the new name.

This simple change resolved the issue for me, and my Neo4j service is now running without errors in Kubernetes. I hope this helps you and others facing similar problems!

1 Like

that is the best approach. And the approach I will choose from here and forward. As a temporary solution i ended up typing this as an env variable in my deploy file.

            - name: NEO4J_server_config_strict__validation_enabled
              value: "false"

If anyone see this. DO NOT DO AS ME. Do as mshittu.work.