Introduction
Central Config Server (CCS) is a separate server meant to create, manage, and quickly deploy ColdFusion administrator settings.
Using CCS, you can:
- Add/edit/delete a ColdFusion server instance to CCS.
- Add/edit/delete any setting (in ColdFusion Admin) and propagate the change to all the servers, which have been added to CCS.
- Create multiple clusters of ColdFusion servers. Within a cluster, you can categorize servers as stage/production, apply changes to stage servers, test performance, and then apply the same changes to the production server.
- Audit/monitor the changes to a ColdFusion server/instance.
- View the version history, which tracks all the changes done in ColdFusion Admin, and rolls back to any older version.
Install CCS
Using ColdFusion Package Manager
- Navigate to <CF_Instance_Home>/cfusion/bin.
- Enter cfpm.bat
- Type install ccs
Using ColdFusion Administrator
- You can also install CCS using ColdFusion Administrator > Package Manager.
Start CCS
- Once the CCS package is installed, you can start the CCS server using ccs.bat on Windows and ccs.sh on non-Windows platforms.
- Launch ccs.sh/ccs.bat.
- Use the command “startServer” to start CCS Server.
This starts the server in an interactive mode. To start server in a non -interactive mode run command:
ccs.sh/bat startserver
Enter help in the CCS.sh/CCS.bat console to learn about other supported commands.
Other CCS Commands
Command | Usage | Description |
startserver | ccsserver>startserver | Starts the Central Config Server. |
stopserver | ccsserver>stopserver |
Stops the Central Config Server. |
listnodes | ccsserver>listnodes |
Lists the Central Config Server. |
disablenode | ccsserver>disablenode node |
Disable the node that has been added. |
enablenode | ccsserver>enablenode node |
Enable the node that has been added. |
deletenode | ccsserver>deletenode node |
Delete the node that has been added. |
Add a node to CCS
Once the CCS server is started , you can add nodes to CCS. Add the nodes manually.
CCS's Auto Discovery option is ONLY VALID until ColdFusion (2023 release) Update 6.
Adding Nodes using Auto-Discovery
You can also use the auto-discovery feature to automatically detect nodes in the same network and add them to your CCS server.
Navigate to the Administrator console of the ColdFusion instance from where CCS Server is started.
On the CCS page in Server Settings, you have a client section and the server section. Go to the server section and click Start Auto Discovery. This will list the set of nodes that it can find in its network of ColdFusion that are running. You can choose any node to add to your environment.
Adding nodes manually using ColdFusion Administrator console
Navigate to the Administrator console of the ColdFusion instance from where CCS Server is started.
On the CCS page, you have a client section and a server section. Go to the server section and you can add the details of the ColdFusion node to be added to the CCS server.
Adding nodes manually using CCS Command Line Console
You can add a node using ccs.sh on non-windows platform and ccs.bat on windows platform . This script is present in <CF_INSTANCE_HOME>/bin directory.
Enter the command, addnode.
The addnode command accepts teh following:
- Hostname
- Port
- Context root (in case of JEE installation) on which ColdFusion server runs
- Secret key
You can get the secret key from the ColdFusion Admin console of the node in the CCS page or on the ccs.properties file located in the <CF_Instance_Home>/lib/ccs.
ADDNODE COMMAND
addnode <hostname>:<port>/<JEEcontextroot> secretkey
CCS Server Nodes
Once you add a node to the CCS server, all the settings of the node will be stored in the CCS Server. You can then change the ColdFusion settings using ColdFusion Admin, Admin APIs, or CFSetup.
Any change in the settings will be stored in CCS, and will be replicated across all nodes that are added to the CCS server.
ColdFusion nodes added to a CCS Server belong to a certain cluster and environment. By default, any node added to CCS belongs to ‘development’ environment and default cluster name is ‘_CF_DEFAULT’.
This will categorize your settings based on the kind of deployment.
For example, you'd like to test the performance of your applications with ‘Null Support’ on. You can enable this setting in one of your development servers added to CCS, and the setting will be propagated to all the development servers, which belong to the same cluster.
Note: The cluster mentioned is different from the ColdFusion cluster, created using Enterprise Manager. This CF nodes cluster is used only by the config server to save deployment specific settings.
Configuring cluster and environment of a ColdFusion Node
You can configure the cluster and environment to which a ColdFusion Node belongs to using the CCS page in ColdFusion Admin.
On the CCS page, you can update the cluster name and the current environment of the node.
You can also change the environment & cluster using the ccs.properties file, located inside <CF_Inst ance_HOME>/lib/ccs/.
Edit the file, save the file, and restart your ColdFusion server.
This file can also be used to exclude settings, load from versions and environments, change CCS server details. Restart ColdFusion to apply the changes.
Configuring environment available to CCS clients
By default, there are four environments, development, stage, test, and production, that are available to the ColdFusion nodes. You can add/remove environments in the CCS server.
To add or remove any environment,
- Go to the ColdFusion instance directory from where CCS is running.
- Edit server.properties located in <CF_Instance_Home>/lib/ccs.
Using this file you can also edit the port on which CCS Server is running.
Exclude files
In the ccs.properties file, we’ve added a setting ‘ excludeFiles’. At times, you do not want to sync all settings across the nodes and keep separate settings for each node of your ColdFusion server. Add the name of the file in excludeFiles. For example, you do not want to sync cloud configurations added to your node, then go to <CF_Instance_Home>/lib/ccs/ccs.properties and add neo-cloud-config.xml as a value to excludeFiles settings. This setting accepts a list with ‘,’ as a delimiter.
Version history
If you change any Admin setting, for example, Timeout Request, the change can be seen in the version history. Every time you make any change, an entry gets added.
Deleting a version does not mean reverting to the original value. If you delete the version, the Timeout Request does not revert to the original value. This implies that you cannot load from this version, more info in the load from versions and environment.
Load from versions and environment
After you change any Admin setting, if you want to use the version with the new setting, then use the Load settings section to select the version for the node.
If you delete any version, that version will not appear in the Version drop-down. So, if you’d like to get the setting of your production environment, you can select the required version, and the change will be applied to the environment.
You can choose to move from one cluster to another as well. If you want to change the environment, you can also load from the setting. This will only load the settings into the current environment. It will not move the current node to another environment. If you are in the development environment and you're trying to load a setting, it will just load the setting. It will not move you from development to the production environment, but if you want your node to move from your development to production environment. You can select the environment from the drop down and change the name of the cluster.
Support for JEE installations
Add a node where a JEE config is running. In ColdFusion Admin > Server Settings > CCS, you can add the node where the JEE config runs. The secret key is used for secure communication between the Central Config Server and the ColdFusion Admin.
The new node gets added, and you can view it in the Current nodes list.
While adding a JEE node, specifying the context root is mandatory.
Settings that are not synced
- Java and JVM settings
- Scheduled tasks
- Any settings that involve file path for ex., custom tags.
- Datasource settings
- Passwords, for example., database connection password, or admin user password.
CCS Settings Store
In the <CF_Instance_Home>/bin directory of the ccs server, a folder ccsstore contains separate directories for separate clusters. Inside each cluster folder, there are separate directories for each environment. Then for each version of settings, there is an associated folder.
Document revision history
- Removed the Auto-discovery feature in ColdFusion (2023 release) Update 7.