Telefonistka
Telefonistka - Safe and Controlled GitOps Promotion Across Environments/Failure-Domains
| Type | object |
|---|---|
| File match |
**/telefonistka.yaml
|
| Schema URL | https://catalog.lintel.tools/schemas/schemastore/telefonistka/latest.json |
| Source | https://raw.githubusercontent.com/commercetools/telefonistka/refs/heads/main/schema/telefonistka.json |
Validate with Lintel
npx @lintel/lintel check
Properties
List of promotion flow
List of labels to apply on PR
If true, the bot will comment the planned promotion on the merged PR
If true the bot will auto-approve all promotion PRs, with the assumption the original PR was peer reviewed and is promoted verbatim. Required additional GH token via APPROVER_GITHUB_OAUTH_TOKEN env variable
Map of strings, allow (non-repo-admin) users to change the Github commit status state(from failure to success and back). This can be used to continue promotion of a change that doesn't pass repo checks. the keys are strings commented in the PRs, values are Github commit status context to be overridden
List of configuration for Github event forwarding
This disables upstream TLS server certificate validation for the webhook proxy functionality. Default is false
ArgoCD configuration
5 nested properties
Uses ArgoCD API to calculate expected changes to k8s state and comment the resulting 'diff' as comment in the PR
If true, Telefonistka will merge promotion PRs that are not expected to change the target clusters
Use SHA1 of the application path as a label and rely on ArgoCD server-side filtering, label name is telefonistka.io/component-path-sha1
This controls which component(=ArgoCD apps) are allowed to be 'applied' from a PR branch, by setting the ArgoCD application Target Revision to PR branch
For application created in PR Telefonistka needs to create a temporary ArgoCD Application Object to render the manifests, this key enables this behavior
Component-level configuration only. Highest priority. List of target paths blocked from promoting. Can be regex
Component-level configuration only. List of target paths allowed to be promoted. Can be regex
Component-level configuration only. If true, no sensitive information stored outside kind:Secret objects is persisted to PR comments
Definitions
A promotion flow
The directory that holds components(subdirectories) to be synced, can include a regex
The number of extra nesting levels to add to the 'components' being promoted, this allows nesting components in subdirectories while keeping them distinct. A 2 value will mean the component name includes the 3 subdirectories under the sourcePath
Conditions for triggering a specific promotion flows. Flows are evaluated in order, first one to match is triggered
2 nested properties
Array of PR labels, if the triggering PR has any of these labels the condition is considered fulfilled
If set to true, PR will be automatically merged after it is created
List of PR that will be opened when files are changed under sourcePath
A PR that will be opened when files are changed under sourcePath
A directory to be synced from the changed component under sourcePath
An optional string that describes the target paths, will be used in the promotion PR titles
Regex to configure Github event forwarding
Directory in the repo to watch for watch
List of webhook endpoint to send the Github event. You can use capture groups from the regex expression