Skip to content

nthlayer setup

Interactive first-time setup wizard for NthLayer.

Usage

nthlayer setup [options]

Options

Option Description
--quick Use simplified setup (default)
--advanced Use full configuration wizard
--test Test connections only
--skip-service Skip first service creation prompt

Quick Setup Mode

The default mode configures the essentials:

nthlayer setup
================================================================================
  Welcome to NthLayer!
  The missing layer of reliability - 20 hours of SRE work in 5 minutes
================================================================================

Quick Setup
----------------------------------------
1. Prometheus Configuration
   Prometheus URL [http://localhost:9090]:
   Does Prometheus require authentication? [y/N]:

2. Grafana Configuration (optional)
   Configure Grafana? [Y/n]: y
   Grafana URL [http://localhost:3000]:
   API Key (press Enter to skip): ****

3. PagerDuty Configuration (optional)
   Configure PagerDuty? [y/N]:

Testing Connections
----------------------------------------
  Prometheus (http://localhost:9090)
    [OK] Connected (Prometheus 2.45.0)

  Grafana (http://localhost:3000)
    [OK] Connected - Org: Main Org

Configuration saved to: ~/.nthlayer/config.yaml

Create your first service? [Y/n]:

Advanced Setup Mode

For power users with multiple environments:

nthlayer setup --advanced

This includes:

  • Multiple Prometheus/Grafana profiles (dev, staging, prod)
  • Cloud secret backends (Vault, AWS Secrets Manager, etc.)
  • Detailed PagerDuty and Slack configuration

Test Connections Only

Verify your configuration:

nthlayer setup --test
Testing Connections
----------------------------------------
  Prometheus (http://localhost:9090)
    [OK] Connected (Prometheus 2.45.0)

  Grafana (http://localhost:3000)
    [OK] Connected - Org: Main Org

  PagerDuty
    [OK] Connected - 3 escalation policies

All configured services are operational!

Configuration File

Setup creates ~/.nthlayer/config.yaml:

prometheus:
  default: default
  profiles:
    default:
      url: http://localhost:9090
      type: prometheus

grafana:
  default: default
  profiles:
    default:
      url: http://localhost:3000
      type: grafana
      api_key_secret: grafana/api_key

alerting:
  pagerduty:
    enabled: false
  slack:
    enabled: false

Environment Variables

Alternatively, configure via environment variables:

export NTHLAYER_PROMETHEUS_URL=http://prometheus:9090
export NTHLAYER_GRAFANA_URL=http://grafana:3000
export NTHLAYER_GRAFANA_API_KEY=glsa_xxxxx
export PAGERDUTY_API_KEY=u+xxxxx

See Also