---
title: Charmhub | Deploy Jenkins K8s using Charmhub - The Open Operator Collection
description: Deploy the latest version of Jenkins K8s as a Kubernetes Operator on
  any cloud.
url: https://charmhub.io/jenkins-k8s/docs/how-to-integrate-with-external-agents
---

# Jenkins K8s

[Canonical IS DevOps](https://charmhub.io/publisher/canonical-is-devops "View all packages from Canonical IS DevOps")

* [Canonical IS DevOps](https://charmhub.io/publisher/canonical-is-devops "View all packages from Canonical IS DevOps")

Platform:

stable 201

```
juju deploy jenkins-k8s
```

[Learn to deploy on juju >](https://juju.is/docs/juju/manage-applications)

---

#### Contacts

* [Submit a bug](https://github.com/canonical/jenkins-k8s-operator/issues)

---

Share your thoughts on this charm with the community on discourse.

[Join the discussion](https://discourse.charmhub.io/)

# How to integrate with external agent charms

We consider any agent charm to be `external` when they don’t have layer 3 connectivity with the `jenkins-k8s` charm. To integrate with those agent charms, we’ll leverage the `jenkins-k8s` charm’s `agent-discovery-ingress` integration.

The `agent-discovery-ingress` integration can be used with any charm that supports the `:ingress` interface. One example is the [traefik-k8s](https://charmhub.io/traefik-k8s) charm.

```
juju integrate jenkins-k8s:agent-discovery-ingress traefik-k8s:ingress
```

Agents considered `external` have to be integrated using a cross-model integration. To integrate with such agent, simply integrate with the ingress provider charm as mentioned above and then integrate with the agent charm’s offer endpoint.

```
juju integrate jenkins-k8s:agent-discovery-ingress traefik-k8s:ingress
juju integrate jenkins-k8s:agent <offer-endpoint>
```

## [Networking considerations](https://charmhub.io/jenkins-k8s/docs/how-to-integrate-with-external-agents#p-31258-networking-considerations)

The charm assumes that:

1. There are connectivity between the Juju controller of the `jenkins-k8s` charm and the Juju controller of the agent charm trying to connect with the `jenkins-k8s` charm.
2. The agent can resolve the ingress host name provided by the `jenkins-k8s` charm and the resulting IP address is reachable, and there are firewall rules in place to allow HTTP traffic.
3. In case a reverse proxy is present, it is also expected that the HTTP connection coming from the agent charm is allowed to be upgraded into a WebSocket connection. The reverse proxy should also be configured with a suitable idle timeout for WebSocket connections to avoid intermittent agent disconnection.

---
