* add context when run pipeline Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commit72f3ad792e) * Feat: implement pipeline API Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commitf560c346cc) * Extract get log logic and implement getPipelineRunLog API Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commit060c6ab9e9) * Init and delete pipeline contexts Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commit5e96bd3106) * fix panic Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commit51072f7947) * Allow not specifying context Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commit810ddcf0bd) * change pipeline to path parameter Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commit3d51c0cb2d) * Add permission check filter Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commit6883767430) * project -> projects in route Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commit1f09f3996b) * fix route conflict Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commit7eea696830) * Add project alias Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commitb07dd72338) * Feat: change the list pipeline API Signed-off-by: barnettZQG <barnett.zqg@gmail.com> (cherry picked from commitbd804734b0) * Feat: filter the project Signed-off-by: barnettZQG <barnett.zqg@gmail.com> (cherry picked from commit82eee2cc11) * Fix: the error of the run APi Signed-off-by: barnettZQG <barnett.zqg@gmail.com> (cherry picked from commitac87bd3f1a) * fix log pipeline run API Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commitacde8e981e) * Fix lint, fix the error of log api Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commitb8373e6cde) * fix error returning Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commit2e9b4792b0) * Fix: change the lable to annotation Signed-off-by: barnettZQG <barnett.zqg@gmail.com> (cherry picked from commitbf08275fde) * remove log config not found error Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commitcdd77dfd8f) * fix pipeline list api return no context info Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commitcdcfa165d1) * Fix: create the namespace Signed-off-by: barnettZQG <barnett.zqg@gmail.com> (cherry picked from commitb6888dd87d) * get pipeline lastrun info Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commita943423d22) * allow query single step output Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commite2310bbf34) * organize code in api layer Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commit6fd53ed078) * fix project filter, add context value when get pp run, extend lastRun Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commit861f69d555) * fix get output and implement get input api Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commit61495ee70d) * Fix: change the last run Signed-off-by: barnettZQG <barnett.zqg@gmail.com> (cherry picked from commitaeb842a45e) * if query sub-step outout, return it directly Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commit467ba25751) * Fix: change the run stats Signed-off-by: barnettZQG <barnett.zqg@gmail.com> (cherry picked from commit7a90e7e310) * Fix: change the output Signed-off-by: barnettZQG <barnett.zqg@gmail.com> (cherry picked from commit595a871b0d) * flatten the input/output api Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commitefc9692354) * more info for i/o vars Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commit7fe0e1109c) * fix nested i/o struct Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commit201d1228bd) * add fromStep in input api Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commit2400018962) * add e2e test skeleton Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commitf20f9a1ac6) * add more e2e test Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commit98b27f886b) * use db to store pipeline Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commit08962c4f2f) * keep the last 5k lines of log Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commit22b352da14) * use stern param to keep last lines of logs Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commit3eadbf91c8) * filter, nil labels, spec check Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commitbad90b3f7a) * empty res, index, detail param Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commitb12d889e97) * Add e2e test Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commitae617a928e) * fix e2e test and unit test Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commit0f4e030b84) * add context e2e test Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commit88879e6e43) * goimports Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commit58429978b3) * add more test Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commit75760521a4) * review Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commitcc4c706466) * remove optional tag in returned value, unify the imports name Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commit658b184aef) * fix e2e test Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commita9e9c96856) * add stop test Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commit58aa2e5125) * more coverage Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commit01ecb51323) * single case selct Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commitd9e8fd0342) * optimize log color Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commitbe9840c3cb) * add default permission and role Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commitcf074444ac) * fix permission ut Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commit1bdcad63a2) * change the log api implementation Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commit587f745430) * add color, add container order Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commit6e7f187605) * lint Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commit64ba029031) * fix filter nil will cut all log Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commit799dfe377a) * longer timeout and lint Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> (cherry picked from commit89873f1f66) Co-authored-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com> Co-authored-by: barnettZQG <barnett.zqg@gmail.com>
APIServer Module Architecture
Interfaces
Typically, it includes user interfaces, web services, and so on.
- API
Define the Restful API and perform basic validation on user input parameters.
- DTO
The carrier of data transmission. Here does not have any business logic inside, and the internal domain models can be isolated from the outside world through DTO.
- Assembler
Realize the mutual conversion and data exchange between DTO and DO.
Event
Asynchronous task module. All workers under this module only run on the master node. Domain layer can be called.
Domain
Code related to core business logic.
- Service
A domain service is a piece of business logic composed of multiple entities. You can put all domain services in the aggregate in one domain service class, or you can design each domain service as a class.
- Repository
Usually includes repository interface and repository implementation method. In order to facilitate the splitting and combination of aggregates, the principle is set: one aggregate corresponds to one repository. For example, save user information to a database.
- Model
Database model entity.
Infrastructure
Provide general technical basic services for other layers, such as:
- Database
- Cache
- Kube Client
- MQ
