-
Notifications
You must be signed in to change notification settings - Fork 156
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
Make PipeCD control plane support plugin-arched piped #5252
Comments
Platform Provider; LivestatestoreThe purpose of the component
Modification idea
|
Platform Provider; LivestatereporterThe purpose of the component
Modification idea
Concern
|
Platform Provider; DetectorThe purpose of the component
Modification idea
Concern
|
Platform Provider; Plan PreviewThe purpose of the component
Modification idea
Concern
|
Platform Provider; MetricsThe metrics deployment_status{application_id="xxxxxxxx",application_kind="KUBERNETES",application_name="simple",deployment="xxxxxxx",instance="127.0.0.1:9085",job="pipecd-ops",launcher_version="v0.49.2",pipecd_component="piped",piped="xxxxx",piped_version="v0.49.2",platform_provider="kubernetes",project="test",status="DEPLOYMENT_CANCELLED"} Modification idea
Concern For idea 1.
For idea 2.
|
Kind; appconfigreporterThe purpose of the component
Modification idea
Concern
|
Kind; event watcherThe purpose of the component
Modification Idea
|
Kind; livestatereporterThe purpose of the component
Modification Idea
message ApplicationLiveStateSnapshot {
reserved 2;
...
ApplicationKind kind = 5 [(validate.rules).enum.defined_only = true];
...
string plugin_kind = 16;
} |
Kind; detectorThe purpose of the component
Modification idea
|
Kind; notifierThe purpose of the component
Modification idea
|
Kind; Plan previewThe purpose of the component
Modification idea
|
Kind; trigger
Modification idea
|
Kind; serverThe purpose of the component
Modification idea
|
Kind; MetricsThe purpose of the component deployment_status{application_id="xxxxxxxx",application_kind="KUBERNETES",application_name="simple",deployment="xxxxxxx",instance="127.0.0.1:9085",job="pipecd-ops",launcher_version="v0.49.2",pipecd_component="piped",piped="xxxxx",piped_version="v0.49.2",platform_provider="kubernetes",project="test",status="DEPLOYMENT_CANCELLED"} Modification idea
|
Kind; plannerThe purpose of the component
Modification idea
|
Kind; schedulerThe purpose of the component
Modification idea
|
PlatformProvider; UIPurposeMostly related to 2 model applications and deployment Used in
The source fetched to used in the drawer is come from the piped configuration https://github.com/pipe-cd/pipecd/blob/master/web/src/components/application-form/index.tsx#L58-L80 Modification idea
|
What would you like to be added:
This issue tracks the progress for deprecating Platform Provider and Kind toward piped plugin architecture in pipedv1.
The purpose is to manage application kind and platform providers on the PipeCD plugin side in the future.
Considering the impact on users, pay attention to the following points:
current update process
kind
based on the current Application Kind to the Application.deployTarget
based on the current Application Platform Provider to the Application.Details (under planning)
For Platform Provider
Instead of Platform Provider, we plan to introduce the config for the plugin and define deployTargets.
piped config
We also plan to deploy the app to multiple targets at once in a multicluster feature for k8s.
So, we define
DeployTargets
as an array in Application and Deployment.Application
Deployment
For the backward compatibility
Before updating the piped, users should migrate the current data on DB.
Former idea
During the migration, there might be both platform providers and deploy targets in the piped config.
So we need to convert the platform providers to deploy targets internally.
Refer the Platform Provider or Deploy Target
Application
, just useDeployTarget
PlatformProvider
toDeployTarget
For Kind
Instead of Kind, we plan to introduce the label to represent the application kind.
For the builtin plugins, we define 5 labels as string.
For the backward compatibility
Before updating the piped, users should migrate the current data on DB.
Former idea
We need to support both before and after creating plugin architecture for now.
So, I propose the way to decide the application kind like this.
APPLICATION
asApplicationKind
TODO
Firstly, I listed the target features to require some modifications.
We need to further investigation to decide the way to fix.
investigation
implementation
Why is this needed:
The text was updated successfully, but these errors were encountered: