lunar-policy.yml
Policy Plugin
lunar-policy.ymlType: YAML file
Form:
version: 0 name: <policy-name> description: <policy-description> author: <author-name> policies: - <policy-configuration> - <policy-configuration> - ... inputs: <input-name>: description: <input-description> default: <default-value> ...
This page describes the configuration of a policy plugin. Policy plugins are used to define the rules that Lunar uses to evaluate the health of components. Policy plugins can be imported from the Lunar configuration file, lunar-config.yml via the uses policy form.
Policy plugins can be defined either in a separate repository or in the same repository as the Lunar configuration, in a dedicated directory. Either way, the policy plugin must contain a lunar-policy.yml file in the root of the repository or directory. This file is used to configure the behavior of the policy plugin.
When using policies in the Main or Run forms, you can also install dependencies. See installing dependencies in the Bash SDK or installing dependencies in the Python SDK for more details.
version
versionlunar-policy.yml -> versionType:
numericRequired
The version field is used to specify the version of the policy configuration file. The current version is 0.
name
namelunar-policy.yml -> nameType:
stringRequired
The name field is used to specify the name of the policy.
description
descriptionlunar-policy.yml -> descriptionType:
stringOptional
The description field is used to specify a description of the policy.
author
authorlunar-policy.yml -> authorType:
stringRequired
The author field is used to specify the author of the policy.
policies
policieslunar-policy.yml -> policiesType:
arrayRequired
The policies field is used to specify the configuration of the policy. The format of a policy is the same as in lunar-config.yml, except that the on and level fields are not allowed (these are configured in lunar-config.yml only). To learn more about the configuration of a policy, see the policies page.
inputs
inputslunar-policy.yml -> inputsType:
objectOptional
The inputs field is used to specify the inputs that the policy requires. Each input is defined as a key-value pair, where the key is the input name.
Inputs are passed to the policy when invoked in the form of environment variables.
description
descriptionlunar-policy.yml -> inputs.<input-name>.descriptionType:
stringOptional
The description field is used to specify a description of the input.
default
defaultlunar-policy.yml -> inputs.<input-name>.defaultType:
stringOptional
The default field is used to specify the default value of the input. If no default value is specified, the input is required.
Last updated