Ingress Proxy
Ingress Proxy is a lightweight proxy web service that accepts messages via a REST API and forwards them to the Apache Kafka messaging system using its native protocol.
Code
The service is written in Go, and its source code, along with a more detailed description, including build, configuration, and usage instructions, can be found here.
Deployment
Ingress Proxy runs inside a Docker container on a dedicated ingress proxy VM in the ORC cloud. It is deployed via a CI/CD job using Ansible.
SSH key for the VM can be found in Gitlab CI/CD Variables. You might need to request for access to this page.
Host
The ingress proxy VM is provisioned through our infrastructure monorepo (see the infrastructure section for more details). The VM's IP address can be found in the Ansible inventory (look for the ingress-proxy-vm
record).
Deployment Details
The deployment is managed through the ingress-proxy
Ansible role. This role includes:
- A configuration template for the config file.
- A task to mount the config file and start a Docker container.
Configuration values defined in an Ansible variable file.