analyze environment and credential entries from the given scenarios and generates Docker Compose file in YML format or Kubernetes ConfigMap from the templates.
In addition, generate an Orchestra Image that contains the given scenarios, the finished file will be created in the given target directory.
Required parameters
Parameter |
Description |
-source <directory|pscpath> |
the directory of psc files or specific psc filepath where the psc file(s) should be read |
-target <directory> |
the directory of output file(s) |
Optional parameters
Parameter |
Description |
-dockerTemplate <file> |
the docker configuration template file |
-kubernetesTemplate <file> |
the kubernetes configuration template file |
-mode <mode> |
emit_configuration : Only emit the configuration files (default value) compile : Compile a new image and emit the configuration files |
-image <file> |
the docker base image file path |
-type <type> |
docker : generate only docker configuration files kubernetes : generate only kubernetes configuration files all : generate both configuration types (default value) |
-binaryMode <mode> |
base64 : encode credential content as base64 and store it in the configuration files (default value) fileNameOnly : store only file name in configuration file : store file name and generate credential content to files |
-autoDeployDir <directory> |
the directory of container where configure for auto deployment to put psc file(s) (default directory : /tmp/orchestra/autodeployment/internal) |
-binDir <directory> |
the directory of container where binary files should be generated |
-licenseFile <licensepath> |
the path to the orchestra license that should be added to the container |
-targetImage <name> |
the name of the created target image |
-pushRegistry <registry> |
the registry to push image to. |
-pushUsername <username> |
the username to login to the registry. |
-pushPassword <password> |
the password to login to the registry. |
-ignoreSslCertificateCheck |
use this switch to ignore the SSL certificate validation. |
-showStackTrace |
use this switch to show stack trace on the console. |
Batch mode
The batch mode is started, if the start script is launched with additional arguments.
|
Execution will be stopped if any required parameter is missing. |
Example |
Here we are executing the image compiler in batch mode.
./imagecomplier.sh
> image-compile -source .\psc -target .\target -dockerTemplate .\docker_compose_template.yml -kubernetesTemplate .\kubernetes_template.properties -image .\image_latest.tar.gz -mode compile -type all -binaryMode fileNameOnly -licenseFile .\license.xml -targetImage .\target\image.tar.gz |
Interactive mode
If the image-compile is executed without any arguments, the image compiler will be started in the interactive mode. In this mode the compiler will stay open and you can interact with the compiler until you enter the command exit.
Example |
Here we are executing the image compiler in interactive mode. ./imagecomplier.sh > image-compile |
PSX are encrypted scenarios. In order to enable the Image Compiler to decrypt and read the PSX files, the Image Compiler need to activate an Orchestra license by the licensing commands.
•Command: createNodeActivation
•Command: updateNodeActivation
|
Please ensure that the the licence that is injected into the container also contains the product license for the psx scenarios. If this restriction is not satisfied, the files will not be automatically deployed, since the license check will fail. |
orchestra_docker_compose.yml |
version: "3.7" services: orchestra: image: {IMAGE_NAME} restart: always volumes: - ./data/orc/logs:/tmp/orchestra/logs # Uncomment the following line if you want to bind an autodeployment path # - ./data/orc/deploypath:{AUTODEPLOYMENT_PATH} - ./data/orc/longtimearchive:/tmp/longtimearchive environment: #containerMode defines if orchestra works in container mode or not. # If set to true, the container mode is active # If set to false, the container mode is inactive ORCHESTRA_CONTAINER_MODE_ACTIVE: 'true' #The unique name of this node inside a cell. The unique identifier is the combination of cellname and nodeid. #Only letters digits and '-' are allowed. The length must not exceed 10 characters. orchestra_settings_runtime_nodeid: ORC #Defines a comma separated list of tags that are associated with the current node. orchestra_settings_runtime_node_label: ORC #Name of the owning cell, has to be unique (two cells are not allowed to have the same cellname) orchestra_settings_runtime_cellname: ORC
#Please use one of the following runtime database types: MSSQL,MYSQL,Oracle,POSTGRESQL,MARIADB orchestra_settings_database_runtime_db_typ: <dbtype> orchestra_settings_database_runtime_url: <url-runtime-database> orchestra_settings_database_runtime_user: <user of the runtime database> orchestra_settings_database_runtime_pwd: <password of the runtime database> #Please use one of the following archive database types: MSSQL,MYSQL,Oracle,POSTGRESQL,MARIADB # orchestra_settings_database_archive_db_typ: <dbtype> # orchestra_settings_database_archive_url: <url-archive-database> # orchestra_settings_database_archive_user: <user of the runtime database> # orchestra_settings_database_archive_pwd: <password of the runtime database> #At this directory orchestra creates its folder-structure and saves the zip-files with process information and messages # orchestra_settings_longtimearchive_file_path: /tmp/longtimearchive #Is LTA active or inactive? (is the normal housekeeping active?) orchestra_settings_longtimearchive_mode: inactive #Autodeployment completion mode: # internal: storage of deploymentFiles in DB; no polling but only initial deployment at container startup # external: renaming of files on file level, polling after defined time interval orchestra_settings_runtime_autodeployment_mode: internal #The directory to be searched for scenario, credential and landscape files orchestra_settings_runtime_autodeployment_dir: {AUTODEPLOYMENT_PATH} #if true, also subdirectories are scanned for files to deploy/upload orchestra_settings_runtime_autodeployment_recursive: 'true' #if true, scenarios are activated after successful deployment of the files orchestra_settings_runtime_autodeployment_activate: 'true' #Orchestra will be accessible through this port for HTTP-connections. If -1 is used, the http standard port is disabled. #If 0 is used, a proper port will be chosen automatically. orchestra_settings_ExtendedWebApp_servlet_port_http: 8090 {SCENARIO_CONFIGURATION}
ports: - "8091:8091" - "8443:8443" - "8444:8444" # Uncomment the following line if you want allow access to the embedded applications (e.g. monitor) over http # - "8080:8080" # Uncomment the following line if you want allow http access for rest and soap services # - "8019:8019" # Uncomment the following line if you want allow cell connections to the orchestra #- "8894:8894" |
juno_docker_compose.yml |
version: "3.7" services: orchestra: image: {IMAGE_NAME} restart: always volumes: - ./data/orc/logs:/home/juno/logs # Uncomment the following line if you want to bind an autodeployment path # - ./data/orc/deploypath:{AUTODEPLOYMENT_PATH} # Uncomment the following line if you want to bind a longtimearchive path # - ./data/orc/longtimearchive:/tmp/orchestra/longtimearchive environment: #containerMode defines if orchestra works in container mode or not. # If set to true, the container mode is active # If set to false, the container mode is inactive ORCHESTRA_CONTAINER_MODE_ACTIVE: 'true' #The unique name of this node inside a cell. The unique identifier is the combination of cellname and nodeid. #Only letters digits and '-' are allowed. The length must not exceed 10 characters. orchestra_settings_runtime_nodeid: ORC #Defines a comma separated list of tags that are associated with the current node. orchestra_settings_runtime_node_label: ORC #Name of the owning cell, has to be unique (two cells are not allowed to have the same cellname) orchestra_settings_runtime_cellname: ORC #Autodeployment completion mode: # internal: storage of deploymentFiles in DB; no polling but only initial deployment at container startup # external: renaming of files on file level, polling after defined time interval orchestra_settings_runtime_autodeployment_mode: internal #The directory to be searched for scenario, credential and landscape files orchestra_settings_runtime_autodeployment_dir: {AUTODEPLOYMENT_PATH} #if true, also subdirectories are scanned for files to deploy/upload orchestra_settings_runtime_autodeployment_recursive: 'true' #if true, scenarios are activated after successful deployment of the files orchestra_settings_runtime_autodeployment_activate: 'true' #Orchestra will be accessible through this port for HTTP-connections. If -1 is used, the http standard port is disabled. #If 0 is used, a proper port will be chosen automatically. orchestra_settings_ExtendedWebApp_servlet_port_http: 8090 #Is LTA active or inactive? (is the normal housekeeping active?) orchestra_settings_longtimearchive_mode: inactive {SCENARIO_CONFIGURATION}
ports: # HTTPS-Port for Orchestra monitor - "8091:8091" # HTTPS-Port for HTTP-Traffic (REST/SOAP) - "8443:8443" # HTTPS-Port with certification authentication (REST/SOAP) - "8444:8444" # Uncomment the following line if you want allow access to the embedded applications (e.g. monitor) over http # - "8090:8090" # Uncomment the following line if you want allow http access for rest and soap services # - "8019:8019" # Uncomment the following line if you want allow cell connections to the orchestra #- "8894:8894" |
•{IMAGE_NAME} will be replaced with a name of target image.
•{AUTODEPLOYMENT_PATH} will be replaced with the directory of container where configure for auto deployment .
• {SCENARIO_CONFIGURATION} will be replaced with scenario container configuration if scenario is exists.