From 6df956e6951975d5e53e98eff814c92d3cba2830 Mon Sep 17 00:00:00 2001 From: ckm007 Date: Tue, 24 Sep 2024 17:32:14 +0530 Subject: [PATCH] [MOSIP-35816] added deployment scripts for signup service and ui Signed-off-by: ckm007 --- deploy/copy_cm_func.sh | 33 +++++++++ deploy/keycloak/keycloak-init-values.yaml | 15 ++++ deploy/keycloak/keycloak-init.sh | 44 +++++++++++ deploy/prereq.sh | 63 ++++++++++++++++ deploy/reporting/signup.ndjson | 3 + deploy/restart-all.sh | 35 +++++++++ deploy/signup-service/delete.sh | 31 ++++++++ deploy/signup-service/install.sh | 90 +++++++++++++++++++++++ deploy/signup-service/restart.sh | 24 ++++++ deploy/signup-service/values.yaml | 60 +++++++++++++++ deploy/signup-ui/delete.sh | 30 ++++++++ deploy/signup-ui/install.sh | 44 +++++++++++ deploy/signup-ui/restart.sh | 25 +++++++ deploy/signup-ui/values.yaml | 49 ++++++++++++ 14 files changed, 546 insertions(+) create mode 100755 deploy/copy_cm_func.sh create mode 100644 deploy/keycloak/keycloak-init-values.yaml create mode 100755 deploy/keycloak/keycloak-init.sh create mode 100755 deploy/prereq.sh create mode 100644 deploy/reporting/signup.ndjson create mode 100755 deploy/restart-all.sh create mode 100755 deploy/signup-service/delete.sh create mode 100755 deploy/signup-service/install.sh create mode 100755 deploy/signup-service/restart.sh create mode 100644 deploy/signup-service/values.yaml create mode 100755 deploy/signup-ui/delete.sh create mode 100755 deploy/signup-ui/install.sh create mode 100755 deploy/signup-ui/restart.sh create mode 100644 deploy/signup-ui/values.yaml diff --git a/deploy/copy_cm_func.sh b/deploy/copy_cm_func.sh new file mode 100755 index 00000000..7b225948 --- /dev/null +++ b/deploy/copy_cm_func.sh @@ -0,0 +1,33 @@ +#!/bin/sh +# Copy configmap and secret from one namespace to another. +# ./copy_cm_func.sh [name] +# Parameters: +# resource: configmap|secret +# name: Optional new name of the configmap or secret in destination namespace. This may be needed if there is +# clash of names + +if [ $1 = "configmap" ] +then + RESOURCE=configmap +elif [ $1 = "secret" ] +then + RESOURCE=secret +else + echo "Incorrect resource $1. Exiting.." + exit 1 +fi + + +if [ $# -ge 5 ] +then + kubectl -n $4 delete --ignore-not-found=true $RESOURCE $5 + kubectl -n $3 get $RESOURCE $2 -o yaml | sed "s/namespace: $3/namespace: $4/g" | sed "s/name: $2/name: $5/g" | kubectl -n $4 create -f - +else + kubectl -n $4 delete --ignore-not-found=true $RESOURCE $2 + kubectl -n $3 get $RESOURCE $2 -o yaml | sed "s/namespace: $3/namespace: $4/g" | kubectl -n $4 create -f - +fi + + + + + diff --git a/deploy/keycloak/keycloak-init-values.yaml b/deploy/keycloak/keycloak-init-values.yaml new file mode 100644 index 00000000..2e22f287 --- /dev/null +++ b/deploy/keycloak/keycloak-init-values.yaml @@ -0,0 +1,15 @@ +keycloak: + realms: + mosip: # realm + roles: + - AUTH + - ID_REPOSITORY + - REGISTRATION_ADMIN + clients: + - name: mosip-signup-client + mappers: [] + saroles: + - AUTH + - CREDENTIAL_REQUEST + - ID_REPOSITORY + - REGISTRATION_ADMIN diff --git a/deploy/keycloak/keycloak-init.sh b/deploy/keycloak/keycloak-init.sh new file mode 100755 index 00000000..8eb93e75 --- /dev/null +++ b/deploy/keycloak/keycloak-init.sh @@ -0,0 +1,44 @@ +#!/bin/sh +# Installs all esignet keycloak-init +## Usage: ./keycloak-init.sh [kubeconfig] + +if [ $# -ge 1 ] ; then + export KUBECONFIG=$1 +fi + +NS=signup +CHART_VERSION=0.0.1-develop +COPY_UTIL=../copy_cm_func.sh + +helm repo add mosip https://mosip.github.io/mosip-helm +helm repo update + +echo "checking if mosip-pms-client, mosip-ida-client & mpartner_default_auth client is created already" +IAMHOST_URL=$(kubectl -n esignet get cm esignet-global -o jsonpath={.data.mosip-iam-external-host}) +SIGNUP_CLIENT_SECRET_KEY='mosip_signup_client_secret' +SIGNUP_CLIENT_SECRET_VALUE=$(kubectl -n keycloak get secrets keycloak-client-secrets -o jsonpath={.data.$SIGNUP_CLIENT_SECRET_KEY} | base64 -d) +echo "Copying keycloak configmaps and secret" +$COPY_UTIL configmap keycloak-host keycloak $NS +$COPY_UTIL configmap keycloak-env-vars keycloak $NS +$COPY_UTIL secret keycloak keycloak $NS + +echo "creating and adding roles to keycloak pms & mpartner_default_auth clients for ESIGNET" +kubectl -n $NS delete secret --ignore-not-found=true keycloak-client-secrets +helm -n $NS delete signup-keycloak-init +helm -n $NS install signup-keycloak-init mosip/keycloak-init \ + -f keycloak-init-values.yaml \ + --set clientSecrets[0].name="$SIGNUP_CLIENT_SECRET_KEY" \ + --set clientSecrets[0].secret="$SIGNUP_CLIENT_SECRET_VALUE" \ + --version $CHART_VERSION --wait --wait-for-jobs + +SIGNUP_CLIENT_SECRET_VALUE=$(kubectl -n $NS get secrets keycloak-client-secrets -o jsonpath={.data.$SIGNUP_CLIENT_SECRET_KEY}) +# Check if the secret exists +if kubectl get secret keycloak-client-secrets -n keycloak >/dev/null 2>&1; then + echo "Secret 'keycloak-client-secrets' exists. Performing secret update..." + kubectl -n keycloak get secret keycloak-client-secrets -o json | + jq ".data[\"$SIGNUP_CLIENT_SECRET_KEY\"]=\"$SIGNUP_CLIENT_SECRET_VALUE\"" | + kubectl apply -f - +else + echo "Secret 'keycloak-client-secrets' does not exist. Copying the secret to the keycloak namespace." + $COPY_UTIL secret keycloak-client-secrets $NS keycloak +fi diff --git a/deploy/prereq.sh b/deploy/prereq.sh new file mode 100755 index 00000000..c69fe2a1 --- /dev/null +++ b/deploy/prereq.sh @@ -0,0 +1,63 @@ +#!/bin/bash + +# Installs signup services in correct order +## Usage: ./install-all.sh [kubeconfig] + +if [ $# -ge 1 ] ; then + export KUBECONFIG=$1 +fi + +ROOT_DIR=`pwd` +NS=signup + +echo "This script considers below mentioned points:" +echo "1. Keycloak is installed in keycloak namespace and already initialised once during esignet pre-requisites initialisation." +echo "2. Redis is installed and relevant secret and configmap is present in redis namespace as part of esignet pre-requisites installation." +echo "3. Kafka is installed in kafka namespace as part of esignet pre-requisites installation." + +function installing_prereq() { + helm repo add mosip https://mosip.github.io/mosip-helm + helm repo update + + echo Create $NS namespace + kubectl create ns $NS || true + + ./copy_cm_func.sh configmap esignet-global esignet $NS + echo "Sucessfully copied esignet-global configmap from esignet namespace to "$NS" " + + + ./copy_cm_func.sh configmap redis-config redis $NS + ./copy_cm_func.sh secret redis redis $NS + echo "Sucessfully copied configmaps and secrets required to connect to the redis server from redis namespace which is also shared with esignet" + + echo "Note: By default pointing to the Kafka installed in kafka namespace used by esignet service as well. In case want to change the same, deploy new kafka server and update in signup application properties." + + cd $ROOT_DIR/keycloak + ./keycloak-init.sh + + SIGNUP_HOST=$(kubectl -n esignet get cm esignet-global -o jsonpath={.data.mosip-signup-host}) + echo "Please enter the recaptcha admin site key for domain "$SIGNUP_HOST"" + read SSITE_KEY + echo Please enter the recaptcha admin secret key for domain $SIGNUP_HOST + read SSECRET_KEY + + echo Setting up captcha secrets + kubectl -n $NS create secret generic signup-captcha --from-literal=signup-captcha-site-key=$SSITE_KEY --from-literal=signup-captcha-secret-key=$SSECRET_KEY --dry-run=client -o yaml | kubectl apply -f - + + echo creating empty signup-keystore-password secret + kubectl -n $NS create secret generic signup-keystore-password --from-literal=signup-keystore-password='' --dry-run=client -o yaml | kubectl apply -f - + + echo creating empty signup-keystore secret + kubectl -n $NS create secret generic signupoidc --from-literal=oidckeystore.p12='' --dry-run=client -o yaml | kubectl apply -f - + + echo All signup services pre-requisites deployed sucessfully. + return 0 +} + +# set commands for error handling. +set -e +set -o errexit ## set -e : exit the script if any statement returns a non-true return value +set -o nounset ## set -u : exit the script if you try to use an uninitialised variable +set -o errtrace # trace ERR through 'time command' and other functions +set -o pipefail # trace ERR through pipes +installing_prereq # calling function diff --git a/deploy/reporting/signup.ndjson b/deploy/reporting/signup.ndjson new file mode 100644 index 00000000..b7f01667 --- /dev/null +++ b/deploy/reporting/signup.ndjson @@ -0,0 +1,3 @@ +{"attributes":{"fieldAttrs":"{\"Request_URI\":{\"count\":21},\"spanId\":{\"count\":1},\"statusCode\":{\"count\":4},\"bytesSent\":{\"count\":1},\"kubernetes.annotations.prometheus.io/port\":{\"count\":1},\"req.requestURI\":{\"count\":14},\"req.requestURL\":{\"count\":8},\"kubernetes.container_name\":{\"count\":13},\"timeTaken\":{\"count\":10},\"traceId\":{\"count\":5},\"@timestamp\":{\"count\":7},\"kubernetes.namespace_name.keyword\":{\"count\":1},\"appName\":{\"count\":2},\"level\":{\"count\":4},\"level_value\":{\"count\":6},\"logger_name\":{\"count\":6},\"message\":{\"count\":9},\"req.method\":{\"count\":1},\"time\":{\"count\":2},\"kubernetes.container_image\":{\"count\":1},\"kubernetes.pod_id\":{\"count\":4},\"kubernetes.pod_name\":{\"count\":2},\"log\":{\"count\":7},\"event.status.keyword\":{\"count\":1},\"kubernetes.namespace_name\":{\"count\":2},\"kubernetes.labels.security.istio.io/tlsMode\":{\"count\":1}}","fieldFormatMap":"{\"traceId\":{\"id\":\"url\",\"params\":{\"urlTemplate\":\"kibana#/discover/0efe9240-c521-11ec-92b4-4f5e54b3d2f7?_g=(filters:!(),refreshInterval:(pause:!t,value:10000),time:(from:now-15m,to:now))&_a=(columns:!(kubernetes.container_name,traceId,level,message),filters:!(('$state':(store:appState),meta:(alias:!n,disabled:!f,index:'1edfabd0-c3d8-11ec-a947-83cd2093795e',key:traceId.keyword,negate:!f,params:(query:'{{value}}'),type:phrase),query:(match_phrase:(traceId.keyword:'{{value}}')))),grid:(),hideChart:!f,index:'1edfabd0-c3d8-11ec-a947-83cd2093795e',interval:auto,query:(language:kuery,query:''),sort:!(!('@timestamp',desc)))\",\"labelTemplate\":\"{{value}}\"}},\"kubernetes.container_name\":{\"id\":\"url\",\"params\":{\"urlTemplate\":\"kibana#/discover/0efe9240-c521-11ec-92b4-4f5e54b3d2f7?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-15m,to:now))&_a=(columns:!(kubernetes.container_name,traceId,level,message),filters:!(('$state':(store:appState),meta:(alias:!n,disabled:!f,index:'1edfabd0-c3d8-11ec-a947-83cd2093795e',key:kubernetes.container_name,negate:!f,params:(query:'{{value}}'),type:phrase),query:(match_phrase:(kubernetes.container_name:'{{value}}')))),grid:(),hideChart:!f,index:'1edfabd0-c3d8-11ec-a947-83cd2093795e',interval:auto,query:(language:kuery,query:''),sort:!(!('@timestamp',desc)))\",\"labelTemplate\":\"{{value}}\"}}}","fields":"[{\"count\":21,\"script\":\"if(doc['req.requestURI.keyword'].size() != 0) {\\r\\n def path = doc['req.requestURI.keyword'].value;\\r\\n def newfield_last = \\\"\\\";\\r\\n def last = path.lastIndexOf('/');\\r\\n if(last != 0) {newfield_last = path.substring(0, last);}\\r\\n else{newfield_last = 0;}\\r\\n return newfield_last\\r\\n}\",\"lang\":\"painless\",\"name\":\"Request_URI\",\"type\":\"string\",\"scripted\":true,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false}]","runtimeFieldMap":"{}","timeFieldName":"@timestamp","title":"logstash*","typeMeta":"{}"},"coreMigrationVersion":"7.17.2","id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","migrationVersion":{"index-pattern":"7.11.0"},"references":[],"type":"index-pattern","updated_at":"2024-04-02T07:39:23.209Z","version":"WzM3MjQxLDdd"} +{"attributes":{"description":"","hits":0,"kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}"},"optionsJSON":"{\"useMargins\":true,\"syncColors\":false,\"hidePanelTitles\":false}","panelsJSON":"[{\"version\":\"7.17.2\",\"type\":\"lens\",\"gridData\":{\"x\":0,\"y\":0,\"w\":48,\"h\":10,\"i\":\"c831dd3f-0c2f-4c78-ab68-ce60291392a6\"},\"panelIndex\":\"c831dd3f-0c2f-4c78-ab68-ce60291392a6\",\"embeddableConfig\":{\"attributes\":{\"title\":\"\",\"visualizationType\":\"lnsDatatable\",\"type\":\"lens\",\"references\":[{\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\",\"name\":\"indexpattern-datasource-current-indexpattern\"},{\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\",\"name\":\"indexpattern-datasource-layer-fecbcb89-75ee-40da-ab29-49f4f21633d9\"},{\"name\":\"filter-index-pattern-0\",\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\"},{\"name\":\"filter-index-pattern-1\",\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\"},{\"name\":\"filter-index-pattern-2\",\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\"}],\"state\":{\"visualization\":{\"columns\":[{\"columnId\":\"aa7de8f5-ae8a-47dc-9c47-5598af813e80\",\"isTransposed\":false,\"width\":251.75},{\"columnId\":\"45d7417b-ec6e-43c0-b4e9-3f97ec3069f8\",\"isTransposed\":true},{\"columnId\":\"f017b6c7-bb6a-4c3a-bf73-0dc137f394a2\",\"isTransposed\":false},{\"columnId\":\"aa458cdf-edad-464e-8819-3ce36fe08611\",\"isTransposed\":false},{\"columnId\":\"9f1d8910-69c4-4db2-9941-15f9a09b3c7a\",\"isTransposed\":false},{\"columnId\":\"40116146-3f13-4f6c-b8d8-b83ad5b8f49f\",\"isTransposed\":false},{\"columnId\":\"d528f0b1-ec50-47bb-bf0c-164072820a8b\",\"isTransposed\":true},{\"columnId\":\"242acd29-a8e0-4406-8110-7155977aa952\",\"isTransposed\":false}],\"layerId\":\"fecbcb89-75ee-40da-ab29-49f4f21633d9\",\"layerType\":\"data\",\"sorting\":{\"columnId\":\"aa7de8f5-ae8a-47dc-9c47-5598af813e80\",\"direction\":\"asc\"}},\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filters\":[{\"meta\":{\"alias\":null,\"negate\":false,\"disabled\":false,\"type\":\"phrase\",\"key\":\"kubernetes.container_name\",\"params\":{\"query\":\"signup\"},\"indexRefName\":\"filter-index-pattern-0\"},\"query\":{\"match_phrase\":{\"kubernetes.container_name\":\"signup\"}},\"$state\":{\"store\":\"appState\"}},{\"meta\":{\"negate\":true,\"type\":\"phrase\",\"key\":\"req.requestURI.keyword\",\"params\":{\"query\":\"/v1/signup/registration/status\"},\"disabled\":false,\"alias\":null,\"indexRefName\":\"filter-index-pattern-1\"},\"query\":{\"match_phrase\":{\"req.requestURI.keyword\":\"/v1/signup/registration/status\"}},\"$state\":{\"store\":\"appState\"}},{\"meta\":{\"negate\":true,\"type\":\"phrase\",\"key\":\"req.requestURI.keyword\",\"params\":{\"query\":\"/v1/signup/settings\"},\"disabled\":false,\"alias\":null,\"indexRefName\":\"filter-index-pattern-2\"},\"query\":{\"match_phrase\":{\"req.requestURI.keyword\":\"/v1/signup/settings\"}},\"$state\":{\"store\":\"appState\"}}],\"datasourceStates\":{\"indexpattern\":{\"layers\":{\"fecbcb89-75ee-40da-ab29-49f4f21633d9\":{\"columns\":{\"aa7de8f5-ae8a-47dc-9c47-5598af813e80\":{\"label\":\"Top values of req.requestURI.keyword\",\"dataType\":\"string\",\"operationType\":\"terms\",\"scale\":\"ordinal\",\"sourceField\":\"req.requestURI.keyword\",\"isBucketed\":true,\"params\":{\"size\":5,\"orderBy\":{\"type\":\"column\",\"columnId\":\"f017b6c7-bb6a-4c3a-bf73-0dc137f394a2\"},\"orderDirection\":\"desc\",\"otherBucket\":true,\"missingBucket\":false}},\"45d7417b-ec6e-43c0-b4e9-3f97ec3069f8\":{\"label\":\"timeTaken\",\"dataType\":\"number\",\"operationType\":\"range\",\"sourceField\":\"timeTaken\",\"isBucketed\":true,\"scale\":\"interval\",\"params\":{\"type\":\"histogram\",\"ranges\":[{\"from\":0,\"to\":1000,\"label\":\"\"}],\"maxBars\":1}},\"f017b6c7-bb6a-4c3a-bf73-0dc137f394a2\":{\"label\":\"Minimum of timeTaken\",\"dataType\":\"number\",\"operationType\":\"min\",\"sourceField\":\"timeTaken\",\"isBucketed\":false,\"scale\":\"ratio\"},\"aa458cdf-edad-464e-8819-3ce36fe08611\":{\"label\":\"Average of timeTaken\",\"dataType\":\"number\",\"operationType\":\"average\",\"sourceField\":\"timeTaken\",\"isBucketed\":false,\"scale\":\"ratio\"},\"9f1d8910-69c4-4db2-9941-15f9a09b3c7a\":{\"label\":\"90th percentile of timeTaken\",\"dataType\":\"number\",\"operationType\":\"percentile\",\"sourceField\":\"timeTaken\",\"isBucketed\":false,\"scale\":\"ratio\",\"params\":{\"percentile\":90}},\"40116146-3f13-4f6c-b8d8-b83ad5b8f49f\":{\"label\":\"Maximum of timeTaken\",\"dataType\":\"number\",\"operationType\":\"max\",\"sourceField\":\"timeTaken\",\"isBucketed\":false,\"scale\":\"ratio\"},\"d528f0b1-ec50-47bb-bf0c-164072820a8b\":{\"label\":\"statusCode\",\"dataType\":\"number\",\"operationType\":\"range\",\"sourceField\":\"statusCode\",\"isBucketed\":true,\"scale\":\"interval\",\"params\":{\"type\":\"histogram\",\"ranges\":[{\"from\":0,\"to\":1000,\"label\":\"\"}],\"maxBars\":\"auto\"}},\"242acd29-a8e0-4406-8110-7155977aa952\":{\"label\":\"Count of records\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"Records\"}},\"columnOrder\":[\"45d7417b-ec6e-43c0-b4e9-3f97ec3069f8\",\"d528f0b1-ec50-47bb-bf0c-164072820a8b\",\"aa7de8f5-ae8a-47dc-9c47-5598af813e80\",\"242acd29-a8e0-4406-8110-7155977aa952\",\"f017b6c7-bb6a-4c3a-bf73-0dc137f394a2\",\"aa458cdf-edad-464e-8819-3ce36fe08611\",\"9f1d8910-69c4-4db2-9941-15f9a09b3c7a\",\"40116146-3f13-4f6c-b8d8-b83ad5b8f49f\"],\"incompleteColumns\":{}}}}}}},\"hidePanelTitles\":false,\"enhancements\":{}},\"title\":\"Response time of endpoint url\"},{\"version\":\"7.17.2\",\"type\":\"lens\",\"gridData\":{\"x\":0,\"y\":10,\"w\":48,\"h\":9,\"i\":\"ebf25004-292a-4991-9656-4764b56af2c2\"},\"panelIndex\":\"ebf25004-292a-4991-9656-4764b56af2c2\",\"embeddableConfig\":{\"attributes\":{\"title\":\"\",\"visualizationType\":\"lnsDatatable\",\"type\":\"lens\",\"references\":[{\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\",\"name\":\"indexpattern-datasource-current-indexpattern\"},{\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\",\"name\":\"indexpattern-datasource-layer-e915f543-04e5-4a74-a6cd-3787979fcc44\"},{\"name\":\"filter-index-pattern-0\",\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\"},{\"name\":\"filter-index-pattern-1\",\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\"}],\"state\":{\"visualization\":{\"columns\":[{\"columnId\":\"47b3a648-3a87-451f-ab3a-9c6da9963380\",\"isTransposed\":false},{\"columnId\":\"d7cf2737-83c0-4ba0-9a75-3f07eeef955e\",\"isTransposed\":true},{\"columnId\":\"c0c68d92-9a58-47c1-8a7d-faf4d5e6ce72\",\"isTransposed\":false},{\"columnId\":\"7ea50690-6855-40a4-996c-0e53224070bc\",\"isTransposed\":false},{\"columnId\":\"5cc8772c-148d-42f6-850f-0a906c1e81bf\",\"isTransposed\":false,\"alignment\":\"center\"},{\"columnId\":\"08e814d4-1606-4609-b317-a384ed5dd297\",\"isTransposed\":false},{\"columnId\":\"a730243f-94bb-42f8-9b1a-4172aaab79fc\",\"isTransposed\":true},{\"columnId\":\"5b0d9cb1-4066-45dd-a4ae-4f3e2a68c3ef\",\"isTransposed\":false}],\"layerId\":\"e915f543-04e5-4a74-a6cd-3787979fcc44\",\"layerType\":\"data\"},\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filters\":[{\"meta\":{\"alias\":null,\"negate\":false,\"disabled\":false,\"type\":\"phrase\",\"key\":\"kubernetes.container_name\",\"params\":{\"query\":\"keymanager\"},\"indexRefName\":\"filter-index-pattern-0\"},\"query\":{\"match_phrase\":{\"kubernetes.container_name\":\"keymanager\"}},\"$state\":{\"store\":\"appState\"}},{\"meta\":{\"alias\":null,\"negate\":false,\"disabled\":false,\"type\":\"phrase\",\"key\":\"level\",\"params\":{\"query\":\"ACCESS\"},\"indexRefName\":\"filter-index-pattern-1\"},\"query\":{\"match_phrase\":{\"level\":\"ACCESS\"}},\"$state\":{\"store\":\"appState\"}}],\"datasourceStates\":{\"indexpattern\":{\"layers\":{\"e915f543-04e5-4a74-a6cd-3787979fcc44\":{\"columns\":{\"47b3a648-3a87-451f-ab3a-9c6da9963380\":{\"label\":\"Top values of req.requestURI.keyword\",\"dataType\":\"string\",\"operationType\":\"terms\",\"scale\":\"ordinal\",\"sourceField\":\"req.requestURI.keyword\",\"isBucketed\":true,\"params\":{\"size\":5,\"orderBy\":{\"type\":\"column\",\"columnId\":\"c0c68d92-9a58-47c1-8a7d-faf4d5e6ce72\"},\"orderDirection\":\"desc\",\"otherBucket\":true,\"missingBucket\":false}},\"d7cf2737-83c0-4ba0-9a75-3f07eeef955e\":{\"label\":\"timeTaken\",\"dataType\":\"number\",\"operationType\":\"range\",\"sourceField\":\"timeTaken\",\"isBucketed\":true,\"scale\":\"interval\",\"params\":{\"type\":\"histogram\",\"ranges\":[{\"from\":0,\"to\":1000,\"label\":\"\"}],\"maxBars\":1}},\"c0c68d92-9a58-47c1-8a7d-faf4d5e6ce72\":{\"label\":\"Minimum of timeTaken\",\"dataType\":\"number\",\"operationType\":\"min\",\"sourceField\":\"timeTaken\",\"isBucketed\":false,\"scale\":\"ratio\"},\"7ea50690-6855-40a4-996c-0e53224070bc\":{\"label\":\"Average of timeTaken\",\"dataType\":\"number\",\"operationType\":\"average\",\"sourceField\":\"timeTaken\",\"isBucketed\":false,\"scale\":\"ratio\"},\"5cc8772c-148d-42f6-850f-0a906c1e81bf\":{\"label\":\"90th percentile\",\"dataType\":\"number\",\"operationType\":\"percentile\",\"sourceField\":\"timeTaken\",\"isBucketed\":false,\"scale\":\"ratio\",\"params\":{\"percentile\":90,\"format\":{\"id\":\"number\",\"params\":{\"decimals\":2}}},\"customLabel\":true},\"08e814d4-1606-4609-b317-a384ed5dd297\":{\"label\":\"Maximum of timeTaken\",\"dataType\":\"number\",\"operationType\":\"max\",\"sourceField\":\"timeTaken\",\"isBucketed\":false,\"scale\":\"ratio\"},\"a730243f-94bb-42f8-9b1a-4172aaab79fc\":{\"label\":\"statusCode\",\"dataType\":\"number\",\"operationType\":\"range\",\"sourceField\":\"statusCode\",\"isBucketed\":true,\"scale\":\"interval\",\"params\":{\"type\":\"histogram\",\"ranges\":[{\"from\":0,\"to\":1000,\"label\":\"\"}],\"maxBars\":1}},\"5b0d9cb1-4066-45dd-a4ae-4f3e2a68c3ef\":{\"label\":\"Count of records\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"Records\"}},\"columnOrder\":[\"d7cf2737-83c0-4ba0-9a75-3f07eeef955e\",\"a730243f-94bb-42f8-9b1a-4172aaab79fc\",\"47b3a648-3a87-451f-ab3a-9c6da9963380\",\"5b0d9cb1-4066-45dd-a4ae-4f3e2a68c3ef\",\"c0c68d92-9a58-47c1-8a7d-faf4d5e6ce72\",\"7ea50690-6855-40a4-996c-0e53224070bc\",\"5cc8772c-148d-42f6-850f-0a906c1e81bf\",\"08e814d4-1606-4609-b317-a384ed5dd297\"],\"incompleteColumns\":{}}}}}}},\"hidePanelTitles\":false,\"enhancements\":{}},\"title\":\"Response time of keymanager urls\"},{\"version\":\"7.17.2\",\"type\":\"lens\",\"gridData\":{\"x\":0,\"y\":19,\"w\":48,\"h\":6,\"i\":\"683ca9d6-b613-4620-9fae-931e804336be\"},\"panelIndex\":\"683ca9d6-b613-4620-9fae-931e804336be\",\"embeddableConfig\":{\"attributes\":{\"title\":\"\",\"visualizationType\":\"lnsDatatable\",\"type\":\"lens\",\"references\":[{\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\",\"name\":\"indexpattern-datasource-current-indexpattern\"},{\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\",\"name\":\"indexpattern-datasource-layer-33d092ea-8c94-4e59-8325-3aaec8ab2f75\"},{\"name\":\"filter-index-pattern-0\",\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\"},{\"name\":\"filter-index-pattern-1\",\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\"}],\"state\":{\"visualization\":{\"columns\":[{\"columnId\":\"c086b528-8dce-4942-af76-6505ea1382d8\",\"isTransposed\":false,\"width\":252.66666666666666},{\"columnId\":\"9f98bb22-43fe-4594-8d07-0cb828063093\",\"isTransposed\":true},{\"columnId\":\"5821353c-dd54-4a02-ae4c-cec723268e50\",\"isTransposed\":false},{\"columnId\":\"732abba6-ec0d-4777-af88-9b12d8cefcd4\",\"isTransposed\":false},{\"columnId\":\"34285fdb-819b-434d-9e53-fb32d6fa37ef\",\"isTransposed\":true},{\"columnId\":\"67558205-5b7c-4576-9552-2806a9253eef\",\"isTransposed\":false},{\"columnId\":\"ee066d1b-bac4-45cc-a204-9f8a46b13ddb\",\"isTransposed\":false},{\"columnId\":\"34b4b7e5-1562-4314-bfc1-9c0fae99f8bc\",\"isTransposed\":false}],\"layerId\":\"33d092ea-8c94-4e59-8325-3aaec8ab2f75\",\"layerType\":\"data\"},\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filters\":[{\"meta\":{\"alias\":null,\"negate\":false,\"disabled\":false,\"type\":\"phrase\",\"key\":\"kubernetes.container_name\",\"params\":{\"query\":\"identity\"},\"indexRefName\":\"filter-index-pattern-0\"},\"query\":{\"match_phrase\":{\"kubernetes.container_name\":\"identity\"}},\"$state\":{\"store\":\"appState\"}},{\"meta\":{\"alias\":null,\"negate\":false,\"disabled\":false,\"type\":\"phrase\",\"key\":\"level\",\"params\":{\"query\":\"ACCESS\"},\"indexRefName\":\"filter-index-pattern-1\"},\"query\":{\"match_phrase\":{\"level\":\"ACCESS\"}},\"$state\":{\"store\":\"appState\"}}],\"datasourceStates\":{\"indexpattern\":{\"layers\":{\"33d092ea-8c94-4e59-8325-3aaec8ab2f75\":{\"columns\":{\"c086b528-8dce-4942-af76-6505ea1382d8\":{\"label\":\"Top values of Request_URI\",\"dataType\":\"string\",\"operationType\":\"terms\",\"scale\":\"ordinal\",\"sourceField\":\"Request_URI\",\"isBucketed\":true,\"params\":{\"size\":5,\"orderBy\":{\"type\":\"column\",\"columnId\":\"5821353c-dd54-4a02-ae4c-cec723268e50\"},\"orderDirection\":\"desc\",\"otherBucket\":true,\"missingBucket\":false}},\"9f98bb22-43fe-4594-8d07-0cb828063093\":{\"label\":\"timeTaken\",\"dataType\":\"number\",\"operationType\":\"range\",\"sourceField\":\"timeTaken\",\"isBucketed\":true,\"scale\":\"interval\",\"params\":{\"type\":\"histogram\",\"ranges\":[{\"from\":0,\"to\":1000,\"label\":\"\"}],\"maxBars\":1}},\"5821353c-dd54-4a02-ae4c-cec723268e50\":{\"label\":\"90th percentile of timeTaken\",\"dataType\":\"number\",\"operationType\":\"percentile\",\"sourceField\":\"timeTaken\",\"isBucketed\":false,\"scale\":\"ratio\",\"params\":{\"percentile\":90}},\"732abba6-ec0d-4777-af88-9b12d8cefcd4\":{\"label\":\"Maximum of timeTaken\",\"dataType\":\"number\",\"operationType\":\"max\",\"sourceField\":\"timeTaken\",\"isBucketed\":false,\"scale\":\"ratio\"},\"34285fdb-819b-434d-9e53-fb32d6fa37ef\":{\"label\":\"statusCode\",\"dataType\":\"number\",\"operationType\":\"range\",\"sourceField\":\"statusCode\",\"isBucketed\":true,\"scale\":\"interval\",\"params\":{\"type\":\"histogram\",\"ranges\":[{\"from\":0,\"to\":1000,\"label\":\"\"}],\"maxBars\":1}},\"67558205-5b7c-4576-9552-2806a9253eef\":{\"label\":\"Count of records\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"Records\"},\"ee066d1b-bac4-45cc-a204-9f8a46b13ddb\":{\"label\":\"Minimum of timeTaken\",\"dataType\":\"number\",\"operationType\":\"min\",\"sourceField\":\"timeTaken\",\"isBucketed\":false,\"scale\":\"ratio\"},\"34b4b7e5-1562-4314-bfc1-9c0fae99f8bc\":{\"label\":\"Average of timeTaken\",\"dataType\":\"number\",\"operationType\":\"average\",\"sourceField\":\"timeTaken\",\"isBucketed\":false,\"scale\":\"ratio\"}},\"columnOrder\":[\"9f98bb22-43fe-4594-8d07-0cb828063093\",\"34285fdb-819b-434d-9e53-fb32d6fa37ef\",\"c086b528-8dce-4942-af76-6505ea1382d8\",\"67558205-5b7c-4576-9552-2806a9253eef\",\"ee066d1b-bac4-45cc-a204-9f8a46b13ddb\",\"34b4b7e5-1562-4314-bfc1-9c0fae99f8bc\",\"5821353c-dd54-4a02-ae4c-cec723268e50\",\"732abba6-ec0d-4777-af88-9b12d8cefcd4\"],\"incompleteColumns\":{}}}}}}},\"hidePanelTitles\":false,\"enhancements\":{}},\"title\":\"Response time of identity urls\"},{\"version\":\"7.17.2\",\"type\":\"lens\",\"gridData\":{\"x\":0,\"y\":25,\"w\":24,\"h\":13,\"i\":\"6fcf763b-dec2-4874-8931-57c71a01a0dc\"},\"panelIndex\":\"6fcf763b-dec2-4874-8931-57c71a01a0dc\",\"embeddableConfig\":{\"attributes\":{\"title\":\"\",\"visualizationType\":\"lnsXY\",\"type\":\"lens\",\"references\":[{\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\",\"name\":\"indexpattern-datasource-current-indexpattern\"},{\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\",\"name\":\"indexpattern-datasource-layer-16a35c94-24e1-41c9-87d9-7bd2dcf08005\"},{\"name\":\"filter-index-pattern-0\",\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\"},{\"name\":\"filter-index-pattern-1\",\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\"},{\"name\":\"filter-index-pattern-2\",\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\"}],\"state\":{\"visualization\":{\"title\":\"Empty XY chart\",\"legend\":{\"isVisible\":true,\"position\":\"right\",\"maxLines\":3},\"valueLabels\":\"hide\",\"preferredSeriesType\":\"line\",\"layers\":[{\"layerId\":\"16a35c94-24e1-41c9-87d9-7bd2dcf08005\",\"accessors\":[\"fd1dcea1-f444-43db-a6f5-453459f860b5\"],\"position\":\"top\",\"seriesType\":\"line\",\"showGridlines\":false,\"layerType\":\"data\",\"xAccessor\":\"dc460c87-687e-41d3-8242-96e303f49d24\",\"splitAccessor\":\"9dc86675-2c64-43c9-b0d9-b6838feebf74\"}],\"yRightExtent\":{\"mode\":\"full\"},\"yLeftExtent\":{\"mode\":\"full\"}},\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filters\":[{\"meta\":{\"alias\":null,\"negate\":false,\"disabled\":false,\"type\":\"phrase\",\"key\":\"kubernetes.container_name\",\"params\":{\"query\":\"signup\"},\"indexRefName\":\"filter-index-pattern-0\"},\"query\":{\"match_phrase\":{\"kubernetes.container_name\":\"signup\"}},\"$state\":{\"store\":\"appState\"}},{\"meta\":{\"negate\":true,\"type\":\"phrase\",\"key\":\"req.requestURI.keyword\",\"params\":{\"query\":\"/v1/signup/settings\"},\"disabled\":false,\"alias\":null,\"indexRefName\":\"filter-index-pattern-1\"},\"query\":{\"match_phrase\":{\"req.requestURI.keyword\":\"/v1/signup/settings\"}},\"$state\":{\"store\":\"appState\"}},{\"meta\":{\"negate\":true,\"type\":\"phrase\",\"key\":\"req.requestURI.keyword\",\"params\":{\"query\":\"/v1/signup/registration/status\"},\"disabled\":false,\"alias\":null,\"indexRefName\":\"filter-index-pattern-2\"},\"query\":{\"match_phrase\":{\"req.requestURI.keyword\":\"/v1/signup/registration/status\"}},\"$state\":{\"store\":\"appState\"}}],\"datasourceStates\":{\"indexpattern\":{\"layers\":{\"16a35c94-24e1-41c9-87d9-7bd2dcf08005\":{\"columns\":{\"dc460c87-687e-41d3-8242-96e303f49d24\":{\"label\":\"@timestamp\",\"dataType\":\"date\",\"operationType\":\"date_histogram\",\"sourceField\":\"@timestamp\",\"isBucketed\":true,\"scale\":\"interval\",\"params\":{\"interval\":\"1m\"}},\"fd1dcea1-f444-43db-a6f5-453459f860b5\":{\"label\":\"90th percentile of timeTaken\",\"dataType\":\"number\",\"operationType\":\"percentile\",\"sourceField\":\"timeTaken\",\"isBucketed\":false,\"scale\":\"ratio\",\"params\":{\"percentile\":90}},\"9dc86675-2c64-43c9-b0d9-b6838feebf74\":{\"label\":\"Top values of req.requestURI.keyword\",\"dataType\":\"string\",\"operationType\":\"terms\",\"scale\":\"ordinal\",\"sourceField\":\"req.requestURI.keyword\",\"isBucketed\":true,\"params\":{\"size\":5,\"orderBy\":{\"type\":\"column\",\"columnId\":\"fd1dcea1-f444-43db-a6f5-453459f860b5\"},\"orderDirection\":\"desc\",\"otherBucket\":true,\"missingBucket\":false}}},\"columnOrder\":[\"9dc86675-2c64-43c9-b0d9-b6838feebf74\",\"dc460c87-687e-41d3-8242-96e303f49d24\",\"fd1dcea1-f444-43db-a6f5-453459f860b5\"],\"incompleteColumns\":{}}}}}}},\"hidePanelTitles\":false,\"enhancements\":{}},\"title\":\"Timechart of 90th percentile response time for SignUp services\"},{\"version\":\"7.17.2\",\"type\":\"lens\",\"gridData\":{\"x\":24,\"y\":25,\"w\":24,\"h\":13,\"i\":\"bfcc0729-6f9e-43ec-b07d-beaba1722f14\"},\"panelIndex\":\"bfcc0729-6f9e-43ec-b07d-beaba1722f14\",\"embeddableConfig\":{\"attributes\":{\"title\":\"\",\"visualizationType\":\"lnsXY\",\"type\":\"lens\",\"references\":[{\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\",\"name\":\"indexpattern-datasource-current-indexpattern\"},{\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\",\"name\":\"indexpattern-datasource-layer-c4980372-cac8-4d40-9af9-3807ed3018da\"},{\"name\":\"filter-index-pattern-0\",\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\"},{\"name\":\"filter-index-pattern-1\",\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\"}],\"state\":{\"visualization\":{\"title\":\"Empty XY chart\",\"legend\":{\"isVisible\":true,\"position\":\"right\",\"maxLines\":2},\"valueLabels\":\"hide\",\"preferredSeriesType\":\"bar_stacked\",\"layers\":[{\"layerId\":\"c4980372-cac8-4d40-9af9-3807ed3018da\",\"accessors\":[\"b9310197-2230-4fa6-872a-4ec4bb9445d2\"],\"position\":\"top\",\"seriesType\":\"line\",\"showGridlines\":false,\"layerType\":\"data\",\"xAccessor\":\"93b86a22-84d3-4551-9dd1-75520c511c9e\",\"splitAccessor\":\"be4b452c-18a7-4999-9e10-67d923b0206e\"}],\"yRightExtent\":{\"mode\":\"full\"},\"yLeftExtent\":{\"mode\":\"full\"}},\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filters\":[{\"meta\":{\"alias\":null,\"negate\":false,\"disabled\":false,\"type\":\"phrase\",\"key\":\"level\",\"params\":{\"query\":\"ACCESS\"},\"indexRefName\":\"filter-index-pattern-0\"},\"query\":{\"match_phrase\":{\"level\":\"ACCESS\"}},\"$state\":{\"store\":\"appState\"}},{\"meta\":{\"alias\":null,\"negate\":false,\"disabled\":false,\"type\":\"phrase\",\"key\":\"kubernetes.container_name\",\"params\":{\"query\":\"signup\"},\"indexRefName\":\"filter-index-pattern-1\"},\"query\":{\"match_phrase\":{\"kubernetes.container_name\":\"signup\"}},\"$state\":{\"store\":\"appState\"}}],\"datasourceStates\":{\"indexpattern\":{\"layers\":{\"c4980372-cac8-4d40-9af9-3807ed3018da\":{\"columns\":{\"93b86a22-84d3-4551-9dd1-75520c511c9e\":{\"label\":\"@timestamp\",\"dataType\":\"date\",\"operationType\":\"date_histogram\",\"sourceField\":\"@timestamp\",\"isBucketed\":true,\"scale\":\"interval\",\"params\":{\"interval\":\"auto\"}},\"b9310197-2230-4fa6-872a-4ec4bb9445d2\":{\"label\":\"Count of records\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"Records\"},\"be4b452c-18a7-4999-9e10-67d923b0206e\":{\"label\":\"Top values of statusCode\",\"dataType\":\"number\",\"operationType\":\"terms\",\"scale\":\"ordinal\",\"sourceField\":\"statusCode\",\"isBucketed\":true,\"params\":{\"size\":3,\"orderBy\":{\"type\":\"column\",\"columnId\":\"b9310197-2230-4fa6-872a-4ec4bb9445d2\"},\"orderDirection\":\"desc\",\"otherBucket\":true,\"missingBucket\":false}}},\"columnOrder\":[\"be4b452c-18a7-4999-9e10-67d923b0206e\",\"93b86a22-84d3-4551-9dd1-75520c511c9e\",\"b9310197-2230-4fa6-872a-4ec4bb9445d2\"],\"incompleteColumns\":{}}}}}}},\"hidePanelTitles\":false,\"enhancements\":{}},\"title\":\"Timechart of count of statuscode in signup services\"},{\"version\":\"7.17.2\",\"type\":\"lens\",\"gridData\":{\"x\":0,\"y\":38,\"w\":24,\"h\":15,\"i\":\"2cfc43b0-d81b-46ef-af3a-f85f87b88f5b\"},\"panelIndex\":\"2cfc43b0-d81b-46ef-af3a-f85f87b88f5b\",\"embeddableConfig\":{\"attributes\":{\"title\":\"\",\"visualizationType\":\"lnsXY\",\"type\":\"lens\",\"references\":[{\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\",\"name\":\"indexpattern-datasource-current-indexpattern\"},{\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\",\"name\":\"indexpattern-datasource-layer-bb7f2c9d-af50-4078-bd4b-2f19cb148dea\"},{\"name\":\"filter-index-pattern-0\",\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\"}],\"state\":{\"visualization\":{\"title\":\"Empty XY chart\",\"legend\":{\"isVisible\":true,\"position\":\"right\",\"maxLines\":2,\"isInside\":false,\"showSingleSeries\":false},\"valueLabels\":\"hide\",\"preferredSeriesType\":\"line\",\"layers\":[{\"layerId\":\"bb7f2c9d-af50-4078-bd4b-2f19cb148dea\",\"accessors\":[\"d7038b8e-c49f-496d-a900-f6c73f7254a6\"],\"position\":\"top\",\"seriesType\":\"line\",\"showGridlines\":false,\"layerType\":\"data\",\"xAccessor\":\"191c1516-e073-4d00-9c0c-a63756970eb0\",\"splitAccessor\":\"256696a4-0c4e-422f-8055-8d33ee96e029\"}],\"yRightExtent\":{\"mode\":\"full\"},\"yLeftExtent\":{\"mode\":\"full\"}},\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filters\":[{\"meta\":{\"alias\":null,\"negate\":false,\"disabled\":false,\"type\":\"phrase\",\"key\":\"kubernetes.container_name\",\"params\":{\"query\":\"keymanager\"},\"indexRefName\":\"filter-index-pattern-0\"},\"query\":{\"match_phrase\":{\"kubernetes.container_name\":\"keymanager\"}},\"$state\":{\"store\":\"appState\"}}],\"datasourceStates\":{\"indexpattern\":{\"layers\":{\"bb7f2c9d-af50-4078-bd4b-2f19cb148dea\":{\"columns\":{\"191c1516-e073-4d00-9c0c-a63756970eb0\":{\"label\":\"@timestamp\",\"dataType\":\"date\",\"operationType\":\"date_histogram\",\"sourceField\":\"@timestamp\",\"isBucketed\":true,\"scale\":\"interval\",\"params\":{\"interval\":\"1m\"}},\"d7038b8e-c49f-496d-a900-f6c73f7254a6\":{\"label\":\"90th percentile of timeTaken\",\"dataType\":\"number\",\"operationType\":\"percentile\",\"sourceField\":\"timeTaken\",\"isBucketed\":false,\"scale\":\"ratio\",\"params\":{\"percentile\":90}},\"256696a4-0c4e-422f-8055-8d33ee96e029\":{\"label\":\"Top values of req.requestURI.keyword\",\"dataType\":\"string\",\"operationType\":\"terms\",\"scale\":\"ordinal\",\"sourceField\":\"req.requestURI.keyword\",\"isBucketed\":true,\"params\":{\"size\":10,\"orderBy\":{\"type\":\"column\",\"columnId\":\"d7038b8e-c49f-496d-a900-f6c73f7254a6\"},\"orderDirection\":\"desc\",\"otherBucket\":true,\"missingBucket\":false}}},\"columnOrder\":[\"256696a4-0c4e-422f-8055-8d33ee96e029\",\"191c1516-e073-4d00-9c0c-a63756970eb0\",\"d7038b8e-c49f-496d-a900-f6c73f7254a6\"],\"incompleteColumns\":{}}}}}}},\"hidePanelTitles\":false,\"enhancements\":{}},\"title\":\"Timechart of keymanager urls\"},{\"version\":\"7.17.2\",\"type\":\"lens\",\"gridData\":{\"x\":24,\"y\":38,\"w\":24,\"h\":15,\"i\":\"79487bc8-bec4-460d-9196-c8f9dbd1ab72\"},\"panelIndex\":\"79487bc8-bec4-460d-9196-c8f9dbd1ab72\",\"embeddableConfig\":{\"attributes\":{\"title\":\"\",\"visualizationType\":\"lnsXY\",\"type\":\"lens\",\"references\":[{\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\",\"name\":\"indexpattern-datasource-current-indexpattern\"},{\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\",\"name\":\"indexpattern-datasource-layer-48821bb2-7197-4327-89d4-053c94134a64\"},{\"name\":\"filter-index-pattern-0\",\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\"},{\"name\":\"filter-index-pattern-1\",\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\"}],\"state\":{\"visualization\":{\"title\":\"Empty XY chart\",\"legend\":{\"isVisible\":true,\"position\":\"right\",\"maxLines\":2},\"valueLabels\":\"hide\",\"preferredSeriesType\":\"line\",\"layers\":[{\"layerId\":\"48821bb2-7197-4327-89d4-053c94134a64\",\"accessors\":[\"ee750da8-5e1d-4624-85f2-74f45e3b9c0d\"],\"position\":\"top\",\"seriesType\":\"line\",\"showGridlines\":false,\"layerType\":\"data\",\"xAccessor\":\"a4259463-f830-4456-ae65-ffb80e0e1e14\",\"splitAccessor\":\"42a9637a-5b1b-41f0-9071-c812f215bd14\"}],\"yRightExtent\":{\"mode\":\"full\"},\"yLeftExtent\":{\"mode\":\"full\"}},\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filters\":[{\"meta\":{\"alias\":null,\"negate\":false,\"disabled\":false,\"type\":\"phrase\",\"key\":\"kubernetes.container_name\",\"params\":{\"query\":\"keymanager\"},\"indexRefName\":\"filter-index-pattern-0\"},\"query\":{\"match_phrase\":{\"kubernetes.container_name\":\"keymanager\"}},\"$state\":{\"store\":\"appState\"}},{\"meta\":{\"alias\":null,\"negate\":false,\"disabled\":false,\"type\":\"phrase\",\"key\":\"level\",\"params\":{\"query\":\"ACCESS\"},\"indexRefName\":\"filter-index-pattern-1\"},\"query\":{\"match_phrase\":{\"level\":\"ACCESS\"}},\"$state\":{\"store\":\"appState\"}}],\"datasourceStates\":{\"indexpattern\":{\"layers\":{\"48821bb2-7197-4327-89d4-053c94134a64\":{\"columns\":{\"a4259463-f830-4456-ae65-ffb80e0e1e14\":{\"label\":\"@timestamp\",\"dataType\":\"date\",\"operationType\":\"date_histogram\",\"sourceField\":\"@timestamp\",\"isBucketed\":true,\"scale\":\"interval\",\"params\":{\"interval\":\"auto\"}},\"ee750da8-5e1d-4624-85f2-74f45e3b9c0d\":{\"label\":\"Count of records\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"Records\"},\"42a9637a-5b1b-41f0-9071-c812f215bd14\":{\"label\":\"statusCode\",\"dataType\":\"number\",\"operationType\":\"range\",\"sourceField\":\"statusCode\",\"isBucketed\":true,\"scale\":\"interval\",\"params\":{\"type\":\"histogram\",\"ranges\":[{\"from\":0,\"to\":1000,\"label\":\"\"}],\"maxBars\":\"auto\"}}},\"columnOrder\":[\"a4259463-f830-4456-ae65-ffb80e0e1e14\",\"42a9637a-5b1b-41f0-9071-c812f215bd14\",\"ee750da8-5e1d-4624-85f2-74f45e3b9c0d\"],\"incompleteColumns\":{}}}}}}},\"hidePanelTitles\":false,\"enhancements\":{}},\"title\":\"Timechart of count of statuscode in keymanager\"},{\"version\":\"7.17.2\",\"type\":\"lens\",\"gridData\":{\"x\":0,\"y\":53,\"w\":24,\"h\":15,\"i\":\"415fc015-c5b9-407c-8ac7-957dc2cb80f0\"},\"panelIndex\":\"415fc015-c5b9-407c-8ac7-957dc2cb80f0\",\"embeddableConfig\":{\"attributes\":{\"title\":\"\",\"visualizationType\":\"lnsXY\",\"type\":\"lens\",\"references\":[{\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\",\"name\":\"indexpattern-datasource-current-indexpattern\"},{\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\",\"name\":\"indexpattern-datasource-layer-17f75ad3-c05a-42f4-8be0-6e1b753f1e3f\"},{\"name\":\"filter-index-pattern-0\",\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\"},{\"name\":\"filter-index-pattern-1\",\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\"}],\"state\":{\"visualization\":{\"title\":\"Empty XY chart\",\"legend\":{\"isVisible\":true,\"position\":\"right\",\"maxLines\":2},\"valueLabels\":\"hide\",\"preferredSeriesType\":\"line\",\"layers\":[{\"layerId\":\"17f75ad3-c05a-42f4-8be0-6e1b753f1e3f\",\"accessors\":[\"c73d1e17-eca0-4e42-baed-a23e28c877b5\"],\"position\":\"top\",\"seriesType\":\"line\",\"showGridlines\":false,\"layerType\":\"data\",\"xAccessor\":\"fe791715-b18a-4894-b75d-dc4515e87d56\",\"splitAccessor\":\"35511570-5cf7-42c9-ac93-93c4f9fddaed\"}],\"yRightExtent\":{\"mode\":\"full\"},\"yLeftExtent\":{\"mode\":\"full\"}},\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filters\":[{\"meta\":{\"alias\":null,\"negate\":false,\"disabled\":false,\"type\":\"phrase\",\"key\":\"kubernetes.container_name\",\"params\":{\"query\":\"identity\"},\"indexRefName\":\"filter-index-pattern-0\"},\"query\":{\"match_phrase\":{\"kubernetes.container_name\":\"identity\"}},\"$state\":{\"store\":\"appState\"}},{\"meta\":{\"alias\":null,\"negate\":false,\"disabled\":false,\"type\":\"phrase\",\"key\":\"level\",\"params\":{\"query\":\"ACCESS\"},\"indexRefName\":\"filter-index-pattern-1\"},\"query\":{\"match_phrase\":{\"level\":\"ACCESS\"}},\"$state\":{\"store\":\"appState\"}}],\"datasourceStates\":{\"indexpattern\":{\"layers\":{\"17f75ad3-c05a-42f4-8be0-6e1b753f1e3f\":{\"columns\":{\"fe791715-b18a-4894-b75d-dc4515e87d56\":{\"label\":\"@timestamp\",\"dataType\":\"date\",\"operationType\":\"date_histogram\",\"sourceField\":\"@timestamp\",\"isBucketed\":true,\"scale\":\"interval\",\"params\":{\"interval\":\"1m\"}},\"c73d1e17-eca0-4e42-baed-a23e28c877b5\":{\"label\":\"90th percentile of timeTaken\",\"dataType\":\"number\",\"operationType\":\"percentile\",\"sourceField\":\"timeTaken\",\"isBucketed\":false,\"scale\":\"ratio\",\"params\":{\"percentile\":90}},\"35511570-5cf7-42c9-ac93-93c4f9fddaed\":{\"label\":\"Top values of Request_URI\",\"dataType\":\"string\",\"operationType\":\"terms\",\"scale\":\"ordinal\",\"sourceField\":\"Request_URI\",\"isBucketed\":true,\"params\":{\"size\":3,\"orderBy\":{\"type\":\"column\",\"columnId\":\"c73d1e17-eca0-4e42-baed-a23e28c877b5\"},\"orderDirection\":\"desc\",\"otherBucket\":true,\"missingBucket\":false}}},\"columnOrder\":[\"35511570-5cf7-42c9-ac93-93c4f9fddaed\",\"fe791715-b18a-4894-b75d-dc4515e87d56\",\"c73d1e17-eca0-4e42-baed-a23e28c877b5\"],\"incompleteColumns\":{}}}}}}},\"hidePanelTitles\":false,\"enhancements\":{}},\"title\":\"Timechart of identity urls\"},{\"version\":\"7.17.2\",\"type\":\"lens\",\"gridData\":{\"x\":24,\"y\":53,\"w\":24,\"h\":15,\"i\":\"087ef184-2c29-43ab-ac3e-3144a8c1a1cd\"},\"panelIndex\":\"087ef184-2c29-43ab-ac3e-3144a8c1a1cd\",\"embeddableConfig\":{\"attributes\":{\"title\":\"\",\"visualizationType\":\"lnsXY\",\"type\":\"lens\",\"references\":[{\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\",\"name\":\"indexpattern-datasource-current-indexpattern\"},{\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\",\"name\":\"indexpattern-datasource-layer-48821bb2-7197-4327-89d4-053c94134a64\"},{\"name\":\"filter-index-pattern-0\",\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\"},{\"name\":\"filter-index-pattern-1\",\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\"}],\"state\":{\"visualization\":{\"title\":\"Empty XY chart\",\"legend\":{\"isVisible\":true,\"position\":\"right\",\"maxLines\":2},\"valueLabels\":\"hide\",\"preferredSeriesType\":\"line\",\"layers\":[{\"layerId\":\"48821bb2-7197-4327-89d4-053c94134a64\",\"accessors\":[\"ee750da8-5e1d-4624-85f2-74f45e3b9c0d\"],\"position\":\"top\",\"seriesType\":\"line\",\"showGridlines\":false,\"layerType\":\"data\",\"xAccessor\":\"a4259463-f830-4456-ae65-ffb80e0e1e14\",\"splitAccessor\":\"3dec89a6-7b8e-4fb1-87a0-9ee162461cc0\"}],\"yRightExtent\":{\"mode\":\"full\"},\"yLeftExtent\":{\"mode\":\"full\"}},\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filters\":[{\"meta\":{\"alias\":null,\"negate\":false,\"disabled\":false,\"type\":\"phrase\",\"key\":\"kubernetes.container_name\",\"params\":{\"query\":\"identity\"},\"indexRefName\":\"filter-index-pattern-0\"},\"query\":{\"match_phrase\":{\"kubernetes.container_name\":\"identity\"}},\"$state\":{\"store\":\"appState\"}},{\"meta\":{\"alias\":null,\"negate\":false,\"disabled\":false,\"type\":\"phrase\",\"key\":\"level\",\"params\":{\"query\":\"ACCESS\"},\"indexRefName\":\"filter-index-pattern-1\"},\"query\":{\"match_phrase\":{\"level\":\"ACCESS\"}},\"$state\":{\"store\":\"appState\"}}],\"datasourceStates\":{\"indexpattern\":{\"layers\":{\"48821bb2-7197-4327-89d4-053c94134a64\":{\"columns\":{\"a4259463-f830-4456-ae65-ffb80e0e1e14\":{\"label\":\"@timestamp\",\"dataType\":\"date\",\"operationType\":\"date_histogram\",\"sourceField\":\"@timestamp\",\"isBucketed\":true,\"scale\":\"interval\",\"params\":{\"interval\":\"auto\"}},\"ee750da8-5e1d-4624-85f2-74f45e3b9c0d\":{\"label\":\"Count of records\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"Records\"},\"3dec89a6-7b8e-4fb1-87a0-9ee162461cc0\":{\"label\":\"Top values of statusCode\",\"dataType\":\"number\",\"operationType\":\"terms\",\"scale\":\"ordinal\",\"sourceField\":\"statusCode\",\"isBucketed\":true,\"params\":{\"size\":3,\"orderBy\":{\"type\":\"column\",\"columnId\":\"ee750da8-5e1d-4624-85f2-74f45e3b9c0d\"},\"orderDirection\":\"desc\",\"otherBucket\":true,\"missingBucket\":false}}},\"columnOrder\":[\"3dec89a6-7b8e-4fb1-87a0-9ee162461cc0\",\"a4259463-f830-4456-ae65-ffb80e0e1e14\",\"ee750da8-5e1d-4624-85f2-74f45e3b9c0d\"],\"incompleteColumns\":{}}}}}}},\"hidePanelTitles\":false,\"enhancements\":{}},\"title\":\"Timechart of count of statuscode in Identity\"},{\"version\":\"7.17.2\",\"type\":\"lens\",\"gridData\":{\"x\":0,\"y\":68,\"w\":24,\"h\":13,\"i\":\"80165ce5-f5fb-48ab-8803-7f2fb97d555a\"},\"panelIndex\":\"80165ce5-f5fb-48ab-8803-7f2fb97d555a\",\"embeddableConfig\":{\"attributes\":{\"title\":\"\",\"visualizationType\":\"lnsXY\",\"type\":\"lens\",\"references\":[{\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\",\"name\":\"indexpattern-datasource-current-indexpattern\"},{\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\",\"name\":\"indexpattern-datasource-layer-c4980372-cac8-4d40-9af9-3807ed3018da\"},{\"name\":\"filter-index-pattern-0\",\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\"},{\"name\":\"filter-index-pattern-1\",\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\"}],\"state\":{\"visualization\":{\"title\":\"Empty XY chart\",\"legend\":{\"isVisible\":true,\"position\":\"right\",\"maxLines\":2},\"valueLabels\":\"hide\",\"preferredSeriesType\":\"bar_stacked\",\"layers\":[{\"layerId\":\"c4980372-cac8-4d40-9af9-3807ed3018da\",\"accessors\":[\"b9310197-2230-4fa6-872a-4ec4bb9445d2\"],\"position\":\"top\",\"seriesType\":\"line\",\"showGridlines\":false,\"layerType\":\"data\",\"xAccessor\":\"93b86a22-84d3-4551-9dd1-75520c511c9e\",\"splitAccessor\":\"be4b452c-18a7-4999-9e10-67d923b0206e\"}],\"yRightExtent\":{\"mode\":\"full\"},\"yLeftExtent\":{\"mode\":\"full\"}},\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filters\":[{\"meta\":{\"alias\":null,\"negate\":false,\"disabled\":false,\"type\":\"phrase\",\"key\":\"level\",\"params\":{\"query\":\"ACCESS\"},\"indexRefName\":\"filter-index-pattern-0\"},\"query\":{\"match_phrase\":{\"level\":\"ACCESS\"}},\"$state\":{\"store\":\"appState\"}},{\"meta\":{\"alias\":null,\"negate\":false,\"disabled\":false,\"type\":\"phrase\",\"key\":\"kubernetes.container_name\",\"params\":{\"query\":\"signup\"},\"indexRefName\":\"filter-index-pattern-1\"},\"query\":{\"match_phrase\":{\"kubernetes.container_name\":\"signup\"}},\"$state\":{\"store\":\"appState\"}}],\"datasourceStates\":{\"indexpattern\":{\"layers\":{\"c4980372-cac8-4d40-9af9-3807ed3018da\":{\"columns\":{\"93b86a22-84d3-4551-9dd1-75520c511c9e\":{\"label\":\"@timestamp\",\"dataType\":\"date\",\"operationType\":\"date_histogram\",\"sourceField\":\"@timestamp\",\"isBucketed\":true,\"scale\":\"interval\",\"params\":{\"interval\":\"auto\"}},\"b9310197-2230-4fa6-872a-4ec4bb9445d2\":{\"label\":\"Count of records\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"Records\"},\"be4b452c-18a7-4999-9e10-67d923b0206e\":{\"label\":\"Top values of kubernetes.pod_name.keyword\",\"dataType\":\"string\",\"operationType\":\"terms\",\"scale\":\"ordinal\",\"sourceField\":\"kubernetes.pod_name.keyword\",\"isBucketed\":true,\"params\":{\"size\":3,\"orderBy\":{\"type\":\"column\",\"columnId\":\"b9310197-2230-4fa6-872a-4ec4bb9445d2\"},\"orderDirection\":\"desc\",\"otherBucket\":true,\"missingBucket\":false}}},\"columnOrder\":[\"be4b452c-18a7-4999-9e10-67d923b0206e\",\"93b86a22-84d3-4551-9dd1-75520c511c9e\",\"b9310197-2230-4fa6-872a-4ec4bb9445d2\"],\"incompleteColumns\":{}}}}}}},\"hidePanelTitles\":false,\"enhancements\":{}},\"title\":\"Timechart of count of records in signup pods\"},{\"version\":\"7.17.2\",\"type\":\"lens\",\"gridData\":{\"x\":24,\"y\":68,\"w\":24,\"h\":13,\"i\":\"4685b742-cc9b-47e7-886c-63a5eeb2c0ba\"},\"panelIndex\":\"4685b742-cc9b-47e7-886c-63a5eeb2c0ba\",\"embeddableConfig\":{\"attributes\":{\"title\":\"\",\"visualizationType\":\"lnsXY\",\"type\":\"lens\",\"references\":[{\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\",\"name\":\"indexpattern-datasource-current-indexpattern\"},{\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\",\"name\":\"indexpattern-datasource-layer-48821bb2-7197-4327-89d4-053c94134a64\"},{\"name\":\"filter-index-pattern-0\",\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\"},{\"name\":\"filter-index-pattern-1\",\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\"}],\"state\":{\"visualization\":{\"title\":\"Empty XY chart\",\"legend\":{\"isVisible\":true,\"position\":\"right\",\"maxLines\":2},\"valueLabels\":\"hide\",\"preferredSeriesType\":\"line\",\"layers\":[{\"layerId\":\"48821bb2-7197-4327-89d4-053c94134a64\",\"accessors\":[\"ee750da8-5e1d-4624-85f2-74f45e3b9c0d\"],\"position\":\"top\",\"seriesType\":\"line\",\"showGridlines\":false,\"layerType\":\"data\",\"xAccessor\":\"a4259463-f830-4456-ae65-ffb80e0e1e14\",\"splitAccessor\":\"3dec89a6-7b8e-4fb1-87a0-9ee162461cc0\"}],\"yRightExtent\":{\"mode\":\"full\"},\"yLeftExtent\":{\"mode\":\"full\"}},\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filters\":[{\"meta\":{\"alias\":null,\"negate\":false,\"disabled\":false,\"type\":\"phrase\",\"key\":\"kubernetes.container_name\",\"params\":{\"query\":\"keymanager\"},\"indexRefName\":\"filter-index-pattern-0\"},\"query\":{\"match_phrase\":{\"kubernetes.container_name\":\"keymanager\"}},\"$state\":{\"store\":\"appState\"}},{\"meta\":{\"alias\":null,\"negate\":false,\"disabled\":false,\"type\":\"phrase\",\"key\":\"level\",\"params\":{\"query\":\"ACCESS\"},\"indexRefName\":\"filter-index-pattern-1\"},\"query\":{\"match_phrase\":{\"level\":\"ACCESS\"}},\"$state\":{\"store\":\"appState\"}}],\"datasourceStates\":{\"indexpattern\":{\"layers\":{\"48821bb2-7197-4327-89d4-053c94134a64\":{\"columns\":{\"a4259463-f830-4456-ae65-ffb80e0e1e14\":{\"label\":\"@timestamp\",\"dataType\":\"date\",\"operationType\":\"date_histogram\",\"sourceField\":\"@timestamp\",\"isBucketed\":true,\"scale\":\"interval\",\"params\":{\"interval\":\"auto\"}},\"ee750da8-5e1d-4624-85f2-74f45e3b9c0d\":{\"label\":\"Count of records\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"Records\"},\"3dec89a6-7b8e-4fb1-87a0-9ee162461cc0\":{\"label\":\"Top values of kubernetes.pod_name.keyword\",\"dataType\":\"string\",\"operationType\":\"terms\",\"scale\":\"ordinal\",\"sourceField\":\"kubernetes.pod_name.keyword\",\"isBucketed\":true,\"params\":{\"size\":3,\"orderBy\":{\"type\":\"column\",\"columnId\":\"ee750da8-5e1d-4624-85f2-74f45e3b9c0d\"},\"orderDirection\":\"desc\",\"otherBucket\":true,\"missingBucket\":false}}},\"columnOrder\":[\"3dec89a6-7b8e-4fb1-87a0-9ee162461cc0\",\"a4259463-f830-4456-ae65-ffb80e0e1e14\",\"ee750da8-5e1d-4624-85f2-74f45e3b9c0d\"],\"incompleteColumns\":{}}}}}}},\"hidePanelTitles\":false,\"enhancements\":{}},\"title\":\"Timechart of count of records in keymanager pods\"},{\"version\":\"7.17.2\",\"type\":\"lens\",\"gridData\":{\"x\":0,\"y\":81,\"w\":24,\"h\":13,\"i\":\"5f458997-f26e-4d28-907a-95301a9c8e3b\"},\"panelIndex\":\"5f458997-f26e-4d28-907a-95301a9c8e3b\",\"embeddableConfig\":{\"attributes\":{\"title\":\"\",\"visualizationType\":\"lnsXY\",\"type\":\"lens\",\"references\":[{\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\",\"name\":\"indexpattern-datasource-current-indexpattern\"},{\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\",\"name\":\"indexpattern-datasource-layer-48821bb2-7197-4327-89d4-053c94134a64\"},{\"name\":\"filter-index-pattern-0\",\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\"},{\"name\":\"filter-index-pattern-1\",\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\"}],\"state\":{\"visualization\":{\"title\":\"Empty XY chart\",\"legend\":{\"isVisible\":true,\"position\":\"right\",\"maxLines\":2},\"valueLabels\":\"hide\",\"preferredSeriesType\":\"line\",\"layers\":[{\"layerId\":\"48821bb2-7197-4327-89d4-053c94134a64\",\"accessors\":[\"ee750da8-5e1d-4624-85f2-74f45e3b9c0d\"],\"position\":\"top\",\"seriesType\":\"line\",\"showGridlines\":false,\"layerType\":\"data\",\"xAccessor\":\"a4259463-f830-4456-ae65-ffb80e0e1e14\",\"splitAccessor\":\"3dec89a6-7b8e-4fb1-87a0-9ee162461cc0\"}],\"yRightExtent\":{\"mode\":\"full\"},\"yLeftExtent\":{\"mode\":\"full\"}},\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filters\":[{\"meta\":{\"alias\":null,\"negate\":false,\"disabled\":false,\"type\":\"phrase\",\"key\":\"kubernetes.container_name\",\"params\":{\"query\":\"identity\"},\"indexRefName\":\"filter-index-pattern-0\"},\"query\":{\"match_phrase\":{\"kubernetes.container_name\":\"identity\"}},\"$state\":{\"store\":\"appState\"}},{\"meta\":{\"alias\":null,\"negate\":false,\"disabled\":false,\"type\":\"phrase\",\"key\":\"level\",\"params\":{\"query\":\"ACCESS\"},\"indexRefName\":\"filter-index-pattern-1\"},\"query\":{\"match_phrase\":{\"level\":\"ACCESS\"}},\"$state\":{\"store\":\"appState\"}}],\"datasourceStates\":{\"indexpattern\":{\"layers\":{\"48821bb2-7197-4327-89d4-053c94134a64\":{\"columns\":{\"a4259463-f830-4456-ae65-ffb80e0e1e14\":{\"label\":\"@timestamp\",\"dataType\":\"date\",\"operationType\":\"date_histogram\",\"sourceField\":\"@timestamp\",\"isBucketed\":true,\"scale\":\"interval\",\"params\":{\"interval\":\"auto\"}},\"ee750da8-5e1d-4624-85f2-74f45e3b9c0d\":{\"label\":\"Count of records\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"Records\"},\"3dec89a6-7b8e-4fb1-87a0-9ee162461cc0\":{\"label\":\"Top values of kubernetes.pod_name.keyword\",\"dataType\":\"string\",\"operationType\":\"terms\",\"scale\":\"ordinal\",\"sourceField\":\"kubernetes.pod_name.keyword\",\"isBucketed\":true,\"params\":{\"size\":3,\"orderBy\":{\"type\":\"column\",\"columnId\":\"ee750da8-5e1d-4624-85f2-74f45e3b9c0d\"},\"orderDirection\":\"desc\",\"otherBucket\":true,\"missingBucket\":false}}},\"columnOrder\":[\"3dec89a6-7b8e-4fb1-87a0-9ee162461cc0\",\"a4259463-f830-4456-ae65-ffb80e0e1e14\",\"ee750da8-5e1d-4624-85f2-74f45e3b9c0d\"],\"incompleteColumns\":{}}}}}}},\"hidePanelTitles\":false,\"enhancements\":{}},\"title\":\"Timechart of count of records in Identity pods\"},{\"version\":\"7.17.2\",\"type\":\"lens\",\"gridData\":{\"x\":0,\"y\":94,\"w\":48,\"h\":8,\"i\":\"8f054fb9-654c-4670-a157-eb6ebf195151\"},\"panelIndex\":\"8f054fb9-654c-4670-a157-eb6ebf195151\",\"embeddableConfig\":{\"attributes\":{\"title\":\"\",\"visualizationType\":\"lnsDatatable\",\"type\":\"lens\",\"references\":[{\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\",\"name\":\"indexpattern-datasource-current-indexpattern\"},{\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\",\"name\":\"indexpattern-datasource-layer-fecbcb89-75ee-40da-ab29-49f4f21633d9\"},{\"name\":\"filter-index-pattern-0\",\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\"},{\"name\":\"filter-index-pattern-1\",\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\"}],\"state\":{\"visualization\":{\"columns\":[{\"columnId\":\"b49d998f-0d29-4758-a239-c5c2c9caa140\",\"isTransposed\":false,\"width\":473.5},{\"columnId\":\"45217ab9-ddae-47f4-8e52-4d988afecadc\",\"isTransposed\":false}],\"layerId\":\"fecbcb89-75ee-40da-ab29-49f4f21633d9\",\"layerType\":\"data\"},\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filters\":[{\"meta\":{\"alias\":null,\"negate\":false,\"disabled\":false,\"type\":\"phrase\",\"key\":\"kubernetes.container_name\",\"params\":{\"query\":\"signup\"},\"indexRefName\":\"filter-index-pattern-0\"},\"query\":{\"match_phrase\":{\"kubernetes.container_name\":\"signup\"}},\"$state\":{\"store\":\"appState\"}},{\"meta\":{\"alias\":null,\"negate\":false,\"disabled\":false,\"type\":\"phrase\",\"key\":\"level\",\"params\":{\"query\":\"ERROR\"},\"indexRefName\":\"filter-index-pattern-1\"},\"query\":{\"match_phrase\":{\"level\":\"ERROR\"}},\"$state\":{\"store\":\"appState\"}}],\"datasourceStates\":{\"indexpattern\":{\"layers\":{\"fecbcb89-75ee-40da-ab29-49f4f21633d9\":{\"columns\":{\"b49d998f-0d29-4758-a239-c5c2c9caa140\":{\"label\":\"Top values of message.keyword\",\"dataType\":\"string\",\"operationType\":\"terms\",\"scale\":\"ordinal\",\"sourceField\":\"message.keyword\",\"isBucketed\":true,\"params\":{\"size\":5,\"orderBy\":{\"type\":\"column\",\"columnId\":\"45217ab9-ddae-47f4-8e52-4d988afecadc\"},\"orderDirection\":\"desc\",\"otherBucket\":true,\"missingBucket\":false}},\"45217ab9-ddae-47f4-8e52-4d988afecadc\":{\"label\":\"Count of records\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"Records\"}},\"columnOrder\":[\"b49d998f-0d29-4758-a239-c5c2c9caa140\",\"45217ab9-ddae-47f4-8e52-4d988afecadc\"],\"incompleteColumns\":{}}}}}}},\"hidePanelTitles\":false,\"enhancements\":{}},\"title\":\"Error messages at signup services\"},{\"version\":\"7.17.2\",\"type\":\"lens\",\"gridData\":{\"x\":0,\"y\":102,\"w\":48,\"h\":8,\"i\":\"55cf0ba4-12b5-41eb-9fd7-05af4188f8ec\"},\"panelIndex\":\"55cf0ba4-12b5-41eb-9fd7-05af4188f8ec\",\"embeddableConfig\":{\"attributes\":{\"title\":\"\",\"visualizationType\":\"lnsDatatable\",\"type\":\"lens\",\"references\":[{\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\",\"name\":\"indexpattern-datasource-current-indexpattern\"},{\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\",\"name\":\"indexpattern-datasource-layer-fecbcb89-75ee-40da-ab29-49f4f21633d9\"},{\"name\":\"filter-index-pattern-0\",\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\"},{\"name\":\"filter-index-pattern-1\",\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\"}],\"state\":{\"visualization\":{\"columns\":[{\"columnId\":\"b49d998f-0d29-4758-a239-c5c2c9caa140\",\"isTransposed\":false,\"width\":473.5},{\"columnId\":\"45217ab9-ddae-47f4-8e52-4d988afecadc\",\"isTransposed\":false}],\"layerId\":\"fecbcb89-75ee-40da-ab29-49f4f21633d9\",\"layerType\":\"data\"},\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filters\":[{\"meta\":{\"alias\":null,\"negate\":false,\"disabled\":false,\"type\":\"phrase\",\"key\":\"kubernetes.container_name\",\"params\":{\"query\":\"keymanager\"},\"indexRefName\":\"filter-index-pattern-0\"},\"query\":{\"match_phrase\":{\"kubernetes.container_name\":\"keymanager\"}},\"$state\":{\"store\":\"appState\"}},{\"meta\":{\"alias\":null,\"negate\":false,\"disabled\":false,\"type\":\"phrase\",\"key\":\"level\",\"params\":{\"query\":\"ERROR\"},\"indexRefName\":\"filter-index-pattern-1\"},\"query\":{\"match_phrase\":{\"level\":\"ERROR\"}},\"$state\":{\"store\":\"appState\"}}],\"datasourceStates\":{\"indexpattern\":{\"layers\":{\"fecbcb89-75ee-40da-ab29-49f4f21633d9\":{\"columns\":{\"b49d998f-0d29-4758-a239-c5c2c9caa140\":{\"label\":\"Top values of message.keyword\",\"dataType\":\"string\",\"operationType\":\"terms\",\"scale\":\"ordinal\",\"sourceField\":\"message.keyword\",\"isBucketed\":true,\"params\":{\"size\":5,\"orderBy\":{\"type\":\"column\",\"columnId\":\"45217ab9-ddae-47f4-8e52-4d988afecadc\"},\"orderDirection\":\"desc\",\"otherBucket\":true,\"missingBucket\":false}},\"45217ab9-ddae-47f4-8e52-4d988afecadc\":{\"label\":\"Count of records\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"Records\"}},\"columnOrder\":[\"b49d998f-0d29-4758-a239-c5c2c9caa140\",\"45217ab9-ddae-47f4-8e52-4d988afecadc\"],\"incompleteColumns\":{}}}}}}},\"hidePanelTitles\":false,\"enhancements\":{}},\"title\":\"Error messages at Keymanager services\"},{\"version\":\"7.17.2\",\"type\":\"lens\",\"gridData\":{\"x\":0,\"y\":110,\"w\":48,\"h\":8,\"i\":\"57a8bd9d-2153-4623-bb8c-fdbcd52d8da7\"},\"panelIndex\":\"57a8bd9d-2153-4623-bb8c-fdbcd52d8da7\",\"embeddableConfig\":{\"attributes\":{\"title\":\"\",\"visualizationType\":\"lnsDatatable\",\"type\":\"lens\",\"references\":[{\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\",\"name\":\"indexpattern-datasource-current-indexpattern\"},{\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\",\"name\":\"indexpattern-datasource-layer-fecbcb89-75ee-40da-ab29-49f4f21633d9\"},{\"name\":\"filter-index-pattern-0\",\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\"},{\"name\":\"filter-index-pattern-1\",\"type\":\"index-pattern\",\"id\":\"1edfabd0-c3d8-11ec-a947-83cd2093795e\"}],\"state\":{\"visualization\":{\"columns\":[{\"columnId\":\"b49d998f-0d29-4758-a239-c5c2c9caa140\",\"isTransposed\":false,\"width\":473.5},{\"columnId\":\"45217ab9-ddae-47f4-8e52-4d988afecadc\",\"isTransposed\":false}],\"layerId\":\"fecbcb89-75ee-40da-ab29-49f4f21633d9\",\"layerType\":\"data\"},\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filters\":[{\"meta\":{\"alias\":null,\"negate\":false,\"disabled\":false,\"type\":\"phrase\",\"key\":\"kubernetes.container_name\",\"params\":{\"query\":\"identity\"},\"indexRefName\":\"filter-index-pattern-0\"},\"query\":{\"match_phrase\":{\"kubernetes.container_name\":\"identity\"}},\"$state\":{\"store\":\"appState\"}},{\"meta\":{\"alias\":null,\"negate\":false,\"disabled\":false,\"type\":\"phrase\",\"key\":\"level\",\"params\":{\"query\":\"ERROR\"},\"indexRefName\":\"filter-index-pattern-1\"},\"query\":{\"match_phrase\":{\"level\":\"ERROR\"}},\"$state\":{\"store\":\"appState\"}}],\"datasourceStates\":{\"indexpattern\":{\"layers\":{\"fecbcb89-75ee-40da-ab29-49f4f21633d9\":{\"columns\":{\"b49d998f-0d29-4758-a239-c5c2c9caa140\":{\"label\":\"Top values of message.keyword\",\"dataType\":\"string\",\"operationType\":\"terms\",\"scale\":\"ordinal\",\"sourceField\":\"message.keyword\",\"isBucketed\":true,\"params\":{\"size\":10,\"orderBy\":{\"type\":\"column\",\"columnId\":\"45217ab9-ddae-47f4-8e52-4d988afecadc\"},\"orderDirection\":\"desc\",\"otherBucket\":true,\"missingBucket\":false}},\"45217ab9-ddae-47f4-8e52-4d988afecadc\":{\"label\":\"Count of records\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"Records\"}},\"columnOrder\":[\"b49d998f-0d29-4758-a239-c5c2c9caa140\",\"45217ab9-ddae-47f4-8e52-4d988afecadc\"],\"incompleteColumns\":{}}}}}}},\"hidePanelTitles\":false,\"enhancements\":{}},\"title\":\"Error messages at identity services\"}]","timeRestore":false,"title":"SignUpServices-camdgc-perf-performancestats","version":1},"coreMigrationVersion":"7.17.2","id":"aa043f20-e2bf-11ee-a7b6-55bd684bb84b","migrationVersion":{"dashboard":"7.17.0"},"references":[{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"c831dd3f-0c2f-4c78-ab68-ce60291392a6:indexpattern-datasource-current-indexpattern","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"c831dd3f-0c2f-4c78-ab68-ce60291392a6:indexpattern-datasource-layer-fecbcb89-75ee-40da-ab29-49f4f21633d9","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"c831dd3f-0c2f-4c78-ab68-ce60291392a6:filter-index-pattern-0","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"c831dd3f-0c2f-4c78-ab68-ce60291392a6:filter-index-pattern-1","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"c831dd3f-0c2f-4c78-ab68-ce60291392a6:filter-index-pattern-2","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"ebf25004-292a-4991-9656-4764b56af2c2:indexpattern-datasource-current-indexpattern","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"ebf25004-292a-4991-9656-4764b56af2c2:indexpattern-datasource-layer-e915f543-04e5-4a74-a6cd-3787979fcc44","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"ebf25004-292a-4991-9656-4764b56af2c2:filter-index-pattern-0","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"ebf25004-292a-4991-9656-4764b56af2c2:filter-index-pattern-1","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"683ca9d6-b613-4620-9fae-931e804336be:indexpattern-datasource-current-indexpattern","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"683ca9d6-b613-4620-9fae-931e804336be:indexpattern-datasource-layer-33d092ea-8c94-4e59-8325-3aaec8ab2f75","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"683ca9d6-b613-4620-9fae-931e804336be:filter-index-pattern-0","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"683ca9d6-b613-4620-9fae-931e804336be:filter-index-pattern-1","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"6fcf763b-dec2-4874-8931-57c71a01a0dc:indexpattern-datasource-current-indexpattern","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"6fcf763b-dec2-4874-8931-57c71a01a0dc:indexpattern-datasource-layer-16a35c94-24e1-41c9-87d9-7bd2dcf08005","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"6fcf763b-dec2-4874-8931-57c71a01a0dc:filter-index-pattern-0","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"6fcf763b-dec2-4874-8931-57c71a01a0dc:filter-index-pattern-1","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"6fcf763b-dec2-4874-8931-57c71a01a0dc:filter-index-pattern-2","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"bfcc0729-6f9e-43ec-b07d-beaba1722f14:indexpattern-datasource-current-indexpattern","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"bfcc0729-6f9e-43ec-b07d-beaba1722f14:indexpattern-datasource-layer-c4980372-cac8-4d40-9af9-3807ed3018da","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"bfcc0729-6f9e-43ec-b07d-beaba1722f14:filter-index-pattern-0","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"bfcc0729-6f9e-43ec-b07d-beaba1722f14:filter-index-pattern-1","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"2cfc43b0-d81b-46ef-af3a-f85f87b88f5b:indexpattern-datasource-current-indexpattern","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"2cfc43b0-d81b-46ef-af3a-f85f87b88f5b:indexpattern-datasource-layer-bb7f2c9d-af50-4078-bd4b-2f19cb148dea","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"2cfc43b0-d81b-46ef-af3a-f85f87b88f5b:filter-index-pattern-0","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"79487bc8-bec4-460d-9196-c8f9dbd1ab72:indexpattern-datasource-current-indexpattern","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"79487bc8-bec4-460d-9196-c8f9dbd1ab72:indexpattern-datasource-layer-48821bb2-7197-4327-89d4-053c94134a64","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"79487bc8-bec4-460d-9196-c8f9dbd1ab72:filter-index-pattern-0","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"79487bc8-bec4-460d-9196-c8f9dbd1ab72:filter-index-pattern-1","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"415fc015-c5b9-407c-8ac7-957dc2cb80f0:indexpattern-datasource-current-indexpattern","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"415fc015-c5b9-407c-8ac7-957dc2cb80f0:indexpattern-datasource-layer-17f75ad3-c05a-42f4-8be0-6e1b753f1e3f","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"415fc015-c5b9-407c-8ac7-957dc2cb80f0:filter-index-pattern-0","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"415fc015-c5b9-407c-8ac7-957dc2cb80f0:filter-index-pattern-1","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"087ef184-2c29-43ab-ac3e-3144a8c1a1cd:indexpattern-datasource-current-indexpattern","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"087ef184-2c29-43ab-ac3e-3144a8c1a1cd:indexpattern-datasource-layer-48821bb2-7197-4327-89d4-053c94134a64","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"087ef184-2c29-43ab-ac3e-3144a8c1a1cd:filter-index-pattern-0","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"087ef184-2c29-43ab-ac3e-3144a8c1a1cd:filter-index-pattern-1","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"80165ce5-f5fb-48ab-8803-7f2fb97d555a:indexpattern-datasource-current-indexpattern","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"80165ce5-f5fb-48ab-8803-7f2fb97d555a:indexpattern-datasource-layer-c4980372-cac8-4d40-9af9-3807ed3018da","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"80165ce5-f5fb-48ab-8803-7f2fb97d555a:filter-index-pattern-0","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"80165ce5-f5fb-48ab-8803-7f2fb97d555a:filter-index-pattern-1","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"4685b742-cc9b-47e7-886c-63a5eeb2c0ba:indexpattern-datasource-current-indexpattern","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"4685b742-cc9b-47e7-886c-63a5eeb2c0ba:indexpattern-datasource-layer-48821bb2-7197-4327-89d4-053c94134a64","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"4685b742-cc9b-47e7-886c-63a5eeb2c0ba:filter-index-pattern-0","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"4685b742-cc9b-47e7-886c-63a5eeb2c0ba:filter-index-pattern-1","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"5f458997-f26e-4d28-907a-95301a9c8e3b:indexpattern-datasource-current-indexpattern","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"5f458997-f26e-4d28-907a-95301a9c8e3b:indexpattern-datasource-layer-48821bb2-7197-4327-89d4-053c94134a64","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"5f458997-f26e-4d28-907a-95301a9c8e3b:filter-index-pattern-0","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"5f458997-f26e-4d28-907a-95301a9c8e3b:filter-index-pattern-1","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"8f054fb9-654c-4670-a157-eb6ebf195151:indexpattern-datasource-current-indexpattern","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"8f054fb9-654c-4670-a157-eb6ebf195151:indexpattern-datasource-layer-fecbcb89-75ee-40da-ab29-49f4f21633d9","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"8f054fb9-654c-4670-a157-eb6ebf195151:filter-index-pattern-0","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"8f054fb9-654c-4670-a157-eb6ebf195151:filter-index-pattern-1","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"55cf0ba4-12b5-41eb-9fd7-05af4188f8ec:indexpattern-datasource-current-indexpattern","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"55cf0ba4-12b5-41eb-9fd7-05af4188f8ec:indexpattern-datasource-layer-fecbcb89-75ee-40da-ab29-49f4f21633d9","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"55cf0ba4-12b5-41eb-9fd7-05af4188f8ec:filter-index-pattern-0","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"55cf0ba4-12b5-41eb-9fd7-05af4188f8ec:filter-index-pattern-1","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"57a8bd9d-2153-4623-bb8c-fdbcd52d8da7:indexpattern-datasource-current-indexpattern","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"57a8bd9d-2153-4623-bb8c-fdbcd52d8da7:indexpattern-datasource-layer-fecbcb89-75ee-40da-ab29-49f4f21633d9","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"57a8bd9d-2153-4623-bb8c-fdbcd52d8da7:filter-index-pattern-0","type":"index-pattern"},{"id":"1edfabd0-c3d8-11ec-a947-83cd2093795e","name":"57a8bd9d-2153-4623-bb8c-fdbcd52d8da7:filter-index-pattern-1","type":"index-pattern"}],"type":"dashboard","updated_at":"2024-03-28T08:51:57.910Z","version":"WzM2MDQxLDdd"} +{"excludedObjects":[],"excludedObjectsCount":0,"exportedCount":2,"missingRefCount":0,"missingReferences":[]} \ No newline at end of file diff --git a/deploy/restart-all.sh b/deploy/restart-all.sh new file mode 100755 index 00000000..467f53c3 --- /dev/null +++ b/deploy/restart-all.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +# restarts signup services in correct order +## Usage: ./restart-all.sh [kubeconfig] + +if [ $# -ge 1 ] ; then + export KUBECONFIG=$1 +fi + +function Restarting_All() { + ROOT_DIR=`pwd` + + declare -a module=("signup-service" + "signup-ui" + ) + + echo restarting signup services + + for i in "${module[@]}" + do + cd $ROOT_DIR/"$i" + ./restart.sh + done + + echo All signup services restarted sucessfully. + return 0 +} + +# set commands for error handling. +set -e +set -o errexit ## set -e : exit the script if any statement returns a non-true return value +set -o nounset ## set -u : exit the script if you try to use an uninitialised variable +set -o errtrace # trace ERR through 'time command' and other functions +set -o pipefail # trace ERR through pipes +Restarting_All # calling function diff --git a/deploy/signup-service/delete.sh b/deploy/signup-service/delete.sh new file mode 100755 index 00000000..3b636cce --- /dev/null +++ b/deploy/signup-service/delete.sh @@ -0,0 +1,31 @@ +#!/bin/bash +# Uninstalls all signup helm charts +## Usage: ./delete.sh [kubeconfig] + +if [ $# -ge 1 ] ; then + export KUBECONFIG=$1 +fi + +function Deleting_signup() { + NS=signup + while true; do + read -p "Are you sure you want to delete all signup helm charts?(Y/n) " yn + if [[ $yn = "Y" ]] || [[ $yn = "y" ]]; + then + helm -n $NS delete signup + break + else + break + fi + done + return 0 +} + +# set commands for error handling. +set -e +set -o errexit ## set -e : exit the script if any statement returns a non-true return value +set -o nounset ## set -u : exit the script if you try to use an uninitialised variable +set -o errtrace # trace ERR through 'time command' and other functions +set -o pipefail # trace ERR through pipes +Deleting_signup # calling function + diff --git a/deploy/signup-service/install.sh b/deploy/signup-service/install.sh new file mode 100755 index 00000000..676fd1a8 --- /dev/null +++ b/deploy/signup-service/install.sh @@ -0,0 +1,90 @@ +#!/bin/bash +# Installs all signup helm charts +## Usage: ./install.sh [kubeconfig] + +if [ $# -ge 1 ] ; then + export KUBECONFIG=$1 +fi + +NS=signup +CHART_VERSION=0.0.1-develop + +function installing_signup() { + helm repo add mosip https://mosip.github.io/mosip-helm + helm repo update + + echo Create $NS namespace + kubectl create ns $NS || true + + while true; do + read -p "Is Prometheus Service Monitor Operator deployed in the k8s cluster? (y/n): " response + if [[ "$response" == "y" || "$response" == "Y" ]]; then + servicemonitorflag=true + break + elif [[ "$response" == "n" || "$response" == "N" ]]; then + servicemonitorflag=false + break + else + echo "Not a correct response. Please respond with y (yes) or n (no)." + fi + done + + echo "Do you have public domain & valid SSL? (Y/n) " + echo "Y: if you have public domain & valid ssl certificate" + echo "n: If you don't have a public domain and a valid SSL certificate. Note: It is recommended to use this option only in development environments." + read -p "" flag + + if [ -z "$flag" ]; then + echo "'flag' was provided; EXITING;" + exit 1; + fi + ENABLE_INSECURE='' + if [ "$flag" = "n" ]; then + ENABLE_INSECURE='--set enable_insecure=true'; + fi + + while true; do + read -p "Do you want to use the default plugins? (y/n): " ans + if [[ "$ans" == "y" || "$ans" == "Y" ]]; then + echo "Default plugins are listed below, please provide the correct plugin number." + echo "1. esignet-mock-plugin.jar" + echo "2. mosip-identity-plugin.jar" + read -p "Enter the plugin number: " plugin_no + while true; do + if [[ "$plugin_no" == "1" ]]; then + plugin_option="--set plugin_name_env=esignet-mock-plugin.jar" + break + elif [[ "$plugin_no" == "2" ]]; then + plugin_option="--set plugin_name_env=mosip-identity-plugin.jar" + break + else + echo "please provide the correct plugin number (1 or 2)." + fi + done + break + elif [[ "$ans" == "n" || "$ans" == "N" ]]; then + read -p "Provide the URL to download the plugins zip " plugin_url + read -p "Provide the plugin jar name (with extension eg., test-plugin.jar) " plugin_jar + plugin_option="--set pluginNameEnv=$plugin_jar --set pluginUrlEnv=$plugin_url" + break + else + echo " Invalid response. Please respond with y (yes) or n (no)." + fi + done + + + echo Installing signup + helm -n $NS install signup mosip/signup -f values.yaml --version $CHART_VERSION $ENABLE_INSECURE $plugin_option --set metrics.serviceMonitor.enabled=$servicemonitorflag --wait + kubectl -n $NS get deploy -o name | xargs -n1 -t kubectl -n $NS rollout status + + echo Installed signup + return 0 +} + +# set commands for error handling. +set -e +set -o errexit ## set -e : exit the script if any statement returns a non-true return value +set -o nounset ## set -u : exit the script if you try to use an uninitialised variable +set -o errtrace # trace ERR through 'time command' and other functions +set -o pipefail # trace ERR through pipes +installing_signup # calling function diff --git a/deploy/signup-service/restart.sh b/deploy/signup-service/restart.sh new file mode 100755 index 00000000..b4b7c752 --- /dev/null +++ b/deploy/signup-service/restart.sh @@ -0,0 +1,24 @@ +#!/bin/bash +# Restart the signup services + +if [ $# -ge 1 ] ; then + export KUBECONFIG=$1 +fi + +function Restarting_signup() { + NS=signup + kubectl -n $NS rollout restart deploy signup + + kubectl -n $NS get deploy -o name | xargs -n1 -t kubectl -n $NS rollout status + + echo Restarted signup services + return 0 +} + +# set commands for error handling. +set -e +set -o errexit ## set -e : exit the script if any statement returns a non-true return value +set -o nounset ## set -u : exit the script if you try to use an uninitialised variable +set -o errtrace # trace ERR through 'time command' and other functions +set -o pipefail # trace ERR through pipes +Restarting_signup # calling function \ No newline at end of file diff --git a/deploy/signup-service/values.yaml b/deploy/signup-service/values.yaml new file mode 100644 index 00000000..49c4500c --- /dev/null +++ b/deploy/signup-service/values.yaml @@ -0,0 +1,60 @@ +## Uncomment required parms added with single '#' when needed. +#image: +# registry: docker.io +# repository: mosipdev/signup-service +# tag: develop + +#extraEnvVars: | +# - name: MOSIP_ESIGNET_HOST +# valueFrom: +# configMapKeyRef: +# name: esignet-global +# key: mosip-esignet-host +# - name: MOSIP_SIGNUP_HOST +# valueFrom: +# configMapKeyRef: +# name: esignet-global +# key: mosip-signup-host +# - name: KEYCLOAK_EXTERNAL_URL +# valueFrom: +# configMapKeyRef: +# name: keycloak-host +# key: keycloak-external-url +# - name: MOSIP_SIGNUP_CAPTCHA_SITE_KEY +# valueFrom: +# secretKeyRef: +# name: signup-captcha +# key: signup-captcha-site-key +# - name: MOSIP_SIGNUP_OIDC_KEYSTORE_PWD +# valueFrom: +# secretKeyRef: +# name: signup-keystore-password +# key: signup-keystore-password +# - name: REDIS_HOST +# valueFrom: +# configMapKeyRef: +# name: redis-config +# key: redis-host +# - name: REDIS_PORT +# valueFrom: +# configMapKeyRef: +# name: redis-config +# key: redis-port +# - name: REDIS_PASSWORD +# valueFrom: +# secretKeyRef: +# name: redis +# key: redis-password +# - name: MOSIP_SIGNUP_CLIENT_SECRET +# valueFrom: +# secretKeyRef: +# name: keycloak-client-secrets +# key: mosip_signup_client_secret + +## ConfigMap with extra environment variables that used +## +#extraEnvVarsCM: [] + +## Secret with extra environment variables +## +#extraEnvVarsSecret: [] diff --git a/deploy/signup-ui/delete.sh b/deploy/signup-ui/delete.sh new file mode 100755 index 00000000..9b5504fb --- /dev/null +++ b/deploy/signup-ui/delete.sh @@ -0,0 +1,30 @@ +#!/bin/bash +# Uninstalls signup-ui helm charts +## Usage: ./delete.sh [kubeconfig] + +if [ $# -ge 1 ] ; then + export KUBECONFIG=$1 +fi + +function Deleting_signup-ui() { + NS=signup + while true; do + read -p "Are you sure you want to delete all signup-ui helm charts?(Y/n) " yn + if [[ $yn = "Y" ]] || [[ $yn = "y" ]]; + then + helm -n $NS delete signup-ui + break + else + break + fi + done + return 0 +} + +# set commands for error handling. +set -e +set -o errexit ## set -e : exit the script if any statement returns a non-true return value +set -o nounset ## set -u : exit the script if you try to use an uninitialised variable +set -o errtrace # trace ERR through 'time command' and other functions +set -o pipefail # trace ERR through pipes +Deleting_signup-ui # calling function diff --git a/deploy/signup-ui/install.sh b/deploy/signup-ui/install.sh new file mode 100755 index 00000000..615f192b --- /dev/null +++ b/deploy/signup-ui/install.sh @@ -0,0 +1,44 @@ +#!/bin/bash +# Installs signup-ui helm charts +## Usage: ./install.sh [kubeconfig] + +if [ $# -ge 1 ] ; then + export KUBECONFIG=$1 +fi + +function installing_signup-ui() { + NS=signup + CHART_VERSION=0.0.1-develop + + echo Create $NS namespace + kubectl create ns $NS || true + + echo Istio label + kubectl label ns $NS istio-injection=enabled --overwrite + + helm repo add mosip https://mosip.github.io/mosip-helm + helm repo update + + SIGNUP_HOST=$(kubectl -n $NS get cm esignet-global -o jsonpath={.data.mosip-signup-host}) + + echo Installing SIGNUP UI + helm -n $NS install signup-ui mosip/signup-ui \ + --set signup_ui.configmaps.signup-ui.REACT_APP_API_BASE_URL="http://signup.$NS/v1/signup" \ + --set signup_ui.configmaps.signup-ui.REACT_APP_SBI_DOMAIN_URI="http://signup.$NS" \ + --set signup_ui.configmaps.signup-ui.SIGNUP_UI_PUBLIC_URL=''\ + --set istio.hosts\[0\]=$SIGNUP_HOST \ + -f values.yaml --version $CHART_VERSION --wait + + kubectl -n $NS get deploy -o name | xargs -n1 -t kubectl -n $NS rollout status + + echo Installed signup-ui + return 0 +} + +# set commands for error handling. +set -e +set -o errexit ## set -e : exit the script if any statement returns a non-true return value +set -o nounset ## set -u : exit the script if you try to use an uninitialised variable +set -o errtrace # trace ERR through 'time command' and other functions +set -o pipefail # trace ERR through pipes +installing_signup-ui # calling function diff --git a/deploy/signup-ui/restart.sh b/deploy/signup-ui/restart.sh new file mode 100755 index 00000000..ee2802e4 --- /dev/null +++ b/deploy/signup-ui/restart.sh @@ -0,0 +1,25 @@ +#!/bin/bash +# Restart the signup-ui services + + +if [ $# -ge 1 ] ; then + export KUBECONFIG=$1 +fi + +function Restarting_signup-ui() { + NS=signup + kubectl -n $NS rollout restart deploy signup-ui + + kubectl -n $NS get deploy -o name | xargs -n1 -t kubectl -n $NS rollout status + + echo Restarted signup-ui services + return 0 +} + +# set commands for error handling. +set -e +set -o errexit ## set -e : exit the script if any statement returns a non-true return value +set -o nounset ## set -u : exit the script if you try to use an uninitialised variable +set -o errtrace # trace ERR through 'time command' and other functions +set -o pipefail # trace ERR through pipes +Restarting_signup-ui # calling function \ No newline at end of file diff --git a/deploy/signup-ui/values.yaml b/deploy/signup-ui/values.yaml new file mode 100644 index 00000000..2b5646ec --- /dev/null +++ b/deploy/signup-ui/values.yaml @@ -0,0 +1,49 @@ +## Uncomment required parms added with single '#' when needed. +#image: +# registry: docker.io +# repository: mosipdev/signup-ui +# tag: develop + +## Additional environment variables to set +## Example: +## extraEnvVars: +## - name: FOO +## value: "bar" +## +#extraEnvVars: [] + +## ConfigMap with extra environment variables +## +#extraEnvVarsCM: +# - signup-ui + +## Secret with extra environment variables +## +#extraEnvVarsSecret: [] + +#signup_ui: +# signup_ui_port: '3000' +# signup_service_host: 'signup.signup' +# i18n_url_env: '' +# theme_url_env: '' +# images_url_env: '' +# configmaps: +# signup-ui: +# REACT_APP_API_BASE_URL: 'http://signup.signup/v1/signup' +# REACT_APP_SBI_DOMAIN_URI: 'http://signup.$NS' +# SIGNUP_UI_PUBLIC_URL: '' +# SIGN_IN_WITH_ESIGNET_PLUGIN_URL: '' +## SIGNUP UI swagger should have only internal access. Hence linked to internal gateway +## We create a gateway for esignet specific URL(s) listed under `hosts` +#istio: +# enabled: true +# ingressController: +# name: ingressgateway +# gateways: +# - name: signup-ui-gateway +# protocol: HTTP +# portName: http +# port: 80 +# hosts: +# - signup.sandbox.xyz.net +# prefix: /