lunar-policy.yml
Policy Plugin
lunar-policy.ymlType: YAML file
Form:
version: 0 name: <policy-name> description: <policy-description> author: <author-name> default_image: <default-image> 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 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.
default_image
default_imagelunar-policy.yml -> default_imageType:
stringOptional
The default Docker image to use for all policies in this plugin. This overrides the global default_image_policies setting from lunar-config.yml.
Individual policies can still override this plugin default using the image field. Use the special value native to explicitly run without a container.
For more information about default images and container execution, see Images.
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.
Note: When consumers import this plugin via uses, they can selectively include or exclude specific policies using the include field. This allows consumers to use only the policies they need from a plugin that defines multiple policies.
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
