The open source projects used by Jenkins X
Jenkins X 3.x creates clearer separation of concerns between conceptual areas and releasable components.
NOTE The diagram shows intent, as Jenkins X 3 is still in beta not all integrations are complete.
The following demo walks you through an overview of the architecture:
Jenkins X uses the following microservices by namespace.
Note that if you have a working Jenkins X installation you can browse all the actual kubernetes resources used across each namespace via the
config-root/namespaces/$namespace/$chartName folder in your cluster git repository.
Contains the main development services of Jenkins X:
- jx-build-controller watches for
PipelineRunresources and creates/updates the associated
PipelineActivityresources used by
jx get build log, octant and the pipelines visualizer
- jx-pipelines-visualizer visualises
PipelineActivityresources and the associated build logs in a read only UI
- jx-preview-gc-jobs periodically garbage collects
Previewresources and their associated preview environments created by jx preview
- jxboot-helmfile-resources-gcactivities periodically garbage collects old and completed
- jxboot-helmfile-resources-gcpods periodically garbage collects completed
- jx-kh-check supports additional kuberhealthy based health checks for Jenkins X specific resources
- lighthouse-webhooks converts webhooks from your git provider into
- lighthouse-tekton-controller converts
LighthouseJobcustom resources into tekton
PipelineRunresources (the tekton controller converts
PipelineRunresources into kubernetes
- lighthouse-foghorn watches the execution of
PipelineRunresources triggered by lighthouse and updates the pipeline status in git so that you see pipelines start, complete or fail on your git provider along with having links the pipelines visualizer on each context on a Pull Request
- lighthouse-keeper looks for open Pull Requests with green pipelines and the necessary approve labels to be able to auto merge
- lighthouse-gc-jobs periodically garbage collects
LighthouseJobresources and their associated resources (e.g.
the following are optional extras:
- bucket repository a lightweight cloud native artifact, chart repository and maven proxy that can be configured to use cloud storage. It’s a lightweight cloud native alternative to nexus
- chart museum an optional chart repository
- nexus if used as an artifact repository and maven proxy
Contains the nginx-ingress provider if enabled
- kubernetes-external-secrets contains the external-secrets/kubernetes-external-secrets service for handling
ExternalSecrets. See how we use secrets)
- pusher-wave contains the pusher/wave service for performing a rolling upgrade of any microservice which consumes
Secretresources from either vault or a cloud providers secret store and the secrets change in the underlying store
the following are optional extras if not using your cloud providers native secret manager:
- vault-operator contains the vault operator which converts
Vaultresources into instances of HashiCorp Vault
- vault-instance contains the vault instance which creates the default
Contains the tekton pipelines controllers
The location of the various source code repositories
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.