prometheus / prometheus/docs

Document design philosophies and reasonings for commonly challenged technical decisions

Open
#1,038 8 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
717
Forks
1.2k
Avg merge
3d 15h
Merged PRs (30d)
19

Description

We frequently receive questions, issues, and pull requests that contradict already established decisions within the Prometheus team. When responding to them (or even to avoid some of them being filed in the first place), it would be great to have documented reasonings to link to. This would give both clarity and legitimacy to rejections.

We should document for each decision:

  • Existing reasonings for it.
  • Links to relevant discussions.
  • Whether this decision is a permanent design decision or temporary due to lack of maintainability (like a moratorium on new SD mechanisms or not adding auth).
  • Explanation of what the current consensus status is (formal vote vs. lazy consensus in team).
  • Mechanisms of triggering an escalation / formal vote.

This has overlap with existing pages or ideas for pages:

  • Existing FAQ page: this is similar to the FAQ page, but more about contentious issues and general design questions rather than regular usage questions.
  • Planned non-goals documentation (https://github.com/prometheus/docs/issues/149): This could perhaps be part of the overall reasonings documentation.

To be determined:

  • How should these overlapping areas be reconciled into a coherent whole?
  • Should this documentation be centralized or should some specialized parts be kept distributed across repositories?
  • How fine-granular should this documentation become? Probably not every minor decision should go in there that has been discussed one time somewhere on a GitHub issue. We should probably start with major points like overarching non-goals first and then see how it goes.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the existing FAQ page and planned non-goals issue 149, then map where their scopes overlap. Resolve whether decision rationale should be centralized or distributed, how granular it should be, and how consensus and escalation are represented. Done means an agreed structure and documented reasoning for the initial major decisions.

Written by the indexing model from the issue text.

Assessment

Domain
documentation
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.