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
Type: object

Properties

promotionPaths path[]

List of promotion flow

promtionPRlables string[]

List of labels to apply on PR

dryRunMode boolean

If true, the bot will comment the planned promotion on the merged PR

autoApprovePromotionPrs boolean

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

toggleCommitStatus object

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

webhookEndpointRegexs regex[]

List of configuration for Github event forwarding

whProxtSkipTLSVerifyUpstream boolean

This disables upstream TLS server certificate validation for the webhook proxy functionality. Default is false

argocd object

ArgoCD configuration

5 nested properties
commentDiffonPR boolean

Uses ArgoCD API to calculate expected changes to k8s state and comment the resulting 'diff' as comment in the PR

autoMergeNoDiffPRs boolean

If true, Telefonistka will merge promotion PRs that are not expected to change the target clusters

useSHALabelForAppDiscovery boolean

Use SHA1 of the application path as a label and rely on ArgoCD server-side filtering, label name is telefonistka.io/component-path-sha1

allowSyncfromBranchPathRegex string

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

createTempAppObjectFromNewApps boolean

For application created in PR Telefonistka needs to create a temporary ArgoCD Application Object to render the manifests, this key enables this behavior

promotionTargetBlockList string[]

Component-level configuration only. Highest priority. List of target paths blocked from promoting. Can be regex

promotionTargetAllowList string[]

Component-level configuration only. List of target paths allowed to be promoted. Can be regex

disableArgoCDDiff boolean

Component-level configuration only. If true, no sensitive information stored outside kind:Secret objects is persisted to PR comments

Definitions

path object

A promotion flow

sourcePath string

The directory that holds components(subdirectories) to be synced, can include a regex

componentPathExtraDepth integer

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 object

Conditions for triggering a specific promotion flows. Flows are evaluated in order, first one to match is triggered

2 nested properties
prHasLabels string[]

Array of PR labels, if the triggering PR has any of these labels the condition is considered fulfilled

autoMerge boolean

If set to true, PR will be automatically merged after it is created

promotionPrs pr[]

List of PR that will be opened when files are changed under sourcePath

pr object

A PR that will be opened when files are changed under sourcePath

targetPaths string[]

A directory to be synced from the changed component under sourcePath

targetDescription string

An optional string that describes the target paths, will be used in the promotion PR titles

regex object

Regex to configure Github event forwarding

expression string

Directory in the repo to watch for watch

replacements string[]

List of webhook endpoint to send the Github event. You can use capture groups from the regex expression