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

Proto: console pipeline api tiers #1417

Closed
wants to merge 2 commits into from

Conversation

bojand
Copy link
Member

@bojand bojand commented Aug 28, 2024

Initial attempt to introduce "tiers" to the Console version of Pipeline API.
Where relevant requests and responses are now based on their dataplane versions, with resource parameters substituted with the limit.

@bojand bojand requested review from weeco and rikimaru0345 August 28, 2024 02:00
Copy link

github-actions bot commented Aug 28, 2024

The latest Buf updates on your PR. Results from workflow Buf CI / push-module (pull_request).

BuildFormatLintBreakingUpdated (UTC)
✅ passed✅ passed✅ passed⏩ skippedAug 28, 2024, 2:01 AM

import "redpanda/api/dataplane/v1alpha2/pipeline.proto";

// RedpandaConnectTier is the tier of the pipeline.
enum RedpandaConnectTier {
Copy link
Contributor

Choose a reason for hiding this comment

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

Would PipelineTier be more accurate? Are we going to re-use tiers for non-RP Cloud?

(buf.validate.field).required = true
];

// custom
Copy link
Contributor

Choose a reason for hiding this comment

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

Not sure this comment is meant to be here

];

// custom
RedpandaConnectTier tier = 4;
Copy link
Contributor

Choose a reason for hiding this comment

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

Additional validation annotations should probably be used here to enforce users to specify a tier

// The pro tier.
REDPANDA_CONNECT_TIER_PRO = 3;
// The custom tier.
REDPANDA_CONNECT_TIER_CUSTOM = 4;
Copy link
Contributor

Choose a reason for hiding this comment

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

What happens if someone uses TIER_CUSTOM? There are no additional properties to specify the "custom" part of this I believe

Copy link
Member Author

Choose a reason for hiding this comment

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

The plan is that only frontend will use tiering, and in the Console version the tier will map to predefined resource requests and limits. The Dataplane API will still use granular requests and limits for resources. since those will not necessarily map to predefined values, we have to categorize them somehow to a tier... so the idea was to use a "custom" enum for that...

Copy link
Contributor

Choose a reason for hiding this comment

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

Okay got you, I think we can make that clear by adding behaviour annotations and make that a read-only flag plus adding validation annotations on the request message so that this option cannot be selected

@bojand bojand closed this Aug 29, 2024
@bojand bojand deleted the proto/console_pipeline_api_tiers branch September 5, 2024 00:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants