Skip to content

Quinntainer

Actions
Deploy containers to AWS
v1.0.1
Latest
Star (8)

Overview

This repo contains an action for deploying containers to AWS. It will build a docker image from a Dockerfile in the repo, push the image to Amazon ECR and the run the container via AWS AppRunner.

The repo also contains a CLI tool to setup the GitHub workflow in your repo and also setup the AWS IAM role necessary for GitHub Actions to assume via OpenID Connect.

Quickstart

To setup your application for quinntainers, run the following from within your application directory.

npx quinntainer init

Why?

This tool was inspired by a tweet from Corey Quinn following his experiences with Google Cloud Run. He's right - for his use case, Google Cloud Run is much easier. Therefore, the only appropriate solution is to create the 18th way to run containers on AWS 🚀

Example Workflow

name: Deploy
on:
  push:
    branches: 
    - main

permissions:
  id-token: write
  contents: read

jobs:
  deploy:
    concurrency: deploy
    runs-on: ubuntu-latest
    steps:
    - uses: nektos/quinntainer@v1
      with: 
        aws-region: us-west-2
        role-to-assume: arn:aws:iam::0123456789:role/quinntainer-gha-myorg-myrepo
        port: 80

Action Inputs

The actions supports the following inputs:

Input Description
aws-region AWS Region, e.g. us-east-2
role-to-assume ARN of IAM Role to assume via GHA OIDC
port Port listening in container
cpu CPU to allocate to container (Default: 1024)
memory Memory to allocate to container (Default: 2048)
docker-build-context Path to docker build context (Default: .)
dockerfile Path to Dockerfile (Default: Dockerfile)

Quinntainer is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.

About

Deploy containers to AWS
v1.0.1
Latest

Quinntainer is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.