Skip to main content
coldbhop
Participant
July 2, 2026
Question

cfusion2025 (docker & kubernetes/openshift), import of cfconfig/datasource failing

  • July 2, 2026
  • 1 reply
  • 47 views

I’m trying to setup a configurable coldfusion docker/kuberntes environment where I can just swap the datasource configs in order to boot up different stages.

I have managed to do this locally on docker by setting up datasources in the cfusion admin page, and then copying the neo-datasource.xml configuration to my host machine.
After that, I adjusted my docker compose to mount the neo-datasource.xml to it’s respective location:

    volumes:
- ./coldfusion/neo-datasource.xml:/opt/coldfusion/cfusion/lib/neo-datasource.xml

This works.

Though, this only works locally, and not on kubernetes. In my attempt to replicate this for kubernetes, I have mounted the neo-datasource.xml into my kuberntes deployment via configmap, but cfusion attempts to write into neo-datasource.xml which is an issue because kubernetes configmaps are always read-only. Here’s the correlating log error:

 Unable to install SQL package: coldfusion.server.ServiceRuntimeException: java.io.FileNotFoundException: /opt/coldfusion/cfusion/lib/neo-datasource.xml (Read-only file system)

This was my first attempt of outsourcing a datasource configuration for cfusion.


My second approach was to try to export the datasource settings with cfsetup export, and export the settings to a json. For exporting/importing the datasource configuration, i have followed this guide:
https://helpx.adobe.com/de/coldfusion/using/cfsetup-configuration-tool.html
https://guides.adobe.com/coldfusion/en/docs/install-and-configure-coldfusion/docker-images-coldfusion.html

The export works, but the import always fails.
I have copied the exported datasource json to my local machine, and mounted it into the /app folder to /app/datasource.json.
In my docker-compose.yaml I have set the “importCFSettings” flag:

    environment:
- acceptEULA=YES
- password=redacted
- importCFSettings=/app/datasource.json
- installModules=oracle
volumes:
- ./coldfusion/cfconfig.json:/app/datasource.json
- ./sources:/app

This would I guess be the best solution if this worked, since I could mount the datasource.json into a configmap to my kubernetes deployment, and importCFSettings would, I suppose, override the neo-datasource.xml which would solve my read-only issue.

When booting up my local docker though, I get these warnings/errors:

WARN: The JSON has no data for category: CUSTOMTAG

ERR: Import of test_datasource in DATASOURCE is unsuccessful.

WARN: The JSON has no data for category: DEBUG

WARN: The JSON has no data for category: DOCUMENT

WARN: The JSON has no data for category: DOTNET

WARN: The JSON has no data for category: EMBEDDINGMODEL

WARN: The JSON has no data for category: EVENTGATEWAYINSTANCE

WARN: The JSON has no data for category: EVENTGATEWAYSETTING

WARN: The JSON has no data for category: EVENTGATEWAYTYPE

WARN: The JSON has no data for category: GRAPHQLCLIENTCONFIG

/opt/coldfusion/cfusion/gql/pom.xml

WARN: The JSON has no data for category: GRAPHQLSERVICECONFIG

WARN: The JSON has no data for category: IDPCONFIGURATION

WARN: The JSON has no data for category: LDAPCONFIG

WARN: The JSON has no data for category: LOGGING

WARN: The JSON has no data for category: MAIL

WARN: The JSON has no data for category: MAPPING

WARN: The JSON has no data for category: MCPSERVER

WARN: The JSON has no data for category: METRIC

WARN: The JSON has no data for category: MONITORING

WARN: The JSON has no data for category: NOSQL

WARN: The JSON has no data for category: PDFSERVICE

WARN: The JSON has no data for category: PROBE

WARN: The JSON has no data for category: PROBECONFIG

WARN: The JSON has no data for category: REST

WARN: The JSON has no data for category: RUNTIME

WARN: The JSON has no data for category: SAMLCONFIG

WARN: The JSON has no data for category: SANDBOX

WARN: The JSON has no data for category: SCHEDULETASK

WARN: The JSON has no data for category: SECURITY

WARN: The JSON has no data for category: SOLR

WARN: The JSON has no data for category: SPCONFIGURATION

WARN: The JSON has no data for category: USER

WARN: The JSON has no data for category: VECTORSTORE

WARN: The JSON has no data for category: WATCH

WARN: The JSON has no data for category: WEBSERVICE

WARN: The JSON has no data for category: WEBSOCKET

ERR: Import of DATASOURCE is unsuccessful.

Backup of files are taken and stored at /opt/coldfusion/cfusion/lib/cfsetup_backup/1782983852508.

ExitStatus: FAIL

Error: Failed to import CF settings


I am using the following image:
adobecoldfusion/coldfusion2025:latest

 

Is there any other approach I could try? Have I missed something or is this a bug to cfusion2025?

 

    1 reply

    coldbhop
    coldbhopAuthor
    Participant
    July 2, 2026

    I have managed to succeed now with importCFSettings locally on docker. There was some config I was missing…

    Though, it still isn’t working on kubernetes/openshift:

    Import CF settings
    Password: su: Authentication failure
    Error: Failed to import CF settings

    Probably an openshift SCC issue.

    Charlie Arehart
    Community Expert
    Community Expert
    July 6, 2026

    Since you mention focus on the problem being about openshift, have you had new info since your other note of a couple weeks ago where you shared that Adobe confirmed openshift was not yet supported?

     

    If it's just about kubernetes alone, does it get that sms error? And have you dug into the logs within the cf folder of the container? Most are NOT exposed as docker or k8s logs. There may helpful insight into what remains amiss. 

    /Charlie (troubleshooter, carehart. org)
    coldbhop
    coldbhopAuthor
    Participant
    July 9, 2026

    Adobe Support has provided me with a temporarily working docker file for now that fixes some of the issues on OpenShift. Running it in a vanilla Kubernetes environment works without any issues.

    Haven’t taken a look at the other cf logs you mentioned, thanks for the tip. Regardless, it’s simply OpenShift being too restrictive when it comes to user permissions and the Dockerfile requires some permission adjustments since the cf image itself comes with a user that wants to execute read/write actions, whereas openshift generates a non-root user with a random uid that the container starts with.