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: describe the functional flow of a deployment #828

Closed
wants to merge 302 commits into from
Closed
Changes from 1 commit
Commits
Show all changes
302 commits
Select commit Hold shift + click to select a range
9fd1bab
docs: add Netlify configuration and advanced build (#892)
aepfli Feb 28, 2023
6dd327a
chore: remove golang exp dependency (#919)
mowies Feb 28, 2023
50fcc9b
chore: improve Makefiles usage (#921)
aepfli Feb 28, 2023
3e54577
docs: initial list of related technologies of Keptn (#795)
sudiptob2 Feb 28, 2023
21dc815
chore: adjust manifest limits (#891)
thisthat Feb 28, 2023
ca6cf67
docs: improve netlify build (#920)
aepfli Feb 28, 2023
9d55559
feat: added the metrics-operator (#917)
mowies Mar 1, 2023
d673158
fix: remove required from release docs yaml parameters (#952)
aepfli Mar 1, 2023
58f411d
test: introduce integration test with KeptnEvaluation (#947)
odubajDT Mar 2, 2023
8dec09f
fix: wrong link in the local-setup (#916)
Amishakumari544 Mar 2, 2023
bf145e5
docs: add htmltest verification for documentation (#932)
aepfli Mar 2, 2023
508b73d
docs: add docs publishing information (#949)
aepfli Mar 2, 2023
01c4a8e
ci: update changelog (#953)
thisthat Mar 2, 2023
fd0ee82
docs: adapt metrics documentation and example (#941)
bacherfl Mar 2, 2023
408524d
chore: polish examples and integration tests (#956)
odubajDT Mar 2, 2023
673f7dc
chore: add Hugo caching (#958)
aepfli Mar 2, 2023
2eab867
docs: added more detailed explanation of how to make use of secrets i…
bacherfl Mar 2, 2023
69b83c5
docs: enhance contributors guide (#866)
Amishakumari544 Mar 3, 2023
0f4bceb
fix: fix markdown issues in main (#963)
aepfli Mar 3, 2023
961afc3
feat: improve naming (#961)
thisthat Mar 3, 2023
a350687
fix(metrics-operator): use correct port for serving metrics api (#954)
bacherfl Mar 6, 2023
fe08aeb
deps: update dependency argoproj/argo-cd to v2.6.3 (#965)
renovate[bot] Mar 6, 2023
f504167
docs: migrator for KeptnEvaluationProvider -> KeptnMetricsProvider (#…
odubajDT Mar 6, 2023
ba98f59
docs: adapt KeptnEvaluationDefinition and introduce KeptnMetricsProvi…
odubajDT Mar 6, 2023
c56816f
chore: improve markdownlint (#946)
aepfli Mar 6, 2023
db83b3f
deps: update klakegg/hugo docker tag to v0.107.0 (#969)
renovate[bot] Mar 6, 2023
6076d9e
fix: helm chart generation and helm pipeline (#975)
RealAnna Mar 7, 2023
899ccac
test: introduce component test for KeptnWorkload controller (#984)
odubajDT Mar 7, 2023
2948a9b
docs: add CONTRIBUTING.md file for docs (#758)
StackScribe Mar 7, 2023
7138075
test: introduce component test for KeptnTaskDefinition controller (#988)
odubajDT Mar 7, 2023
006b659
test: generate resources names for each component test (#990)
odubajDT Mar 7, 2023
1b16619
feat: fill in chart README (#987)
RealAnna Mar 7, 2023
b52cb2b
test: additional e2e tests (#976)
bacherfl Mar 7, 2023
992c8a5
fix: move conversion webhooks to hub version API (v1alpha3) (#992)
odubajDT Mar 8, 2023
4599d99
docs: use helm charts instead of manifests + document KeptnConfig CRD…
odubajDT Mar 8, 2023
eb48eab
test: introduce component test for KeptnAppVersion controller + remov…
odubajDT Mar 8, 2023
9a51590
docs: change Development url (#923)
aepfli Mar 8, 2023
29a9d4c
fix: helm chart generation fixes (#977)
mowies Mar 8, 2023
057ee7b
chore: added sonar-project.properties file and adapted codecov settin…
bacherfl Mar 9, 2023
0c34326
fix: htmltest error for newly created documents (#1010)
aepfli Mar 9, 2023
be02e2b
fix: remove missing 404 bug (#1006)
RealAnna Mar 9, 2023
bcc298c
chore: upgraded metrics operator to go 1.19 (#1017)
RealAnna Mar 9, 2023
781db5e
fix: fix some sonarcloud settings (#1018)
mowies Mar 9, 2023
5200302
deps: update aquasecurity/trivy-action action to v0.9.2 (#985)
renovate[bot] Mar 9, 2023
3bb34e0
ci: improve renovate reach in files, update podtato-head to 0.2.7 (#986)
mowies Mar 9, 2023
72a65d3
docs: add "Intro to KLT"; edit "Getting Started" (#785)
StackScribe Mar 9, 2023
c94b851
docs: update README and CONTRIBUTING instructions (#991)
thisthat Mar 9, 2023
62e4276
deps: update module github.com/open-feature/go-sdk to v1.3.0 (#767)
renovate[bot] Mar 9, 2023
03cb0c0
feat: add YAMLLint (#935)
rakshitgondwal Mar 9, 2023
c6fa9e8
deps: update kubernetes packages (patch) (#966)
renovate[bot] Mar 9, 2023
faa0399
test: introduce suite for each controller component test (#1019)
odubajDT Mar 9, 2023
90dc255
chore: remove generated fake folder from sonar checks (#1021)
mowies Mar 9, 2023
339cde5
deps: update sigstore/cosign-installer action to v3 (#973)
renovate[bot] Mar 9, 2023
cad145a
deps: update busybox docker tag to v1.36.0 (#1023)
renovate[bot] Mar 10, 2023
fe721cc
deps: update curlimages/curl docker tag to v7.88.1 (#1024)
renovate[bot] Mar 10, 2023
777924c
docs: add cert-manager to jaeger installation script (#1020)
RealAnna Mar 13, 2023
5e48dd3
chore: close issues and PRs if they get stale (#1041)
mowies Mar 13, 2023
fbfce8e
chore: set new documentation approach live (#1007)
aepfli Mar 13, 2023
539820e
fix: added metric-operator prefix to related ClusterRole and ClusterR…
bacherfl Mar 13, 2023
c12d18d
ci: add auto labeling for PRs (#1046)
mowies Mar 14, 2023
dabb2a8
chore: change theme repository (#1043)
aepfli Mar 14, 2023
5386510
deps: update module k8s.io/klog/v2 to v2.90.1 (#982)
renovate[bot] Mar 15, 2023
e0a1d3f
fix: adapted patch for mutating webhook to correctly add release name…
bacherfl Mar 15, 2023
e437252
ci: automatically set the start date for issues in GitHub projects (#…
rakshitgondwal Mar 15, 2023
ef4a708
docs: set up directories for contribution guide (#1004)
StackScribe Mar 15, 2023
798d8bf
docs: add KLT components diagram (#1016)
Amishakumari544 Mar 15, 2023
74f38d5
fix: fix examples (#1053)
thisthat Mar 16, 2023
dee9e49
chore: release 0.7.0 (#843)
keptn-bot Mar 16, 2023
5d435ff
revert: release 0.7.0 (#1055)
thisthat Mar 16, 2023
7d6b876
fix: fix cosign image signing after breaking changes (#1047)
mowies Mar 16, 2023
a22081e
fix: add helm chart to release please config (#1054)
mowies Mar 16, 2023
458fd86
ci: fix release please not finding files to update (#1057)
mowies Mar 16, 2023
fb43d34
chore: release 0.7.0 (#1056)
keptn-bot Mar 16, 2023
3cc08f8
deps: update actions/setup-go action to v4 (#1051)
renovate[bot] Mar 20, 2023
242449b
ci: fix release docs pipeline (#1058)
mowies Mar 20, 2023
4fdbd4f
deps: update module google.golang.org/grpc to v1.53.0 (#817)
renovate[bot] Mar 20, 2023
8180cb7
deps: update dependency jaegertracing/jaeger to v1.43.0 (#794)
renovate[bot] Mar 20, 2023
fb0b1ee
docs: improve Notes within the documentation (#962)
aepfli Mar 20, 2023
7a56ae6
feat: datadog metric provider for KLT (#948)
sudiptob2 Mar 20, 2023
b28dc7f
deps: update dependency argoproj/argo-cd to v2.6.6 (#1039)
renovate[bot] Mar 20, 2023
7850fe4
deps: update dependency helm/helm to v3.11.2 (#1050)
renovate[bot] Mar 20, 2023
4331c2f
docs: technologies to get familiar before working with KLT (#1060)
Amishakumari544 Mar 21, 2023
b7a5c34
ci: add ns creation as first thing in the installation manifest (#1076)
thisthat Mar 21, 2023
caa4793
feat(operator): additional parameters for KeptnTask to support retry …
odubajDT Mar 22, 2023
7e460e7
fix: generate missing CRD docs, fix validation pipeline (#1086)
mowies Mar 22, 2023
cf12ebb
fix(helm-chart): fix missing values in the KLT helm chart (#1082)
mowies Mar 22, 2023
97e7cf8
ci: fix release pipeline, add more things to release please (#1075)
mowies Mar 22, 2023
6f3d769
feat: use smaller distroless images for released containers (#1092)
mowies Mar 23, 2023
0cdfd4c
deps: update module sigs.k8s.io/controller-runtime to v0.14.5 (#1038)
renovate[bot] Mar 23, 2023
48db0b5
deps: update module github.com/spf13/afero to v1.9.5 (#1037)
renovate[bot] Mar 23, 2023
2a22959
deps: update module github.com/imdario/mergo to v0.3.14 (#1073)
renovate[bot] Mar 23, 2023
a9093b5
deps: update module github.com/stretchr/testify to v1.8.2 (#937)
renovate[bot] Mar 23, 2023
7e2e1da
deps: update module k8s.io/kubernetes to v1.25.8 (#938)
renovate[bot] Mar 23, 2023
6597887
deps: update module github.com/onsi/gomega to v1.27.4 (#967)
renovate[bot] Mar 23, 2023
c54bf3b
ci: add example release logic (#1008)
aepfli Mar 23, 2023
6670047
fix: fix examples, update podtatohead (#1098)
thschue Mar 23, 2023
4cb4362
deps: update kubernetes packages to v0.26.3 (patch) (#1072)
renovate[bot] Mar 23, 2023
0410a8e
deps: update golang docker tag to v1.20.2 (#1036)
renovate[bot] Mar 23, 2023
71ab7bf
deps: update amannn/action-semantic-pull-request action to v5.2.0 (#1…
renovate[bot] Mar 24, 2023
d225308
deps: update dependency golangci/golangci-lint to v1.52.0 (#1103)
renovate[bot] Mar 24, 2023
db673bd
deps: update anchore/sbom-action action to v0.13.4 (#1101)
renovate[bot] Mar 24, 2023
f50378d
deps: update github.com/keptn/lifecycle-toolkit/metrics-operator dige…
renovate[bot] Mar 24, 2023
6ba66b9
feat(operator): introduce retry logic for KeptnTasks (#1088)
odubajDT Mar 24, 2023
3764d20
chore(operator): read-only RBAC for KeptnConfig controller (#1096)
thisthat Mar 24, 2023
61a7bfe
docs: update list of videos about KLT (#1105)
StackScribe Mar 27, 2023
d41dcb2
docs: make cert-manager and manifest installation a detail (#1099)
thschue Mar 27, 2023
5665a55
feat(operator): polish `KeptnConfig` and use Env Var for initial conf…
thisthat Mar 27, 2023
81ed0c6
fix: move prometheus install into make file (#1093)
RealAnna Mar 27, 2023
b8732d6
deps: update dependency argoproj/argo-cd to v2.6.7 (#1121)
renovate[bot] Mar 27, 2023
ca05822
deps: update curlimages/curl docker tag to v8 (#1116)
renovate[bot] Mar 27, 2023
ffa0470
deps: update dependency golangci/golangci-lint to v1.52.1 (#1108)
renovate[bot] Mar 27, 2023
ceefbc4
deps: update module github.com/imdario/mergo to v0.3.15 (#1132)
renovate[bot] Mar 28, 2023
1a6210b
deps: update module github.com/prometheus/common to v0.42.0 (#1111)
renovate[bot] Mar 28, 2023
84a69ac
deps: update module github.com/datadog/datadog-api-client-go/v2 to v2…
renovate[bot] Mar 28, 2023
6ef296b
deps: update module github.com/onsi/gomega to v1.27.5 (#1133)
renovate[bot] Mar 28, 2023
f804a76
deps: update github.com/keptn/lifecycle-toolkit/metrics-operator dige…
renovate[bot] Mar 28, 2023
c73cfad
docs(operator): adjust docs comment (#1126)
thisthat Mar 28, 2023
af43474
deps: update module google.golang.org/grpc to v1.54.0 (#1112)
renovate[bot] Mar 28, 2023
9956cc9
deps: remove github.com/open-feature/flagd (#1110)
renovate[bot] Mar 28, 2023
3615005
fix(metrics-operator): normalize Dynatrace URL (#1145)
thisthat Mar 29, 2023
ac390dc
chore: improve CRD docs generation script output (#1157)
mowies Mar 30, 2023
f9fa7fc
fix: fix examples restart make command, reduce prometheus resources (…
mowies Mar 30, 2023
9e7c32a
deps: update dependency jaegertracing/jaeger-operator to v1.43.0 (#1152)
renovate[bot] Mar 31, 2023
43a5d01
deps: update dependency golangci/golangci-lint to v1.52.2 (#1142)
renovate[bot] Mar 31, 2023
845ea90
deps: update module github.com/go-logr/logr to v1.2.4 (#1153)
renovate[bot] Mar 31, 2023
3c51985
deps: update module sigs.k8s.io/controller-runtime to v0.14.6 (#1160)
renovate[bot] Mar 31, 2023
badd8b2
feat(operator): bootstrapped KeptnAppCreationRequest CRD (#1134)
bacherfl Mar 31, 2023
4ae5da8
deps: update github.com/keptn/lifecycle-toolkit/metrics-operator dige…
renovate[bot] Mar 31, 2023
c8d0b7b
deps: update module github.com/onsi/gomega to v1.27.6 (#1166)
renovate[bot] Apr 3, 2023
c22a428
feat: make examples resource footprint smaller, fix bugs (#1171)
mowies Apr 3, 2023
40a877d
fix: use correct control-plane label for metrics-operator (#1147)
nlamirault Apr 3, 2023
9a27a1a
fix: add missing control-plane label into lifecycle operator service …
nlamirault Apr 3, 2023
4f3741f
ci: allow trailing slashes in links (#1172)
aepfli Apr 3, 2023
63c7546
fix: removed failure branch (#1175)
RealAnna Apr 4, 2023
b112a6a
deps: update github.com/keptn/lifecycle-toolkit/metrics-operator dige…
renovate[bot] Apr 4, 2023
93b8076
docs: improve rendering of links for local markdown files (#1177)
aepfli Apr 4, 2023
7c15019
docs: set up top-level Installation section (#1162)
StackScribe Apr 4, 2023
9f9e060
chore: set up YAML linter rules, fix YAML files accordingly (#1174)
mowies Apr 4, 2023
b5b9b36
ci: fix CI pipeline YAML error (#1179)
mowies Apr 5, 2023
e81380a
feat(operator): support Argo Rollout resources (#879)
thschue Apr 5, 2023
9539b65
docs: added example for autoscaling using KeptnMetric (#1173)
bacherfl Apr 5, 2023
52b0760
docs: cleanup after theme migration (#1045)
aepfli Apr 5, 2023
0673b0a
docs: set up structure for yaml ref pages, guide section (#1184)
StackScribe Apr 6, 2023
2cfa7bd
fix(operator): look up latest AppVersion based on creation timestamp …
bacherfl Apr 6, 2023
0ecc76b
chore: stop pushing dev container images to GHCR (#1192)
mowies Apr 11, 2023
99197f2
ci: add helm generation checker pipeline (#1150)
rakshitgondwal Apr 11, 2023
f270199
fix: fix metrics demo setup (#1207)
bacherfl Apr 11, 2023
571f800
fix: helm generation checker pipeline (#1209)
odubajDT Apr 12, 2023
e415397
docs: add community files to webpage (#1077)
aepfli Apr 12, 2023
644bfff
permit scheduler plugin
StackScribe Apr 24, 2023
2506414
deps: update peter-evans/create-pull-request action to v5 (#1190)
renovate[bot] Apr 12, 2023
065704c
deps: update sigstore/cosign-installer action to v3.0.2 (#1198)
renovate[bot] Apr 12, 2023
581c735
deps: update dawidd6/action-download-artifact action to v2.26.1 (#1189)
renovate[bot] Apr 12, 2023
3443b6c
deps: update ghcr.io/podtato-head/entry docker tag to v0.2.8 (#1211)
renovate[bot] Apr 12, 2023
1cc57be
deps: update ghcr.io/podtato-head/hat docker tag to v0.2.8 (#1212)
renovate[bot] Apr 12, 2023
0a750f2
chore: remove cert-manager leftovers (#1216)
odubajDT Apr 12, 2023
71454de
deps: update golang docker tag to v1.20.3 (#1183)
renovate[bot] Apr 12, 2023
9da9bb2
deps: update ghcr.io/podtato-head/right-arm docker tag to v0.2.8 (#1219)
renovate[bot] Apr 13, 2023
5353b35
deps: update ghcr.io/podtato-head/left-leg docker tag to v0.2.8 (#1218)
renovate[bot] Apr 13, 2023
41a61ae
deps: update ghcr.io/podtato-head/right-leg docker tag to v0.2.8 (#1220)
renovate[bot] Apr 13, 2023
1fb0ebe
deps: update ghcr.io/podtato-head/left-arm docker tag to v0.2.8 (#1217)
renovate[bot] Apr 13, 2023
8f820e4
deps: update github.com/keptn/lifecycle-toolkit/metrics-operator dige…
renovate[bot] Apr 13, 2023
de6b0d3
fix: fix kubecon examples (#1225)
thisthat Apr 13, 2023
fe19d0d
fix: fix kubecon examples (#1226)
thisthat Apr 13, 2023
56861f0
docs: change linting CLI and add custom rules (#1031)
aepfli Apr 13, 2023
05fe68c
test: refactor kuttl test using env var (#1214)
RealAnna Apr 13, 2023
a55059c
ci: fix set-date pipeline bug (#1208)
rakshitgondwal Apr 17, 2023
9485749
fix: adapt mapping for community files (#1215)
aepfli Apr 17, 2023
a15ce0e
docs: add metrics-operator architecture (#1151)
rakshitgondwal Apr 17, 2023
5ada604
docs: fix typo in the getting started docs (#1204)
prateek041 Apr 18, 2023
b75a4ae
docs: replace cert-manager (#1210)
StackScribe Apr 18, 2023
ad312d4
fix: use hash as revision instead of generation number (#1243)
odubajDT Apr 18, 2023
87b794e
feat: add support for multiple metrics providers (#1193)
mowies Apr 19, 2023
fe2fc2c
docs: fix typo (#1252)
mowies Apr 19, 2023
f2f13e9
deps: update dawidd6/action-download-artifact action to v2.27.0 (#1256)
renovate[bot] Apr 20, 2023
063b271
deps: update anchore/sbom-action action to v0.14.1 (#1187)
renovate[bot] Apr 20, 2023
cb476e4
deps: update aquasecurity/trivy-action action to v0.10.0 (#1255)
renovate[bot] Apr 20, 2023
577f322
deps: update dependency helm/helm to v3.11.3 (#1234)
renovate[bot] Apr 20, 2023
a69e261
deps: update dependency jaegertracing/jaeger to v1.44.0 (#1229)
renovate[bot] Apr 20, 2023
5842510
deps: update dependency kubernetes-sigs/kustomize to v5 (#769)
renovate[bot] Apr 20, 2023
2a835c0
deps: update module k8s.io/component-helpers to v0.25.9 (#1235)
renovate[bot] Apr 20, 2023
28c9a37
deps: update kubernetes packages (patch) (#1228)
renovate[bot] Apr 20, 2023
1477e83
deps: update module github.com/prometheus/client_golang to v1.15.0 (#…
renovate[bot] Apr 20, 2023
0acd619
docs: update docs for multi metrics provider support, fix API referen…
mowies Apr 20, 2023
417ac87
chore: refactor and add unit tests to watcher (#1253)
RealAnna Apr 20, 2023
0647394
deps: update module github.com/benbjohnson/clock to v1.3.1 (#1257)
renovate[bot] Apr 20, 2023
e7cb29d
docs: add better overview KeptnApp to readme (#1254)
mowies Apr 20, 2023
577a431
docs: adding KLT runtime info for local development (#1246)
thisthat Apr 21, 2023
81c5a27
fix(operator): fix otel collector URL setup (#1262)
bacherfl Apr 24, 2023
1756be7
feat(operator): implement KeptnAppCreationRequest controller (#1191)
bacherfl Apr 24, 2023
af68495
chore: adapt CODEOWNERS to new team structure (#1250)
aepfli Apr 24, 2023
b6f7ad8
feat: improve API reference generation script with path extension (#1…
aepfli Apr 24, 2023
858c205
docs: update API reference docs pages (#1273)
mowies Apr 24, 2023
4a67a43
clarify KLT scheduler
StackScribe Apr 24, 2023
53c499b
restructure a bit
StackScribe Apr 25, 2023
d2c9316
Update docs/content/en/docs/concepts/architecture/deployment-flow.md
StackScribe Apr 25, 2023
170dabf
Update docs/content/en/docs/concepts/architecture/deployment-flow.md
StackScribe Apr 25, 2023
b3ca6b0
Update docs/content/en/docs/concepts/architecture/deployment-flow.md
StackScribe Apr 25, 2023
5e9c6ea
Update docs/content/en/docs/concepts/architecture/deployment-flow.md
StackScribe Apr 25, 2023
cca77f7
Update deployment-flow.md
StackScribe Apr 25, 2023
c14a9c6
feat(operator): consider corner cases in KACR controller (#1270)
bacherfl Apr 25, 2023
f40caf0
Update docs/content/en/docs/concepts/architecture/deployment-flow.md
StackScribe Apr 25, 2023
cabff4a
Update docs/content/en/docs/concepts/architecture/deployment-flow.md
StackScribe Apr 25, 2023
2485896
Update docs/content/en/docs/concepts/architecture/deployment-flow.md
StackScribe Apr 25, 2023
cc4a603
Update docs/content/en/docs/concepts/architecture/deployment-flow.md
StackScribe Apr 25, 2023
710b133
chore: reorder integration test execution (#1264)
RealAnna Apr 25, 2023
ea9c25e
Update deployment-flow.md
StackScribe Apr 26, 2023
5107572
Update docs/content/en/docs/concepts/architecture/deployment-flow.md
StackScribe Apr 26, 2023
7ebc5c5
Update deployment-flow.md
StackScribe Apr 26, 2023
eef8bf1
docs: modify footer (#1163)
rakshitgondwal Apr 26, 2023
fa8d0cf
chore: revert test makefile changes (#1281)
RealAnna Apr 26, 2023
96f204b
chore: fix failing component test (#1282)
RealAnna Apr 26, 2023
c772ae5
feat(operator): propagate KeptnTaskDefinition labels and annotations …
odubajDT Apr 26, 2023
ac3cdc0
Update deployment-flow.md
StackScribe Apr 27, 2023
ed6d7f4
Update docs/content/en/docs/concepts/architecture/deployment-flow.md
StackScribe Apr 27, 2023
690736e
Update docs/content/en/docs/concepts/architecture/deployment-flow.md
StackScribe Apr 27, 2023
a80a943
Update docs/content/en/docs/concepts/architecture/deployment-flow.md
StackScribe Apr 27, 2023
9a118a1
ci: fix helm checker pipeline (#1291)
mowies Apr 26, 2023
ca844fe
test: fix race condition in component tests (#1286)
bacherfl Apr 27, 2023
83ef6cf
Update deployment-flow.md
StackScribe Apr 27, 2023
4df8dff
Update docs/content/en/docs/concepts/architecture/deployment-flow.md
StackScribe Apr 27, 2023
5c4e523
ondrej comment
StackScribe May 2, 2023
5215e7d
ondrej suggestion
StackScribe May 2, 2023
953b9e3
ondrej AppPostDeployTasks
StackScribe May 2, 2023
4275e18
ondrej WorkloadPostDeployEvaluations -> Completed
StackScribe May 2, 2023
6405969
docs: improve landing page, based on slides (#1272)
aepfli Apr 27, 2023
8a16cf2
chore: bump go to 1.20 (#1294)
odubajDT Apr 27, 2023
7f03784
deps: update module github.com/datadog/datadog-api-client-go/v2 to v2…
renovate[bot] Apr 27, 2023
9011aa1
fix: use custom k8s label to inject certificates where needed (#1288)
mowies Apr 27, 2023
3693a41
deps: update module github.com/benbjohnson/clock to v1.3.3 (#1293)
renovate[bot] Apr 27, 2023
559a395
deps: update dependency kubernetes-sigs/controller-tools to v0.11.4 (…
renovate[bot] Apr 27, 2023
651facd
chore(cert-manager): reduce secret permissions (#1295)
bacherfl Apr 28, 2023
f015cd8
docs: set up get-started directory tree (#1303)
StackScribe Apr 28, 2023
29974b6
deps: update module golang.org/x/net to v0.9.0 (#1298)
renovate[bot] Apr 28, 2023
99c5acc
feat(operator): create KeptnAppCreationRequest in pod webhook (#1277)
bacherfl May 2, 2023
613c2d6
chore: bump GO_VERSION to 1.20 in pipelines (#1326)
odubajDT May 2, 2023
9a80945
deps: bump denoland/deno to 1.32.5 (#1329)
odubajDT May 2, 2023
e0b6c65
chore(metrics-operator): restrict custom metrics ClusterRole privileg…
odubajDT May 2, 2023
3a4b058
fix: security pipeline (#1333)
odubajDT May 2, 2023
856bd71
markdownlint: add blank line
StackScribe May 2, 2023
cf505ad
chore(metrics-operator): add configuration parameters for container s…
odubajDT May 2, 2023
648a0b8
ondrej comments
StackScribe May 2, 2023
a57ecf9
ondrej comments
StackScribe May 2, 2023
4704bf0
ondrej comments
StackScribe May 2, 2023
9797d18
add closing tics
StackScribe May 2, 2023
33b3875
docs: describe automatic application discovery (#1304)
bacherfl May 2, 2023
2bef5b3
spacing
StackScribe May 2, 2023
dcb782d
Update docs/content/en/docs/concepts/architecture/deployment-flow.md
StackScribe May 2, 2023
dcda762
Update docs/content/en/docs/concepts/architecture/deployment-flow.md
StackScribe May 2, 2023
03e1961
Update docs/content/en/docs/concepts/architecture/deployment-flow.md
StackScribe May 2, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
docs: add "Intro to KLT"; edit "Getting Started" (#785)
Signed-off-by: Meg McRoberts <meg.mcroberts@dynatrace.com>
Signed-off-by: Simon Schrottner <simon.schrottner@dynatrace.com>
Signed-off-by: Moritz Wiesinger <moritz.wiesinger@dynatrace.com>
Signed-off-by: Meg McRoberts <mmcroberts@cloudbees.com>
Co-authored-by: Simon Schrottner <simon.schrottner@dynatrace.com>
Co-authored-by: Moritz Wiesinger <moritz.wiesinger@dynatrace.com>
Co-authored-by: Giovanni Liva <giovanni.liva@dynatrace.com>
Signed-off-by: Meg McRoberts <meg.mcroberts@dynatrace.com>
4 people committed May 2, 2023
commit 72a65d398dd16c19a445fd2fb44b009af47f1062
3 changes: 3 additions & 0 deletions docs/.htmltest.yml
Original file line number Diff line number Diff line change
@@ -6,4 +6,7 @@ IgnoreDirs:
IgnoreURLs:
- "linkedin.com"
- "localhost"
# our edit links in the sidebar might not work for newly created pages
- "github.com/keptn/lifecycle-toolkit/tree/main"
- "github.com/keptn/lifecycle-toolkit/edit/main"
StripQueryString: false
177 changes: 103 additions & 74 deletions docs/content/en/docs/getting-started.md
Original file line number Diff line number Diff line change
@@ -5,32 +5,12 @@ description: Learn how to use the Keptn Lifecycle Toolkit.
weight: 15
---

`kubectl create -f deployment.yaml` will "blindly" deploy workloads, but who needs to be notified that this deployment
is about to happen? Is your infrastructure ready? Do your downstream services meet their SLOs? Can your infrastructure
handle the deployment?

After the deployment, beyond the standard k8s probes, how can you integrate with other tooling to automatically test the
deployment? How do you know the deployment is meeting its SLOs? Has the deployment caused any issues downstream? Who
needs to know that the deployment was successful (or unsuccessful)?
This page gives instructions for installing the Keptn Lifecycle Toolkit
and running a simple Keptn application to familiarize yourself
with how KLT works.

The Keptn Lifecycle Toolkit (KLT) "wraps" a standard Kubernetes deployment and provides both workload (single service)
tests and SLO evaluations. Multiple workloads can also be logically grouped (and evaluated) as a single cohesive unit: a
Keptn Application. In other words, an application is a collection of multiple workloads.

The Keptn Lifecycle Toolkit is a tool and vendor-neutral mechanism - it does not depend on particular GitOps tooling -
ArgoCD, Flux, Gitlab or others - KLT works with them all.

The Keptn Lifecycle Toolkit emits signals at every stage (k8s events, OpenTelemetry metrics and traces) to ensure your
deployments are observable.

Available steps (applicable to both workload and application entities):

* Pre-Deployment Tasks: e.g. checking for dependant services, checking if the cluster is ready for the deployment, etc.
* Pre-Deployment Evaluations: e.g. evaluate metrics before your application gets deployed (e.g. layout of the cluster)
* Post-Deployment Tasks: e.g. trigger a test, trigger a deployment to another cluster, etc.
* Post-Deployment Evaluations: e.g. evaluate the deployment, evaluate the test results, etc.

## What you will learn here
You will learn how to do the following:

* Use the Keptn Lifecycle Toolkit to control the deployment of your application
* Connect the lifecycle-toolkit to Prometheus
@@ -39,22 +19,28 @@ Available steps (applicable to both workload and application entities):

## Prerequisites

You need the following to complete this exercise:

* A Kubernetes cluster >= Kubernetes 1.24
* If you don't have one, we recommend [Kubernetes-in-Docker(KinD)](https://kind.sigs.k8s.io/docs/user/quick-start/)
to set up your local development environment
* If you don't have one, we recommend
[Kubernetes-in-Docker(KinD)](https://kind.sigs.k8s.io/docs/user/quick-start/)
to set up your local development environment

* kubectl installed on your system
* See (<https://kubernetes.io/docs/tasks/tools/>) for more information

## Check Kubernetes Version

Run the following and ensure both client and server versions are greater than or equal to v1.24.
Run the following and ensure that both client and server versions
are running Kubernetes versions greater than or equal to v1.24.

```shell
kubectl version --short
```

The output should look like this. In this example, both client and server are at v1.24.0 so the Keptn Lifecycle Toolkit
will work.
The output should look like this.
In this example, both client and server are at v1.24.0
so the Keptn Lifecycle Toolkit will work.

{{% readfile file="./snippets/tasks/k8s_version_output.md" markdown="true" %}}

@@ -64,9 +50,16 @@ will work.

## Check out the Getting Started Repository

For the further progress of this guide, we need a sample application as well as some helpers which make it easier for
your to set up your environment. These things can be found in our Getting Started repository which can be checked out as
follows:
This exercise uses a sample application and some helpers
that make it easier for you to set up your environment.
These can be found in our Getting Started repository.
Use the following command to check out this repository:

For the further progress of this guide,
we need a sample application as well as some helpers
which make it easier foryour to set up your environment.
These things can be found in our Getting Started repository
which can be checked out as follows:

```shell
git clone https://github.com/keptn-sandbox/lifecycle-toolkit-examples.git
@@ -75,14 +68,22 @@ cd lifecycle-toolkit-examples

## Install the required observability features

The Keptn Lifecycle Toolkit emits OpenTelemetry data as standard but the toolkit does not come pre-bundled with
Observability backend tooling. This is deliberate as it provides flexibility for you to bring your own Observability
backend which consumes this emitted data.
The Keptn Lifecycle Toolkit emits OpenTelemetry data as standard
but the toolkit does not come pre-bundled with Observability backend tooling.
This is deliberate as it provides flexibility
for you to bring your own Observability backend
that consumes this emitted data.

In order to use the observability features of the lifecycle toolkit,
we need a monitoring and tracing backend.

In this guide, we use:

In order to use the observability features of the lifecycle toolkit, we need a monitoring and tracing backend.
* [Prometheus](https://prometheus.io/) for Metrics
* [Jaeger](https://jaegertracing.io) for Traces
* [Grafana](https://github.com/grafana/) for Dashboarding

In this guide, we will use [Prometheus](https://prometheus.io/) for Metrics, [Jaeger](https://jaegertracing.io) for
Traces and [Grafana](https://github.com/grafana/) for Dashboarding.
Install these with the following commands:

```shell
make install-observability
@@ -91,22 +92,30 @@ make restart-lifecycle-toolkit

## The Demo Application

For this demonstration, we use a slightly modified version
of [the PodTatoHead](https://github.com/podtato-head/podtato-head).
For this demonstration, we use a slightly modified version of
[the PodTatoHead](https://github.com/podtato-head/podtato-head) application.

<!-- markdown-link-check-disable-next-line -->
![img.png](assets/podtatohead.png)

Over time, we will evolve this application from a simple manifest to a Keptn-managed application. We will install it
first with kubectl and add pre- as well as post-deployment tasks. For this, we will check if the entry service is
available before the other ones get scheduled. Afterward, we will add evaluations to ensure that our infrastructure is
in a good shape before we deploy the application. Finally, we will evolve to a GitOps driven deployment and will notify
an external webhook service when the deployment has finished.
Over time, we will evolve this application
from a simple manifest to a Keptn-managed application:

* We install it with **kubectl**
then add pre- and post-deployment tasks.
* For this, we check if the entry service is available
before the other services are scheduled.
* We then add evaluations to ensure
that our infrastructure is in good shape before we deploy the application.
* Finally, we evolve to a GitOps driven deployment
and notify an external webhook service when the deployment has finished.

## Install the Demo Application (Version 1)

In the first version of the Demo application, the Keptn Lifecycle Toolkit evaluates metrics provided by prometheus and
checks if a specified amount of CPUs is available before deploying the application
In the first version of the Demo application,
the Keptn Lifecycle Toolkit evaluates metrics provided by Prometheus
and checks if the specified amount of CPUs are available
before deploying the application

To install it, simply apply the manifest:

@@ -118,46 +127,58 @@ You can watch the progress of the deployment as follows:

### Watch workload state

When the Lifecycle Toolkit detects workload labels ("app.kubernetes.io/name" and "keptn.sh/workload") on a resource, a
KeptnWorkloadInstance (kwi) resource will be created. Using this resource you can watch the progress of the deployment.
When the Lifecycle Toolkit detects workload labels
("app.kubernetes.io/name" or "keptn.sh/workload") on a resource,
a KeptnWorkloadInstance (kwi) resource is created.
Using this resource you can watch the progress of the deployment.

```shell
kubectl get keptnworkloadinstances -n podtato-kubectl
```

This will show the current status of the Workloads and in which phase they are at the moment. You can get more detailed
information about the workloads by describing one of the resources:
This shows the current status of the Workloads
and in which phase they are at the moment.
You can get more detailed information about the workloads
by describing one of the resources:

```shell
kubectl describe keptnworkloadinstances podtato-head-podtato-head-entry -n podtato-kubectl
```

Note that there are more detailed information in the event stream of the object.

### Watch application state

Although you didn't specify an application in your manifest, the Lifecycle Toolkit assumed that this is a single-service
application and created an ApplicationVersion (kav) resource for you.
Note that the event stream of the object contains more detailed information.
</details>

Using `kubectl get keptnappversions -n podtato-kubectl` you can see state of these resources.
<details>
<summary>Watch application state</summary>
Although you didn't specify an application in your manifest,
the Lifecycle Toolkit assumes that this is a single-service application
and creates an ApplicationVersion (kav) resource for you.

### Watch pods
Using `kubectl get keptnappversions -n podtato-kubectl`,
you can see the state of these resources.
</details>

Obviously, you should see that the pods are starting normally. You can watch the state of the pods using:
<details>
<summary>Watch pods</summary>
Obviously, you should see that the pods are starting normally.
You can watch the state of the pods using:

```shell
kubectl get pods -n podtato-kubectl
```

Furthermore, you can port-forward the podtato-head service to your local machine and access the application via your
browser:
Furthermore, you can port-forward the podtato-head service
to your local machine and access the application via your browser:

```shell
make port-forward-grafana
```

In your browser (<http://localhost:3000>, Log in with the user 'admin' and the password 'admin'), you can open the
Dashboard `Keptn Applications` and see the current state of the application which should be similar to the following:
In your browser (<http://localhost:3000>),
log in with the user `admin` and the password `admin`).
You can open the Dashboard `Keptn Applications`
and see the current state of the application,
which should be similar to the following:

<!-- markdown-link-check-disable-next-line -->
![grafana.png](assets/grafana.png)
@@ -169,26 +190,34 @@ In this screen you get the following information:
* Deployment Time per Version
* The link to the Trace of the deployment

After some time (~60 seconds), you should see one more failed deployment in your dashboard. You can click on the link to
the trace and see the reason for the failure:
After some time (~60 seconds),
you should see one more failed deployment in your dashboard.
You can click on the link to the trace and see the reason for the failure:

<!-- markdown-link-check-disable-next-line -->
![trace-failed.png](assets/trace-failed.png)

In this case, we see the name of the failed pre-deployment evaluation and the reason for the failure. In this case, the
minimum amount of CPUs is not met. This is a problem we can solve by changing the treshold in the evaluation file.
In this case, we see the name of the failed pre-deployment evaluation
and the reason for the failure.
In this case, the minimum amount of CPUs is not met.
This is a problem we can solve by changing the threshold in the evaluation file.

## Install the Demo Application (Version 2)

To achieve this, we changed the operator in the evaluation file (sample-app/version-2/app-pre-deploy-eval) from `<`
to `>` and applied the new manifest:
To achieve this, we changed the operator in the evaluation file
(sample-app/version-2/app-pre-deploy-eval) from `<` to `>`
and applied the new manifest:

```shell
kubectl apply -f sample-app/version-2
```

After this, you can inspect the new state of the application using the same commands as before. You should see that the
deployment is now successful and that the trace is also updated. You should also see in the Grafana Dashboards that the
deployment was successful.
After this, you can inspect the new state of the application
using the same commands as before.
You should see that the deployment is now successful
and that the trace is also updated.
You should also see in the Grafana Dashboards
that the deployment was successful.

Congratulations! You successfully deployed the first application using the Keptn Lifecycle Toolkit!
Congratulations! You have successfully deployed an application
using the Keptn Lifecycle Toolkit!
100 changes: 100 additions & 0 deletions docs/content/en/docs/intro-klt.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
---
title: Introduction to the Keptn Lifecycle Toolkit
linktitle: Introduction to the Keptn Lifecycle Toolkit
description: Understand the Keptn Lifecycle Toolkit
weight: 05
cascade:
github_subdir: "docs/content/en/docs"
path_base_for_github_subdir: "/content/en/docs-dev"
---

The Keptn Lifecycle Toolkit (KLT) implements observability
for deployments that are implemented with standard GitOps tools
such as ArgoCD, Flux, and Gitlab
and brings application awareness to your Kubernetes cluster.

These standard GitOps deployment tools
do an excellent job at deploying applications
but do not handle all issues
that are required to ensure that your deployment is usable.
The Keptn Lifecycle Toolkit "wraps" a standard Kubernetes GitOps deployment
with the capability to automatically handle issues
before and after the actual deployment.

Pre-deployment issues:

* Send appropriate notifications that this deployment is about to happen
* Check that downstream services meet their SLOs
* Verify that your infrastructure is ready
* Ensure that your infrastructure
has the resources necessary for a successful deployment

Post-deployment issues:

* Integrate with tooling beyond the standard Kubernetes probes
* Automatically test the deployment
* Ensure that the deployment is meeting its SLOs
* Identify any downstream issues that may be caused by this deployment
* Send appropriate notifications about whether the deployment was successful or unsuccessful

KLT can evaluate both workload (single service) tests
and SLO evaluations before and after the actual deployment.
Multiple workloads can also be logically grouped and evaluated
as a single cohesive unit called a `KeptnApp`.
In other words, a `KeptnApp` is a collection of multiple workloads.

KLT is tool- and vendor neutral and does not depend on particular GitOps tooling.
KLT emits signals at every stage
(Kubernetes events, OpenTelemetry metrics and traces)
to ensure that your deployments are observable.
It supports the following steps:

* Pre-Deployment Tasks: e.g. checking for dependant services,
setting the cluster to be ready for the deployment, etc.
* Pre-Deployment Evaluations: e.g. evaluate metrics
before your application gets deployed (e.g. layout of the cluster)
* Post-Deployment Tasks: e.g. trigger a test,
trigger a deployment to another cluster, etc.
* Post-Deployment Evaluations: e.g. evaluate the deployment,
evaluate the test results, etc.

All of these things can be executed for a workload or for a KeptnApp,
which is a collection of multiple workloads.

## Compare Keptn Lifecycle Toolkit and Keptn LTS

The Keptn Lifecycle Controller (KLT) is a Keptn subproject
whose design reflects lessons we learned while developing Keptn LTS.
KLT recognizes that tools such as Argo and Flux
are very good at deploying applications.
However, these deployment tools do not provide
pre-deployment and post-deployment evaluations and actions;
this is what KLT adds.

Keptn LTS is a long-term support release
that can deploy applications on platforms other than Kubernetes,
can accomodate complex scoring algorithms for SLO evaluations,
and can implement remediations (self-healing) for problems discovered
on the production site.

In a December 2022 Keptn Community meeting,
we discussed the differences and similarities
between Keptn and the Keptn Lifecycle Toolkit
to help you decide which best fits your needs.
View the recording:
[Compare Keptn V1 and the Keptn Lifecycle Toolkit](https://www.youtube.com/watch?v=0nCbrG_RFos)

## Overviews of Keptn Lifecycle Toolkit

A number of presentations are available to give an overview
of the Keptn Lifecycle Toolkit:

* [What is keptn, how it works, and how to get started!](https://www.dynatrace.com/news/blog/what-is-keptn-how-it-works-and-how-to-get-started/)

* [Observability and Orchestration of your Deployment](https://www.youtube.com/watch?v=0nCbrG_RFos)

* [Keptn Lifecycle Toolkit Demo Tutorial on k3s, with ArgoCD for GitOps, OTel, Prometheus and Grafana](https://www.youtube.com/watch?v=6J_RzpmXoCc)

* The "IsItObservable Tutorial for KLT" will be released to YouTube soon.
* You can explore the [GitHub repository](https://github.com/isItObservable/keptn-lifecycle-Toolkit)
* that accompanies this video in the meantime.