/Lynx

🐺 A Fast, Secure and Reliable Terraform Backend, Set up in Minutes.

Primary LanguageElixirMIT LicenseMIT

Lynx Logo

Lynx

A Fast, Secure and Reliable Terraform Backend, Set up in Minutes.


Lynx is a Fast, Secure and Reliable Terraform Backend. It is built in Elixir with Phoenix framework.

Features:

  • Simplified Setup: Easy installation and maintenance for hassle-free usage.
  • Team Collaboration: Manage multiple teams and users seamlessly.
  • User-Friendly Interface: Enjoy a visually appealing dashboard for intuitive navigation.
  • Project Flexibility: Support for multiple projects within each team.
  • Environment Management: Create and manage multiple environments per project.
  • State Versioning: Keep track of Terraform state versions for better control.
  • Rollback Capability: Easily revert to previous states for efficient infrastructure management.
  • Terraform Locking Support: The project also supports Terraform locking, ensuring state integrity and preventing concurrent operations that could lead to data corruption
  • RESTful Endpoints: for seamless teams, users, projects, environments, and snapshots management.
  • Snapshots Support: for both projects and environments to ensure data integrity and provide recovery options at specific points in time.
  • Terraform Provider: Automate creation/updates of teams, users, projects, environments and snapshots with terraform.

Upcoming Features:

  • Single Sign-On (SSO): Support for OAuth2 Providers like Azure AD OAuth, Keycloak, Okta ... etc

Quick Start

Important

Make sure you have docker and docker-compose installed for the quick start.

Lynx requires a PostgreSQL database. No Object Storage is required.

To run Lynx alone on port 4000 on docker.

$ wget https://raw.githubusercontent.com/Clivern/Lynx/main/docker-compose.yml \
    -O docker-compose.yml

$ docker-compose up -d

To run Lynx behind nginx reverse proxy on port 80 on docker.

$ wget https://raw.githubusercontent.com/Clivern/Lynx/main/docker-compose-nginx.yml \
    -O docker-compose.yml
$ wget https://raw.githubusercontent.com/Clivern/Lynx/main/nginx.conf \
    -O nginx.conf

$ docker-compose up -d

To run a 3 Nodes of Lynx behind nginx reverse proxy on port 80 on docker.

$ wget https://raw.githubusercontent.com/Clivern/Lynx/main/docker-compose-cluster.yml \
    -O docker-compose.yml
$ wget https://raw.githubusercontent.com/Clivern/Lynx/main/nginx-cluster.conf \
    -O nginx-cluster.conf

$ docker-compose up -d

Here is a video demonstration

Manual Installation

Please check this guide for a manual setup on Ubuntu server.

Important Links

Name Description
API Documentation https://lynx.apidocumentation.com/reference
Bug Tracker Submit issues on GitHub
Security Issues Submit security vulnerability on GitHub
Contributing Read the contribution guide here

License

© 2023, Clivern. Released under MIT License.

Lynx is authored and maintained by @clivern.