Skip to content

Workload Service


Installation Answer File Options

Key Sample Value Description
WLS_LOGLEVEL INFO (Optional) Alternatives include WARN and DEBUG. Sets the log level for the service.
WLS_NOSETUP false (Optional) Determines whether “setup” will be executed after installation. Typically this is set to “false” to install and perform setup in one action. The “true” option is intended for building the service as a container, where the installation would be part of the image build, and setup would be performed when the container starts for the first time to generate any persistent data. Defaults to “false” if unset.
WLS_PORT 5000 (Optional) Defines the HTTPS port used by the service Defaults to 5000 if unset.
WLS_DB_HOSTNAME localhost (Required) Database hostname
WLS_DB wlsdb (Required) Database name
WLS_DB_PORT 5432 (Required) Database port number
WLS_DB_USERNAME wlsdbuser (Required) Database username
WLS_DB_PASSWORD wlsdbuserpass (Required) Database password
HVS_URL https://\<HVS IP address or hostname>:8443/hvs/v2/ (Required) Base URL for the HVS
AAS_API_URL https://\<AAS IP address or hostname>:8444/aas/v1 Base URL for the AAS
SAN_LIST 127.0.0.1,localhost,10.x.x.x Comma-separated list of IP addresses and hostnames that will be valid connection points for the service. Requests sent to the service using an IP or hostname not in this list will be denied, even if it resolves to this service.
CMS_BASE_URL Base URL for the CMS
BEARER_TOKEN \<token> (Required) Token from the CMS generated during CMS setup that allows the AAS to perform initial setup tasks.
WLS_TLS_CERT_CN 'WLS TLS Certificate (Optional) Set the Common name for TLS cert to be downloaded from CMS. Default is 'WLS TLS Certificate'.
WLS_CERT_ORG 'INTEL' (Optional) Set the Organization in Subject of CSR. Default is 'INTEL'.
WLS_CERT_COUNTRY 'US' (Optional) Set the Country in Subject of CSR. Default is 'US'.
WLS_CERT_PROVINCE 'SF' (Optional) Set the Province in Subject of CSR. Default is 'SF'.
WLS_CERT_LOCALITY 'SC' (Optional) Set the Locality in Subject of CSR. Default is 'SC'.
KEY_CACHE_SECONDS 300 (Optional) Set the time till which the key will be cached. Default is '300 seconds'.
WLS_LOGLEVEL Info, debug, error, warn (Optional) Set the log level.
KEY_PATH (Optional) Redefines the path to the keystore folder
CERT_PATH (Optional) Redefines the path to the certificates folder

Configuration Options

The Workload Service configuration can be found in /etc/workload-service/config.yml:

port: 5000
cmstlscertdigest: <sha384>
postgres:
  dbname: wlsdb
  user: <database username>
  password: <database password>
  hostname: <database IP or hostname>
  port: 5432
  sslmode: false
hvs_api_url: https://<HVS IP or hostname>:8443/hvs/v2/
cms_base_url: https://<CMS IP or hostname>:8445:/cms/v1/
aas_api_url: https://<AAS IP or hostname>:8444/aas/v1/
subject:
  tlscertcommonname: WLS TLS Certificate
  organization: INTEL
  country: US
  province: SF
  locality: SC
wls:
  user: <username of service account used by WLS to access other services>>
  password: <password>
loglevel: info
key_cache_seconds: 300

Command-Line Options

The Workload Service supports several command-line commands that can be executed only as the Root user:

Syntax:

workload-service <command>

Help

Available Commands:

help Show this help message

start Start workload-service

stop Stop workload-service

status Determine if workload-service is running

uninstall [--purge] Uninstall workload-service. --purge option needs to be applied to remove configuration and data files

setup Setup workload-service for use

Setup command usage: workload-service <command> [task...]

Available tasks for setup:

download_ca_cert

- Download CMS root CA certificate

- Environment variable CMS_BASE_URL=<url> for CMS API url

download_cert TLS

- Generates Key pair and CSR, gets it signed from CMS

- Environment variable CMS_BASE_URL=<url> for CMS API url

- Environment variable BEARER_TOKEN=<token> for authenticating with CMS

- Environment variable KEY_PATH=<key_path> to override default specified in config

- Environment variable CERT_PATH=<cert_path> to override default specified in config

- Environment variable WLS_TLS_CERT_CN=<COMMON NAME> to override default specified in config

- Environment variable WLS_CERT_ORG=<CERTIFICATE ORGANIZATION> to override default specified in config

- Environment variable WLS_CERT_COUNTRY=<CERTIFICATE COUNTRY> to override default specified in config

- Environment variable WLS_CERT_LOCALITY=<CERTIFICATE LOCALITY> to override default specified in config

- Environment variable WLS_CERT_PROVINCE=<CERTIFICATE PROVINCE> to override default specified in config

server Setup http server on given port

-Environment variable WLS_PORT=<port> should be set

database Setup workload-service database

Required env variables are:

- WLS_DB_HOSTNAME : database host name

- WLS_DB_PORT : database port number

- WLS_DB_USERNAME : database user name

- WLS_DB_PASSWORD : database password

- WLS_DB : database schema name

hvsconnection Setup task for setting up the connection to the Host Verification Service(HVS)

Required env variables are:

- HVS_URL : HVS URL

aasconnection Setup to create workload service user roles in AAS

- AAS_API_URL : AAS API URL

- BEARER_TOKEN : Bearer Token

logs Setup workload-service log level

- Environment variable WLS_LOG_LEVEL=<log level> should be set

start

Start workload-service

stop

Stop workload-service

status

Determine if workload-service is running

uninstall

[--purge] Uninstall workload-service. --purge option needs to be applied to remove configuration and data files

setup

Setup command usage:     workload-service setup [task] [--force]

Available tasks for setup:
   all                              Runs all setup tasks
                                    Required env variables:
                                        - get required env variables from all the setup tasks
                                    Optional env variables:
                                        - get optional env variables from all the setup tasks

   download_ca_cert                 Download CMS root CA certificate
                                    - Option [--force] overwrites any existing files, and always downloads new root CA cert
                                    Required env variables if WLS_NOSETUP=true or variables not set in config.yml:
                                        - AAS_API_URL=<url>                            : AAS API url
                                        - HVS_URL=<url>                                : HVS API Endpoint URL
                                        - WLS_SERVICE_USERNAME=<service username>      : WLS service username
                                        - WLS_SERVICE_PASSWORD=<service password>      : WLS service password
                                    Required env variables specific to setup task are:
                                        - CMS_BASE_URL=<url>                              : for CMS API url
                                        - CMS_TLS_CERT_SHA384=<CMS TLS cert sha384 hash>  : to ensure that WLS is talking to the right CMS instance

   download_cert TLS                Generates Key pair and CSR, gets it signed from CMS
                                    - Option [--force] overwrites any existing files, and always downloads newly signed WLS TLS cert
                                    Required env variables if WLS_NOSETUP=true or variable not set in config.yml:
                                        - CMS_TLS_CERT_SHA384=<CMS TLS cert sha384 hash>  : to ensure that WLS is talking to the right CMS instance
                                        - AAS_API_URL=<url>                            : AAS API url
                                        - HVS_URL=<url>                                : HVS API Endpoint URL
                                        - WLS_SERVICE_USERNAME=<service username>      : WLS service username
                                        - WLS_SERVICE_PASSWORD=<service password>      : WLS service password
                                    Required env variables specific to setup task are:
                                        - CMS_BASE_URL=<url>                       : for CMS API url
                                        - BEARER_TOKEN=<token>                     : for authenticating with CMS
                                        - SAN_LIST=<CSV List>                      : List of FQDNs to be added to the SAN field in TLS cert to override default specified in config
                                    Optional env variables specific to setup task are:
                                        - KEY_PATH=<key_path>                      : Path of file where TLS key needs to be stored
                                        - CERT_PATH=<cert_path>                    : Path of file/directory where TLS certificate needs to be stored
                                        - WLS_TLS_CERT_CN=<COMMON NAME>            : to override default specified in config

   database                         Setup workload-service database
                                    - Option [--force] overwrites existing database config
                                    Required env variables if WLS_NOSETUP=true or variable not set in config.yml:
                                        - CMS_BASE_URL=<url>                              : for CMS API url
                                        - CMS_TLS_CERT_SHA384=<CMS TLS cert sha384 hash>  : to ensure that WLS is talking to the right CMS instance
                                        - AAS_API_URL=<url>                               : AAS API url
                                        - HVS_URL=<url>                                   : HVS API Endpoint URL
                                        - WLS_SERVICE_USERNAME=<service username>         : WLS service username
                                        - WLS_SERVICE_PASSWORD=<service password>         : WLS service password
                                    Required env variables specific to setup task are:
                                        - WLS_DB_HOSTNAME=<db host name>                   : database host name
                                        - WLS_DB_PORT=<db port>                            : database port number
                                        - WLS_DB=<db name>                                 : database schema name
                                        - WLS_DB_USERNAME=<db user name>                   : database user name
                                        - WLS_DB_PASSWORD=<db password>                    : database password
                                    Optional env variables specific to setup task are:
                                        - WLS_DB_SSLMODE=<db sslmode>                      : database SSL Connection Mode <disable|allow|prefer|require|verify-ca|verify-full>
                                        - WLS_DB_SSLCERT=<ssl certificate path>            : database SSL Certificate target path. Only applicable for WLS_DB_SSLMODE=<verify-ca|verify-full>. If left empty, the cert will be copied to /etc/workload-service/wlsdbsslcert.pem
                                        - WLS_DB_SSLCERTSRC=<ssl certificate source path>  : database SSL Certificate source path. Mandatory if WLS_DB_SSLCERT does not already exist

   server                           Setup http server on given port
                                    - Option [--force] overwrites existing server config
                                    Required env variables if WLS_NOSETUP=true or variable not set in config.yml:
                                        - CMS_BASE_URL=<url>                              : for CMS API url
                                        - CMS_TLS_CERT_SHA384=<CMS TLS cert sha384 hash>  : to ensure that WLS is talking to the right CMS instance
                                        - AAS_API_URL=<url>                               : AAS API url
                                        - HVS_URL=<url>                                   : HVS API Endpoint URL
                                    Optional env variables specific to setup task are:
                                        - WLS_PORT=<port>    : WLS API listener port
                                        - WLS_SERVICE_USERNAME=<service username>         : WLS service username
                                        - WLS_SERVICE_PASSWORD=<service password>         : WLS service password

   hvsconnection                    Setup task for setting up the connection to the Host Verification Service(HVS)
                                    - Option [--force] overwrites existing HVS config
                                    Required env variables if WLS_NOSETUP=true or variable not set in config.yml:
                                        - CMS_BASE_URL=<url>                              : for CMS API url
                                        - CMS_TLS_CERT_SHA384=<CMS TLS cert sha384 hash>  : to ensure that WLS is talking to the right CMS instance
                                        - AAS_API_URL=<url>                               : AAS API url
                                        - WLS_SERVICE_USERNAME=<service username>         : WLS service username
                                        - WLS_SERVICE_PASSWORD=<service password>         : WLS service password
                                    Required env variable specific to setup task is:
                                        - HVS_URL=<url>      : HVS API Endpoint URL

   download_saml_ca_cert            Setup to download SAML CA certificates from HVS
                                    - Option [--force] overwrites existing certificate
                                                                        Required env variables if WLS_NOSETUP=true or variable not set in config.yml:
                                        - CMS_BASE_URL=<url>                              : for CMS API url
                                        - CMS_TLS_CERT_SHA384=<CMS TLS cert sha384 hash>  : to ensure that WLS is talking to the right CMS instance
                                        - AAS_API_URL=<url>                               : AAS API url
                                        - WLS_SERVICE_USERNAME=<service username>         : WLS service username
                                        - WLS_SERVICE_PASSWORD=<service password>         : WLS service password
                                                                        Required env variables specific to setup task are:
                                        - HVS_URL=<url>      : HVS API Endpoint URL
                                        - BEARER_TOKEN=<token> for authenticating with HVS

Directory Layout

The Workload Service installs by default to /opt/wls with the following folders.