Planekeeper is currently in alpha development. Features and APIs may change. Feedback is welcome! Request early access to get started.

Organizations and scoping

How Planekeeper's multi-tenant model works, including organizations, the Global organization, and scope filters.

Every resource in Planekeeper – jobs, rules, alerts, notification channels – belongs to an organization. This multi-tenant model keeps each team’s data isolated while enabling shared resources across all tenants.

Organizations

An organization is the top-level boundary for all your data. When you create a gather job, scrape job, rule, alert config, or notification channel, it is automatically associated with your current organization.

Users can belong to multiple organizations. If you manage monitoring for several teams or clients, switch between organizations using the dropdown in the sidebar. Each organization has its own set of resources, and you only see data for the organization you currently have selected.

The Global organization

Planekeeper ships with a built-in organization the Global organization holds shared release data that every tenant can reference.

For example, popular upstream artifacts like github.com/kubernetes/kubernetes or Argo CD Helm charts are tracked in the Global organization. Planekeeper ships with ~173 pre-seeded global gather jobs covering common infrastructure software (Kubernetes, databases, monitoring tools, CI/CD, and more), so new organizations instantly get upstream release data without manual setup. When a Global gather job fetches releases, those releases are available to all tenants. This means:

  • You do not need to create your own gather job for common artifacts
  • Release data is fetched once and shared, reducing API calls to upstream sources
  • Your alert configs can reference Global gather jobs alongside your organization’s scrape jobs
info
Global resources are read-only for regular users.

Scope filters

Most list pages in the UI include a scope filter that controls which resources you see:

ScopeWhat it shows
OrganizationOnly resources created by your organization
GlobalOnly resources from the Global organization
All (default)Both your organization’s resources and Global resources

Use the scope filter to narrow your view. For example, on the Gather Jobs page:

  • Select Organization to see only the gather jobs your team created
  • Select Global to browse shared gather jobs for common artifacts
  • Select All to see everything available to you

How scoping works in practice

A typical setup looks like this:

  1. The Global organization has gather jobs for widely used projects (Kubernetes, Argo CD, Cert-Manager, etc.).
  2. Your organization has scrape jobs that point to your Git repositories and parse your deployed versions.
  3. Your alert configs link your scrape jobs to Global gather jobs and your rules.
  4. Your alerts show how far behind your deployments are compared to the shared upstream data.

This separation is powerful: you benefit from centrally maintained release tracking without duplicating effort, while your deployment-specific data stays private to your organization.

Global Org                    Your Org
+-------------------+        +-------------------+
| Gather Jobs       |        | Scrape Jobs       |
| - kubernetes      |        | - prod k8s version|
| - argo-cd         |        | - staging argo    |
| - cert-manager    |        |                   |
+-------------------+        | Rules             |
        |                    | - days behind     |
        |                    | - minors behind   |
        |                    |                   |
        +-------+    +------+ Alert Configs      |
                |    |       | - links all three  |
                v    v       +-------------------+
            +------------+
            |   Alerts   |
            | (your org) |
            +------------+

Switching organizations

If you belong to more than one organization:

  1. Open the sidebar.
  2. Use the organization dropdown to select a different organization.
  3. All pages refresh to show data from the selected organization.

Your selection persists across page loads. You do not need to reselect your organization each time you visit the app.