Software Templates
The Templates section of the admin panel displays a list of all the software templates available on the platform.
The table provides the following information:
- Name - displays stack name with its unique IDs in brackets (used as the nodeType parameter when referring to this template in API, JPS packages, and CS scripts)
- Version - shows the latest supported version of the software templated (for the legacy NATIVE and CARTRIDGE types only)
- Node Mission - defines a layer and specific behaviour (e.g. deployment option for app servers, password reset for DB, etc.) of the stack; possible values: bl, cp, cache, sqldb, nosqldb, storage, vds, build, extra
- vType - shows a template virtualization type (CT - container, VM - virtual machine)
- Type - contains a template type (NATIVE, CARTRIDGE, or DOCKERIZED)Note: Currently, most of the templates are provisioned based on the Docker standard (DOCKERIZED), while the usage of the NATIVE and CARTRIDGE types are mostly deprecated.
- Published - denotes whether a particular template is published (✔) or not (-), i.e. available/unavailable for end-users via the dashboard
- Registry - displays a name of the template’s registry
- Distribution - lists distribution rules assigned to a template (if any)
The legacy NATIVE and CARTRIDGE templates can be expanded (if at least one node is created) to list hosts with this instance.
You can manage available templates in the following ways:
- Add Template
- Edit Template
- Run Additional Actions
- Publish/Unpublish Template
- Set Distribution Rules
- Remove Template
Within the Templates section, you can also add a Docker registry for it to be used as a trusted source while integrating your custom dockerized template.
Add Template
You can integrate your custom stacks into the platform by expanding the Add menu at the tools panel and selecting the From Docker Repository option.
1. In the Add Template dialog, select the required Registry from the list and specify the Repository where your template is stored.
Click Next (or the magnifying glass icon) to fetch the image data.
2. Some of the settings are defined within the template and cannot be changed via the form: Node Mission (layer), Node Type (unique ID), and Engine Type (programming language).
Other parameters can be adjusted up to your needs:
- Display Name - server name that is displayed within JCA and at the end-user dashboard
- Icons - images of the smaller and bigger size (16✕16 and 32✕32 respectively) that will be used for the stack in the dashboard and JCA
- Auto-Selection of Provisioned Tags - enables automatic update and delivery of the latest template versions (tags); additionally, you can:
- Keep previously selected tags published - prevents unpublishing of the already provided tags during the auto-selection procedure
- Allow system to switch the ‘Default’ tag - changes the default tag to the latest version available during auto-selection procedure
Note: Use the following system settings to customize the tags auto-selection process:
- jelastic.templates_update.minor_versions.number - sets a number of latest minor versions (within each major release) to keep during the tags auto-selection
- qjob.templates_update.cron_schedule - configures the frequency of the tags auto-selection operation (once a day by default)
- Tags - allows manually choosing template versions available via topology wizard and setting a Default tag (it will be provisioned unless a specific one is defined). If needed, you can click Exclude from List ("-") to exclude tags from the auto-selection algorithm, use Include to List ("+") to re-add it. If the tags auto-selection is enabled, the platform overrides any manual changes to the list during the periodic updates.
- Renew tags list now - initiates the auto-selection procedure immediately after applying changes (the same operation as Actions > Re-Import Template)
When you are finished, click Add for a new template to appear in the software stacks list (unpublished, i.e. not available for end-users, by default).
Edit Template
It is possible to adjust settings within the dockerized templates by selecting the required instance and clicking the Edit button on the tools panel (or double-click for quick access).
In the opened Edit Template dialog window, you can adjust the same settings as during the template addition (except the Registry and Repository options, which cannot be changed).
Click Save to apply the performed changes.
Run Additional Actions
While working with templates, you can perform some additional operations by expanding the Actions menu.
Here, the following options are available:
- Regenerate Pool of the legacy NATIVE and CARTRIDGE templates; could be done only for the currently selected stack or for all of them (the Regenerate Current and Regenerate All options respectively)
- Preview Unpublished templates by opening your developer dashboard in a new browser tab with all the software stacks available at the topology wizard (including unpublished ones). If needed, you can Open in Popup, but the JCA panel will be unavailable till the pop-up is closed
- Re-Import Template to apply any changes committed to the registry (for DOCKERIZED) or manifest file (for CARTRIDGE)
Use these actions to ensure the certified templates are up-to-date and to test custom ones.
Publish/Unpublish Template
To make a software stack available for the end-users, you need to select it via JCA and Publish with the appropriate button.
In the same way, you can Unpublish any template to hide it from the end-users.
Set Distribution Rules
If you want a particular template to be available on the specific hosts only, choose the required stack from the list and click the Distribution button from the tools panel. In the opened Distribution Settings frame, you can provide the required distribution rules in the JSON format.
The editor has built-in options to Reformat JSON and Word Wrap lines to simplify code management. If you need information on how to define distribution rules, click the Help button to the right.
Remove Template
To delete a template, select it within the list, click the appropriate Remove button at the top panel, and confirm via the pop-up. Be aware that such an operation may affect customers with the template already in use.
After removal, you can update the list with the Refresh button.
Docker Registries
In the Templates > Docker Registries subsection, you can manage a list of trusted registries (can be both public or private) that can be used for integrating dockerized templates. Use the buttons on the tools panel at the top of the section.
1. You can Add a new registry by clicking the appropriate button. In the Add Registry dialog frame, the following details are required:
- Name - specify a name to identify your registry
- URL/IP[:port] - insert a URL/IP address of the custom Docker registry (or leave blank for Docker Hub)
- Login/Password - type credentials for your account (if needed)
Click Add, and your custom registry will appear in the list.
2. If you want to enable 2FA for the existing registry follow the next steps:
- Set up 2FA on the Docker Hub side and generate a personal access token.
- Go to the admin panel’s Cluster > Templates > Docker Registries section and edit credentials for the related record (provide a token instead of a password).
3. You can select the existing record to Edit earlier provided information or Remove this registry from the list.
4. The default container registry represents a Docker Hub account that will be used by default for the end-users' nodes provisioning. You can select the default registry with the Set as Default button.
Take into account the following peculiarities when managing the default registry:
- it is used to pull images for containers that are based on the templates where the registry and credentials are not specified
- only Docker Hub registries can be selected as default
- billing account is required to bypass 200 pulls per six hours limitation
- only one registry can be set as default at a time
5. The Refresh button allows updating the displayed information with a single click.