mozilla-it / sumo-infra

Infrastructure for support.mozilla.org
1 stars 3 forks source link

[!NOTE] This repository was used for the old AWS infrastructure for SUMO. The new infrastructure code for the GCP deployment is private.

SUMO Infra

This repo has source code for building SUMO infrastructure in AWS including networking, kubernetes clusters and CI/CD

Kubernetes Clusters

To stand up most of the infra including Kuberenets and Jenkins, see k8s/README.md

Monitoring

SUMO is monitored with AWS Health Checks, New Relic Synthetics, New Relic APM and Dead Man's Snitch. These tools feed into PagerDuty, Slack and Email alerts.

Slack alerts

Deployments, Jenkin builds and Dead man's snitch all report to Slack. To set this up, request a new slack bot from the Service Desk. There are 3 different ways that our services interact with Slack bots:

SUMO Secrets

Secrets are stored in a private location, but to aid in future discoverability the structure is described here:

[certs] ca = "" cert= "" key = ""

[logging] mode = "stdout" ; stdout | file | syslog level = "info"

  - `newrelic/` contains a newrelic kubernets secret manfiest like:

apiVersion: v1 kind: Secret metadata: name: newrelic-config namespace: newrelic type: Opaque data: config:

- For each cluster, e.g. `us-west-2a`:
  - credentials-ark contains secrets generated by our ark terraform

[default] ark_access_key= ark_secret_key=

  - credentials-block-aws links to a specific Deadman's Snitch URL
    `DMS_URL=https://nosnch.in/unique_path`
  - papertrail.env has papertrail syslog host and a port specific to this cluster

export SYSLOG_HOST="logs.papertrailapp.com" export SYSLOG_PORT="unique_port"



- jenkins
  - This is a Terraform tfvars file passed straight into a Terraform command using a helper script `./tf-do <plan|apply>`. The format is the standard `key = value` where `key` matches variables found in the k8s/tf Jenkins directory.