Skip to content
This repository has been archived by the owner on Jun 5, 2024. It is now read-only.

Commit

Permalink
feat: introduce node compatibility status API
Browse files Browse the repository at this point in the history
CP modifies the configuration based on the version of DP. These
modifications need to be tracked and exposed to the end-user to inform
the user of (potentially adverse) configuration mutations

This patch contains the user-facing API as well as internal API for
this, Specifically,
- User facing "Node" resource gets a new CompatibilityStatus message.
  The user can consult this object to determine compatibility status and
  issues (if any) associated with the node. The "state" field will be an
  enum that will be defined in code in a subsequent patch. The currently
  planned values are "FULLY-COMPATIBLE" and "PARTIALLY-COMPATIBLE".
- Compatibility for each node is tracked as a separate resource
  internally. CP (ws.Manager) is responsible for tracking compatibility
  status of each node in the database (via the relay service). Foreign
  key relationships ensure easy clean up of NodeStatus resources. The
  (internal) API will be responsible of merging Node and NodeStatus resouces and
  presenting it as a unified single Node resource to the end user.
  The separation is done for performance reasons: Node resource sees frequent
  u pdates (once every 30s) while NodeStatus is expected to see far fewer updates
  which may be very large (128 possible changes with 128 resources each can result
  in > 7000 kilobytes of data)
  • Loading branch information
hbagdi committed Aug 5, 2022
1 parent e7bac4d commit 05368c8
Show file tree
Hide file tree
Showing 11 changed files with 930 additions and 110 deletions.
379 changes: 356 additions & 23 deletions internal/gen/grpc/kong/admin/model/v1/node.pb.go

Large diffs are not rendered by default.

12 changes: 7 additions & 5 deletions internal/gen/grpc/kong/admin/model/v1/pagination.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

183 changes: 183 additions & 0 deletions internal/gen/grpc/kong/nonpublic/v1/node_status.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 05368c8

Please sign in to comment.