Skip to content

taraio/Lynx

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

166 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lynx Logo

Lynx

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

Lynx - A Fast, Secure and Reliable Terraform Backend. | Product Hunt


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

Upcoming Features:

  • Automated Scheduled Backups: Enable automated scheduled backups for both project and environment state files to ensure data integrity and offer a recovery option at specific points in time.
  • Snapshot Creation: for both projects and environments to ensure data integrity and provide recovery options at specific points in time.

Docker Deployment

To run with docker and docker-compose

$ git clone https://github.com/Clivern/Lynx.git app
$ cd app
$ docker-compose up -d

Ubuntu Deployment

  1. Install Elixir: You can install Elixir on Ubuntu using the following commands:
$ sudo apt-get update
$ sudo apt-get install elixir
  1. Install PostgreSQL: Install PostgreSQL on Ubuntu with:
$ sudo apt-get install postgresql postgresql-contrib
  1. Configure Environment Variables: Set up the required environment variables from .env.example.
$ mkdir -p /etc/lynx
$ cd /etc/lynx
$ git clone https://github.com/Clivern/Lynx.git app
$ cp app/.env.example .env.local # Adjust the database configs
  1. Migrate the database
$ cd /etc/lynx/app
$ make migrate
  1. Create a Systemd Service File.
[Unit]
Description=Lynx

[Service]
Type=simple
EnvironmentFile=/etc/lynx/app/.env.local
ExecStart=/usr/bin/mix phx.server

[Install]
WantedBy=multi-user.target
sudo systemctl enable lynx.service
sudo systemctl start lynx.service

Development

To run postgresql with docker or podman

$ docker run -itd \
    -e POSTGRES_USER=lynx \
    -e POSTGRES_PASSWORD=lynx \
    -e POSTGRES_DB=lynx_dev \
    -p 5432:5432 \
    --name lyx \
    postgres:15.2

$ podman run -itd \
    -e POSTGRES_USER=lynx \
    -e POSTGRES_PASSWORD=lynx \
    -e POSTGRES_DB=lynx_dev \
    -p 5432:5432 \
    --name lyx \
    postgres:15.2

# https://github.com/dbcli/pgcli
$ psql -h 127.0.0.1 -U lynx -d lynx_dev -W

Then run lynx with the following commands

$ cp .env.example .env.local

$ export $(cat .env.local | xargs)
$ make deps

$ make migrate

$ make run

$ make test

Versioning

For transparency into our release cycle and in striving to maintain backward compatibility, Lynx is maintained under the Semantic Versioning guidelines and release process is predictable and business-friendly.

See the Releases section of our GitHub project for changelogs for each release version of Lynx. It contains summaries of the most noteworthy changes made in each release. Also see the Milestones section for the future roadmap.

Bug tracker

If you have any suggestions, bug reports, or annoyances please report them to our issue tracker at https://github.com/clivern/lynx/issues

Security Issues

If you discover a security vulnerability within Lynx, please send an email to [email protected]

Contributing

We are an open source, community-driven project so please feel free to join us. see the contributing guidelines for more details.

License

© 2022, Clivern. Released under MIT License.

Lynx is authored and maintained by @clivern.

About

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

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Elixir 94.5%
  • HTML 2.3%
  • Dockerfile 1.1%
  • JavaScript 0.8%
  • Makefile 0.8%
  • HCL 0.4%
  • Other 0.1%