Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

internals documentation with diagrams #14750

Merged
merged 6 commits into from
Oct 3, 2022
Merged

Conversation

tgross
Copy link
Member

@tgross tgross commented Sep 29, 2022

Fixes #13731
Fixes #13468
Fixes #8588

This changeset adds new architecture internals documents to the contributing guide. These are intentionally here and not on the public-facing website because the material is not required for operators and includes a lot of diagrams that we can cheaply maintain with mermaid syntax but would involve art assets to have up on the main site that would become quickly out of date as code changes happen and be extremely expensive to maintain. However, these should be suitable to use as points of conversation with expert end users.

Included:

  • A description of Evaluation triggers and expected counts, with examples. (preview)
  • A description of Evaluation states and implicit states. This is taken from an internal document in our team wiki. (preview)
  • A description of how writing to the State Store works. This is taken from a diagram I put together a few months ago for internal education purposes. (preview)
  • A description of Evaluation lifecycle, from registration to running Allocations. This is mostly lifted from @lgfa29's amazing mega-diagram, but broken into digestible chunks and without multi-region deployments, which I'd like to cover in a future doc. (preview)

Also includes adding Deployments to our public-facing glossary. (preview)

This changeset adds new architecture internals documents to the contributing
guide. These are intentionally here and not on the public-facing website because
the material is not required for operators and includes a lot of diagrams that
we can cheaply maintain with mermaid syntax but would involve art assets to have
up on the main site that would become quickly out of date as code changes happen
and be extremely expensive to maintain. However, these should be suitable to use
as points of conversation with expert end users.

Included:
* A description of Evaluation triggers and expected counts, with examples.
* A description of Evaluation states and implicit states. This is taken from an
  internal document in our team wiki.
* A description of how writing the State Store works. This is taken from a
  diagram I put together a few months ago for internal education purposes.
* A description of Evaluation lifecycle, from registration to running
  Allocations. This is mostly lifted from @lgfa29's amazing mega-diagram, but
  broken into digestible chunks and without multi-region deployments, which I'd
  like to cover in a future doc.

Also includes adding Deployments to our public-facing glossary.
Copy link
Contributor

@lgfa29 lgfa29 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These are fantastic! Great job 👏

contributing/architecture-eval-triggers.md Outdated Show resolved Hide resolved
contributing/architecture-eval-triggers.md Outdated Show resolved Hide resolved
contributing/architecture-eval-triggers.md Outdated Show resolved Hide resolved
contributing/architecture-eval-triggers.md Outdated Show resolved Hide resolved
contributing/architecture-eval-states.md Outdated Show resolved Hide resolved
contributing/architecture-eval-lifecycle.md Outdated Show resolved Hide resolved
contributing/architecture-eval-lifecycle.md Outdated Show resolved Hide resolved
contributing/architecture-eval-lifecycle.md Outdated Show resolved Hide resolved
Comment on lines 152 to 153
Note right of workerFSM: Schedulers run on all servers
Note right of workerFSM: So this may query the leader state store directly
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tried to make these fit into the yellow box using <br /> but Mermaid is not having it 😅

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah it's... imperfect. 😁

contributing/architecture-eval-lifecycle.md Show resolved Hide resolved
Co-authored-by: Luiz Aoqui <luiz@hashicorp.com>
Co-authored-by: Michael Schurter <mschurter@hashicorp.com>
contributing/architecture-eval-lifecycle.md Outdated Show resolved Hide resolved
contributing/architecture-eval-lifecycle.md Outdated Show resolved Hide resolved
contributing/architecture-eval-lifecycle.md Outdated Show resolved Hide resolved
@tgross
Copy link
Member Author

tgross commented Sep 30, 2022

(@mikenomitch I originally flagged you for review but really that was intended to be informational as we've got some field folks anticipating these docs, I'll remove you as a reviewer but just FYI 😀 )

@tgross tgross merged commit 98deb8d into main Oct 3, 2022
@tgross tgross deleted the docs-deployments-and-evals branch October 3, 2022 18:06
@github-actions
Copy link

github-actions bot commented Feb 1, 2023

I'm going to lock this pull request because it has been closed for 120 days ⏳. This helps our maintainers find and focus on the active contributions.
If you have found a problem that seems related to this change, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Feb 1, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
theme/deployments theme/docs Documentation issues and enhancements theme/scheduling
Projects
None yet
4 participants