Skip to content
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

Merged
merged 25 commits into from
Feb 21, 2024

Conversation

bacherfl
Copy link
Member

@bacherfl bacherfl commented Feb 20, 2024

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.

@github-actions github-actions bot added the documentation Improvements or additions to documentation label Feb 20, 2024
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]>
@bacherfl bacherfl marked this pull request as ready for review February 21, 2024 07:24
@bacherfl bacherfl requested review from a team as code owners February 21, 2024 07:24
Signed-off-by: Florian Bacher <[email protected]>
odubajDT
odubajDT previously approved these changes Feb 21, 2024
Copy link
Contributor

@odubajDT odubajDT left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

awesome work :)

docs/docs/guides/multi-stage-delivery.md Outdated Show resolved Hide resolved
docs/docs/guides/multi-stage-delivery.md Outdated Show resolved Hide resolved
docs/docs/guides/multi-stage-delivery.md Outdated Show resolved Hide resolved
docs/docs/guides/multi-stage-delivery.md Outdated Show resolved Hide resolved
docs/docs/guides/multi-stage-delivery.md Outdated Show resolved Hide resolved
docs/docs/guides/multi-stage-delivery.md Outdated Show resolved Hide resolved
docs/docs/guides/multi-stage-delivery.md Outdated Show resolved Hide resolved
docs/docs/guides/multi-stage-delivery.md Outdated Show resolved Hide resolved
docs/docs/guides/multi-stage-delivery.md Outdated Show resolved Hide resolved
docs/docs/guides/multi-stage-delivery.md Outdated Show resolved Hide resolved
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]>
bacherfl and others added 2 commits February 21, 2024 13:52
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]>
mowies
mowies previously approved these changes Feb 21, 2024
odubajDT
odubajDT previously approved these changes Feb 21, 2024
Signed-off-by: Florian Bacher <[email protected]>
@bacherfl bacherfl dismissed stale reviews from odubajDT and mowies via 81b6363 February 21, 2024 14:21
Copy link

Quality Gate Passed Quality Gate passed

Issues
0 New issues

Measures
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code

See analysis details on SonarCloud

Copy link
Contributor

@RealAnna RealAnna left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

perfection 😎

@bacherfl bacherfl merged commit fedb29f into keptn:main Feb 21, 2024
11 checks passed
@bacherfl bacherfl deleted the docs/multi-stage-guide branch February 21, 2024 14:29
Copy link
Contributor

@StackScribe StackScribe left a 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,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Using the observability capabilities of Keptn,
Using the
[observability](otel)
capabilities of Keptn,


## Before you begin

This guide assumes the following:
Copy link
Contributor

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
Copy link
Contributor

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,
Copy link
Contributor

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
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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

Comment on lines +132 to +134
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).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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.

Comment on lines +135 to +137
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.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
`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
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
1. The commitID will be automatically set by Argo CD
1. The commitID is automatically set by Argo CD

@mowies
Copy link
Member

mowies commented Feb 28, 2024

@bacherfl @StackScribe shall we still work in those suggestions from @StackScribe ?

Vickysomtee pushed a commit to Vickysomtee/keptn-lifecycle-toolkit that referenced this pull request Apr 23, 2024
Signed-off-by: Florian Bacher <[email protected]>
Co-authored-by: Moritz Wiesinger <[email protected]>
Signed-off-by: vickysomtee <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Create guide for GitOps promotion in staged environments
5 participants