Install Portefaix

Instructions for deploying Portefaix on AWS

Setup

Create an admin user. Then API Keys, and configure Portefaix environment file ${HOME}/.config/portefaix/portefaix.sh:

# AWS
function setup_aws() {
    export AWS_ACCESS_KEY_ID="....."
    export AWS_SECRET_ACCESS_KEY="....."
    export AWS_DEFAULT_REGION="..."
    export AWS_REGION="...."
    # For Terraform Cloud
    export TF_VAR_access_key="${AWS_ACCESS_KEY_ID}"
    export TF_VAR_secret_key="${AWS_SECRET_ACCESS_KEY}"
    export TF_VAR_slack_webhook_url="${SLACK_WEBHOOK_NOTIFS}"
}

And load environment :

❯ . ./portefaix.sh aws

Storage for Terraform

Create a S3 bucket for Terraform states:

❯ make -f hack/build/aws.mk aws-s3-bucket ENV=staging

Create a DynamoDB table :

❯ make -f hack/build/aws.mk aws-dynamodb-create-table ENV=staging

Terraform Cloud / Github Actions

Terraform Cloud is used as the remote backend. Github Actions perform tasks to deploy the AWS infrastructure.

Portefaix AWS deployment

Gitops for Kubernetes

See : Gitops with FluxCD or Gitops with ArgoCD

Last modified 05.01.2022: Add: GCP architecture diagram (e35cb12)