Skip to content

Latest commit

 

History

History
247 lines (196 loc) · 72.4 KB

README.md

File metadata and controls

247 lines (196 loc) · 72.4 KB

NaNLABS

DevOps Reference

Changelog | Contributing

Awesome Continious Integration License: MIT

This repository contains different infrastructure components, CI/CD pipelines, automation tools among other resources that are used in different projects here at NaN Labs.

Contents

Apps and Boilerplates

Name Description Keywords
Automation Seed Automation Seed is a e2e automation framework built on top of WebdriverIO v7 and Selenium that uses Selenoid for execution Automation, Selenium, WebdriverIO, Selenoid, Allure, Typescript, GitHub Actions, GitHub Pages
AWS Glue ETL Boilerplate A complete example of an AWS Glue ETL job that uses the Serverless Framework to deploy the infrastructure and DevContainers and/or Docker Compose to run the application locally with AWS Glue Libs, Spark, Jupyter Notebook, AWS CLI, among other tools. It provides jobs using Python Shell and PySpark. Python, AWS, Glue, ETL, Serverless, DevContainers, Docker Compose
Basic AWS Glue ETL example app A basic but useful example of an AWS Glue application that uses the Serverless Framework to deploy the infrastructure and DevContainers and/or Docker Compose to run the application locally with AWS Glue Libs, Spark, Jupyter Notebook, AWS CLI, among other tools. It provides jobs using Python Shell and PySpark. Python, AWS, Glue, ETL, Serverless, DevContainers, Docker Compose
Terraform AWS Starter Get started quickly with AWS infrastructure using a robust Terraform starter kit incorporating secure state management, VPC configuration, security groups, RDS provisioning, secrets management, SSM parameter store, and GitHub Actions integration! Terraform, Terraform Modules, Infrastructure as Code, AWS, VPC, RDS, RDS Aurora, MongoDB, GitHub Actions, SSM Parameter Store, Secrets Management, Security Groups, Super Linter

Examples

DevOps

A/B Testing

Name Description Keywords
AWS CloudWatch Evidently A complete analysis of the service and a Proof of Concept on how to integrate it with a Node.js application. Node.js, AWS, CloudWatch, CloudWatch Evidently, A/B Testing, Feature Flags
Feature flags post by Atlassian How to progressively expose your features with feature flags by IAN BUCHANNAN. Feature Flags

Shell Scripting and CLI Tools

Name Description Keywords
Bash as a Wrapper Utility Bash as a wrapper utility for other languages and tools. Shell Scripting, Utilities
Bash as a Wrapper Utility with Easy Options Bash as a wrapper utility for other languages and tools using Easy Options. Shell Scripting, Utilities, Easy Options
Parsing Shell Script Arguments with Easy Options Easy options for shell scripts. Shell Scripting, Utilities, Easy Options
ShellCheck for Shell Scripting Learn how to use ShellCheck to lint your shell scripts and catch potential issues before they become a problem. Tutorial, ShellCheck, Shell Scripting, Automation
When to use Shell Scripts A guide from Google on when to use shell scripts. Shell Scripting, Utilities

Continuous Integration, Delivery and Deployment

Name Description Keywords
Actionlint Playground Static checker for GitHub Actions workflow files. GitHub Actions, Actionlint
Automate Pull Requests Reviews using Danger This workflow automates the initial review of Pull Requests using Danger.js. This provides another logical step in your build, through this Danger can help lint your rote tasks in daily code review. You can use Danger to codify your teams norms. Leaving humans to think about harder problems. GitHub Actions, Danger.js
Automating Pull Request Review using DangerJS and GitHub Actions Learn how to automate Pull Request (PR) reviews using DangerJS and GitHub Actions. Automating PR reviews helps enforce coding standards, catch potential issues, and improve code quality in your GitHub repository. Tutorial, GitHub Actions, DangerJS, Pull Request, Automation
Automation Seed example Different workflows to validate the code and deploy an automation report page. GitHub Actions, Automation
Markdown Lint This workflow validates the Markdown files in the repository using the markdownlint action. GitHub Actions, Markdown Lint
React Boilerplate Different workflows to validate the code and deploy a React application. GitHub Actions, React
Shell Check This workflow validates the shell scripts in the repository using the shellcheck action. GitHub Actions, Shell Check
Terraform Check This workflow validates the Terraform files in the repository using the terraform action. GitHub Actions, Terraform
The Ultimate Guide to Code Review Tools A guide where we present a curated selection of modern tools designed to revolutionize your code review process! Code Review, Code Review Tools
The Ultimate Guide to Pull Requests and Code Reviews Comprehensive guide on creating effective pull requests and conducting thorough code reviews. This guide provides an overview of best practices, common pitfalls, and tools to automate and streamline the review process. Pull Requests, Code Reviews, Best Practices, Automation, GitHub Actions, DangerJS
TODOs to GitHub Issues This tutorial shows how to create a GitHub Action that converts TODO comments into GitHub issues. GitHub Actions, TODOs, Issues

Containers, Orchestration and Serverless

Containers and Compositions (Docker, Docker Compose, Buildpacks and more)
Name Description Keywords
Airflow and Spark environment using Docker and Docker Compose Dockerfile and compose.yml to run Airflow locally with initialization scripts. Docker, Docker Compose, Airflow, Spark
AWS Cognito local using Docker Compose compose.yml to run Cognito locally. Docker, Docker Compose, Cognito, AWS
AWS Glue using Docker and Docker Compose Dockerfile and compose.yml for AWS Glue development with AWS Glue Libs, Spark, Jupyter Notebook, AWS CLI among other tools. Docker, Docker Compose, AWS Glue, Spark, Jupyter Notebook, AWS CLI
AWS Neptune using Docker and Docker Compose Dockerfile and compose.yml to run AWS Neptune locally with initialization scripts. Docker, Docker Compose, AWS Neptune
Docker Compose NestJS Starter App Docker Compose starter app for NestJS. Docker, Docker Compose, NestJS, Node.js
Embracing the Power of LocalStack for AWS Emulation A comprehensive guide highlighting the benefits of using LocalStack for AWS service emulation. The blog post covers various LocalStack examples for Docker and Serverless setups and explores its application in local development, CI, and more. LocalStack, AWS, Docker, Serverless, DevOps, CI, Local Development
Localstack using Docker and Docker Compose Dockerfile and compose.yml to run Localstack locally with all the necessary services. This example also includes a script to create the necessary resources in Localstack. The provided examples are for DynamoDB, S3, SQS and Kinesis. Docker, Docker Compose, Localstack, DynamoDB, S3, SQS, Kinesis
Microsoft SQL Server using Docker and Docker Compose Dockerfile and compose.yml to run Microsoft SQL Server locally with initialization scripts. Docker, Docker Compose, Microsoft SQL Server
MongoDB + Mongo Express using Docker and Docker Compose Dockerfile and compose.yml to run MongoDB and Mongo Express locally with initialization scripts. Docker, Docker Compose, MongoDB, Mongo Express
PostgreSQL using Docker and Docker Compose Dockerfile and compose.yml to run PostgreSQL locally with initialization scripts. Docker, Docker Compose, PostgreSQL
Python Buildpack Buildpack example for Python applications. Buildpack, Python
Serverless LocalStack with S3 and DynamoDB Serverless Framework example to run lambda functions locally using Serverless Offline with LocalStack. It provides a full local development environment using Serverless LocalStack. Serverless Framework, Serverless Offline, Serverless LocalStack, LocalStack, S3, DynamoDB
Verdaccio with Docker Compose Example Verdaccio is a lightweight private npm proxy registry. This example shows how to run Verdaccio locally using Docker Compose. Docker, Docker Compose, Verdaccio, Node Package Manager
WordPress Docker Compose Magic Experience the magic of WordPress with this Docker Compose configuration. It seamlessly combines the power of Nginx, WordPress, and MySQL/MariaDB to create a delightful web environment. The lightweight Nginx handles incoming requests, custom configurations shape the entrance to the WordPress realm, and MariaDB ensures a robust database foundation. Explore the enchanting WordPress Wonderland locally or deploy it to the cloud effortlessly. Docker Compose, Web Hosting, Content Management, PHP, Nginx Configuration, MariaDB Database, MySQL Database
Development and Cloud Environments
Name Description Keywords
AWS Glue DevContainer for AWS Glue development. Uses docker-compose to run VSCode attached to a container with all the necessary tools to develop AWS Glue jobs such us AWS Glue Libs, Spark, Jupyter Notebook, AWS CLI among other tools. Docker, Docker Compose, DevContainer, VSCode DevContainer, GitHub Codespaces, AWS Glue, Spark, Jupyter Notebook, AWS CLI
Exploring DevContainers: A Versatile Development Environment Solution Introduction to Development Containers (DevContainers), a solution to create development environments with a unique approach to address specific development environment needs DevContainer, VSCode DevContainer, GitHub Codespaces, Docker, Docker Compose
Kubernetes
Name Description Keywords
Ingress Ingress example using NGINX Ingress Controller. You can run this example locally using Minikube. Kubernetes, Ingress, NGINX Ingress Controller
Tilt + Minikube Development Environment Seamless, efficient, and developer-friendly Kubernetes development environment using Tilt and Minikube. Kubernetes, Tilt, Minikube, Development Environment, MicroServices

Low Code solutions

AWS Amplify
Name Description Keywords
AWS Amplify + NextJS 13 AWS Amplify example to deploy a NextJS v13 application to the Cloud. AWS Amplify, NextJS, NextJS 13

Infrastructure as Code

Serverless Framework, SAM and CloudFormation
Name Description Keywords
AWS AppSync + Python Serverless Framework example to deploy an AWS AppSync API using Python. It also has a local development environment using Serverless Offline. Serverless Framework, AWS AppSync, Python
AWS AppSync + TypeScript Serverless Framework example to deploy an AWS AppSync API using TypeScript. It also has a local development environment using Serverless Offline. Serverless Framework, AWS AppSync, TypeScript
AWS Cognito Local Example AWS Cognito local enviroment with Docker and Serverless offline Serverless Framework, Serverless Offline, AWS, Cognito, Docker
AWS Glue with Python Shell and PySpark Jobs Serverless Framework example to deploy an AWS Glue job using Python Shell and PySpark. Serverless Framework, AWS Glue, Python Shell, PySpark
DocumentDB Cluster Serverless Framework example to deploy a DocumentDB cluster with all the necessary resources. Serverless Framework, DocumentDB
Embracing the Power of LocalStack for AWS Emulation A comprehensive guide highlighting the benefits of using LocalStack for AWS service emulation. The blog post covers various LocalStack examples for Docker and Serverless setups and explores its application in local development, CI, and more. LocalStack, AWS, Docker, Serverless, DevOps, CI, Local Development
Neo4j in EC2 Serverless Framework example to deploy a Neo4j instance in EC2. Serverless Framework, Neo4j, EC2
RDS Postgres Instance Serverless Framework example to deploy a RDS Postgres instance with all the necessary resources. Serverless Framework, RDS Postgres
RDS Postgres Instance with Serverless VPC Plugin Serverless Framework example to deploy a RDS Postgres instance with all the necessary resources using Serverless VPC Plugin. Serverless Framework, RDS Postgres, Serverless VPC Plugin
Serverless + FastAPI Serverless Framework example to deploy a FastAPI application using Python. It also has local development environment using Serverless Offline. Serverless Framework, Serverless Offline, FastAPI, Python
Serverless Bundle Plugin Example Serverless Framework example to deploy a lambda function using Middy, the stylish Node.js middleware engine for AWS Lambda and Serverless Bundle Plugin. Serverless Framework, Middy, Serverless Bundle Plugin, TypeScript
Serverless LocalStack with S3 and DynamoDB Serverless Framework example to run lambda functions locally using Serverless Offline with LocalStack. It provides a full local development environment using Serverless LocalStack. Serverless Framework, Serverless Offline, Serverless LocalStack, LocalStack, S3, DynamoDB
Serverless Middy Serverless Framework example to deploy a lambda function using Middy, the stylish Node.js middleware engine for AWS Lambda. Serverless Framework, Middy
Serverless Middy with Custom Middleware Serverless Framework example to deploy a lambda function using Middy, the stylish Node.js middleware engine for AWS Lambda. Serverless Framework, Middy, Custom Middleware
Serverless Nest Application with TypeScript Serverless Framework example to deploy a NestJS application using TypeScript. Serverless Framework, NestJS, TypeScript
Serverless S3 Local Serverless Framework example to run a lambda function locally using Serverless S3 Local. Serverless Framework, Serverless S3 Local
Serverless SQS offline + Python + Localstack Example Serverless Framework example to run lambda functions locally using Serverless Offline SQS with Localstack. It provides a full local development environment using Serverless Offline. Serverless Framework, SQS, Serverless Offline, Serverless Offline SQS, Localstack, Python
Serverless SQS offline + TypeScript + ElasticMQ Example Serverless Framework example to run lambda functions locally using Serverless Offline SQS with ElasticMQ. It provides a full local development environment using Serverless Offline. Serverless Framework, SQS, Serverless Offline, Serverless Offline SQS, ElasticMQ
Serverless Twilio + Typescript Lambda example Serverless Framework example to deploy a lambda function using Twilio and TypeScript. Serverless Framework, Serverless Offline, AWS, Twilio, TypeScript
Start and Stop EC2 Instances with AWS Lambda Serverless Framework example to start and stop EC2 instances using AWS Lambda. Serverless Framework, EC2, AWS Lambda
Using Serverless Framework with Terraform The definitive example of how to use Terraform and Serverless Framework together. Serverless Framework, Terraform, AWS
Terraform
Name Description Keywords
Terraform AWS Minecraft Server Terraform example to deploy a Minecraft server in AWS EC2 instance using Docker. Terraform, AWS, Minecraft, Docker, EC2
Terraform AWS RDS Postgres instance Terraform module for creating AWS RDS Postgres instance. Terraform, AWS, RDS
Terraform AWS Starter Get started quickly with AWS infrastructure using a robust Terraform starter kit incorporating secure state management, VPC configuration, security groups, RDS provisioning, secrets management, SSM parameter store, and GitHub Actions integration! Terraform, Terraform Modules, Infrastructure as Code, AWS, VPC, RDS, RDS Aurora, MongoDB, GitHub Actions, SSM Parameter Store, Secrets Management, Security Groups, Super Linter
Terraform AWS VPC resources Terraform module for creating AWS VPC resources. Terraform, AWS, VPC
Terraform Bastion Host Terraform module which creates an EC2 instance acting as a bastion host Terraform, AWS, Bastion
Terraform Starter Kit for AWS VPC, RDS instance, and Bastion Host Terraform Starter kit for creating AWS infrastructure using Terraform that contains a VPC, RDS instance, and a bastion host. Terraform, AWS, VPC, RDS, Bastion
Using Serverless Framework with Terraform The definitive example of how to use Terraform and Serverless Framework together. Serverless Framework, Terraform, AWS
Secrets Management
Name Description Keywords
The Ultimate Guide to Secrets Management for Developers Unlock the arcane art of secrets management with our comprehensive guide! Tailored for the average dev, this post is a treasure map leading to the best practices for storing and accessing sensitive data. Learn to navigate tools like AWS Parameter Store, direnv, teller, and more, with easy-to-follow examples that bring the theory to life. Perfect for those who've never realized the gravity of a leaked secret, this guide will be your enchanted scroll of wisdom. Secrets Management, Cloud Secrets Management, direnv, teller, Security, DevOps, Best Practices, Environment Variables, Encryption, SOPS, Secure Configuration

Infrastructure from Code

Klotho and more
Name Description Keywords
Klotho A complete analysis of the service and a Proof of Concept on how to integrate it with a GO application. AWS, Pulumi, Deployment, Klotho

Dependency Management

Name Description Keywords
Node Package Managers Comparison of the most popular Node Package Managers: npm, yarn, pnpm. Node, npm, yarn, pnpm
Verdaccio with Docker Compose Example Verdaccio is a lightweight private npm proxy registry. This example shows how to run Verdaccio locally using Docker Compose. Docker, Docker Compose, Verdaccio, Node Package Manager

Security and Compliance

Name Description Keywords
The Ultimate Guide to Pull Requests and Code Reviews Comprehensive guide on creating effective pull requests and conducting thorough code reviews. This guide provides an overview of best practices, common pitfalls, and tools to automate and streamline the review process. Pull Requests, Code Reviews, Best Practices, Automation, GitHub Actions, DangerJS
The Ultimate Guide to Secrets Management for Developers Unlock the arcane art of secrets management with our comprehensive guide! Tailored for the average dev, this post is a treasure map leading to the best practices for storing and accessing sensitive data. Learn to navigate tools like AWS Parameter Store, direnv, teller, and more, with easy-to-follow examples that bring the theory to life. Perfect for those who've never realized the gravity of a leaked secret, this guide will be your enchanted scroll of wisdom. Secrets Management, Cloud Secrets Management, direnv, teller, Security, DevOps, Best Practices, Environment Variables, Encryption, SOPS, Secure Configuration
The Ultimate Guide to Security Assessment Tools Comprehensive guides for integrating security tools at different stages of the development lifecycle, including IDE integrations, Git workflows, and CI/CD pipelines. Security, DevOps, Snyk, Trivy, Super Linter, Mega Linter, Shift Left

Guides, Tutorials and Best Practices

Name Description Keywords
Automate Pull Requests Reviews using Danger This workflow automates the initial review of Pull Requests using Danger.js. This provides another logical step in your build, through this Danger can help lint your rote tasks in daily code review. You can use Danger to codify your teams norms. Leaving humans to think about harder problems. GitHub Actions, Danger.js
Embracing the Power of LocalStack for AWS Emulation A comprehensive guide highlighting the benefits of using LocalStack for AWS service emulation. The blog post covers various LocalStack examples for Docker and Serverless setups and explores its application in local development, CI, and more. LocalStack, AWS, Docker, Serverless, DevOps, CI, Local Development
Exploring DevContainers: A Versatile Development Environment Solution Introduction to Development Containers (DevContainers), a solution to create development environments with a unique approach to address specific development environment needs DevContainer, VSCode DevContainer, GitHub Codespaces, Docker, Docker Compose
Feature flags post by Atlassian How to progressively expose your features with feature flags by IAN BUCHANNAN. Feature Flags
The Ultimate Guide to Code Review Tools A guide where we present a curated selection of modern tools designed to revolutionize your code review process! Code Review, Code Review Tools
The Ultimate Guide to Pull Requests and Code Reviews Comprehensive guide on creating effective pull requests and conducting thorough code reviews. This guide provides an overview of best practices, common pitfalls, and tools to automate and streamline the review process. Pull Requests, Code Reviews, Best Practices, Automation, GitHub Actions, DangerJS
The Ultimate Guide to Secrets Management for Developers Unlock the arcane art of secrets management with our comprehensive guide! Tailored for the average dev, this post is a treasure map leading to the best practices for storing and accessing sensitive data. Learn to navigate tools like AWS Parameter Store, direnv, teller, and more, with easy-to-follow examples that bring the theory to life. Perfect for those who've never realized the gravity of a leaked secret, this guide will be your enchanted scroll of wisdom. Secrets Management, Cloud Secrets Management, direnv, teller, Security, DevOps, Best Practices, Environment Variables, Encryption, SOPS, Secure Configuration
Tilt + Minikube Development Environment Seamless, efficient, and developer-friendly Kubernetes development environment using Tilt and Minikube. Kubernetes, Tilt, Minikube, Development Environment, MicroServices
TODOs to GitHub Issues This tutorial shows how to create a GitHub Action that converts TODO comments into GitHub issues. GitHub Actions, TODOs, Issues
Using Serverless Framework with Terraform The definitive example of how to use Terraform and Serverless Framework together. Serverless Framework, Terraform, AWS
When to use Shell Scripts A guide from Google on when to use shell scripts. Shell Scripting, Utilities

Contributing

  • Contributions make the open source community such an amazing place to learn, inspire, and create.
  • Any contributions you make are truly appreciated.
  • Check out our contribution guidelines for more information.

Contributors

Contributors

Made with contributors-img.