-
Notifications
You must be signed in to change notification settings - Fork 126
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
docs: guide for multi stage delivery #3080
Conversation
Signed-off-by: Florian Bacher <[email protected]>
Signed-off-by: Florian Bacher <[email protected]>
Signed-off-by: Florian Bacher <[email protected]>
Signed-off-by: Florian Bacher <[email protected]>
Signed-off-by: Florian Bacher <[email protected]>
Signed-off-by: Florian Bacher <[email protected]>
Signed-off-by: Florian Bacher <[email protected]>
Signed-off-by: Florian Bacher <[email protected]>
Signed-off-by: Florian Bacher <[email protected]>
Signed-off-by: Florian Bacher <[email protected]>
Signed-off-by: Florian Bacher <[email protected]>
Signed-off-by: Florian Bacher <[email protected]>
Signed-off-by: Florian Bacher <[email protected]>
Signed-off-by: Florian Bacher <[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.
awesome work :)
Co-authored-by: Moritz Wiesinger <[email protected]> Signed-off-by: Florian Bacher <[email protected]>
Signed-off-by: Florian Bacher <[email protected]>
Signed-off-by: Florian Bacher <[email protected]>
Signed-off-by: Florian Bacher <[email protected]>
Signed-off-by: Florian Bacher <[email protected]>
Co-authored-by: Moritz Wiesinger <[email protected]> Signed-off-by: Florian Bacher <[email protected]>
Co-authored-by: Moritz Wiesinger <[email protected]> Signed-off-by: Florian Bacher <[email protected]>
Signed-off-by: Florian Bacher <[email protected]>
…s/multi-stage-guide
Signed-off-by: Florian Bacher <[email protected]>
Quality Gate passedIssues Measures |
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.
perfection 😎
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.
A few comments/suggestions that I was working on when the PR got merged.
to deploy the same workload version that has been deployed in the | ||
`dev` stage into the `production` stage. | ||
|
||
Using the observability capabilities of Keptn, |
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.
Using the observability capabilities of Keptn, | |
Using the | |
[observability](otel) | |
capabilities of Keptn, |
|
||
## Before you begin | ||
|
||
This guide assumes the following: |
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 would like this list to be imperative with a parallel structure for all items (Install Keptn, Install ArgoCD, Set up observability, etc.) but I see that the remaining items don't work so well for an imperative list -- you need the repo but may already have it. Maybe you could break the list up into two lists -- "Do the following:" and "You also need:"? Or leave it as it is.
|
||
This guide assumes the following: | ||
|
||
- Installed Keptn with the |
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.
Link to ../installation/index.md
- Read access to metadata | ||
- Read/Write access to actions | ||
|
||
Note that for the promotion to work properly, |
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.
This really should be part of the list but I think you put it outside the list so you can have the full page width for the screenshot, which may be more important than absolutely perfect structure.
|
||
## Preparing the Application Manifests | ||
|
||
In this example, the application will be deployed in |
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.
In this example, the application will be deployed in | |
In this example, the application is deployed into |
=== "dev/values.yaml" | ||
|
||
The `values.yaml` file contains configurable properties | ||
for the application, such as the version of the service that should be deployed, |
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.
for the application, such as the version of the service that should be deployed, | |
for the application, such as the version of the service that should be deployed |
commit ID that caused the deployment of a new version (this value for the | ||
`commitID` property is set automatically using the `$ARGOCD_APP_REVISION` | ||
environment variable provided by Argo CD). |
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.
commit ID that caused the deployment of a new version (this value for the | |
`commitID` property is set automatically using the `$ARGOCD_APP_REVISION` | |
environment variable provided by Argo CD). | |
commit ID that caused the deployment of a new version. | |
Tthis value for the | |
`commitID` property is set automatically using the `$ARGOCD_APP_REVISION` | |
environment variable provided by Argo CD. |
During the promotion phase of a new deployment, a pull request to | ||
copy the content of this file to the helm chart containing the helm chart for | ||
the `production` stage will be created. |
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.
During the promotion phase of a new deployment, a pull request to | |
copy the content of this file to the helm chart containing the helm chart for | |
the `production` stage will be created. | |
During the promotion phase of a new deployment, a pull request to | |
copy the content of this file to the helm chart containing the helm chart for | |
the `production` stage is created. |
copy the content of this file to the helm chart containing the helm chart for | ||
the `production` stage will be created. | ||
Therefore, after merging the pull request, the version that has been deployed into | ||
`dev` and has passed all checks there, will then be deployed into `production`. |
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.
`dev` and has passed all checks there, will then be deployed into `production`. | |
`dev` and has passed all checks there is then be deployed into `production`. |
{% include "./assets/multi-stage-delivery/values-dev.yaml" %} | ||
``` | ||
|
||
1. The commitID will be automatically set by Argo CD |
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.
1. The commitID will be automatically set by Argo CD | |
1. The commitID is automatically set by Argo CD |
@bacherfl @StackScribe shall we still work in those suggestions from @StackScribe ? |
Signed-off-by: Florian Bacher <[email protected]> Co-authored-by: Moritz Wiesinger <[email protected]> Signed-off-by: vickysomtee <[email protected]>
Closes #3054
This guide explains how the promotion phase can be used together with ArgoCD and GitHub.
As this example is fairly complex on its own, I decided to limit it to just explaining how the promotion phase coule be implemented in such a scenario. Originally, the ticket (#3054) stated to also include an example for deploying a version that does not pass one of the pre/post deployment checks and therefore does not get promoted, but In my opinion this aspect is covered in one of the other examples we have - So at the time users get to this guide, which is already more advanced, they should already have an understanding of how a failed pre/post deployment check causes the deployment to fail and subsequent phases not being executed.