Skip to content

Commit 0d5782f

Browse files
committed
review feedback fabian
1 parent 0edffd5 commit 0d5782f

File tree

1 file changed

+34
-16
lines changed

1 file changed

+34
-16
lines changed

docs/modules/demos/pages/argo-cd-git-ops.adoc

Lines changed: 34 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ You will learn how to:
2626
* Update Airflow DAGs or modify deployments simply by committing to Git.
2727

2828
This hands-on approach illustrates how GitOps can simplify application lifecycle management and enforce a clear,
29-
auditable workflow across environments (development, staging, production).
29+
auditable workflow across single or multiple Kubernetes environments (development, staging, production).
3030

3131
All products and manifests are synced and deployed via ArgoCD (except ArgoCD itself, which is bootstrapped via `stackablectl`).
3232

@@ -55,17 +55,31 @@ image::argo-cd-git-ops/architecture-overview.drawio.svg[]
5555

5656
## Installation
5757

58-
Install this demo on an existing Kubernetes cluster:
58+
WARNING: This demo should not be run alongside other demos.
59+
60+
This demo can be installed on an existing Kubernetes cluster in two ways:
61+
62+
### 1. Exploration - interact with the ArgoCD, Airflow and Minio web UI
5963

60-
NOTE: In order to interact with the Git repository, this repository must be forked and additional parameters must be provided to `stackablectl`.
61-
This is explained in more detail in the section <<interact-with-git-repository,How to interact with the Git repository>>.
64+
The "easy" way. Checkout the ArgoCD, Airflow and Minio web UI, start DAGs and explore logs.
6265

6366
[source,console]
6467
----
6568
$ stackablectl demo install argo-cd-git-ops --namespace argo-cd
6669
----
6770

68-
WARNING: This demo should not be run alongside other demos.
71+
### 2. GitOps - interact with a Git repository to apply changes made in code into the cluster
72+
73+
In addition to the exploration part, users can interact with a forked repository and apply changes to the Git repository.
74+
These changes then are automatically synced into the cluster.
75+
76+
In order to interact with the Git repository, the {stackable-demo-repository}[stackable demo repository] must be forked and additional parameters must be provided to `stackablectl`.
77+
This is explained in more detail in the section <<interact-with-git-repository,How to interact with the Git repository>> at the bottom.
78+
79+
[source,console]
80+
----
81+
stackablectl demo install argo-cd-git-ops --namespace argo-cd --parameters customGitUrl=<my-demo-fork-url> --parameters customGitBranch=<my-custom-branch-with-changes>
82+
----
6983

7084
NOTE: ArgoCD will be deployed in the `argo-cd` namespace by `stackablectl`.
7185
ArgoCD itself will create other namespaces for the deployed products.
@@ -126,7 +140,8 @@ using different versions and Git sources (repository & branch) as well as the po
126140

127141
NOTE: This demo does not use a multi cluster environment for the sake of simplicity.
128142

129-
The following part dives deeper into the definition of the Stackable operator `ApplicationSet` and can be skipped.
143+
The following part dives deeper into the definition of the Stackable operator `ApplicationSet` consumed by ArgoCD.
144+
Users not interested in the technical parts of the `ApplicationSet` might skip this section.
130145

131146
.Stackable operators `ApplicationSet` details
132147
[%collapsible]
@@ -191,7 +206,7 @@ spec:
191206
<1> List of Stackable operators to install.
192207
<2> List of clusters and Stackable release versions for each cluster.
193208
194-
The `matrix.generators.list[].elements[]` will create a union of parameters that may be used in the `ApplicationSet` template as follows:
209+
The `matrix.generators.list[].elements[]` will create a union of parameters (e.g. `operator`, `cluster`, `server` and `targetRevision`), that may be used in the `ApplicationSet` template as follows:
195210
196211
[source,yaml]
197212
----
@@ -323,13 +338,15 @@ Next steps:
323338
[#interact-with-git-repository]
324339
== How to interact with ArgoCD, Airflow and the Git repository
325340

326-
Since this Demo is hosted in the {stackable-demo-repository}[Stackable Demo repository], where merging etc. requires approval, the recommendation is to fork the {stackable-demo-repository}[Stackable Demo repository].
341+
Since this Demo is hosted in the {stackable-demo-repository}[Stackable Demo repository], where merging etc. requires approval,
342+
the recommendation is to fork and clone the {stackable-demo-repository}[Stackable Demo repository].
343+
This requires a two-step process:
327344

328-
=== Forking the demo repository
345+
=== 1. Forking the demo repository
329346

330347
This {github-fork}[GitHub tutorial] shows how to fork a repository.
331348

332-
=== Cloning the demo repository
349+
=== 2. Cloning the demo repository
333350

334351
Clone the demo repository:
335352

@@ -339,26 +356,27 @@ git clone https://github.com/<your-username>/demos.git
339356
cd demos
340357
----
341358

342-
After forking the demo repository, a local copy can be cloned and the `stackablectl` install command must be parameterized with the fork URL and branch.
359+
After forking and cloning a local copy, the `stackablectl` install command must be parameterized with the forked repository URL and branch.
343360

344361
[source,console]
345362
----
346363
stackablectl demo install argo-cd-git-ops --namespace argo-cd --parameters customGitUrl=<my-demo-fork-url> --parameters customGitBranch=<my-custom-branch-with-changes>
347364
----
348365

349-
=== Making changes to the repository
366+
== Making changes to the repository
350367

351-
Edit manifests or add new DAG files within your cloned repository:
368+
After obaining a local copy, changes made to Stackable manifests or Airflow DAGs can be integrated via GitOps.
369+
Edit Stackable manifests or add new DAGs within your cloned repository:
352370

353371
* Manifests are in: `demos/argo-cd-git-ops/manifests/`
354372
* Airflow DAGs are in: `demos/argo-cd-git-ops/dags/`
355373

356-
==== Increase Airflow webserver replicas
374+
=== 1. Increase Airflow webserver replicas
357375

358376
Assuming your working directory is the root of the forked demo repository, try to increase the `spec.webservers.roleGroups.<role-group>.replicas` in the folder `demos/argo-cd-git-ops/manifests/airflow/airflow.yaml`.
359377
Once this is pushed / merged, ArgoCD should sync the changes and you should see more webserver pods.
360378

361-
==== Add new Airflow DAGs
379+
=== 2. Add new Airflow DAGs
362380

363381
In the `demos/argo-cd-git-ops/manifests/airflow/airflow.yaml` manifest you have to adapt the git-sync configuration for DAGs to the forked repository:
364382

@@ -398,7 +416,7 @@ File Path PID Run
398416

399417
If another DAG is displayed, try to refresh the Airflow UI if changes have not been propagated yet.
400418

401-
==== Commit and push changes
419+
=== 3. Commit and push changes
402420

403421
[source,console]
404422
----

0 commit comments

Comments
 (0)