ize

module
v0.0.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 31, 2022 License: Apache-2.0

README

❯ ize:

Opinionated tool for infrastructure and code.

This tool is designed as a simple wrapper around popular tools, so they can be easily integrated in one infra: terraform, ECS deployment, serverless, and others.

It combines infra, build and deploy workflows in one and is too simple to be considered sophisticated. So let's not do it but rather embrace the simplicity and minimalism.

Workflow

Let's imagine we're deploying a terraform-based infra and a Go-based service named goblin. The general workflow that ❯ize dictates is the following:

1. Deploy infrastructure

Currently it supports Terraform, for which it generates a minimal backend config for terraform and runs it. Think of it as a minimalistic Terragrunt, but you can always switch to a vanilla Terraform. Check out directory structure examples.

ize deploy infra
2. Push secrets for goblin to SSM

It uses Go AWS SDK to push secrets to SSM

ize secrets push goblin
ize secrets rm goblin
3. Build your goblin application

_It runs a docker build with all require underneath.

ize build goblin
4. Deploy your goblin application

It runs a simple logic of updating your task definitions to a new version (and rolling back in case ELB/ALB fails). Currently hazelops/ecs-deploy container is used.

ize deploy goblin
5. Bring up & Bring SSM tunnel

If you use a bastion host, you can establish a tunnel to access your private resources, like Postgres or Redis. This feature is using Amazon SSM and SSH tunneling underneath. Simple, yet effective.

ize tunnel up
ize tunnel down

Installation

To install the latest version via homebrew on MacOS:
1. Install Homebrew
2. Run the following commands:
brew tap hazelops/ize
brew install ize

More information on other platforms

Autocomplete:
MacOS & zsh:

Enable autocompletion

echo "autoload -U compinit; compinit" >>  ~/.zshrc

Load autocompletion on every session

ize completion zsh > /usr/local/share/zsh/site-functions/_ize

More information on other platforms & shells

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL