AccelerUpDocs
Getting started/Start here/Core concepts

Core concepts

The eight words AccelerUp uses in a specific way, and how they fit together.

Everything in AccelerUp is built from a small set of objects. Learn these eight and the rest of the product explains itself.

Organisation

The tenant. Every row of data in AccelerUp belongs to exactly one organisation, and every query is scoped to the caller's. Users, services, servers, alerts, dashboards, warehouse connections — all of it.

You almost never think about this, because most people belong to one. It matters in two places: API tokens are issued per organisation, and cross-organisation access is not a permission that can be granted — it does not exist.

User and role

A person who can sign in. Their role decides what they may do: owner, admin, engineer, viewer. See Roles and permissions — particularly the part about which of the two stored roles is the one actually enforced.

Service

A thing that serves requests and can be up or down: an API, a website, a worker, a queue consumer. A service has a URL or a health endpoint, a check interval, an owning team, and a current status.

Services are the unit most of the product hangs off. An alert is usually about a service, an incident is usually about a service, and the dependency map is a graph of services.

Server

A machine. Servers are discovered in two ways: from a cloud/infrastructure integration, or by an agent that has been installed on them and dialled in.

A server is not a service. One server runs several services; one service runs on several servers. The two are linked so that "which servers is this service on" and "what is running on this box" are both one click.

Agent

accelerated — a small Go binary installed on a server. It dials out to AccelerUp over a websocket (nothing needs to be open inbound), reports host vitals, runs probes and collectors, and — if its profile allows — accepts commands and an interactive terminal.

The agent's profile (observe, operate, full) is set on the machine and caps what the control plane may ask of it. The control plane cannot widen it remotely; that is the point. See Access and grants.

Environment

Which deployment tier something belongs to: production, preprod, staging, and whatever else you define. Environments are a first-class object (org_environments), not a string on a page.

Important

ResolveEnvironment is the only answer to "is this production?" anywhere in AccelerUp. If a feature needs to know, it asks the environment model. Do not add a per-page environment filter — extend the model.

See Environments.

Alert

A statement that a condition is currently true — "error rate on checkout is above 2%" — with a severity, a state, and a history. An alert has a fingerprint so that the same condition firing again updates the existing alert instead of creating a second one.

Alerts move through states: firing, recovering, resolved. What moves them is measurement, never the absence of one.

Incident

A human response to one or more alerts: who is handling it, a timeline of what was done, roles (commander, scribe, comms), and a post-mortem afterwards.

An alert is a machine noticing. An incident is people responding. They are separate because most alerts never become incidents, and some incidents start with a phone call rather than an alert.

Notification channel

Where a page is delivered: Slack, Telegram, email, PagerDuty, Opsgenie, Teams, SMS, voice, webhook. A channel has a kind (alerts, incidents, or both) which decides what gets routed to it.

Every delivery attempt is logged with its outcome, and failures are retried — see Notification delivery.

How they fit together

text
                 ┌── Service ──┐        ┌── Server ──┐
                 │  check /     │        │  agent      │
                 │  health      │        │  probes     │
                 └──────┬──────┘        └─────┬───────┘
                        │                     │
                        └────── reading ──────┘
                                   │
                            rule evaluates
                                   │
                              ┌── Alert ──┐
                              │ fingerprint│
                              │ severity   │
                              └─────┬─────┘
                                    │
                    ┌───────────────┴──────────────┐
                    │                              │
             notification channel            Incident (optional)
              (with retries)                  timeline, roles,
                    │                          post-mortem
              a person is told

Things that are not concepts

Worth naming, because people look for them:

  • Project — there is no project object. Use environments and teams.
  • Host group — servers are grouped by tag and by environment, not by a separate object.
  • Dashboard folder — dashboards are flat with tags.

Where this behaviour lives: backend/internal/domain/org.go, backend/internal/domain/service.go, backend/internal/domain/environment.go. If the code and this page disagree, the code is right — please fix the page.

Part of Getting startedWhat AccelerUp is, the words it uses, and the first hour with it.