diff --git a/.github/actions/spelling/excludes.txt b/.github/actions/spelling/excludes.txt
index acdab3b622..396213275a 100644
--- a/.github/actions/spelling/excludes.txt
+++ b/.github/actions/spelling/excludes.txt
@@ -28,3 +28,4 @@ _test\.go$
^\.github/scripts/\.helm-tests/[a-zA-Z0-9-]+/result.ya?ml
^dashboards/grafana/configmap/.*\.ya?ml
^dashboards/grafana/import/.*\.json
+^\Qdocs/layouts/partials/hooks/body-end.html\E$
diff --git a/.github/actions/spelling/expect.txt b/.github/actions/spelling/expect.txt
index a8cdc563ef..0c09687275 100644
--- a/.github/actions/spelling/expect.txt
+++ b/.github/actions/spelling/expect.txt
@@ -142,6 +142,7 @@ docsearch
docsembed
docsy
dql
+draggable
DTAPI
dtclient
dupl
@@ -152,6 +153,7 @@ elasticquota
elif
Emoji
ENABLEGITINFO
+endblock
endgroup
envconfig
envsubst
@@ -175,6 +177,7 @@ favicons
fetchintervalseconds
fieldpath
fieldref
+fontawesome
ftp
fullname
functionref
@@ -226,6 +229,7 @@ homeorchestrate
horizontalpodautoscalers
hpa
hreflang
+hsla
htmltest
httpref
httpreference
@@ -362,9 +366,12 @@ kwv
labelledby
lastmod
lastword
+Lato
lfc
Lifcycle
lifecyclekeptnsh
+linecap
+linejoin
linkedin
linktitle
linting
@@ -428,6 +435,7 @@ nodename
nolint
nonroot
noreply
+nowrap
nsa
oac
oauth
@@ -457,6 +465,7 @@ otlpgrpc
otlptrace
otlptracegrpc
OUTDIR
+overriden
owide
oyaml
pagelinks
@@ -498,6 +507,7 @@ providerref
providerresult
pyfunction
pygments
+pymdown
pyyaml
quickstart
rangespec
@@ -513,12 +523,15 @@ replicasets
replicationcontrollers
resourcereference
Rexed
+rgb
rgba
RLock
Roboto
rolebinding
rollme
roundtripper
+rst
+rtd
runhelloworld
RUnlock
runsendevent
@@ -565,7 +578,9 @@ statefultest
stdouttrace
storageclasses
storageversion
+striptags
sts
+stylesheet
subchart
subdir
subjectaccessreviews
diff --git a/.github/workflows/htmltest.yaml b/.github/workflows/htmltest.yaml
index a71dd099de..b984248ba8 100644
--- a/.github/workflows/htmltest.yaml
+++ b/.github/workflows/htmltest.yaml
@@ -7,12 +7,14 @@ on:
- '[0-9]+.[1-9][0-9]*.x'
paths:
- 'docs/**'
+ - 'docs-new/**'
pull_request:
branches:
- 'main'
- '[0-9]+.[1-9][0-9]*.x'
paths:
- 'docs/**'
+ - 'docs-new/**'
jobs:
htmltest:
diff --git a/.gitignore b/.gitignore
index 4935683401..6b3c3aa4f3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,6 @@
bin/
+site/
+.cache/
# Binaries for programs and plugins
*.exe
@@ -49,4 +51,4 @@ node_modules
readme-generator-for-helm/
/out.yaml
/test.yaml
-**helm_tests_output.yaml
\ No newline at end of file
+**helm_tests_output.yaml
diff --git a/docs-new/assets/higher-compliance.png b/docs-new/assets/higher-compliance.png
new file mode 100644
index 0000000000..e4656c7955
Binary files /dev/null and b/docs-new/assets/higher-compliance.png differ
diff --git a/docs-new/assets/javascripts/versions.js b/docs-new/assets/javascripts/versions.js
new file mode 100644
index 0000000000..faded9764d
--- /dev/null
+++ b/docs-new/assets/javascripts/versions.js
@@ -0,0 +1,24 @@
+// VERSION WARNINGS
+window.addEventListener("DOMContentLoaded", function() {
+ var rtdData = window['READTHEDOCS_DATA'] || { version: 'latest' };
+ var margin = 30;
+ var headerHeight = document.getElementsByClassName("md-header")[0].offsetHeight;
+ if (rtdData.version === "latest") {
+ document.querySelector("div[data-md-component=announce]").innerHTML = "
"
+ var bannerHeight = document.getElementById('announce-msg').offsetHeight + margin
+ document.querySelector("header.md-header").style.top = bannerHeight +"px";
+ document.querySelector('style').textContent +=
+ "@media screen and (min-width: 76.25em){ .md-sidebar { height: 0; top:"+ (bannerHeight+headerHeight)+"px !important; }}"
+ document.querySelector('style').textContent +=
+ "@media screen and (min-width: 60em){ .md-sidebar--secondary { height: 0; top:"+ (bannerHeight+headerHeight)+"px !important; }}"
+ }
+ else if (rtdData.version !== "stable") {
+ document.querySelector("div[data-md-component=announce]").innerHTML = ""
+ var bannerHeight = document.getElementById('announce-msg').offsetHeight + margin
+ document.querySelector("header.md-header").style.top = bannerHeight +"px";
+ document.querySelector('style').textContent +=
+ "@media screen and (min-width: 76.25em){ .md-sidebar { height: 0; top:"+ (bannerHeight+headerHeight)+"px !important; }}"
+ document.querySelector('style').textContent +=
+ "@media screen and (min-width: 60em){ .md-sidebar--secondary { height: 0; top:"+ (bannerHeight+headerHeight)+"px !important; }}"
+ }
+});
diff --git a/docs-new/assets/keptn-icon-white.svg b/docs-new/assets/keptn-icon-white.svg
new file mode 100644
index 0000000000..109820cfea
--- /dev/null
+++ b/docs-new/assets/keptn-icon-white.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/docs-new/assets/stylesheets/home.css b/docs-new/assets/stylesheets/home.css
new file mode 100644
index 0000000000..ff83038cc1
--- /dev/null
+++ b/docs-new/assets/stylesheets/home.css
@@ -0,0 +1,210 @@
+.md-main {
+ flex-grow: 0
+}
+
+.md-main__inner {
+ display: flex;
+ height: 100%;
+}
+
+.tx-container {
+ padding-top: .0rem;
+ background: linear-gradient(to bottom, var(--md-primary-fg-color), var(--md-accent-fg-color) 99%,#fff 99%)
+}
+
+.tx-hero {
+ margin: 32px 2.8rem;
+ color: var(--md-primary-bg-color);
+ justify-content: center;
+}
+
+.tx-hero h1 {
+ margin-bottom: 1rem;
+ color: currentColor;
+ font-weight: 700
+}
+
+.tx-hero__content {
+ padding-bottom: 1rem;
+ margin: 0 auto;
+}
+
+.tx-hero__image{
+ width:17rem;
+ height:17rem;
+ order:1;
+ padding-right: 2.5rem;
+}
+
+.tx-hero .md-button {
+ margin-top: .5rem;
+ margin-right: .5rem;
+ color: var(--md-primary-bg-color)
+}
+
+.tx-hero .md-button--primary {
+ background-color: var(--md-primary-bg-color);
+ color: hsla(280deg, 37%, 48%, 1);
+ border-color: var(--md-primary-bg-color)
+}
+
+.tx-hero .md-button:focus,
+.tx-hero .md-button:hover {
+ background-color: var(--md-accent-fg-color);
+ color: var(--md-default-bg-color);
+ border-color: var(--md-accent-fg-color)
+}
+
+.feature-item h2 svg {
+ height: 30px;
+ float: left;
+ margin-right: 10px;
+ transform: translateY(10%);
+}
+
+.top-hr {
+ margin-top: 42px;
+}
+
+.feature-item {
+ font-family: 'Lato', sans-serif;
+ font-weight: 300;
+ box-sizing: border-box;
+ padding: 0 15px;
+ word-break: break-word
+}
+
+.feature-item h2 {
+ color: #333;
+ font-weight: 300;
+ font-size: 25px;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ line-height: normal;
+ margin-top: 20px;
+ margin-bottom: 10px;
+ font-family: inherit;
+}
+
+.feature-item p {
+ font-size: 16px;
+ line-height: 1.8em;
+ text-rendering: optimizeLegibility;
+ -webkit-font-smoothing: antialiased;
+ color: #111;
+ margin: 0 0 10px;
+ display: block;
+}
+
+@media screen and (max-width:30em) {
+ .tx-hero h1 {
+ font-size: 1.4rem
+ }
+}
+
+@media screen and (min-width:60em) {
+ .md-sidebar--secondary {
+ display: none
+ }
+
+ .tx-hero {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ }
+
+ .tx-hero__content {
+ max-width: 22rem;
+ margin-top: 3.5rem;
+ margin-bottom: 3.5rem;
+ margin-left: 1.0rem;
+ margin-right: 4.0rem;
+ align-items: center;
+ }
+}
+
+@media screen and (min-width:76.25em) {
+ .md-sidebar--primary {
+ display: none
+ }
+
+ .top-hr {
+ width: 100%;
+ display: flex;
+ max-width: 61rem;
+ margin-right: auto;
+ margin-left: auto;
+ padding: 0 .2rem;
+ }
+
+ .bottom-hr {
+ margin-top: 10px;
+ width: 100%;
+ display: flex;
+ max-width: 61rem;
+ margin-right: auto;
+ margin-left: auto;
+ padding: 0 .2rem;
+ }
+
+ .feature-item {
+ flex: 1;
+ min-width: 0;
+ }
+
+ .feature-item:hover {
+ background-color: #526cfe47;
+ border-radius: 3px;
+ }
+}
+
+.hr {
+ border-bottom: 1px solid #eee;
+ width: 100%;
+ margin: 20px 0;
+}
+
+.text-center {
+ text-align: center;
+ padding-right: 15px;
+ padding-left: 15px;
+ margin-right: auto;
+ margin-left: auto;
+ margin-top: 15px;
+ font-family: 'Lato', sans-serif;
+ font-size: 23px;
+ font-weight: 300;
+ padding-bottom: 10px;
+}
+
+.logos {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ flex-flow: row wrap;
+ margin: 0 auto;
+}
+
+.logos img {
+ flex: 1 1 auto;
+ padding: 25px;
+ max-height: 130px;
+ vertical-align: middle;
+}
+
+.hr-logos {
+ margin-top: 0;
+ margin-bottom: 30px;
+}
+
+.md-footer-meta__inner {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: space-between;
+ margin-top: 1.0rem;
+}
+
+.md-footer-social {
+ padding-top: 20px;
+}
diff --git a/docs-new/assets/stylesheets/versions.css b/docs-new/assets/stylesheets/versions.css
new file mode 100644
index 0000000000..1044d61978
--- /dev/null
+++ b/docs-new/assets/stylesheets/versions.css
@@ -0,0 +1,177 @@
+.md-header__title {
+ display: flex;
+}
+
+.dropdown-caret {
+ display: inline-block !important;
+ position: absolute;
+ right: 4px;
+}
+
+.fa .fa-caret-down {
+ display: block !important;
+}
+
+.rst-other-versions {
+ text-align: right;
+ background-color: var(--md-primary-fg-color--dark);
+ position: fixed;
+}
+
+.rst-other-versions > dl, .rst-other-versions dt, .rst-other-versions small {
+ display: none;
+}
+
+.rst-other-versions > dl:first-child {
+ display: flex !important;
+ flex-direction: column;
+ line-height: 0px !important;
+}
+
+.rst-versions.shift-up .rst-other-versions {
+ display: flex !important;
+}
+
+.rst-versions .rst-other-versions {
+ display: none;
+}
+
+/* Version Warning */
+div[data-md-component=announce] {
+ background-color: rgb(248, 243, 236);
+ position: sticky;
+ top: 0;
+ z-index: 2;
+}
+div[data-md-component=announce]>div#announce-msg{
+ color: var(--md-code-hl-number-color);
+ font-size: .8rem;
+ text-align: center;
+ margin: 15px;
+}
+div[data-md-component=announce]>div#announce-msg>a{
+ color: var(--md-typeset-a-color);
+ text-decoration: underline;
+}
+
+/* from https://assets.readthedocs.org/static/css/badge_only.css,
+most styles have to be overriden here */
+.rst-versions{
+ position: relative !important;
+ bottom: 0;
+ left: 0;
+ width: 100px !important;
+ background: var(--md-primary-fg-color--dark) !important;
+ font-family: inherit !important;
+ z-index: 0 !important;
+}
+.rst-versions a{
+ /*color:#2980B9;*/
+ text-decoration:none
+}
+.rst-versions .rst-badge-small{
+ display:none
+}
+.rst-versions .rst-current-version{
+ padding:12px;
+ background: var(--md-primary-fg-color--dark) !important;
+ display:block;
+ text-align:right;
+ font-size:90%;
+ cursor:pointer;
+ color: white !important;
+ *zoom:1
+}
+.rst-versions .rst-current-version:before,.rst-versions .rst-current-version:after{
+ display:table;content:""
+}
+.rst-versions .rst-current-version:after{
+ clear:both
+}
+.rst-versions .rst-current-version .fa{
+ color:#fcfcfc
+}
+/*.rst-versions .rst-current-version .fa-caret-down{*/
+/* display: none;*/
+/*}*/
+.rst-versions.shift-up .rst-other-versions{
+ display:block
+}
+.rst-versions .rst-other-versions{
+ font-size:90%;
+ padding:12px;
+ /*color:gray;*/
+ display:none
+}
+.rst-versions .rst-other-versions hr{
+ display: none !important;
+ height: 0px !important;
+ border: 0px;
+ margin: 0px !important;
+ padding: 0px;
+ border-top: none !important;
+}
+.rst-versions .rst-other-versions dd{
+ display:inline-block;
+ margin:0
+}
+.rst-versions .rst-other-versions dd a{
+ display:inline-block;
+ padding: 1em 0em !important;
+ color:#fcfcfc;
+ font-size: .6rem !important;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ width: 80px;
+}
+.rst-versions .rst-other-versions dd a:hover{
+ font-size: .7rem !important;
+ font-weight: bold;
+}
+.rst-versions.rst-badge{
+ display: block !important;
+ width: 100px !important;
+ bottom: 0px !important;
+ right: 0px !important;
+ left:auto;
+ border:none;
+ text-align: center !important;
+ line-height: 0;
+}
+.rst-versions.rst-badge .icon-book{
+ display: none;
+}
+.rst-versions.rst-badge .fa-book{
+ display: none !important;
+}
+.rst-versions.rst-badge.shift-up .rst-current-version{
+ text-align: left !important;
+}
+.rst-versions.rst-badge.shift-up .rst-current-version .fa-book{
+ display: none !important;
+}
+.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{
+ display: none !important;
+}
+.rst-versions.rst-badge .rst-current-version{
+ width: 70px !important;
+ height: 2.4rem !important;
+ line-height:2.4rem !important;
+ padding: 0px 5px !important;
+ display: inline-block !important;
+ font-size: .6rem !important;
+ overflow: hidden !important;
+ text-overflow: ellipsis !important;
+ white-space: nowrap !important;
+ text-align: left !important;
+}
+@media screen and (max-width: 768px){
+ .rst-versions{
+ width:85%;
+ display:none
+ }
+ .rst-versions.shift{
+ display:block
+ }
+}
diff --git a/docs-new/docs/index.md b/docs-new/docs/index.md
new file mode 100644
index 0000000000..97915d0993
--- /dev/null
+++ b/docs-new/docs/index.md
@@ -0,0 +1,3 @@
+# Keptn Documentation
+
+This is the documentation homepage.
diff --git a/docs-new/index.md b/docs-new/index.md
new file mode 100644
index 0000000000..6399c1c311
--- /dev/null
+++ b/docs-new/index.md
@@ -0,0 +1,8 @@
+---
+template: home.html
+social:
+ cards_layout_options:
+ title: Keptn - Supercharge your Deployments
+---
+
+Keptn - Supercharge your Deployments
diff --git a/docs-new/overrides/home.html b/docs-new/overrides/home.html
new file mode 100644
index 0000000000..21c67c1a6f
--- /dev/null
+++ b/docs-new/overrides/home.html
@@ -0,0 +1,67 @@
+
+
+{% extends "main.html" %}
+{% block styles %}
+{{ super() }}
+
+{% endblock %}
+
+{% block tabs %}
+{{ super() }}
+
+
+
+
+
+
+
+
+ Deployment Observability
+
+
Make ANY Kubernetes Deployment observable
+
+
+
+ Gather metrics from anywhere
+
+
Standardize access for all Observability Data for K8s
+
+
+
+
+ Orchestrate Deployment Checks
+
+
Gain confidence in your work with pre-/post-deployment checks
+
+
+
+
+
+
+{% endblock %}
+{% block content %}{% endblock %}
+{% block footer %}{% endblock %}
diff --git a/docs-new/overrides/main.html b/docs-new/overrides/main.html
new file mode 100644
index 0000000000..c6338d0124
--- /dev/null
+++ b/docs-new/overrides/main.html
@@ -0,0 +1,29 @@
+
+{% extends "base.html" %}
+
+
+{% block footer %}
+
+{% endblock %}
diff --git a/mkdocs.yml b/mkdocs.yml
new file mode 100644
index 0000000000..3913343be9
--- /dev/null
+++ b/mkdocs.yml
@@ -0,0 +1,65 @@
+site_name: Keptn - Supercharge Your Deployments
+theme:
+ name: material
+ custom_dir: docs-new/overrides
+ palette:
+ # Palette toggle for light mode
+ - scheme: default
+ media: "(prefers-color-scheme: light)"
+ toggle:
+ icon: material/brightness-7
+ name: Switch to dark mode
+
+ # Palette toggle for dark mode
+ - scheme: slate
+ media: "(prefers-color-scheme: dark)"
+ toggle:
+ icon: material/brightness-4
+ name: Switch to light mode
+ logo: assets/keptn-icon-white.svg
+ favicon: https://lifecycle.keptn.sh/images/logo-mobile.svg
+ features:
+ - navigation.tabs
+ - navigation.tracking
+ - navigation.indexes
+ - navigation.top
+ - search.suggest
+ - search.highlight
+ - content.action.edit
+ - content.action.view
+repo_name: keptn/lifecycle-toolkit
+repo_url: https://github.com/keptn/lifecycle-toolkit
+site_url: https://lifecycle.keptn.sh
+edit_uri: edit/main/docs-new/
+docs_dir: docs-new
+site_description: >-
+ Achieve cloud-native application lifecycle orchestration with Keptn.
+ Enhance Kubernetes monitoring, streamline metrics ingestion, and
+ automate deployment validation. Join the Keptn community for insights.
+extra:
+ social:
+ - icon: fontawesome/solid/house
+ link: https://keptn.sh
+ - icon: fontawesome/brands/twitter
+ link: https://twitter.com/keptnProject
+ - icon: fontawesome/brands/linkedin
+ link: https://www.linkedin.com/company/keptnproject
+ - icon: fontawesome/brands/github-alt
+ link: https://github.com/keptn
+ - icon: fontawesome/brands/slack
+ link: https://cloud-native.slack.com/archives/C017GAX90GM
+extra_javascript:
+ - assets/javascripts/versions.js
+extra_css:
+ - assets/stylesheets/versions.css
+plugins:
+ - social
+ - include-markdown:
+ trailing_newlines: false
+ - git-revision-date-localized
+
+nav:
+ - Home:
+ - index.md
+ - Documentation:
+ - docs/index.md
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000000..9882588956
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,7 @@
+mkdocs==1.5.3
+mkdocs-git-revision-date-localized-plugin==1.2.1
+mkdocs-include-markdown-plugin==6.0.4
+mkdocs-material==9.4.8
+mkdocs-material-extensions==1.3
+pymdown-extensions==10.4
+mkdocs-material[imaging]==9.4.8