chiragtayal / ansible-role-envoyproxy

Ansible Role for Envoy Proxy

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Ansible Galaxy Lint Molecule CI/CD License

Ansible Envoy Proxy Role

Envoy Proxy it's a powerful edge and service proxy developed for Cloud Native applications. It's a gratuated project in the CNCF and has native integrations with Jagger for observability, Prometheus for metrics and insights and others.

This role goal is to help users to deploy and configure the basic of the Envoy Proxy, to a VM and baremetal as alternative for the conventional Proxies, Load Balancers tools.

Envoy Proxy configurations will NOT be covered here as they have a extra level of complexity that will require a Ansible Collections / Module.

Requirements

Ansible

  • This role is developed and tested with maintained versions of Ansible. Backwards compatibility is not guaranteed.
  • Instructions on how to install Ansible can be found in the Ansible website.

Molecule

  • Molecule 3.x is used to test the various functionalities of the role.
  • Instructions on how to install Molecule can be found in the Molecule website.

Ansible Galaxy

Use ansible-galaxy install hugoprudente.envoyproxy to install the latest stable release of the role on your system.

Git

Use git clone https://github.com/hugoprudente/ansible-role-envoyproxy.git hugoprudente.envoyproxy inside your roles/ directory to pull the latest edge commit of the role from GitHub.

Platforms

Envoy Proxy role supports

Envoy Proxy

The Envoy Proxy role is working towards support all platforms supported by Envoy Proxy.

At the moment I have tested it for:

CentOS:
- 8
Ubuntu:
- focal (20.04)
Debian:
- duster (10)

Role Variables

This role has multiple variables. The descriptions and defaults for all these variables can be found in the defaults/main/ folder in the following files:

Name Description
main.yml Envoy Proxy installation variables
systemd.yml Systemd installation variables
logrotate.yml Logrotate installation variables
cluster.yml Cluster installation variables

Similarly, descriptions and defaults for preset variables can be found in the vars/ folder in the following files:

Name Description
main.yml List of supported Envoy Proxy platforms and modules

Example Playbooks

Working functional playbook examples can be found in the molecule/ folder in the following files:

Name Description
default/converge.yml Install a default version of Envoy Proxy
container/converge.yml Install a containerised version of Envoy Proxy
source/converge.yml Install Envoy Proxy building from the source
cluster/converge.yml Install clustered version of Envoy Proxy (Primary/Primary) and (Active/Backup)
custom/converge.yml Install a specific of Envoy Proxy add log rotate and systemd custom

License

Apache License, Version 2.0

Author Information

Hugo Prudente

About

Ansible Role for Envoy Proxy

License:Apache License 2.0


Languages

Language:Jinja 100.0%