You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/environment-api/introduction.md
+14-9Lines changed: 14 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,9 +9,13 @@ The Red Hat product/project that this is attached to has had many names: AppStud
9
9
- For the purposes of this document, I will use 'Konflux', the latest name, as of this writing, February 2024.
10
10
- However, the code/API referenced in this document has been deprecated, will no longer be used, and will be removed from the Konflux project.
11
11
12
-
For more information on the Environment API, see the [detailed document I wrote](https://github.com/redhat-appstudio/managed-gitops/blob/main/docs/environment-api/environment-api-proposal-v3.md) which details the final cross-organization agreement on how this API would work within Konflux.
12
+
For more information on the Environment API, see the [detailed document I wrote](https://github.com/redhat-appstudio/managed-gitops/blob/main/docs/environment-api/environment-api-proposal-v3.md) which details the final cross-organization agreement on how this API would work within Konflux. (Be forewarned, parts of that document are very Konflux-jargon heavy.)
13
13
14
14
## Big Picture
15
+
16
+
Within Konflux project, the need was identified to define a set of custom resources/concepts, that would allow users to progressively build/test/deploy different versions of their Applications across a set of Kubernetes Environments, with the deployment handled by Argo CD.
- Snapshots can be annotated with additional information, for example, whether or not the Snapshot passed integration tests (thus making the Snapshot ready for promotion to next child in the DAG).
107
-
- Why have the version be an independent concept from the Application/Component itself? Why not set the version in `.spec`` of Component?
108
-
- Well, Snapshot ensures a particular version of an Application has necessarily been tested with a particular set of constituent container images
111
+
- You might be thinking: Why have the version be an independent concept from the Application/Component itself? Why not jjust set the version in `.spec` of Component?
112
+
- Well, the `Snapshot` concept ensures a specific set of constituent container images have necessarily been tested together
113
+
- You want to avoid the case where, for example, you deploy a version of your Application where the backend is incompatible with a newer version of the database software, because they were not tested together.
109
114
- And thus, when deployed together as an Application, those specific Component versions have necessarily been tested together.
110
115
- Snapshots are not shared between different Applications. A Snapshot will have a single Application as a mandatory parent.
- A single use CR which will promote a particular Application/Snapshot to a particular Environment
150
155
- For example: I could use a `PromotionRun` to promote Snapshot 'loan-app-v2' from 'staging NA' to 'prod NA'
151
156
- This is the mechanism for manual promotion between Environments (versus 'automated promotion' which would trigger a new promotion once an Application between healthy in an Environment)
0 commit comments