keptn
This currated role can be used to install Keptn on a Kubernetes cluster.
For the details, please check this link: https://keptn.sh/
Using the role
Role Requirements
This role depends on the following roles to be deployed beforehand:
- include_role:
name: microk8s
Deploying Keptn
The main task deploys Keptn on a Kubernetes cluster. It is recommended to add a condition whether cloud_automation_flavor is "KEPTN" as shown below.
This task:
- ensures Gitea is installed when we are using Keptn to have auto repository provisioning.
- installs Keptn-CLI on the ACE-Box.
- creates an ingress using Nginx Ingress Controller or a virtual service using Istio depending on your choice
- installs keptn-jmeter, keptn-dynatrace, keptn-helm, keptn-synthetic, keptn-test-collector, keptn-job-executor services when enabled in the role defaults.
- include_role:
name: keptn
when: cloud_automation_flavor is defined and cloud_automation_flavor == "KEPTN"
Variables that can be set are as follows:
---
keptn_version: "0.16.1"
keptn_dynatrace_service_version: "0.23.0"
keptn_namespace: "keptn"
keptn_ingress_domain: "cloudautomation.{{ ingress_domain }}"
keptn_cli_download_location: "/tmp/keptn"
keptn_look_and_feel_url: "https://d2ixiz0hn5ywb5.cloudfront.net/branding.zip" # uncomment to give keptn the cloud automation look and feel
keptn_gitea_provision_service_version: "0.1.1"
keptn_jmeter_service_enabled: true
keptn_helm_service_enabled: false
keptn_synthetic_service_enabled: false
keptn_test_collector_service_enabled: false
keptn_job_executor_service_enabled: false
keptn_job_executor_service_version: "0.2.3"
keptn_job_executor_service_namespace: "keptn-jes"
keptn_job_executor_service_subscriptions: "sh.keptn.event.remote-task.triggered"
Other Tasks in the Role
"source-secret"
This task fetches the credentials for Keptn and sources the following variables:
keptn_api_token
keptn_bridge_user
keptn_bridge_password
- include_role:
name: keptn
tasks_from: source-secret
"source-endpoints"
This task fetches endpoint details and sources the following variables:
Note: these endpoints differ depending on ingress class is whether "istio" or "non-istio".
keptn_ingress_domain
: The Keptn domain name (e.g.: keptn.myaceboxdomain.com)keptn_endpoint
: The externally available endpoint for Keptn in the format of [protocol]://keptn-domain/api (e.g.: http://keptn.myaceboxdomain.com/api)keptn_bridge
: The user interface of Keptn that presents all projects and services managed by Keptn in the format of [protocol]://keptn-domain/bridge (e.g.: http://keptn.myaceboxdomain.com/bridge)keptn_internal_endpoint
: The internal endpoint for keptn in the format of [http://keptn-service-ip:80/api]. You can leverage this endpoint to reach Keptn without having to go via the outside-in
- include_role:
name: keptn
tasks_from: source-endpoints
Keptn Services Tasks
"dynatrace-service"
This task deploys Keptn Dynatrace service. For details: https://github.com/keptn-contrib/dynatrace-service
- include_role:
name: keptn
tasks_from: dynatrace-service
"gitea-provisioner-service"
This task deploys Keptn Gitea Provisioner service. For details: https://github.com/keptn-sandbox/keptn-gitea-provisioner-service
- include_role:
name: keptn
tasks_from: gitea-provisioner-service
"helm-service"
This task deploys Keptn Helm service. For details: https://github.com/keptn-contrib/helm-service/
- include_role:
name: keptn
tasks_from: helm-service
"jmeter-service"
This task deploys Keptn JMeter service. For details: https://github.com/keptn-contrib/jmeter-service/
- include_role:
name: keptn
tasks_from: jmeter-service
"synthetic-service"
This task deploys Dynatrace Synthetic service to trigger Dynatrace Synthetic executions as part of a Keptn sequence. For details: https://github.com/dynatrace-ace/dynatrace-synthetic-service
- include_role:
name: keptn
tasks_from: synthetic-service
"collector-service"
This task deploys Keptn Test Collector service to collect timestamps, synthetic test metadata, etc. from different Keptn contexts. For details: https://github.com/dynatrace-ace/keptn-test-collector-service
- include_role:
name: keptn
tasks_from: collector-service
"job-executor-service"
This task deploys Job Executor service. For details: https://github.com/keptn-contrib/job-executor-service
- include_role:
name: keptn
tasks_from: job-executor-service