Git Product home page Git Product logo

jwmullally / scaf Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sixfeetup/scaf

0.0 0.0 0.0 1.07 MB

scaf provides developers and DevOps engineers with a complete blueprint for a new project using Kubernetes

License: BSD 3-Clause "New" or "Revised" License

Shell 5.30% JavaScript 2.44% Python 45.64% TypeScript 3.58% CSS 1.32% Makefile 6.65% HTML 13.61% HCL 17.20% Dockerfile 2.93% SCSS 0.50% Starlark 0.83%

scaf's Introduction

scaf provides developers and DevOps engineers with a complete blueprint for a new project and streamlines the development experience with Tilt.

scaf generates a new project structure with Kubernetes manifests in three Kustomize layers for dev, sandbox, and production. A new project contains the following:

  • React frontend
  • Django backend
  • Postgres database for local development
  • CloudNativePG deployment for production
  • Redis
  • Mailhog
  • ArgoCD
  • Traefik
  • Certmanger
  • Certificates and Ingress Routes
  • Kube Prometheus Stack
  • Grafana Loki
  • GitHub and Bitbucket pipelines to build and push images, run security, formatting and linting checks
  • Terraform config to set up a k3s cluster on AWS

Installation

Installation is supported on Linux and macOS:

curl -sSL https://raw.githubusercontent.com/sixfeetup/scaf/main/install.sh | sh

The installation script will install kubectl, kind, and Tilt if it can't be found on your system.

Creating a new project using this repo

Run scaf myproject, answer all the questions, and you'll have your new project!

Inside myproject/README.md, you will have more documentation explaining how to use and configure your newly created project.

Terraform and AWS

To deploy your project using Terraform and AWS, you can follow the instructions in terraform/README.md.
Note that you will need:

  • an AWS account where you have access to the OrganizationAccountAccessRole
  • terraform, and AWS CLI installed and configured

Development on scaf

When making changes to scaf, keep the following in mind:

  • update pins in requirements/*.in files but *don't* commit the compiled requirements.txt files to the repo.
  • update to the latest Python supported by Django. For Django 4.1, this is 3.8, 3.9, and 3.10.

scaf's People

Contributors

rochecompaan avatar nvernooy avatar balavec avatar sfu-peter avatar rennerocha avatar cdw9 avatar dependabot[bot] avatar gfranxman avatar calvinhp avatar cmaliwal avatar daveoconnor avatar sedatbasar avatar abosio avatar phoikoi avatar umarmaqbool 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.