logo

AWS

This guide describes how to deploy Runops to AWS.

Steps

1. Storage

:::info comming soon Automated database provisioning for AWS with Terraform :::
  • Create a Mysql database instance using RDS or any other means.
    • Create a schema called runops
    • Create a user with permission to select, insert, update, and delete items to that schema.

2. Gateway

  • Run one instance of the container runops/gateway in a private network
    • Do not expose this container to the internet as it doesn’t support TLS directly
    • The easiest ways we found to deploy the gateway are:
      • AWS ECS Fargate
      • Kubernetes
    • But you can chose the method that suites your organization the best.
:::info comming soon Automated container deployment for Kubernetes and ECS with Helm and Terraform :::
Add these environment variables to the container:
Environment Variable
Details
DB_HOST
Database (mysql) configuration
DB_NAME
Database (mysql) configuration
DB_PASS
Database (mysql) configuration
DB_USER
Database (mysql) configuration

3. Ingress

  • Create an Application Load Balancer
  • Create a DNS CNAME alias with the domain name you will use to server Runops
  • Create and validate a TLS certificate using AWS Certificate Manager
  • Add 2 listeners to the Load Balancer for exposing the ports:
    • 443:8080
      • HTTP port with API endpoints and user interface static assets
    • 8443:9090
      • GRPC port for agents and clients connections
:::info comming soon Automated ingress deployment for AWS using Terraform :::
At this point you can access the Load Balancer address on port 443 and access the Runops user interface.

4. Agents

Use the standard steps to create and manage Runops agents only adding the SERVER_URL address as an additional environment variable with the address of your load balancer.

5. Clients

Use the environment variable SERVER_URL when interacting with the CLI.

Powered by Notaku