-
Notifications
You must be signed in to change notification settings - Fork 9
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
c6d72d4
commit 553e020
Showing
1 changed file
with
31 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
# Table Promotion Flow | ||
|
||
Allow starting deployment flows from previous artifacts which are perhaps multiple iterations previous. | ||
|
||
## Motivation | ||
|
||
Keptn sits in a very interesting place in the CI/CD CNCF space, where it helps by gluing many tools together | ||
which otherwise may have a gap. One of these gaps is visibility on environment management and deployment management | ||
with defined sources of artifacts and defined possible environments. | ||
|
||
## Explanation | ||
|
||
This table would be created by defining artifact sources, sources of deployment information (ex. ArgoCD), and yaml which | ||
defines the possible environments and how promotion happens. Maybe this could be in Shipyard | ||
|
||
A UI ties all this together, with a table where rows are artifacts (or sets of artifacts), and columns are environments. | ||
You should be able to click a button to trigger either a rollback to any previous artifact, or if quality gates are green | ||
then promote forward into a downstream environment. | ||
|
||
### Prerequisites / Proposed solution | ||
|
||
* Source of artifacts with query to represent which ones are relevant for this project | ||
* Sources of deployments with information to relate with the artifacts to identify what is currently deployed in what | ||
environment | ||
|
||
## Open questions/Implementation details | ||
|
||
* How to store the deployment information statelessly? ArgoCD can be queried, but this is a big assumption that ArgoCD | ||
is being used | ||
* Deployment needs to be done indirectly, ex. by triggering an automation tool which modifies a GitOps repo. This somehow | ||
needs to be setup or else the functionality will violate GitOps |