<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>About on JayeX - Cloud Native CI/CD Built On Kubernetes</title>
		<link>https://jx-docs-jx-jayex-io-jx-docs-pr-19.infra.jenkins-x.rocks/v3/about/</link>
		<description>Recent content in About on JayeX - Cloud Native CI/CD Built On Kubernetes</description>
		<generator>Hugo</generator>
		<language>en</language>
		
		
		
		
			<atom:link href="https://jx-docs-jx-jayex-io-jx-docs-pr-19.infra.jenkins-x.rocks/v3/about/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>What is JayeX?</title>
				<link>https://jx-docs-jx-jayex-io-jx-docs-pr-19.infra.jenkins-x.rocks/v3/about/what/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://jx-docs-jx-jayex-io-jx-docs-pr-19.infra.jenkins-x.rocks/v3/about/what/</guid>
				<description>&lt;p&gt;JayeX automates and accelerates Continuous Integration and Continuous Delivery for developers on the cloud, so they can focus on building awesome software.&lt;/p&gt;&#xA;&lt;p&gt;Embracing popular open source projects JayeX automates the setup and management to provide an integrated Cloud Native solution teams can use to develop better software faster and more reliably than traditional non cloud solutions.&lt;/p&gt;&#xA;&lt;p&gt;Open Source projects that JayeX integrates with:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://kubernetes.io/&#34;&gt;Kubernetes&lt;/a&gt; target platform JayeX is installed onto, optionally deploy and run applications built with JayeX&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tekton.dev/&#34;&gt;Tekton&lt;/a&gt; Cloud Native pipeline orchestration&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/kuberhealthy/kuberhealthy&#34;&gt;Kuberhealthy&lt;/a&gt; Periodic health checks of the systems&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://grafana.com&#34;&gt;Grafana&lt;/a&gt; &lt;strong&gt;[optional]&lt;/strong&gt; Centralised logs and Observability&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.jenkins.io/&#34;&gt;Jenkins&lt;/a&gt; &lt;strong&gt;[optional]&lt;/strong&gt; traditional pipeline orchestration&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.sonatype.com/nexus/repository-oss&#34;&gt;Nexus&lt;/a&gt; &lt;strong&gt;[optional]&lt;/strong&gt; artifact repository&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;At a high level JayeX can be split into a few areas:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Changes</title>
				<link>https://jx-docs-jx-jayex-io-jx-docs-pr-19.infra.jenkins-x.rocks/v3/about/changes/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://jx-docs-jx-jayex-io-jx-docs-pr-19.infra.jenkins-x.rocks/v3/about/changes/</guid>
				<description>&lt;p&gt;You may also find the &lt;a href=&#34;https://jx-docs-jx-jayex-io-jx-docs-pr-19.infra.jenkins-x.rocks/community/roadmap/&#34;&gt;Roadmap&lt;/a&gt; and &lt;a href=&#34;https://jx-docs-jx-jayex-io-jx-docs-pr-19.infra.jenkins-x.rocks/v3/about/maturity-matrix/&#34;&gt;Maturity Matrix&lt;/a&gt; documents useful:&lt;/p&gt;&#xA;&lt;h2 id=&#34;breaking-changes&#34;&gt;Breaking Changes&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;we have &lt;a href=&#34;https://github.com/jenkins-x/jx/issues/7870&#34;&gt;noticed a regression&lt;/a&gt; in the &lt;a href=&#34;https://jx-docs-jx-jayex-io-jx-docs-pr-19.infra.jenkins-x.rocks/v3/admin/setup/upgrades/cluster/#automatic-upgrades&#34;&gt;auto upgrade jobs&lt;/a&gt; which causes them to fail with an error like this:&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;updatebot WARNING: no $GIT_SECRET_MOUNT_PATH environment variable set                      &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;updatebot error: failed to setup git: failed to clone the cluster git URL: failed to clone cluster git repository https://github.com/myorg/myrepo.git: failed to clone cluster git repo https://github.com/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;updatebot fatal: could not read Username &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;https://github.com&amp;#39;&lt;/span&gt;: No such device or address&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;you can fix this by following the &lt;a href=&#34;https://github.com/jenkins-x/jx/issues/7870&#34;&gt;workarounds on this issue&lt;/a&gt; which should get you past this and working &lt;a href=&#34;https://jx-docs-jx-jayex-io-jx-docs-pr-19.infra.jenkins-x.rocks/v3/admin/setup/upgrades/cluster/#automatic-upgrades&#34;&gt;auto upgrade jobs&lt;/a&gt; again&lt;/p&gt;</description>
			</item>
			<item>
				<title>Maturity Level Matrix</title>
				<link>https://jx-docs-jx-jayex-io-jx-docs-pr-19.infra.jenkins-x.rocks/v3/about/maturity-matrix/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://jx-docs-jx-jayex-io-jx-docs-pr-19.infra.jenkins-x.rocks/v3/about/maturity-matrix/</guid>
				<description>&lt;img src=&#34;https://jx-docs-jx-jayex-io-jx-docs-pr-19.infra.jenkins-x.rocks/images/v3/v3-maturity.png&#34;&gt;&#xA;&lt;img src=&#34;https://jx-docs-jx-jayex-io-jx-docs-pr-19.infra.jenkins-x.rocks/images/v3/jx-v3alpha-color-rep.png&#34;&gt;&#xA;&lt;br /&gt;&#xA;&lt;p&gt;This maturity matrix describes the tentative plan post JayeX v3.0 &lt;strong&gt;GA&lt;/strong&gt; release. This matrix will continue to evolve as we progress further.&lt;/p&gt;&#xA;&lt;img src=&#34;https://jx-docs-jx-jayex-io-jx-docs-pr-19.infra.jenkins-x.rocks/images/v3/jx-v3ga-maturity-matrix.png&#34;&gt;</description>
			</item>
			<item>
				<title>Benefits</title>
				<link>https://jx-docs-jx-jayex-io-jx-docs-pr-19.infra.jenkins-x.rocks/v3/about/benefits/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://jx-docs-jx-jayex-io-jx-docs-pr-19.infra.jenkins-x.rocks/v3/about/benefits/</guid>
				<description>&lt;ul&gt;&#xA;&lt;li&gt;We can use vanilla tools like &lt;a href=&#34;https://helm.sh/&#34;&gt;helm 3&lt;/a&gt;, &lt;a href=&#34;https://github.com/roboll/helmfile&#34;&gt;helmfile&lt;/a&gt;, &lt;a href=&#34;https://kustomize.io/&#34;&gt;kustomize&lt;/a&gt;, &lt;a href=&#34;https://googlecontainertools.github.io/kpt/&#34;&gt;kpt&lt;/a&gt; to install, update or delete charts in any namespace without needing helm 2.x or tiller or custom code to manage &lt;code&gt;helm template&lt;/code&gt;.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;We can avoid all the complexities of the &lt;code&gt;jx step helm apply&lt;/code&gt; logic we used in JayeX 2.x&lt;/li&gt;&#xA;&lt;li&gt;Instead we can replace this with vanilla &lt;a href=&#34;https://github.com/roboll/helmfile&#34;&gt;helmfile&lt;/a&gt; to allow optional templating of &lt;code&gt;values.yaml&lt;/code&gt; files when using helm&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;The new &lt;a href=&#34;https://jx-docs-jx-jayex-io-jx-docs-pr-19.infra.jenkins-x.rocks/v3/admin/platform/&#34;&gt;Getting Started&lt;/a&gt; approach is much simpler, easier to configure and customise and is cleanly integrated with tools like Terraform and works well with different cloud infrastructure platforms.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The default install/upgrade pipelines check in all the generated kubernetes resources and custom resources as YAML so its easy to understand&lt;/li&gt;&#xA;&lt;li&gt;You can read more about the &lt;a href=&#34;https://github.com/jenkins-x/jx-gitops/blob/master/docs/git_layout.md&#34;&gt;git layout here&lt;/a&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The &lt;code&gt;config-root/cluster&lt;/code&gt; folder contains all the global cluster level resources like &lt;code&gt;ClusterRole&lt;/code&gt;, &lt;code&gt;Namespace&lt;/code&gt; or Custom Resources&lt;/li&gt;&#xA;&lt;li&gt;The &lt;code&gt;config-root/namespaces/jx&lt;/code&gt; folder contains all the namespaced resources in the &lt;code&gt;jx&lt;/code&gt; namespace&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;This makes it easy to use flexible apply logic in different boot &lt;code&gt;Jobs&lt;/code&gt; with different RBAC (or a system admin could apply the cluster level resources for you by hand) - to make it easier to install JayeX on more locked down and restricted clusters&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;We use &lt;a href=&#34;https://github.com/external-secrets/kubernetes-external-secrets&#34;&gt;Kubernetes External Secrets&lt;/a&gt; to provide a single way to manage secrets which supports the following back end systems:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Alibaba Cloud KMS Secret Manager&lt;/li&gt;&#xA;&lt;li&gt;AWS Secrets Manager&lt;/li&gt;&#xA;&lt;li&gt;Azure Key Vault&lt;/li&gt;&#xA;&lt;li&gt;GCP Secret Manager&lt;/li&gt;&#xA;&lt;li&gt;Hashicorp Vault&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;It opens the door to a flexible &lt;a href=&#34;https://jx-docs-jx-jayex-io-jx-docs-pr-19.infra.jenkins-x.rocks/v3/guides/multi-cluster/&#34;&gt;multi-cluster support&lt;/a&gt; so that every cluster can be managed in the same canonical GitOps approach from a single git repository&lt;/li&gt;&#xA;&lt;li&gt;The new &lt;a href=&#34;https://jx-docs-jx-jayex-io-jx-docs-pr-19.infra.jenkins-x.rocks/v3/admin/platform/&#34;&gt;getting started approach&lt;/a&gt; runs the boot pipeline as a &lt;code&gt;Job&lt;/code&gt; inside the Kubernetes cluster. This ensures consistency in tooling used and also improves security by avoiding having the secrets on a developers laptop.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The only thing you run on your local machine when installing JayeX is &lt;a href=&#34;https://jx-docs-jx-jayex-io-jx-docs-pr-19.infra.jenkins-x.rocks/v3/guides/operator/&#34;&gt;installing the git operator&lt;/a&gt; which is a simple helm chart.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Everything is now an app. So if you want to remove our &lt;code&gt;nginx-ingress&lt;/code&gt; chart and replace it with another ingress solution (knative / istio / gloo / ambassador / linkerd or whatever) just go ahead and use the &lt;a href=&#34;https://jx-docs-jx-jayex-io-jx-docs-pr-19.infra.jenkins-x.rocks/v3/develop/apps/&#34;&gt;apps commands&lt;/a&gt; to add/remove apps and have boot manage everything in a consistent way&#xA;&lt;ul&gt;&#xA;&lt;li&gt;e.g. here&amp;rsquo;s &lt;a href=&#34;https://github.com/jx3-gitops-repositories/jx3-kind-vault/blob/master/helmfile.yaml#L17&#34;&gt;an example&lt;/a&gt; of removing &lt;code&gt;chartmusem&lt;/code&gt; and &lt;code&gt;nexus&lt;/code&gt; and replacing it with &lt;code&gt;bucketrepo&lt;/code&gt; via a single simple yaml change.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;You can install an app in a specific namespace if you wish&#xA;&lt;ul&gt;&#xA;&lt;li&gt;This also opens the door to using boot to setup multi-team installations where multiple teams use different namespaces but share services in the same cluster&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;The cluster GitOps repository is simpler and easier to keep in sync/rebase/merge with the upstream git repositories.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;We use &lt;a href=&#34;https://googlecontainertools.github.io/kpt/&#34;&gt;kpt&lt;/a&gt; to do that for us&lt;/li&gt;&#xA;&lt;li&gt;We now include the &lt;a href=&#34;https://jayex.io/v3/about/concepts/version-stream/&#34;&gt;version stream&lt;/a&gt; inside your GitOps repository too inside the &lt;code&gt;versionStream&lt;/code&gt; directory after installation so that all the information about your installation is inside a single git repository so its simpler to test changes &amp;amp; ensure consistency.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;We can avoid composite charts to simplfiy configuration and upgrades&lt;/li&gt;&#xA;&lt;li&gt;We no longer use &lt;code&gt;exposecontroller&lt;/code&gt;, instead use regular helm configuration to create &lt;code&gt;Ingress&lt;/code&gt; resources and &lt;a href=&#34;https://jx-docs-jx-jayex-io-jx-docs-pr-19.infra.jenkins-x.rocks/v3/develop/faq/#how-do-i-configure-the-ingress-domain-in-dev-staging-or-production&#34;&gt;override domain names&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;secret handling is currently much simpler using Kubernetes External Secrets for any secrets in any namespace or cluster for your own apps or for those used by JayeX.&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
			</item>
			<item>
				<title>Comparison</title>
				<link>https://jx-docs-jx-jayex-io-jx-docs-pr-19.infra.jenkins-x.rocks/v3/about/comparison/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://jx-docs-jx-jayex-io-jx-docs-pr-19.infra.jenkins-x.rocks/v3/about/comparison/</guid>
				<description>&lt;p&gt;This document outlines the similarities and differences of the 3.x approach for those who are aware of &lt;code&gt;jx boot&lt;/code&gt; with helm 2 in 2.x of JayeX.&lt;/p&gt;&#xA;&lt;h2 id=&#34;similarities-between-2x-and-3x&#34;&gt;Similarities between 2.x and 3.x&lt;/h2&gt;&#xA;&lt;p&gt;Just like classic boot with the &lt;a href=&#34;https://github.com/jenkins-x/jenkins-x-boot-config/&#34;&gt;jenkins-x-boot-config&lt;/a&gt; git repository, this new &lt;a href=&#34;https://github.com/roboll/helmfile&#34;&gt;helmfile&lt;/a&gt; solution supports:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;you can install and upgrade JayeX via GitOps&lt;/li&gt;&#xA;&lt;li&gt;you can reuse helm charts from the internet, local charts or charts built by JayeX in any environment&lt;/li&gt;&#xA;&lt;li&gt;a YAML file is used to store all the charts that are applied during install/upgrade&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;differences-with-in-3x&#34;&gt;Differences with in 3.x&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;we support any permutation of tools such as: &lt;a href=&#34;https://helm.sh/&#34;&gt;helm 3&lt;/a&gt;, &lt;a href=&#34;https://github.com/roboll/helmfile&#34;&gt;helmfile&lt;/a&gt;, &lt;a href=&#34;https://kustomize.io/&#34;&gt;kustomize&lt;/a&gt; and/or &lt;a href=&#34;https://googlecontainertools.github.io/kpt/&#34;&gt;kpt&lt;/a&gt; to create the kubernetes resources&lt;/li&gt;&#xA;&lt;li&gt;in 3.x the installation/upgrade of JayeX is run inside the kubernetes cluster via a &lt;code&gt;Job&lt;/code&gt; rather than on a developers laptop which helps with consistency and security.&lt;/li&gt;&#xA;&lt;li&gt;in 3.x we use a single git repository for each cluster; which can manage as many teams/namespaces as you like within the cluster&#xA;&lt;ul&gt;&#xA;&lt;li&gt;so any local environments like &lt;code&gt;Staging&lt;/code&gt; which reside in the same kubernetes cluster are defined in the same git repository in 3.x - whereas in 2.x we used a separate git repository for &lt;code&gt;Dev&lt;/code&gt;, &lt;code&gt;Staging&lt;/code&gt; and &lt;code&gt;Production&lt;/code&gt; when sharing the same cluster.&lt;/li&gt;&#xA;&lt;li&gt;if &lt;code&gt;Dev&lt;/code&gt;, &lt;code&gt;Preprod&lt;/code&gt; and &lt;code&gt;Production&lt;/code&gt; environments are in separate kubernetes clusters then those will have a git repository each.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;any helm chart can be deployed in any namespace (previously we used a single namespace for all charts in the &lt;a href=&#34;https://github.com/jenkins-x/jenkins-x-boot-config/blob/master/env/requirements.yaml&#34;&gt;env/requirements.yaml&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;instead of using &lt;a href=&#34;https://github.com/jenkins-x/jenkins-x-boot-config/blob/master/env/requirements.yaml&#34;&gt;env/requirements.yaml&lt;/a&gt; we now use a simple and more powerful &lt;a href=&#34;https://github.com/jenkins-x-labs/boot-helmfile-poc/blob/master/helmfile.yaml&#34;&gt;helmfile.yaml&lt;/a&gt; file which is similar but supports:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;we can specify a &lt;code&gt;namespace&lt;/code&gt; on any chart&lt;/li&gt;&#xA;&lt;li&gt;we can add extra &lt;code&gt;values&lt;/code&gt; files to use with the chart to override the helm &lt;code&gt;values.yaml&lt;/code&gt; files&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;instead of copying lots of &lt;code&gt;env/$appName/values*.yaml&lt;/code&gt; files into the boot config like we do in &lt;a href=&#34;https://github.com/jenkins-x/jenkins-x-boot-config/blob/master/env/&#34;&gt;these folders&lt;/a&gt; such as &lt;a href=&#34;https://github.com/jenkins-x/jenkins-x-boot-config/blob/master/env/lighthouse/values.tmpl.yaml&#34;&gt;the lighthouse/values.tmpl.yaml&lt;/a&gt; we can instead default all of these from the version stream at &lt;a href=&#34;https://github.com/jenkins-x/jxr-versions/tree/master/apps/jenkins-x/lighthouse&#34;&gt;apps/jenkins-x/lighthouse&lt;/a&gt; - which means the boot config git repository is much simpler, we can share more configuration with the version stream and it avoids lots of git merge/rebase issues.&lt;/li&gt;&#xA;&lt;li&gt;adding and removing apps in your GitOps repository causes those resources to be properly installed or uninstalled&#xA;&lt;ul&gt;&#xA;&lt;li&gt;you can also review exactly what kubernetes resources will change on the Pull Request&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;we no longer use a composite chart for &lt;code&gt;env/Chart.yaml&lt;/code&gt; and instead deploy each chart independently&#xA;&lt;ul&gt;&#xA;&lt;li&gt;this means that each chart has its own unique version number you can see in the &lt;code&gt;helmfile.yaml&lt;/code&gt; file&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;we have done away with the complexity of &lt;code&gt;jenkins-x-platform&lt;/code&gt; (a composite chart containing logs of &lt;a href=&#34;https://github.com/jenkins-x/jenkins-x-platform/blob/master/jenkins-x-platform/requirements.yaml&#34;&gt;dependencies&lt;/a&gt; like &lt;code&gt;jenkins&lt;/code&gt; + &lt;code&gt;chartmuseum&lt;/code&gt; + &lt;code&gt;nexus&lt;/code&gt; etc) so that each chart can be added/removed independently or swapped out with a different version/distribution&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;removing-complexity-and-magic&#34;&gt;Removing complexity and magic&lt;/h2&gt;&#xA;&lt;p&gt;Removing complexity out of JayeX and reusing other solutions wherever possible.  JayeX 2.x was tightly coupled to helm 2 for example.  There were &lt;code&gt;jx&lt;/code&gt; CLI steps that wrapped helm commands when installing applications into the cluster which injected secrets from an internal Vault and ultimately made it very confusing for users and maintainers.&lt;/p&gt;</description>
			</item>
			<item>
				<title>How it works</title>
				<link>https://jx-docs-jx-jayex-io-jx-docs-pr-19.infra.jenkins-x.rocks/v3/about/how-it-works/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://jx-docs-jx-jayex-io-jx-docs-pr-19.infra.jenkins-x.rocks/v3/about/how-it-works/</guid>
				<description>&lt;h2 id=&#34;how-it-works&#34;&gt;How it works&lt;/h2&gt;&#xA;&lt;p&gt;The GitOps repository templates contain the source code, scripts and docs to help you get your cloud resources created (e.g. a kubernetes cluster and maybe buckets and/or a secret manager).&lt;/p&gt;&#xA;&lt;p&gt;Once you have created the GitOps repository from one of the &lt;a href=&#34;https://jx-docs-jx-jayex-io-jx-docs-pr-19.infra.jenkins-x.rocks/v3/admin/platform/&#34;&gt;available templates and followed the instructions&lt;/a&gt; to set up your infrastructure you &lt;a href=&#34;https://jx-docs-jx-jayex-io-jx-docs-pr-19.infra.jenkins-x.rocks/v3/guides/operator/&#34;&gt;install the git operator&lt;/a&gt; via the &lt;a href=&#34;https://github.com/jenkins-x/jx-admin/blob/master/docs/cmd/jx-admin_operator.md&#34;&gt;jx admin operator&lt;/a&gt; command:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    jx admin operator&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;That command essentially installs the &lt;a href=&#34;https://github.com/jenkins-x/jx-git-operator&#34;&gt;git operator&lt;/a&gt; chart, passing in the git URL, username and token to run the boot process.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Extending</title>
				<link>https://jx-docs-jx-jayex-io-jx-docs-pr-19.infra.jenkins-x.rocks/v3/about/extending/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://jx-docs-jx-jayex-io-jx-docs-pr-19.infra.jenkins-x.rocks/v3/about/extending/</guid>
				<description>&lt;p&gt;JayeX has a number of extension points you can use to extend the CI/CD platform to suit your needs:&lt;/p&gt;&#xA;&lt;h2 id=&#34;charts&#34;&gt;Charts&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://helm.sh/&#34;&gt;Helm&lt;/a&gt; &lt;a href=&#34;https://helm.sh/docs/topics/charts/&#34;&gt;charts&lt;/a&gt; are the standard way to package applications for kubernetes.&lt;/p&gt;&#xA;&lt;p&gt;It&amp;rsquo;s easy to use GitOps to &lt;a href=&#34;https://jx-docs-jx-jayex-io-jx-docs-pr-19.infra.jenkins-x.rocks/v3/develop/apps/#adding-charts&#34;&gt;add charts&lt;/a&gt; to any of your clusters and &lt;a href=&#34;https://jx-docs-jx-jayex-io-jx-docs-pr-19.infra.jenkins-x.rocks/v3/develop/apps/#customising-charts&#34;&gt;customize them&lt;/a&gt; however you need.&lt;/p&gt;&#xA;&lt;p&gt;You can also easily &lt;a href=&#34;https://jx-docs-jx-jayex-io-jx-docs-pr-19.infra.jenkins-x.rocks/v3/develop/apps/#adding-resources&#34;&gt;add one or more kubernetes resources to a cluster via a source layout chart&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;plugins&#34;&gt;Plugins&lt;/h2&gt;&#xA;&lt;p&gt;The &lt;code&gt;jx&lt;/code&gt; command line in version 3 is build on &lt;a href=&#34;https://github.com/jenkins-x/jx#plugins&#34;&gt;plugins&lt;/a&gt;.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
