Skip to content

Latest commit

 

History

History
42 lines (32 loc) · 2.66 KB

VARIABLES.md

File metadata and controls

42 lines (32 loc) · 2.66 KB

Variables in OpenServerless Task

This document lists general guidelines to define OpenServerless Tasks variable via the ops cli.

General info:

OpenServerless Tasks variable are typically set issuing a command like ops config VARIABLE=<value>. These variable are stored under the ~/.ops/config.json file. Variables name are splitted over the _ character and the resulting parts are used to compose a json nested object having all the parts, that is given a variable with value OPERATOR_COMPONENT_MINIO=true the resulting json persisted into the configuration file will be something like

{
    "operator":{
        "component":{
            "minio":true
        }
    }
}

General guidelines:

With the above described behavior we have defined some general rules to be adopted when developing/updating OpenServerless Tasks variables

  • Avoid to define variable starting with OPS_ prefix. This prefix is reserved to the ops general config itself, and normally defined inside the opsroot.json. It is better to clearly distinguish task variable from the ops generated/reserved ones.
  • Considering the _ splitting rules, prefer variable names composed by a maximum of 4 parts to avoid too much nested json structure. This is to simplify readability of the config.json if manually inspected.
  • Do not override variable used for configuration, with values obtained after the configuration has been applied (to create/update an Apache OpenServerless instance). This is to guarantee that we can always reconstruct the original config.json file. For instance OPS tasks defines an OPERATOR_CONFIG_APIHOST that should not be overridden. It is better to define a OUTPUT_APIHOST instead.
  • Specify volume size parameters with numerical value expressed as GB
  • Specify memory size parameters with numerical value expressed as GB

Variable prefixes category

This is a comprehensive list of variable prefix used in Ops tasks describing their purpose

Variable Prefix Purpose
OPERATOR_COMPONENT_ Used to defined which OpenServerless Components needs to be deployed by the Operator
OPERATOR_CONFIG_ Global Ops Operator configuration parameters
OPENWHISK_CONTROLLER_ OpenWhisk Controller Configuration
OPENWHISK_INVOKER_ OpenWhisk Invoker Configuration
OPENWHISK_ OpenWhisk General configuration for limits, triggers etc etc
STORAGE_SIZE_ Used to define various component allocated volumes size
SECRET_ Used to define autogenerated secret
OUTPUT_ Used to define calculated configuration parameters that are result of applying ops tasks against a running OpenServerless instance, if applies (APIHOST is one of them)