Customized Template Integration to a Platform

In order to make a custom dockerized template available for users on your Platform, enter your JCA panel with admin credentials and proceed with the following steps.

  1. At the first, you need to add your registry to the list of known hosts so it can be used as a template source. Thus, go to the Templates > Docker Registries subsection, click Add at the top pane and fill in the opened form. 14

Here, fill in the fields as follows:

  • Name - specify a name to identify your registry
  • Host/IP - insert (for a custom registry use, type its host or IP address)
  • Login / Password - type in credentials for your GitLab account

Click Add to store the entered data.

that subsequently, when editing these parameters for the already added registry, you need to obligatory enter the corresponding Password again. Otherwise, the information will be overwritten and you’ll be faced errors while trying to import templates from it.
  1. Switch to the Templates section, expand the Add list and click on the From Docker Repository option. 15

  2. In the appeared Add Template dialog box, select the just added Registry and specify the Repository where your template is stored. 16

Click Next and system will start fetching the required image data.

  1. The default Settings and Tags will be automatically set according to the template parameters. 17

Here, you are able to customize the following settings:

  • Node Mission - environment layer the stack will be placed at; defines its specific behaviour (e.g. deployment option for app servers, password reset for DB, etc.); possible values: bl, cp, cache, sqldb, nosqldb, storage, vps, build
  • Node Type - unique template identifier
  • Display Name - server name to be shown within end-user dashboard (herewith, templates with the same Display Name are automatically grouped into expandable list of versions)
  • Engine Type - topology wizard tab the stack will be available through according to the used programming language (except of Docker)
  • Icons (16x16 and 32x32) - images to be used for the stack throughout dashboard and JCA; currently, can be customized only when editing the already added template settings rather than while its initial addition

At the right part of the frame, select image Tags that will be available for choosing while deployment and mark an obligatory Default one within the corresponding check-box columns.

Click Add to proceed.

  1. The newly added template will appear in the common software stack list, being automatically marked as unpublished.

At this stage, we recommend to perform comprehensive testing of your customized template with the Preview Unpublished option - it will open your user dashboard with the corresponding server being visible in the wizard. 18

  1. If everything looks fine and you’d like to make your custom template available for the rest of users, proceed with one of the procedures depending on:
  • if entire template was customized (i.e. it contains full set of required tags) - Unpublish default platform-managed template for this stack
  • if only separate tags were customized - Edit default template and unpublish the appropriate tags (for templates with the same Display Name, all tags are automatically grouped into a single option within user dashboard rather than being displayed as separate servers)

It’s strongly recommended to provide a single template per each stack version in order to avoid possible superposition conflicts and confusion on which one is used (considers only template published/unpublished state, whilst just presence of similar stacks within JCA list won’t cause any problems).

In our case, we’ve used Tomcat 8.5 with Java 8 engine as a base image for our custom template, so the corresponding string should be unchecked (as shown in the image above).

Finally, Publish your custom stack with the appropriate button at the top pane to make it available for all users. 20

Now, your custom template will be used when users refer to this software stack via topology wizard, API/CLI requests, Cloud Scripting, etc.

What’s next?