Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| cdc094c7a1 | |||
| 7cae72a435 | |||
| 92a72361bb |
@@ -144,7 +144,7 @@ Then:
|
|||||||
4. Manually promote that Freight to `staging`.
|
4. Manually promote that Freight to `staging`.
|
||||||
5. Check the STAGING site.
|
5. Check the STAGING site.
|
||||||
6. Manually promote the same Freight to `prod`.
|
6. Manually promote the same Freight to `prod`.
|
||||||
7. Kargo force-updates the `prod` branch to that exact selected revision.
|
7. Kargo copies that selected revision into the `prod` branch and pushes it.
|
||||||
8. Argo CD syncs the PROD site from `prod`.
|
8. Argo CD syncs the PROD site from `prod`.
|
||||||
|
|
||||||
The three Kubernetes namespaces are:
|
The three Kubernetes namespaces are:
|
||||||
|
|||||||
@@ -33,7 +33,6 @@ spec:
|
|||||||
- values-staging.yaml
|
- values-staging.yaml
|
||||||
- values-prod.yaml
|
- values-prod.yaml
|
||||||
- templates
|
- templates
|
||||||
- website
|
|
||||||
|
|
||||||
---
|
---
|
||||||
apiVersion: kargo.akuity.io/v1alpha1
|
apiVersion: kargo.akuity.io/v1alpha1
|
||||||
@@ -114,16 +113,67 @@ spec:
|
|||||||
- uses: git-clone
|
- uses: git-clone
|
||||||
config:
|
config:
|
||||||
repoURL: ${{ vars.repoURL }}
|
repoURL: ${{ vars.repoURL }}
|
||||||
|
author:
|
||||||
|
name: Kargo
|
||||||
|
email: kargo@max.test.scrumdapp.open-ict.hu
|
||||||
checkout:
|
checkout:
|
||||||
- commit: ${{ commitFrom(vars.repoURL).ID }}
|
- commit: ${{ commitFrom(vars.repoURL).ID }}
|
||||||
|
path: ./src
|
||||||
|
- branch: prod
|
||||||
|
create: true
|
||||||
path: ./out
|
path: ./out
|
||||||
|
|
||||||
|
- uses: git-clear
|
||||||
|
config:
|
||||||
|
path: ./out
|
||||||
|
|
||||||
|
- uses: copy
|
||||||
|
config:
|
||||||
|
inPath: ./src/Chart.yaml
|
||||||
|
outPath: ./out/Chart.yaml
|
||||||
|
- uses: copy
|
||||||
|
config:
|
||||||
|
inPath: ./src/values.yaml
|
||||||
|
outPath: ./out/values.yaml
|
||||||
|
- uses: copy
|
||||||
|
config:
|
||||||
|
inPath: ./src/values-dev.yaml
|
||||||
|
outPath: ./out/values-dev.yaml
|
||||||
|
- uses: copy
|
||||||
|
config:
|
||||||
|
inPath: ./src/values-staging.yaml
|
||||||
|
outPath: ./out/values-staging.yaml
|
||||||
|
- uses: copy
|
||||||
|
config:
|
||||||
|
inPath: ./src/values-prod.yaml
|
||||||
|
outPath: ./out/values-prod.yaml
|
||||||
|
- uses: copy
|
||||||
|
config:
|
||||||
|
inPath: ./src/templates
|
||||||
|
outPath: ./out/templates
|
||||||
|
- uses: copy
|
||||||
|
config:
|
||||||
|
inPath: ./src/bootstrap
|
||||||
|
outPath: ./out/bootstrap
|
||||||
|
- uses: copy
|
||||||
|
config:
|
||||||
|
inPath: ./src/README.md
|
||||||
|
outPath: ./out/README.md
|
||||||
|
- uses: copy
|
||||||
|
config:
|
||||||
|
inPath: ./src/.gitignore
|
||||||
|
outPath: ./out/.gitignore
|
||||||
|
|
||||||
|
- uses: git-commit
|
||||||
|
as: commit
|
||||||
|
config:
|
||||||
|
path: ./out
|
||||||
|
message: Promote ${{ commitFrom(vars.repoURL).ID }} to prod
|
||||||
|
|
||||||
- uses: git-push
|
- uses: git-push
|
||||||
as: push
|
|
||||||
config:
|
config:
|
||||||
path: ./out
|
path: ./out
|
||||||
targetBranch: prod
|
targetBranch: prod
|
||||||
force: true
|
|
||||||
|
|
||||||
- uses: argocd-update
|
- uses: argocd-update
|
||||||
config:
|
config:
|
||||||
@@ -131,4 +181,4 @@ spec:
|
|||||||
- name: web-prod
|
- name: web-prod
|
||||||
sources:
|
sources:
|
||||||
- repoURL: ${{ vars.repoURL }}
|
- repoURL: ${{ vars.repoURL }}
|
||||||
desiredRevision: ${{ outputs.push.commit }}
|
desiredRevision: ${{ outputs.commit.commit }}
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
environment: DEV
|
environment: DEV
|
||||||
|
gitCommit: 7cae72a
|
||||||
|
|
||||||
ingress:
|
ingress:
|
||||||
host: web-dev.max.test.scrumdapp.open-ict.hu
|
host: web-dev.max.test.scrumdapp.open-ict.hu
|
||||||
|
|||||||
@@ -12,3 +12,4 @@ ingress:
|
|||||||
path: /
|
path: /
|
||||||
|
|
||||||
environment: LOCAL
|
environment: LOCAL
|
||||||
|
gitCommit: unknown
|
||||||
|
|||||||
@@ -0,0 +1,118 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<title>{{ .Values.environment }} - kub-web-test</title>
|
||||||
|
<style>
|
||||||
|
:root {
|
||||||
|
color-scheme: dark;
|
||||||
|
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
||||||
|
background: #111827;
|
||||||
|
color: #f8fafc;
|
||||||
|
}
|
||||||
|
|
||||||
|
* {
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
min-height: 100vh;
|
||||||
|
margin: 0;
|
||||||
|
display: grid;
|
||||||
|
place-items: center;
|
||||||
|
background:
|
||||||
|
radial-gradient(circle at top left, rgba(20, 184, 166, 0.28), transparent 34rem),
|
||||||
|
linear-gradient(135deg, #111827 0%, #1f2937 45%, #312e81 100%);
|
||||||
|
}
|
||||||
|
|
||||||
|
main {
|
||||||
|
width: min(68rem, calc(100% - 2rem));
|
||||||
|
padding: clamp(2rem, 6vw, 5rem);
|
||||||
|
}
|
||||||
|
|
||||||
|
.eyebrow {
|
||||||
|
margin: 0 0 1rem;
|
||||||
|
color: #5eead4;
|
||||||
|
font-size: 0.85rem;
|
||||||
|
font-weight: 800;
|
||||||
|
letter-spacing: 0.14em;
|
||||||
|
text-transform: uppercase;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
max-width: 12ch;
|
||||||
|
margin: 0;
|
||||||
|
font-size: clamp(3.2rem, 12vw, 8rem);
|
||||||
|
line-height: 0.9;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lede {
|
||||||
|
max-width: 42rem;
|
||||||
|
margin: 1.5rem 0 0;
|
||||||
|
color: #dbeafe;
|
||||||
|
font-size: clamp(1.05rem, 2vw, 1.35rem);
|
||||||
|
line-height: 1.7;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pipeline {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
gap: 0.75rem;
|
||||||
|
margin-top: 2rem;
|
||||||
|
padding: 0;
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pipeline li {
|
||||||
|
border: 1px solid rgba(255, 255, 255, 0.18);
|
||||||
|
border-radius: 0.5rem;
|
||||||
|
padding: 0.7rem 0.9rem;
|
||||||
|
background: rgba(15, 23, 42, 0.5);
|
||||||
|
color: #f8fafc;
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
|
||||||
|
.environment {
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
min-height: 2.25rem;
|
||||||
|
margin-top: 2.5rem;
|
||||||
|
border-radius: 999px;
|
||||||
|
padding: 0 1rem;
|
||||||
|
background: #f8fafc;
|
||||||
|
color: #111827;
|
||||||
|
font-weight: 900;
|
||||||
|
}
|
||||||
|
|
||||||
|
.revision {
|
||||||
|
margin: 0.75rem 0 0;
|
||||||
|
color: #bfdbfe;
|
||||||
|
font-size: 0.9rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
code {
|
||||||
|
color: #f8fafc;
|
||||||
|
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<main>
|
||||||
|
<p class="eyebrow">Kubernetes GitOps demo</p>
|
||||||
|
<h1>kub-web-test</h1>
|
||||||
|
<p class="lede">
|
||||||
|
This static site is served by nginx from a Helm chart, deployed by Argo CD,
|
||||||
|
and promoted through Kargo from dev to staging to production.
|
||||||
|
</p>
|
||||||
|
<ul class="pipeline" aria-label="Promotion flow">
|
||||||
|
<li>dev branch</li>
|
||||||
|
<li>DEV site</li>
|
||||||
|
<li>STAGING approval</li>
|
||||||
|
<li>PROD release</li>
|
||||||
|
</ul>
|
||||||
|
<div class="environment">Current environment: {{ .Values.environment }}</div>
|
||||||
|
<p class="revision">Git commit: <code>{{ .Values.gitCommit }}</code></p>
|
||||||
|
</main>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
Reference in New Issue
Block a user