-
Notifications
You must be signed in to change notification settings - Fork 3
/
config.yaml
58 lines (45 loc) · 2.85 KB
/
config.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
## IP and ports to listen on. Defaults shown.
BACKEND_SERVICE_IP: '0.0.0.0'
BACKEND_SERVICE_PORT: 2442
BACKEND_PLUGINS_PATH: 'backends' # Where to find persistent and non-persistent plugins
BACKEND_CLASS: 'pyshelve_backend.PyShelveBackend' # The persistent plugin that controls locking and state.
POST_PROCESS_CLASSES: [] # A list of non-persistant plugins that let you perform extra tasks based on locking and state.
# - 'slack_notify_post_processor.SlackNotifyPostProcessor' # the included/optional non-persistent backend which can post notifications into the Slack chat applicaiton.
LOG_LEVEL: 'DEBUG' # INFO, DEBUG, WARNING, ERROR
# openssl req -x509 -nodes -days 3650 -newkey rsa:4096 -keyout private.key -out public.key -passout "pass:"
USE_SSL: false # Disabled by default -- generate SSL key pair then set this to 'true'
SSL_PUBLIC_KEY: 'ssl/public.key' # The path and filename of the public SSL key -- 'ssl/' is a subdirectory where PyTerraBackTYL is installed.
SSL_PRIVATE_KEY: 'ssl/private.key' # The path and file name of the private SSL key.
# Key:Value pairs where the key matches a Terraform provider, and key is a jsonPath to fetch hostnames from the terraform state
HELPER_HOSTNAME_QUERY_MAP:
digitalocean_droplet: 'modules[*].resources.*.primary.attributes.name'
vsphere_virtual_machine: '$.modules[*].resources.[?(@.type == "vsphere_virtual_machine")].primary[?(@.memory != 0)].name'
##
## pyshelve_backend.PyShelveBackend configuration
##
# The path to where the python shelf objects should be saved (no trailing slash).
PYSHELVE_DATA_PATH: '/opt/pyterrabacktyl/data'
# The filename for the tfstate shelf objects -- the environment name will be prepended
# e.g. for environment TEST, file name will be TEST_terraform_state
PYSHELVE_DB_FILE_NAME: '_terraform_state'
##
## slack_notify_post_processor.SlackNotifyPostProcessor configuration
##
# Generate a Slack Webhook for the desired room and use it below.
SLACK_WEBHOOK_URI: https://hooks.slack.com/services/XXXXXXXXX/XXXXXXXXX/XXXXXXXXXXXXXXXXXXXXXXXX
# The the image to use for the user icon
SLACK_NOTIFY_USER_IMAGE_URI: http://www.devdull.lol/pyterrabacktyl/pyterrabacktyl_logo_square.png
# The username to post as
SLACK_NOTIFY_USERNAME: PyTerraBackTYL
# Which `terraform <command>` operations to notify Slack for.
SLACK_NOTIFICATIONS_ON_TF_ACTIONS:
- OperationTypeApply
# - OperationTypePlan
# When true, will post a list of the hosts found in the newest terraform state.
SLACK_NOTIFY_HOST_LIST: true
# When true, will post a notification when the user has release the lock.
SLACK_NOTIFY_UNLOCK: true
# Formatting of the message strings to post in Slack.
# The use of double quotes (e.g. "hello\nworld") is required for '\n' to be evaluated as a newline.
SLACK_NOTIFY_FORMAT: "_Who:_ *{Who}*\n_Operation:_ *{Operation}*\n_Version:_ {Version}\n_ID:_ {ID}"
SLACK_NOTIFY_UNLOCK_FORMAT: "_Who:_ *{Who}*\n_ID:_ {ID}"