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
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
versionStream The shared version stream which contains chart, image and git versions and default configuration files

Last modified February 25, 2021: fix: polish FAQ (5a0f105b4e)