cfusion2025 (docker & kubernetes/openshift), import of cfconfig/datasource failing
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.xmlThis 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:/appThis 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?
