 Introduced in GitLab 15.7, GitLab's deployments from a non-default branch are supported. This feature is part of our GitLab workflow and is configured in the GitLab agent for Kubernetes, which is the foundational layer for Kubernetes cluster connections. By default, the GitLab agent for Kubernetes reacts to any updates to infrastructure as code files applied in the main branch, indicated here by the orange-colored branch. But there may be situations where you need to have the agent sync the target Kubernetes cluster with updates applied in a non-default branch. In other words, a branch that is not the main branch. For example, if you're working on a branch other than main related to an urgent patch or fix that you'd like to test in production by putting a feature flag around it so that you can have granular control of its exposure in production, or if your agent is running on a non-production environment, for example a sandbox or a UAT environment, or an environment on which to test hotfixes, candidate releases or new features, and you'd like to test updates from branches other than your main branch in one of these non-production environments. Whenever you need to have the agent sync the target Kubernetes cluster with updates applied to a non-default branch, you can configure the agent to do so as depicted by the newly orange-colored branch in this image. So what benefits does this feature offer? Deploying from non-default branches using a GitOps flow can foster sharing of knowledge among and across your teams. Stakeholders can work together on the resolution of a patch or fix on a feature branch leading to better collaboration across your organization. It can help lower the risk of introducing errors when duplicating infrastructure across environments. As stakeholders solve these patches or fixes and ensure that they work well in production, they can then safely propagate these changes across other clusters in their infrastructure. Also this automation allows teams to apply updates faster and detect configuration drifts leading to productivity gains and faster time to value. Now let's move on to the demo of this feature. We're going to show how to deploy from a non-default branch. This means a branch other than the main branch. Let's head to the GA4K project which is where we define the configuration of the agent for Kubernetes. And in this project let's go ahead and create a new branch. We'll call it with nginx. You can see there are two branches. The default branch is main and with nginx is a non-default branch. Now in the main branch we will go ahead and go to the configuration file of the agent. We'll go ahead and edit it and we will add information about the branch with nginx. So now the agent is going to be observing the manifest directory for any files with YAML, extension YAML, YML or JSON, but in this case it will be observing the branch with nginx. Let's go ahead and tail the agent log file. And here you can see the agent has already updated some configuration. Next thing we need to do is let's switch branches to with nginx and notice that this branch does not have a manifest directory. So we'll go ahead and create one, commit this change to the branch with nginx and within this directory we'll go ahead and create a new file. We'll call it nginx.yaml and in here we'll put the manifest for an nginx deployment with a replica of one. But before we commit let's make sure that there is no pod running with nginx. As you can see currently the cluster has no nginx deployments up and running. Let's go ahead and watch or tail this command get pods and we'll go ahead and make the commitment of these changes and as you can see the agent has already reacted to the new file and is instantiated an instance of the nginx deployment in the cluster. There it is. GitHub's deployments from a non-default branch can foster collaboration across stakeholders in your organization, help lower the risk of introducing errors when duplicated infrastructure across environments and allow teams to apply updates faster and detect configuration drifts leading to productivity gains and a faster time to value. I hope you enjoyed this video and until next time.