Infrastructure
ActiveMQ Client Configuration
Plugin: nevisadmin-plugin-nevisdetect
Using the pattern, you can connect to an external ActiveMQ service using TLS/SSL.
Message Broker URL
Set the URL for the ActiveMQ message broker. Example:
ssl://my-message-broker:61616
Azure Service Bus
Plugin: nevisadmin-plugin-nevisidm
Configures a nevisIDM Instance to publish events into Azure Service Bus queues.
Queues can be reused, for example for handling time-based and other failures,
Dead Letter Queue and Expiry Queue pointed to the same Remote Queue with the same AzureServiceBusRemoteQueue pattern.
Remote Provisioning Queue
Remote Azure Service Bus Queue to which provisioning messages should be sent.
Remote Expiry Queue
Remote Azure Service Bus Queue to which Expiry messages should be sent.
Messages in Expiry Queue are those messages which validTo time has passed without successful receive action and without failing for other reason.
For further reference check NevisIdm Technical documentation > Configuration > Components > Provisioning module > Provisioning providers.
Remote Dead Letter Queue
Remote Azure Service Bus Queue to which Dead Letter messages should be sent.
Dead letter messages are those messages which are not in the expiryQueue and their delivery was unsuccessful.
For further reference check NevisIdm Technical documentation > Configuration > Components > Provisioning module > Provisioning providers.
Trust Store
Assign a trust store which provides the Microsoft Azure TLS Issuing CA 01 certificate.
You can access the Host name with your browser by adding https:// in front,
download the CA certificate, and then use a PEM Trust Store to provide it.
Azure Service Bus Remote Queue
Plugin: nevisadmin-plugin-nevisidm
Configures an Azure Service Bus connection-string for Azure Service Bus pattern to use.
Host Name
Enter the complete Host name of the Service Bus as shown in the Azure portal.
Example: my-service-bus-name.servicebus.windows.net
Shared Access Policy
Enter the Policy that shall be used to connect.
Also known as: SAS Policy, Shared access policy
Primary Key
Enter the Primary Key of the Policy as shown in the Azure portal.
Queue
Enter the name of a queue.
Generic Deployment
Plugin: nevisadmin-plugin-base
Use the advanced pattern for the following use cases:
- Deploy files and scripts for your own custom component or application.
- Modify remote system configuration files.
- Patch files generated by other nevisAdmin 4 patterns (not recommended).
The pattern cannot be used when deploying to Kubernetes.
Note that the third option is not recommended. Instead, please explore the various Generic patterns which can configure many low-level options. If you cannot find a solution, please open a Nevis Support ticket. Support may be able to provide an alternative, or can create a product improvement request.
Path
Absolute path of a directory on the target host(s) where the files will be deployed to. The command will run from the same path.
nevisAppliance targets only: if the files must be persisted across reboots, use a file name
or path listed in the /etc/rwdisk.conf file on the nevisAppliance target host.
The path must not point into a directory (potentially) managed by a nevisAdmin 4 Instance Pattern.
Thus, it is not possible to directly overwrite files generated by other patterns. See Command
and Command: Execution File Triggers for an alternative solution to overcome this limitation.
Allowed Paths:
/tmp/generic-deployment/var/opt/<directory>
Example:
/tmp/generic-deployment/patch01/
Path: Delete Unknown Files
If enabled, all files in the directory (Path property) that are not specified under Files are deleted.
If you enable this property your files must be in one of the following directories or subdirectories:
/var/opt/tmp/home
Files
Upload the files which will be copied into the Path.
To upload files into subdirectories within Path, add a single .zip file with files and directories. Unpacked files will have Owner and Group applied. Note: If multiple files are uploaded, any .zip file is deployed as is, without being extracted.
It is not supported to overwrite files generated by other patterns. See also Path above.
Template Parameters
Define Template Parameters.
Examples:
smtp: smtp.siven.ch
These parameters can be used in:
- uploaded files matching an expression specified in the
Template Filesproperty - the value of the
Pathproperty - the value of the
Commandproperty
The expression formats are:
${param.<name>}:
namefound: parameter value is used.namemissing: expression is not replaced.
${param.<name>:<default value>}:
namefound: parameter value is used.namemissing: default value will be used.
In <default value> the character } must be escaped as \}.
Template Files
Expressions matching files in which to replace parameters.
If a single .zip file is unpacked, it is scanned for matching files as well.
Possible values are exact file names or file endings.
Example:
- my_script.sh
- *.txt
- *.properties
Owner
Owner of the directory at specified path. All files and subdirectories will have the same owner.
Group
Owner of the directory at path. All files and subdirectories will have the same owner.
Permissions: Owner
Read-write permissions for specified owner of the directory. All files and subdirectories (including unpacked from single .zip) will have the same permissions.
The executable bit will be set automatically for readable directories and for readable Executable Files.
Permissions: Group
Read-write permissions for specified group of the directory. All files and subdirectories (including unpacked from single .zip) will have the same permissions.
The executable bit will be set automatically for readable directories and for readable Executable Files.
Permissions: Other
Read-write permissions for all users of the directory. All files and subdirectories (including unpacked from single .zip) will have the same permissions.
The executable bit will be set automatically for readable directories and for readable Executable Files.
Executable Files
Expression to select files which shall have the executable flag.
Add exact file names or *.<ending>.
Example:
- myScript.sh
- *.py
Command
Bash shell expression which will be executed from the working directory Path as the deployment user (__connection_user variable in the inventory).
Example:
- ./my_script.sh
The command will run depending on the Command: Execution setting: always or conditional (e.g. onFileChange).
Note that with the onFileChange setting, the command is not automatically executed if you change it here.
Tip: Instead of specifying your shell instruction(s) here, add them as a separate script file into Files. For example, if the file name is
my_script.sh, enter ./my_script.sh as the Command. This way, the script will be re-executed each time you upload an updated script file
and deploy the project (if onFileChange command execution is configured below).
Command: Execution Phase
Defines when the command is executed. The files are always copied during the CONFIGURE phase.
Phases:
- CONFIGURE: Command runs after files have been uploaded, but before NEVIS instances are (re)started. Use e.g. when patching a NEVIS instance configuration file.
- ACTIVATE: Command runs when instances are (re)started. Use when deploying files or commands that are independent of NEVIS instances.
Command: Execution
Defines when or how often the command is executed.
Possible values are:
always: Execution during each deployment.onFileChange: Executed if an uploaded file under the specifiedPathhas changed.onFileTriggers: Executed if a file that is listed underCommand: Execution File Triggershas changed.onFileChange + onFileTriggers: Combining both options above.
Command: Execution File Triggers
Files deployed by other nevisAdmin 4 patterns that, when changed, trigger the script to be executed, even if the script and files itself do not change.
Example:
- /var/opt/nevisproxy/my_proxy/conf/navajo.xml
Hint:
This is useful for patching e.g. navajo.xml after generation. Note that during the next deployment, it will be reverted (if the nevisProxy Instance pattern is deployed as well)
and then patching will happen again.
Generic nevisAdapt Instance Settings
Plugin: nevisadmin-plugin-nevisadapt
Use this add-on pattern to set low-level properties
in configuration files of a nevisAdapt Instance.
nevisAdapt Properties
Add properties for nevisadapt.properties.
See nevisAdapt Reference Guide for details.
Java Opts
Add additional entries to the JAVA_OPTS environment variable.
For instance, you may configure nevisAdapt to create a heap dump on out of memory as follows:
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/var/opt/nevisadapt/log/
Be aware that this example will not work for Kubernetes as the pod will be automatically restarted on out of memory and the created heap dump files will be lost.
Generic nevisAuth Instance Settings
Plugin: nevisadmin-plugin-nevisauth
Use this add-on pattern to set low-level properties
in configuration files of a nevisAuth Instance.
Java Opts
Add additional entries to the JAVA_OPTS environment variable.
Use the expression ${instance} for the instance name.
For instance, you may configure nevisAuth to create a heap dump on out of memory as follows:
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/var/opt/nevisauth/${instance}/log/
Be aware that this example will not work for Kubernetes as the pod will be automatically restarted on out of memory and the created heap dump files will be lost.