If you're running an on-premise installation of Cloud CMS and are unable to deploy UI modules via the main user interface, here are a few tips and pointers.
Things to consider:
1. When you click on the "Deploy Module" option, your a URL connection is made from the UI server back to the API server. Specifically, it invokes a POST to the route:
/oneteam/modules/deploy
Check your API side logs or any firewalls or proxies along the way to make sure that an API server receives this call. For example, you may need to whitelist the UI server's IP address if the API server is restricted from receiving direct HTTP calls somehow.
2. The API server receives this call and updates the API side state for the registered module. It then makes an HTTP call of its own back to the UI server. It does this by using the value for:
oneteam.uiresolver.template
As defined in your docker.properties file. The default value for this is:
http://ui
Which is a direct route to your Docker UI service (for the Quickstart config). You've likely configured this to something else if you've set up Cloud CMS in production.
The API server will make a POST call to this URL and will invoke the following route:
/_modules/_deploy?id={moduleId}
Check your UI side logs or any firewalls or proxies along the way to make sure that a UI server receives this call. If you don't see an entry in the UI logs to indicate that the URL call was received, then something along the way likely blocked it.
For example, you may need to whitelist the API server so that your UI server can receive HTTP calls from it.
3. Check your UI logs to see log entries that describe the operations that occur for deployment. You should see messages that indicate the usage of Git to clone the repository source, move it into the proper directory. If applicable, build steps may be invoked. These messages should all get bundled into the logs.
4. When you refresh your browser, the UI server serve your request and will detect the presence of the deployed modules. You should see a cookie get populated with a comma-separated value of any deployed modules. This cookie is named:
cloudcmsModuleIdentifiers
And it will have a comma-separated value set, like this:
myFirstModule,mySecondModule,myThirdModule