Skip to content

My Nix + Terraform configurations and setup for the cloud infrastructure of my personal projects.

License

Notifications You must be signed in to change notification settings

jjba23/cloud-infra

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cloud Infra - a reproducible cloud infrastructure for JJBA’s projects

Welcome to my cloud infrastructure’s source code. Here you can learn a lot about subjects like Nix, Flakes, Terraform (OpenTofu), Amazon AWS and more.

What is the motivation ?

This is an effort in using the great Terranix project to help declare all my infrastructure using the great Nix configuration language.

At the same time I profit from all the Terraform providers that exist.

With the code you can find here, I create and maintain all my AWS infrastructure in a very pleasant way, and creating good abstractions to ease my journey in the cloud.

Interesting files

See configuration.nix to get an idea of how I use my own built abstractions to declare my cloud infrastructure.

Then explore the mystical contents of the src/ folder where all the logic for different providers resides.

You can see some more information about Terranix and its usage in docs/.

What is Terraform?

Terraform (and OpenTofu) is a tool to interact with APIs via declarative files. Also known as “infrastructure as code”. Instead of write imperative scripts, you define the setup you like to have and terraform will make it happen.

Why Nix instead of Terraform

Using Nix you have the power of a programming language, while being extremely suitable for configuration declaration. You can greatly reduce duplication, cognitive load, and provide good defaults, in a concise manner.

You also have complete reproducibility package and plugin wise thanks to the Terranix project.

Read more about the amazing advantages of Nix in this use case down below.

What is terranix?

terranix is a tool that enables you to render the config.tf.json file. It uses the NixOS module system and gives you tools like terranix-doc-man and terranix-doc-json to generate documentation of terranix modules.

How to diagnose user data script in Amazon AWS EC2 instances ?

Run journalctl -u amazon-init -e as root.

Project management

Project backlog

separate into smaller instances, instead of medium, use small, one is CI builder spot instance, other is permanent runner server as where deployment target

create SMTP credentials for sending WikiMusic email

About

My Nix + Terraform configurations and setup for the cloud infrastructure of my personal projects.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published