diff --git a/site/tutorials/assets/bridge-unleash-remediation-keptn083.png b/site/tutorials/assets/bridge-unleash-remediation-keptn083.png new file mode 100644 index 00000000..227a126d Binary files /dev/null and b/site/tutorials/assets/bridge-unleash-remediation-keptn083.png differ diff --git a/site/tutorials/assets/dt_apiv1_token.png b/site/tutorials/assets/dt_apiv1_token.png new file mode 100644 index 00000000..1c1ed843 Binary files /dev/null and b/site/tutorials/assets/dt_apiv1_token.png differ diff --git a/site/tutorials/assets/dt_apiv2_token.png b/site/tutorials/assets/dt_apiv2_token.png new file mode 100644 index 00000000..09f8cd6e Binary files /dev/null and b/site/tutorials/assets/dt_apiv2_token.png differ diff --git a/site/tutorials/snippets/08/install/configureIstio.md b/site/tutorials/snippets/08/install/configureIstio.md index c4b95865..960b0dd0 100644 --- a/site/tutorials/snippets/08/install/configureIstio.md +++ b/site/tutorials/snippets/08/install/configureIstio.md @@ -6,7 +6,7 @@ The first step for our configuration automation for Istio is downloading the con ``` -curl -o configure-istio.sh https://raw.githubusercontent.com/keptn/examples/release-0.8.0/istio-configuration/configure-istio.sh +curl -o configure-istio.sh https://raw.githubusercontent.com/keptn/examples/release-0.8.3/istio-configuration/configure-istio.sh ``` After that you need to make the file executable using the `chmod` command. diff --git a/site/tutorials/snippets/08/install/download-keptnCLI.md b/site/tutorials/snippets/08/install/download-keptnCLI.md index a4467bea..7a30fe47 100644 --- a/site/tutorials/snippets/08/install/download-keptnCLI.md +++ b/site/tutorials/snippets/08/install/download-keptnCLI.md @@ -11,7 +11,7 @@ There are multiple options how to get the Keptn CLI on your machine. ``` - curl -sL https://get.keptn.sh | KEPTN_VERSION=0.8.2 bash + curl -sL https://get.keptn.sh | KEPTN_VERSION=0.8.3 bash ``` This will download and install the Keptn CLI in the specified version automatically. @@ -22,9 +22,9 @@ There are multiple options how to get the Keptn CLI on your machine. ``` - Another option is to manually download the current release of the Keptn CLI: - 1. Download the version for your operating system and architecture from [Download CLI](https://github.com/keptn/keptn/releases/tag/0.8.2) + 1. Download the version for your operating system and architecture from [Download CLI](https://github.com/keptn/keptn/releases/tag/0.8.3) 2. Unpack the download - 3. Find the `keptn` binary (e.g., `keptn-0.8.2-amd64.exe`) in the unpacked directory and rename it to `keptn` + 3. Find the `keptn` binary (e.g., `keptn-0.8.3-amd64.exe`) in the unpacked directory and rename it to `keptn` - *Linux / macOS*: Add executable permissions (``chmod +x keptn``), and move it to the desired destination (e.g. `mv keptn /usr/local/bin/keptn`) - *Windows*: Copy the executable to the desired folder and add the executable to your PATH environment variable. diff --git a/site/tutorials/snippets/08/manage/createProject-crc.md b/site/tutorials/snippets/08/manage/createProject-crc.md index fb3d8b1d..47409f42 100644 --- a/site/tutorials/snippets/08/manage/createProject-crc.md +++ b/site/tutorials/snippets/08/manage/createProject-crc.md @@ -9,7 +9,7 @@ To get all files you need for this tutorial, please clone the example repo to yo ``` -git clone --branch release-0.8.0 https://github.com/keptn/examples.git --single-branch +git clone --branch release-0.8.3 https://github.com/keptn/examples.git --single-branch cd examples/onboarding-carts ``` @@ -131,6 +131,21 @@ spec: properties: deploymentstrategy: "direct" - name: "release" + + - name: "remediation" + triggeredOn: + - event: "production.remediation.finished" + selector: + match: + evaluation.result: "fail" + tasks: + - name: "get-action" + - name: "action" + - name: "evaluation" + triggeredAfter: "15m" + properties: + timeframe: "15m" + ``` This shipyard contains three stages: dev, staging, and production. This results in the three Kubernetes namespaces: sockshop-dev, sockshop-staging, and sockshop-production. diff --git a/site/tutorials/snippets/08/manage/createProject.md b/site/tutorials/snippets/08/manage/createProject.md index 32783289..802a0548 100644 --- a/site/tutorials/snippets/08/manage/createProject.md +++ b/site/tutorials/snippets/08/manage/createProject.md @@ -9,7 +9,7 @@ To get all files you need for this tutorial, please clone the example repo to yo ``` -git clone --branch release-0.8.0 https://github.com/keptn/examples.git --single-branch +git clone --branch release-0.8.3 https://github.com/keptn/examples.git --single-branch cd examples/onboarding-carts ``` @@ -129,6 +129,21 @@ spec: properties: deploymentstrategy: "direct" - name: "release" + + - name: "remediation" + triggeredOn: + - event: "production.remediation.finished" + selector: + match: + evaluation.result: "fail" + tasks: + - name: "get-action" + - name: "action" + - name: "evaluation" + triggeredAfter: "15m" + properties: + timeframe: "15m" + ``` diff --git a/site/tutorials/snippets/08/manage/simplenode/createProject.md b/site/tutorials/snippets/08/manage/simplenode/createProject.md index f7bfc0cb..a19ead2b 100644 --- a/site/tutorials/snippets/08/manage/simplenode/createProject.md +++ b/site/tutorials/snippets/08/manage/simplenode/createProject.md @@ -5,7 +5,7 @@ A project in Keptn is the logical unit that can hold multiple (micro)services. T To get all files you need for this tutorial, please clone the example repo to your local machine. ``` -git clone --branch release-0.8.0 https://github.com/keptn/examples.git --single-branch +git clone --branch release-0.8.3 https://github.com/keptn/examples.git --single-branch cd examples/simplenodeservice ``` diff --git a/site/tutorials/snippets/08/manage/simplenode/createProjectQualityStageOnly.md b/site/tutorials/snippets/08/manage/simplenode/createProjectQualityStageOnly.md index c9485c9e..78c19ea4 100644 --- a/site/tutorials/snippets/08/manage/simplenode/createProjectQualityStageOnly.md +++ b/site/tutorials/snippets/08/manage/simplenode/createProjectQualityStageOnly.md @@ -5,7 +5,7 @@ A project in Keptn is the logical unit that can hold multiple (micro)services. T To get all files you need for this tutorial, please clone the example repo to your local machine. ``` -git clone --branch release-0.8.0 https://github.com/keptn/examples.git --single-branch +git clone --branch release-0.8.3 https://github.com/keptn/examples.git --single-branch cd examples/simplenodeservicequality-gate-only ``` diff --git a/site/tutorials/snippets/08/monitoring/install-sli-provider-dynatrace.md b/site/tutorials/snippets/08/monitoring/install-sli-provider-dynatrace.md index dbd4050e..fd2f16c4 100644 --- a/site/tutorials/snippets/08/monitoring/install-sli-provider-dynatrace.md +++ b/site/tutorials/snippets/08/monitoring/install-sli-provider-dynatrace.md @@ -5,7 +5,7 @@ During the evaluation of a quality gate, the Dynatrace SLI provider is required ``` -kubectl apply -f https://raw.githubusercontent.com/keptn-contrib/dynatrace-sli-service/release-0.8.0/deploy/service.yaml -n keptn +kubectl apply -f https://raw.githubusercontent.com/keptn-contrib/dynatrace-sli-service/release-0.10.3/deploy/service.yaml -n keptn ``` Next we are going to add an SLI configuration file for Keptn to know how to retrieve the data. diff --git a/site/tutorials/snippets/08/monitoring/setupDynatrace-crc.md b/site/tutorials/snippets/08/monitoring/setupDynatrace-crc.md index 364404f2..77250ab6 100644 --- a/site/tutorials/snippets/08/monitoring/setupDynatrace-crc.md +++ b/site/tutorials/snippets/08/monitoring/setupDynatrace-crc.md @@ -27,7 +27,8 @@ Duration: 6:00 Take a look at this screenshot to double check the right token permissions for you. - ![Dynatrace API Token](./assets/dt_api_token.png) + ![Dynatrace API V1 Token](./assets/dt_apiv1_token.png) + ![Dynatrace API V2 Token](./assets/dt_apiv2_token.png) 1. Create a Dynatrace PaaS Token @@ -108,7 +109,7 @@ Duration: 5:00 ``` - kubectl apply -f https://raw.githubusercontent.com/keptn-contrib/dynatrace-service/release-0.11.0/deploy/service.yaml + kubectl apply -f https://raw.githubusercontent.com/keptn-contrib/dynatrace-service/release-0.14.0/deploy/service.yaml ``` 1. When the service is deployed, use the following command to install Dynatrace on your cluster. If Dynatrace is already deployed, the current deployment of Dynatrace will not be modified. diff --git a/site/tutorials/snippets/08/monitoring/setupDynatrace.md b/site/tutorials/snippets/08/monitoring/setupDynatrace.md index 3a98ce1d..03163fa7 100644 --- a/site/tutorials/snippets/08/monitoring/setupDynatrace.md +++ b/site/tutorials/snippets/08/monitoring/setupDynatrace.md @@ -27,7 +27,8 @@ Duration: 6:00 Take a look at this screenshot to double check the right token permissions for you. - ![Dynatrace API Token](./assets/dt_api_token.png) + ![Dynatrace API V1 Token](./assets/dt_apiv1_token.png) + ![Dynatrace API V2 Token](./assets/dt_apiv2_token.png) 1. Create a Dynatrace PaaS Token @@ -113,7 +114,7 @@ Duration: 5:00 ``` - kubectl apply -f https://raw.githubusercontent.com/keptn-contrib/dynatrace-service/release-0.11.0/deploy/service.yaml -n keptn + kubectl apply -f https://raw.githubusercontent.com/keptn-contrib/dynatrace-service/release-0.14.0/deploy/service.yaml -n keptn ``` 1. When the service is deployed, use the following command to install Dynatrace on your cluster. If Dynatrace is already deployed, the current deployment of Dynatrace will not be modified. diff --git a/site/tutorials/snippets/08/monitoring/simplenode/setupDynatraceSLIProvider.md b/site/tutorials/snippets/08/monitoring/simplenode/setupDynatraceSLIProvider.md index da10349a..bda14092 100644 --- a/site/tutorials/snippets/08/monitoring/simplenode/setupDynatraceSLIProvider.md +++ b/site/tutorials/snippets/08/monitoring/simplenode/setupDynatraceSLIProvider.md @@ -4,7 +4,7 @@ Duration: 2:00 During the evaluation of a quality gate, the Dynatrace SLI provider is required that is implemented by an internal Keptn service, the dynatrace-sli-service. This service will fetch the values for the SLIs that are referenced in an SLO configuration. ``` -kubectl apply -f https://raw.githubusercontent.com/keptn-contrib/dynatrace-sli-service/release-0.8.0/deploy/service.yaml +kubectl apply -f https://raw.githubusercontent.com/keptn-contrib/dynatrace-sli-service/release-0.10.3/deploy/service.yaml ``` Configure the already onboarded project with the new SLI provider: @@ -14,4 +14,4 @@ keptn configure monitoring dynatrace --project=simplenodeproject ``` Positive -: Since we already installed the Dynatrace service, the SLI provider can fetch the credentials to connect to Dynatrace from the same secret we created earlier. \ No newline at end of file +: Since we already installed the Dynatrace service, the SLI provider can fetch the credentials to connect to Dynatrace from the same secret we created earlier. diff --git a/site/tutorials/snippets/08/monitoring/simplenode/setupDynatraceSLIProviderQualityStageOnly.md b/site/tutorials/snippets/08/monitoring/simplenode/setupDynatraceSLIProviderQualityStageOnly.md index 5733555a..b54ce939 100644 --- a/site/tutorials/snippets/08/monitoring/simplenode/setupDynatraceSLIProviderQualityStageOnly.md +++ b/site/tutorials/snippets/08/monitoring/simplenode/setupDynatraceSLIProviderQualityStageOnly.md @@ -4,7 +4,7 @@ Duration: 2:00 During the evaluation of a quality gate, the Dynatrace SLI provider is required that is implemented by an internal Keptn service, the dynatrace-sli-service. This service will fetch the values for the SLIs that are referenced in an SLO configuration. ``` -kubectl apply -f https://raw.githubusercontent.com/keptn-contrib/dynatrace-sli-service/release-0.8.0/deploy/service.yaml -n keptn +kubectl apply -f https://raw.githubusercontent.com/keptn-contrib/dynatrace-sli-service/release-0.10.3/deploy/service.yaml -n keptn ``` Configure the already onboarded project with the new SLI provider: @@ -14,4 +14,4 @@ keptn configure monitoring dynatrace --project=qgproject ``` Positive -: Since we already installed the Dynatrace service, the SLI provider can fetch the credentials to connect to Dynatrace from the same secret we created earlier. \ No newline at end of file +: Since we already installed the Dynatrace service, the SLI provider can fetch the credentials to connect to Dynatrace from the same secret we created earlier. diff --git a/site/tutorials/snippets/08/self-healing/featureFlagsDynatrace-crc.md b/site/tutorials/snippets/08/self-healing/featureFlagsDynatrace-crc.md index 2c75ac8e..e1f4ddb7 100644 --- a/site/tutorials/snippets/08/self-healing/featureFlagsDynatrace-crc.md +++ b/site/tutorials/snippets/08/self-healing/featureFlagsDynatrace-crc.md @@ -131,7 +131,7 @@ As said, in this tutorial we can use the following command as it is: ``` - kubectl apply -f https://raw.githubusercontent.com/keptn-contrib/unleash-service/release-0.3.0/deploy/service.yaml + kubectl apply -f https://raw.githubusercontent.com/keptn-contrib/unleash-service/release-0.3.1/deploy/service.yaml ``` 1. Switch to the carts example (`cd examples/onboarding-carts`) and add the following remediation instructions @@ -173,7 +173,7 @@ As said, in this tutorial we can use the following command as it is: 1. We are also going to add an SLO file so that Keptn can evaluate if the remediation action was successful. ``` - keptn add-resource --project=sockshop --stage=production --service=carts --resource=slo-self-healing.yaml --resourceUri=slo.yaml + keptn add-resource --project=sockshop --stage=production --service=carts --resource=slo-self-healing-dynatrace.yaml --resourceUri=slo.yaml ``` 1. Start the load generation script for this use case: @@ -210,11 +210,11 @@ Duration: 5:00 1. Finally, take a look into the Keptn's Bridge to see that an open problem has been resolved. You might notice that also the other stages like _dev_, and _staging_ received the error. The reason is that they all receive the same feature flag configuration and all receive traffic from the load generator. However, for _dev_ and _staging_ there is no `remediation.yaml` added and thus, no remediation will be performed if problems in this stages are detected. If you want to change this behaviour, go ahead and also add the `remediation.yaml` file to the other stages by executing another `keptn add-resource` command. For this tutorial, we are fine by only having self-healing for our production stage! - ![bridge unleash](./assets/bridge-unleash-remediation.png) + ![bridge unleash](./assets/bridge-unleash-remediation-keptn083.png) 1. 10 minutes after Keptn disables the feature flag, Keptn will also trigger another evaluation to make sure the trigger remediation action did actually resolve the problem. In case the problem is not resolved and the remediation file would hold more remediation actions, Keptn would go ahead and trigger them. For our tutorial Keptn has resolved the issue already, so no need for a second try! \ No newline at end of file +--> diff --git a/site/tutorials/snippets/08/self-healing/featureFlagsDynatrace.md b/site/tutorials/snippets/08/self-healing/featureFlagsDynatrace.md index 2028bf10..7ead0408 100644 --- a/site/tutorials/snippets/08/self-healing/featureFlagsDynatrace.md +++ b/site/tutorials/snippets/08/self-healing/featureFlagsDynatrace.md @@ -136,7 +136,7 @@ As said, in this tutorial we can use the following command as it is: ``` - kubectl apply -f https://raw.githubusercontent.com/keptn-contrib/unleash-service/release-0.3.0/deploy/service.yaml -n keptn + kubectl apply -f https://raw.githubusercontent.com/keptn-contrib/unleash-service/release-0.3.1/deploy/service.yaml -n keptn ``` 1. Switch to the carts example (`cd examples/onboarding-carts`) and add the following remediation instructions @@ -178,7 +178,7 @@ As said, in this tutorial we can use the following command as it is: 1. We are also going to add an SLO file so that Keptn can evaluate if the remediation action was successful. ``` - keptn add-resource --project=sockshop --stage=production --service=carts --resource=slo-self-healing.yaml --resourceUri=slo.yaml + keptn add-resource --project=sockshop --stage=production --service=carts --resource=slo-self-healing-dynatrace.yaml --resourceUri=slo.yaml ``` 1. Start the load generation script for this use case: @@ -214,11 +214,11 @@ Duration: 5:00 1. Finally, take a look into the Keptn's Bridge to see that an open problem has been resolved. You might notice that also the other stages like _dev_, and _staging_ received the error. The reason is that they all receive the same feature flag configuration and all receive traffic from the load generator. However, for _dev_ and _staging_ there is no `remediation.yaml` added and thus, no remediation will be performed if problems in this stages are detected. If you want to change this behaviour, go ahead and also add the `remediation.yaml` file to the other stages by executing another `keptn add-resource` command. For this tutorial, we are fine by only having self-healing for our production stage! - ![bridge unleash](./assets/bridge-unleash-remediation.png) + ![bridge unleash](./assets/bridge-unleash-remediation-keptn083.png) 1. 10 minutes after Keptn disables the feature flag, Keptn will also trigger another evaluation to make sure the trigger remediation action did actually resolve the problem. In case the problem is not resolved and the remediation file would hold more remediation actions, Keptn would go ahead and trigger them. For our tutorial Keptn has resolved the issue already, so no need for a second try! \ No newline at end of file +--> diff --git a/site/tutorials/snippets/08/self-healing/upscalePrometheus.md b/site/tutorials/snippets/08/self-healing/upscalePrometheus.md index f1ecab5f..df90e8f8 100644 --- a/site/tutorials/snippets/08/self-healing/upscalePrometheus.md +++ b/site/tutorials/snippets/08/self-healing/upscalePrometheus.md @@ -18,7 +18,7 @@ Add the prepared SLO file for self-healing to the production stage using the Kep ``` -keptn add-resource --project=sockshop --stage=production --service=carts --resource=slo-self-healing.yaml --resourceUri=slo.yaml +keptn add-resource --project=sockshop --stage=production --service=carts --resource=slo-self-healing-prometheus.yaml --resourceUri=slo.yaml ``` Note: The SLO file contains an objective for response_time_p90. @@ -159,4 +159,4 @@ In this tutorial, the number of pods will be increased to remediate the issue of 1. Also, the Prometheus Alert Manager will show zero active alerts. - ![prometheus](./assets/prometheus-alerts-zero.png) \ No newline at end of file + ![prometheus](./assets/prometheus-alerts-zero.png)