GithubHelp home page GithubHelp logo

infrastructure's Introduction

HYF Infrastructure

Infrastructure code for manage cloud resources of HackYourFuture.

For the time being this code is used mainly to create API resources for the website.

Prerequisites

Before you can use run this project you would need make and docker installed.

For install make in a MacOS:

brew install make

Authorizations

In order to access the authorizations for deploy new resources to the infrastructure you need to make sure you own the rights to run the operations. You can get your tokens here: Get your AWS Tokens

Init

Once you get your tokens you can finally get auth by fetching the environment file needed to perform additional operations:

AWS_ACCESS_KEY_ID=<FILL_YOUR_KEY> AWS_SECRET_ACCESS_KEY=<FILL_YOUR_SECRET> AWS_SESSION_TOKEN=<FILL_YOUR_TOKEN> AWS_DEFAULT_REGION=eu-central-1 make .env

A password is gonna been ask to perform additional operations.

Terraform

We use terraform for describe our infrastructure and we deploy against AWS. We highly recommend have study them before play with it ^_^.

For run terraform you can run:

Terraform - Init

Dowload the dependencies.

./bin/terraform init

Terraform - Check changes

Check changes on infra.

`./bin/terraform plan`

Terraform - Apply changes

Deploy the infrastructure.

`./bin/terraform apply`

Important

If you change the files and you run apply make sure you commit all the files include .tfstate* once.

Secrets

If you change the secrets and you want update the secrets: you can run make encrypt.

infrastructure's People

Contributors

m3kh avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

infrastructure's Issues

Login to aws with a github account

Opportunity - 0: Login to aws with a github account

What we're trying to solve:
Managing aws users is expensive, because creates an additional operational cost.
Reusing the github authentication, to establish permission within aws level would centralise the authentication process and assign the right set of permission for the allowed resources.
By providing one source of true at lower maintenance.

An approach:
The scope is to create an authentication logic that allows user to access to aws.amazon.com/console with a github user that belongs in the HackYourFuture organisation.

The system would map Teams to specific IAM roles and would create a SAML token with the aws provider.

First use case:
Class 14 needs to work at a lambda function that is hosted in our account.
To provide a better access to debug the production environment. The whole team class14 in github needs to be capable of reading the logs of the lambda function.

Steps to be done:

  • Create oAuth Application in GitHub
  • Create dedicate role for AWS in terraform
  • Create hosted auth logic
  • Add environment variable to lambda
  • Add travis CI
  • Deploy

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.