https://github.com/canonical/aproxy-operator
A subordinate charm that transparently intercepts per-unit HTTP/HTTPS traffic and forwards it to a target proxy.
https://github.com/canonical/aproxy-operator
charm platform-engineering product-aproxy squad-apac
Last synced: about 2 months ago
JSON representation
A subordinate charm that transparently intercepts per-unit HTTP/HTTPS traffic and forwards it to a target proxy.
- Host: GitHub
- URL: https://github.com/canonical/aproxy-operator
- Owner: canonical
- License: apache-2.0
- Created: 2025-09-10T13:32:57.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2026-04-22T18:13:39.000Z (about 2 months ago)
- Last Synced: 2026-04-22T19:31:07.825Z (about 2 months ago)
- Topics: charm, platform-engineering, product-aproxy, squad-apac
- Language: Python
- Homepage: https://charmhub.io/aproxy
- Size: 2.87 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Codeowners: CODEOWNERS
- Security: SECURITY.md
Awesome Lists containing this project
README
# Aproxy subordinate charm
[](https://charmhub.io/aproxy)
[](https://github.com/canonical/aproxy-operator/actions/workflows/publish_charm.yaml)
[](https://github.com/canonical/aproxy-operator/actions/workflows/promote_charm.yaml)
[](https://discourse.charmhub.io)
A subordinate charm that transparently intercepts per-unit TCP traffic and forwards it to a target proxy. It deployes the [Aproxy](https://snapcraft.io/aproxy) snap application.
Like any Juju charm, this charm supports one-line deployment, configuration, integration, scaling, and more. For Charmed Aproxy, this includes:
- Transparent TCP interception via nftables REDIRECT
- Per-unit forwarding to a configured target proxy
- Configurable domains to be excluded from interception and intercept ports
For information about how to deploy, integrate, and manage this charm, see the Official [aproxy-operator Documentation](https://charmhub.io/aproxy).
## Get started
Below is a guide on how to quickly prepare a Juju environment, deploy and relate aproxy to a principal charm, and operate the charm.
### Set up
Ensure you have a working [Juju](https://documentation.ubuntu.com/juju/latest/tutorial/) environment.
For quick local testing, you can use [Multipass](https://canonical.com/multipass/install).
### Deploy
To deploy aproxy alongside a principal charm (for example, Ubuntu), you need to integrate the principal charm with aproxy. For successful proxy forwarding, you also need to configure the target proxy address.
```bash
juju deploy ubuntu
juju deploy aproxy
juju integrate aproxy ubuntu
juju config aproxy proxy-address=$TARGET_PROXY:$TARGET_PORT
```
### Basic operations
Update the target proxy address:
```bash
juju config aproxy proxy-address=$MODIFIED_PROXY:$MODIFIED_PORT
```
Exclude domains from interception:
```bash
juju config aproxy exclude-addresses-from-proxy=$EXCLUDED_ADDRESS
```
Stop the aproxy charm's interception of traffic (which disables nftables redirection):
```bash
juju run aproxy/0 stop
```
See the [charmcraft.yaml](https://github.com/canonical/aproxy-operator/blob/main/charmcraft.yaml) file for all configuration options and actions.
## Integrations
The charm is designed to run as a subordinate and integrates with any principal charm that generates outbound TCP traffic.
Relations enable it to transparently forward requests through the configured proxy without modifying the principal charm itself.
See the Charmhub documentation on [integrations](https://charmhub.io/aproxy/integrations) for more details.
## Learn more
- [Read more](https://charmhub.io/aproxy)
- [Troubleshooting](https://matrix.to/#/#charmhub-charmdev:ubuntu.com)
## Project and community
- [Issues](https://github.com/canonical/aproxy-operator/issues)
- [Contributing](https://github.com/canonical/aproxy-operator/blob/main/CONTRIBUTING.md)
- [Matrix](https://matrix.to/#/#charmhub-charmdev:ubuntu.com)
- [Launchpad](https://launchpad.net/~canonical-is-devops)
## Licensing and trademark
This charm is licensed under the [Apache License, Version 2.0](https://github.com/canonical/aproxy-operator?tab=Apache-2.0-1-ov-file). Copyright 2025 Canonical Ltd.