Giter VIP home page Giter VIP logo

aws-operations's Introduction

aws-sam-ts

Deploy Check

Rapidly create AWS SAM microservices. GitHub template to jumpstart common work.

Features

  • Compiles NodeJS TypeScript to JS for AWS Lambda.
  • Uses SAM template to create Lambda function
  • Unit tests the Lambda handlers & libraries.
  • Runs CI/CD pipelines through GitHub Actions.
  • Monitors Lambda errors, and triggers CloudWatch Alarm.
  • Grants the least privileges CI/CD security best practise; through AWS CDK unit tested.
  • Delegates permissions through role CI/CD security best practise; through AWS CDK unit tested.
  • Rapidly deploys dev stack locally through Makefile commands
  • Automates dependency updates for NPM packages.
  • Automates dependency updates for GitHub actions dependencies.
  • Reuses CI checks through reusable GitHub workflows
  • Ensures Deploy workflow runs at a time through GitHub's concurrency feature.

Setup

  • Use this template to create a new GitHub repository.
  • Clone your repository on your local machine.
  • Configure AWS CloudFormation, such as stack name, region, and others through infrastructurerc.json
  • Find & global replace aws-sam-ts with your service name.
  • Create & authorise the CI/CD user with the least privileges. These have to be generated through your local machine to avoid putting administrator IAM credentials online.
    • cd cicd-authorisation && make deploy
    • Use the link from the output to visit the newly created IAM user.
    • Create access key
  • Add the access keys as GitHub encrypted repository secrets: AWS_ACCESS_KEY_ID & AWS_SECRET_ACCESS_KEY
  • Once you commit & git push to main branch, it will be deployed to the default test stack
  • Verify setup by deploying development CloudFormation stack:
    • This is the fastest development workflow and highly recommended.
    • Add an AWS profile in ~/.aws/credentials named cicd_{{your_service_name}} with credentials retrieved from cicd-authorisation creation.
    • make deploy-dev.
  • Deploy to production environment by clicking the Run workflow button in Deploy action. Example
  • Use the exported output MonitorActionsArn to integrate with AWS Chatbot Slack, emails, or other integration types.

aws-operations's People

Contributors

jon-dickinson avatar

Watchers

James Cloos avatar  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.