Skip to content

Agents

The repository agent is a service you deploy and operate in your local network or VPC so that the Controller can securely connect to your artifact repositories.


Requirements

The agent itself is a container and can be quickly deployed on (a) A small, managed Kubernetes cluster that is operating in your local network/VPC with network access to your private repository or (b) Docker.


Install Agent

Kubernetes Agent

Follow the instructions described below to configure and install an agent on a managed Kubernetes cluster.

  • Login to the Console and navigate to your Project
  • Click Gitops and Select GitOps Agents
  • Click New Agent
  • Provide a Name and Deployment Type Kubernetes is selected by default
  • Select a Cluster from the dropdown. A dedicated cluster is mandatory. The agents can be deployed to the same cluster where the workloads will operate
  • Click Create

Create New Agent

Behind the scenes, the controller will automatically deploy the agent pod to the designated cluster. In a few seconds, the agent health will transition from UNHEALTHY to HEALTHY.

New Agent Status

Optionally, you can also verify successful deployment and status of the agents on the target using the integrated Zero Trust KubeCTL terminal. Look for the pod with the name "cd-agent-xxxxxx" in the "rafay-system" namespace.

kubectl get po -n rafay-system

In the example below, we can see that the agent was recently created and is healthy (running).

Agent Status via KubeCTL


Docker Agent

Follow the instructions described below to configure and install an agent as a standalone container. Note that a Kubernetes cluster is not required for this agent form factor.

  • Login to the Console and navigate to your Project
  • Click Gitops and Select GitOps Agents
  • Click New Agent
  • Provide a Name and select the deployment type Docker
  • Click Create

New Agent Status

  • A message appears as shown below to download the Relay Config and Docker Compose files and run the docker compose command.

New Agent Status

  • Access the file downloaded path in your terminal and run the command docker-compose -f docker-compose-w2l372p.yml up -d to complete the agent deployment process
  • On successful deployment, the agent is activated and healthy in status as shown in the below example

New Agent Status

To remove the deployed docker container, use the below command

docker container rm <container id>

View Agents

Users can view the list of agents, the cluster they are operational on, their current health etc right from the Console.

  • In your Org, navigate to your Project
  • Click on Gitops and Select GitOps Agents

View All Agents


Use Agents

Agents are used by configured repositories so that the Controller can access artifacts in these private repositories.


Delete Agent

Existing agents (healthy or unhealthy) can be deleted anytime. Note that this is a destruction action.

  • Navigate to Gitops -> GitOps Agents
  • Click on Delete, Confirm Yes when prompted

This will automatically remove the agent resources on the cluster where it was operational.


Multiple Agents

There are no limits or licensing implications to the number of agents that customers can deploy and operate. It is strongly recommended that customers use multiple agents especially for production deployments. Running multiple agents provided the following benefits:

Scalability

A single agent can become bottle necked due to multiple, concurrent requests.

Better Performance

With multiple agents, the controller automatically "round robins" requests ensuring that requests are spread across the agents.

Availability

There is not a single point of failure and the remaining agents seamlessly pick up the work in case an agent fails.