Giter Site home page Giter Site logo

cloud-infra's Introduction

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

cloud-infra's People

Contributors

jjba23 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.