File names and formats when using GitOps

Jenkins X uses GitOps and so has a number of different source files with declarative schemas.

You may also find the git layout document useful.

Files in any repository

File Schema Description
.jx/settings.yaml Settings Optional file to override any settings from the development cluster git repository; such as the chart repository, container registry or environments to promote to. Usually the Requirements in the dev cluster git repository are used.
.jx/updatebot.yaml Updatebot Describes the settings when using the jx updatebot plugin to promote versions of a repository to different git repositories using different strategies
.lighthouse/*/triggers.yaml TriggerConfig Defines the pipeline triggers in lighthouse which start tekton pipelines in response to git or ChatOps activity
.lighthouse/*/*.yaml PipelineRun Tekton pipelines to define pull request pipelines (or presubmits) and release pipelines (postsubmits). For more detail check out the pipeline reference
charts helm chart Defines the kubernetes resources to be installed in a kubernetes cluster
Dockerfile Dockerfile Defines how to create a container image for repositories that create images
OWNERS OWNERS this lighthouse configuration file defines who can review and approve files
OWNERS_ALIASES OWNERS_ALIASES this lighthouse configuration file defines aliases for who can review and approve files
preview/helmfile.yaml helmfile The helmfile defines the helm charts, version and value mappings to be installed in a preview environment

Files in a dev cluster repository

The following files are only used in a development cluster git repository

File Schema Description
.jx/gitops/source-config.yaml SourceConfig Defines the git owners (organisations/users) and repositories which are imported into Jenkins X and so have webhooks and lighthouse triggers defined. Also supports slack and jenkins configuration
.jx/gitops/kpt-strategy.yaml KptStrategies Lets you define what kind of kpt upgrade strategy you wish to you for different folders. See upgrade cluster
.jx/secret/mapping/secret-mappings.yaml SecretMapping Defines the generic mapping of Secrets to ExternalSecrets. For more detail see how we use ExternalSecrets
config-root Kubernetes Defines the kubernetes resources and custom resource definitions generated from the helmfile
docs/ A markdown report of all the helm charts and versions installed in each namespace in your cluster. Its generated from the **/helmfile.yaml files during the boot Job via the jx gitops helmfile report command
extensions/pipeline-catalog.yaml PipelineCatalog Defines the pipeline catalog or catalogs to use to define the shared pipelines for your repositories
extensions/quickstarts.yaml Quickstarts Defines the quickstarts used by your team when creating a quickstart project
jx-requirements.yml Requirements The kubernetes cluster and infrastructure requirements such as kubernetes provider kind, chart repository, container registry and environments
helmfiles/ns/helmfile.yaml helmfile The helmfile defines the helm charts, version and value mappings to be installed in a namespace in a cluster. We use a folder inside helmfiles for each namespace so its easy to keep namespaces separate in git
schedulers/*.yaml Scheduler The scheduler used to configure ChatOps and merging
versionStream The shared version stream which contains chart, image and git versions and default configuration files

JSON Schemas

See the JSON Schemas

Last modified April 29, 2021: fix: use better vault page (7e59569e1e)