Nomad Pack Community Registry

repository·main·Indexed 42 days ago

https://github.com/hashicorp/nomad-pack-community-registry

A central registry for community-maintained Nomad Packs, providing pre-configured deployment patterns for Nomad. Includes packs for Alertmanager, AWS EBS CSI plugin, AWS EFS CSI plugin, and Backstage.

Tokens
39.4K
Snippets
75
Records
202
Agent score
54%

What's inside Nomad Pack Community Registry

  1. Overview of the Ceph Pack

    main

    The Ceph pack deploys a Ceph container in "demo" mode, where a single container runs all required services.

    Warning: This pack is intended for demonstration purposes and is not suitable for production. If the allocation is rescheduled, all data written to Ceph will be lost. It is primarily used to provide a target for the ceph_rbd_csi pack.

  2. Overview of the tempo pack

    main

    The tempo pack deploys a single instance of the Grafana Tempo distributed tracing backend. It uses the grafana/tempo Docker image and registers a Consul Service named tempo.

    Tempo is designed to be a high-scale, cost-efficient tracing backend that operates using object storage and integrates deeply with Grafana, Prometheus, and Loki. It supports standard tracing protocols including Jaeger, Zipkin, and OpenTelemetry.

  3. Overview of Prometheus Consul Exporter Pack

    main

    This pack deploys the Prometheus Consul Exporter as a Nomad service job. It uses the Docker driver to run the exporter. By default, the task registers a Consul service and a health check. Once deployed, you can configure Prometheus to discover and scrape these instances using Consul service discovery (consul_sd_configs).

    - job_name: "consul_exporter"
      metrics_path: "/metrics"
      consul_sd_configs:
        - server: "consul.example.com:8500"
          services:
            - "prometheus-consul-exporter"
  4. Overview of the Boundary Pack

    main
    The Boundary pack automates the deployment of Boundary, an intelligent proxy that provides identity-based access controls for dynamic infrastructure. It manages security through tightly scoped permissions, just-in-time network and credential access (via HashiCorp Vault), single sign-on, and session monitoring. This pack enables access-as-code to automate user permission configurations and automated discovery of target systems.
  5. Overview of the Vector Pack

    main

    The Vector pack deploys a single system job that runs Vector across all Nomad clients. It is designed to collect and forward observability data from three primary sources:

    1. Docker logs: Collected via the Docker socket.
    2. Host metrics: Collected using Vector's built-in collector (CPU, memory, disk, network).
    3. Nomad metrics: Collected via the Nomad Prometheus client.

    Data is forwarded to:

    • Loki: For Docker logs (supports basic authentication).
    • Prometheus: For host and Nomad metrics via remote write (supports basic authentication).

    Currently, the pack only supports the docker driver.

  6. Overview of the WordPress Pack

    main

    The WordPress pack deploys a WordPress CMS instance within a single Nomad client using the Docker driver. It consists of three interconnected tasks:

    1. WordPress: The open-source CMS.
    2. MariaDB: The database used by WordPress.
    3. phpMyAdmin: A web-based interface for MariaDB administration.

    Key Architectural Features:

    • Service Communication: Handled via Consul Connect using sidecar proxies.
    • Persistence: MariaDB state is persisted using Nomad Host Volumes.
    • Service Discovery: Consul service registration and health checks are enabled by default for WordPress and phpMyAdmin (MariaDB only has registration enabled).
  7. Overview of the AWS EFS CSI plugin pack

    main

    This pack deploys a single system job that runs the AWS EFS CSI plugin in monolith mode (running both as nodes and controllers).

    Prerequisites:

    • Nomad hosts must have Docker privileged mode enabled.
    • Nomad hosts must have access to AWS EFS via AWS IAM.

    Key Features:

    • Deploys the amazon/aws-efs-csi-driver:master Docker image by default.
    • Uses the aws-efs CSI ID.