-
Notifications
You must be signed in to change notification settings - Fork 157
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
Prepare Plugin SDK #5529
Prepare Plugin SDK #5529
Conversation
Signed-off-by: Shinnosuke Sawada-Dazai <[email protected]>
Signed-off-by: Shinnosuke Sawada-Dazai <[email protected]>
… plugins Signed-off-by: Shinnosuke Sawada-Dazai <[email protected]>
…ization Signed-off-by: Shinnosuke Sawada-Dazai <[email protected]>
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #5529 +/- ##
==========================================
- Coverage 26.53% 26.33% -0.20%
==========================================
Files 464 467 +3
Lines 49917 50066 +149
==========================================
- Hits 13243 13183 -60
- Misses 35615 35828 +213
+ Partials 1059 1055 -4 ☔ View full report in Codecov by Sentry. |
…nal identification fields and unimplemented method stubs Signed-off-by: Shinnosuke Sawada-Dazai <[email protected]>
Signed-off-by: Shinnosuke Sawada-Dazai <[email protected]>
|
||
// DeploymentPlugin is the interface that be implemented by a full-spec deployment plugin. | ||
// This kind of plugin should implement all methods to manage resources and execute stages. | ||
type DeploymentPlugin[Config any] interface { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Config
parameter is the plugin's config defined in piped's config.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's add a comment to explain that 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I added config on this commit.
337e8c8
|
||
// DeploymentPlugin is the interface that be implemented by a full-spec deployment plugin. | ||
// This kind of plugin should implement all methods to manage resources and execute stages. | ||
type DeploymentPlugin[Config any] interface { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's add a comment to explain that 👍
…meter Signed-off-by: Shinnosuke Sawada-Dazai <[email protected]>
Co-authored-by: Tetsuya KIKUCHI <[email protected]> Signed-off-by: Shinnosuke Sawada-Dazai <[email protected]>
Signed-off-by: Shinnosuke Sawada-Dazai <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Let's sophisticate the SDK through implementing plugins.
Signed-off-by: Shinnosuke Sawada-Dazai <[email protected]>
I updated the copyright notice year to 2025 since these files were added this year. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you. LGTM
What this PR does:
This PR adds an SDK for plugin implementation.
The implementation is partial, and I'll send other PRs to implement the rest.
Why we need it:
There are many boilerplates for implementing plugins.
What I want to be reviewed:
The API designs.
The users of this SDK will write codes like the one below.
Which issue(s) this PR fixes:
Part of #5530
Does this PR introduce a user-facing change?: No