Description

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
Predefined template placeholders:
{IMAGE_NAME} is replaced with the Image Name
{AUTODEPLOYMENT_PATH} is replaced with Auto deployment path in container
{SCENARIO_CONFIGURATION} is replaced with the list of scenario properties

-kubernetesTemplate <file>

the kubernetes configuration template file
Predefined template placeholders:
{AUTODEPLOYMENT_PATH} is replaced with Auto deployment path in container
{SCENARIO_CONFIGURATION} is replaced with the list of scenario properties

-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
(default directory : /tmp/orchestra/security/binary)

-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.

alert-error-ico

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 File

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

Command: activateNode

Command: activateProduct

 

alert-error-ico

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.

Output file

 

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.


soffico GmbH
Telefon: +49 821 455901 77
Fax: +49 821 455901 98
E-Mail: orchestrasupport@soffico.de
Web: https://orchestra.soffico.de