Official Docker Image of OpenText AutoPass License Server
AutoPass is a license management, license enforcement, product activation, and usage tracking application for OpenText and its customers. AutoPass License Server (APLS) enables organizations to manage licenses in a centralized way. Software product licenses are broadly classified into three types: concurrent (floating), consumable and seat (standalone) licenses. A concurrent license is shared dynamically between multiple client users, a consumable license is shared between multiple client users by a time unit(hour/day) and a capacity of license is consumed for each time unit. whereas a seat license is locked to a specific client machine. The concurrent licenses are then shared or "pooled" between a group of users. Using concurrent licenses enables you to purchase the number of licenses equal to the largest number of users liable to be active at any time, instead of the total number of users of a product. APLS can also be used to collect data metrics for a product or its features. Various other features of APLS include reservation, buy more etc.,
| Specifications | Values | Links/Comments |
|---|---|---|
| Container/Image OS | Red Hat Universal Base Image 9 |
a) Open Command prompt or Shell based on OS where you are running docker docker pull mfsharedtech/apls:<Major.Minor.Minor>- b)Please see the docker variables below and start the container using the command below
| Name ,shorthand | Description |
|---|---|
| --name | Assign a name to the container |
| --detach, -d | Run container in background and print container ID |
| --publish -p | Publish a container’s port(s) to the host |
| --volume , -v | Bind mount a volume |
| SNO | Option | Required |
|---|---|---|
| 1 | --name AUTOPASS-APLS | |
| 2 | -p 5814:5814 | Yes |
| 2 | -v "/customlib/:/opt/autopass/apls/apls/customlib/" | Optional .But in case if we want use third party jars it is required |
| 5 | -v "/logs:/logs/" | Yes |
| 6 | -v "/config:/config/" | Yes |
| 7 | -v "/data/:/var/opt/autopass/apls/licenseserver/data/" | Yes |
| 8 | -e EULA='true' | Yes 1. Passing 'true' to this key means you are accepting End User License Agreement2. If you are not passing the key or passing the value other than true, container will not come up. |
| 9 | -e TIME_ZONE=<TIME_ZONE> example :- -e TIME_ZONE=GMT | Optional If this property is passed and value is set to any time zone that exists within the apls container, then apls will run in the mentioned timezone.If the property is not used or the passed value is not matching with the apls container timezone then, apls will run in default timezone.Note: Key and value are case sensitive. |
docker run --name AUTOPASS-APLS -d -p :5814 -v "/customlib:/opt/autopass/apls/apls/customlib/" -v "/logs:/logs/" -v "/config:/config/" -v "/data/:/var/opt/autopass/apls/licenseserver/data/" -e EULA='true' "< APLS IMAGE NAME >"
Example :- docker run --name apls-5814 -d -p 5814:5814 -v /var/opt/autopass/apls/custlibs:/opt/autopass/apls/apls/customlib -v /var/opt/autopass/apls/data/:/var/opt/autopass/apls/licenseserver/data/ -v /var/opt/autopass/apls/config/:/config/ -v /var/opt/autopass/apls/logs/:/logs/ -e EULA='true' ""
Note:- As a best practice we should do following things because docker images are immutable.
| Host Path | Host Sub-folder | Container Path | Configuration Description | | --- | --- | --- | --- | --- | | autopass-store | {SUBPATH_OF_AUTOPASS _LOG_FILES} | /logs | This path is mounted to contain APLS logs, such as startup.logs, catalina logs, APLS logs | | autopass-store | {SUBPATH_OF_AUTOPASS _CONFIG_FILES} | /config | This path is mounted to update the server.xml file for the APLS server | | autopass-store | {SUBPATH_OF_AUTO_PASS _DATA_FILES} | /var/opt/autopass/apls/licenseserver/data | This path is mounted to store the APLS data folder path | | autopass-store | {SUBPATH_OF_AUTOPASS _DATABASE_DRIVERS} | /opt/autopass/apls/apls/customlib | This path is mounted to allow storing database drivers for APLS to pick up | | autopass-store | {SUBPATH_OF_AUTOPASS _DATA_CECERT} | /var/opt/autopass/apls/licenseserver/data/cecert | This path is mounted to allow read custom certificates .Note:- Don't put keystore files in this location .This only for custom certificates |
Note:- Custom keystore values can be directly editable in server.xml or by passing below environments variables
| Variable Name | Default Value | Since | Mandatory | Remarks |
|---|---|---|---|---|
| SERVER_ CERT_PATH | "$CATALINA_HOME_ HPAPLS"/conf/keystore.jks | - | N | The pathname of the keystore file with in the container where the server certificate is stored and to be loaded. By default points to the AutoPass self signed certificate. Products can choose to set a different certificate path. Products can place custom keystore file in one of the mounted directory so that it is available in the source directory of the container. Products can pass keystore file path in the plain text in server.xml or it can be passed throught environment variables while creating container |
| SERVER_CERT_PASSWD | - | - | N | The password used to access the specified keystore file. If SERVER_CERT_PATH is set please ensure to set this variable as well, since it might fail to access the keystore |
| SERVER_CERT_ALIAS | aptomcat | - | N | The alias used for the server key and certificate in the keystore. If not specified, a key with alias aptomcat will be searched and if the certificate is not found the certificate loading will fail. If SERVER_CERT_PATH and SERVER_CERT_PASSWD, ensure to set this variable as well. If more than one key is present in the keystore it is strongly recommended that a keyAlias is configured to ensure that the correct key is used. |
| SERVER_PROXY_NAME | - | - | N | If this APLS is being used in a proxy configuration, configure this variable to specify the server name to be returned for calls to tomcat's request.getServerName |
| SERVER_PROXY_PORT | - | - | N | If this APLS is being used in a proxy configuration, configure this attribute to specify the server port to be returned for calls to tomcat's request.getServerPort |
| Note:- The below variable can be used to set JVM parameters for tomcat |
| Variable Name | Default Value | Since | Mandatory | Remarks |
|---|---|---|---|---|
| MAX_APLS_MEMORY | -Xmx1532M -XX:+UseParallelOldGC -XX:ParallelGC Threads=20 -XX:ConcGCThreads=5 -XX:+UseParallelGC -XX:Initiating HeapOccupancy Percent=45 -XX:MinHeapFreeRatio=10 -XX:MaxHeapFreeRatio=70 -XX:MaxMetaspace Size=256m -XX:Reserved CodeCacheSize=64m -XX:CompressedClassSpaceSize=64m | - | N | This is used to set the JVM memory for details please check below table " JVM configuration details ". Customer can set custom values for these variables. |
| JVM Settings | Description | Default Value |
|---|---|---|
| Xmx | The flag Xmx specifies the maximum memory allocation pool for a Java virtual machine (JVM), while Xms specifies the initial memory allocation pool.This means that your JVM will be started with Xms amount of memory and will be able to use a maximum of Xmx amount of memory. For example, starting a JVM l will start it with 256 MB of memory and will allow the process to use up to 1536 MB of memory | 1536 (1.5 GB) |
| XX:+UseParallelOldGC | Use parallel garbage collection for the full collections. Enabling this option automatically sets XX:+UseParallelGC | NA |
| XX:+UseParallelGC | This Property is automatically sets if we set the above XX:+UseParallelOldGC | NA |
| XX:ParallelGCThreads | Sets the number of threads used during parallel phases of the garbage collectors. The default value varies with the platform on which the JVM is running. | 20 |
| XX:ConcGCThreads | Number of threads concurrent garbage collectors will use. The default value varies with the platform on which the JVM is running. | 5 |
| XX:InitiatingHeap OccupancyPercent | Percentage of the (entire) heap occupancy to start a concurrent GC cycle. GCs that trigger a concurrent GC cycle based on the occupancy of the entire heap and not just one of the generations, including G1, use this option. A value of 0 denotes 'do constant GC cycles'. The default value is 45. | 45 |
| XX:MinHeapFreeRatio | This is set to control the heap expansion and shrinking: Minimum percentage of heap free after GC to avoid expansion. when the percentage of free space in a generation falls below this value the generation will be expanded to meet this percentage. Default is 40 | 40 |
| XX:MaxHeapFreeRatio | This is set to control the heap expansion and shrinking: Maximum percentage of heap free after GC to avoid shrinking. when the percentage of free space in a generation exceeded this value the generation will shrink to meet this value. Default is 70. | 70 |
| XX:MaxMetaspaceSize | With the introduction of Java 8, permgen space is no longer used. Instead, Metaspace is introduced. Although Metaspace is expanded automatically, there might be a scenario when you do want to set a cap. | 256m |
| XX:ReservedCodeCacheSize | The maximum size of the code cache is set via the -XX:ReservedCodeCacheSize=N flag (where N is the default just mentioned for the compiler). The code cache is managed like most memory in the JVM: there is an initial size ( -XX:InitialCodeCacheSize=N). Allocation of the code cache size starts at the initial size and increases as the cache fills up. The initial size of the code cache varies based on the compiler in use. Resizing the cache happens in the background and doesn’t really affect performance, so setting the ReservedCodeCacheSize size (i.e., setting the maximum code cache size) is all that is generally needed. | 32m (Max 1024m) |
| XX:CompressedClassSpaceSize | specifies the maximum size of the Compressed Class Space. | 64m |
| Note :- | ||
| Refer the below link for more details https://docs.oracle.com/cd/E40972_01/doc.70/e40973/cnf_jvmgc.htm#autoId0 |
Following log files can be use to validate if there are any errors.
Please go to the mounted path where you have setup AutoPass logs to be present. ** startup.log ** specifies any error with regard to container start up ** autopassls.log ** specifies APLS specific logs ** autopasslspurge.logs ** specifies APLS database purge logs. ** autopasslsaudit.xml ** specifies the APLS audit logs enabled through APLS UI configuration. ** localhost..log ** and ** catalina..log ** will give any information with regard to the tomcat server. To get all logs try, ** docker logs -f <APLS_CONTAINER_ID> **
From the mounted path, /autopass-store/{SUBPATH_OF_AUTOPASS_DATA_FILES}/conf , log4j.xml file, allows the user the option to change the log levels.
By default "INFO" is specified for AutoPass and IDM logs.
This can be modified to the following level,
| Level | Description |
|---|---|
| ALL | All levels including custom levels. |
| DEBUG | Designates fine-grained informational events that are most useful to debug an application. |
| ERROR | Designates error events that might still allow the application to continue running. |
| FATAL | Designates very severe error events that will presumably lead the application to abort. |
| INFO | Designates informational messages that highlight the progress of the application at coarse-grained level. |
| OFF | The highest possible rank and is intended to turn off logging. |
| TRACE | Designates finer-grained informational events than the DEBUG. |
| WARN | Designates potentially harmful situations. |
Use the below command to remove APLS container ** docker rm -f <APLS_CONTAINER_ID> ** For upgrade, remove existing container and use the new image to recreate the container Use this reference "How to deploy the APLS docker image"
Content type
Image
Digest
sha256:5da5a597b…
Size
357.6 MB
Last updated
3 months ago
docker pull mfsharedtech/apls