diff --git a/src/manifests.json b/src/manifests.json index aa56757..20581a6 100644 --- a/src/manifests.json +++ b/src/manifests.json @@ -1 +1 @@ -{"k8s/ci/database.yaml":{"isBinary":false,"fileName":"k8s/ci/database.yaml","originalFileName":"k8s/ci/database.yaml","content":"apiVersion: ydb.tech/v1alpha1\nkind: Database\nmetadata:\n name: database\nspec:\n monitoring:\n enabled: false\n image:\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\n domain: Root\n nodes: 3\n resources:\n storageUnits:\n - unitKind: ssd\n count: 1\n service:\n grpc:\n tls:\n enabled: false\n ipFamilyPolicy: SingleStack\n ipFamilies:\n - IPv4\n interconnect:\n tls:\n enabled: false\n ipFamilyPolicy: SingleStack\n ipFamilies:\n - IPv4\n status:\n ipFamilyPolicy: SingleStack\n ipFamilies:\n - IPv4\n additionalLabels:\n ydb-cluster: slo-storage\n ydb-cluster-monitor: slo-storage\n affinity:\n podAntiAffinity:\n requiredDuringSchedulingIgnoredDuringExecution:\n - labelSelector:\n matchExpressions:\n - key: ydb-cluster\n operator: In\n values:\n - slo-storage\n topologyKey: \"kubernetes.io/hostname\"\n storageClusterRef:\n name: storage\n"},"k8s/ci/grafana-renderer.yaml":{"isBinary":false,"fileName":"k8s/ci/grafana-renderer.yaml","originalFileName":"k8s/ci/grafana-renderer.yaml","content":"kind: Service\napiVersion: v1\nmetadata:\n name: grafana-renderer\nspec:\n selector:\n app: grafana-renderer\n ports:\n - port: 80\n targetPort: 8081\n---\napiVersion: apps/v1\nkind: Deployment\nmetadata:\n name: grafana-renderer\n labels:\n app: grafana-renderer\nspec:\n replicas: 1\n selector:\n matchLabels:\n app: grafana-renderer\n template:\n metadata:\n labels:\n app: grafana-renderer\n app.kubernetes.io/name: grafana-renderer\n spec:\n containers:\n - name: grafana-renderer\n image: grafana/grafana-image-renderer:latest\n ports:\n - containerPort: 8081\n"},"k8s/ci/grafana.yaml":{"isBinary":false,"fileName":"k8s/ci/grafana.yaml","originalFileName":"k8s/ci/grafana.yaml","content":"# https://github.com/grafana/helm-charts/blob/main/charts/grafana/values.yaml\ndatasources:\n datasources.yaml:\n apiVersion: 1\n datasources:\n - name: Prometheus\n type: prometheus\n url: http://prometheus-operated:9090\n access: proxy\n isDefault: true\n uid: prometheus\n jsonData:\n timeInterval: 5s\n\nadminUser: admin\nadminPassword: passw0rD\n\n# Use an existing secret for the admin user.\nadmin: {}\n\n# need this to take screenshots\nenv:\n GF_RENDERING_SERVER_URL: http://grafana-renderer/render\n GF_RENDERING_CALLBACK_URL: http://grafana:80/\n GF_LOG_FILTERS: rendering:debug\n\n# need to downgrade to take screenshots of dashboard, not only of panel\nimage:\n tag: 9.5.1\n\npersistence:\n enabled: false\n\ngrafana.ini:\n auth.anonymous:\n enabled: true\n org_name: Main Org.\n # Can't set custom org name due to grafana default config\n org_role: Admin\n\n## Configure grafana dashboard providers\n## ref: http://docs.grafana.org/administration/provisioning/#dashboards\n##\n## `path` must be /var/lib/grafana/dashboards/\n##\ndashboardProviders:\n dashboardproviders.yaml:\n apiVersion: 1\n providers:\n - name: \"default\"\n orgId: 1\n folder: \"\"\n type: file\n disableDeletion: false\n editable: true\n options:\n path: /var/lib/grafana/dashboards/default\n\n## Configure grafana dashboard to import\n## NOTE: To use dashboards you must also enable/configure dashboardProviders\n## ref: https://grafana.com/dashboards\n##\n## dashboards per provider, use provider name as key.\n##\ndashboards:\n default:\n slo:\n json: |-\n {\n \"annotations\": {\n \"list\": [\n {\n \"builtIn\": 1,\n \"datasource\": {\n \"type\": \"grafana\",\n \"uid\": \"-- Grafana --\"\n },\n \"enable\": true,\n \"hide\": true,\n \"iconColor\": \"rgba(0, 211, 255, 1)\",\n \"name\": \"Annotations & Alerts\",\n \"target\": {\n \"limit\": 100,\n \"matchAny\": false,\n \"tags\": [],\n \"type\": \"dashboard\"\n },\n \"type\": \"dashboard\"\n }\n ]\n },\n \"editable\": true,\n \"fiscalYearStartMonth\": 0,\n \"graphTooltip\": 0,\n \"links\": [],\n \"liveNow\": false,\n \"panels\": [\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"fieldConfig\": {\n \"defaults\": {\n \"color\": {\n \"mode\": \"palette-classic\"\n },\n \"custom\": {\n \"axisCenteredZero\": false,\n \"axisColorMode\": \"text\",\n \"axisLabel\": \"\",\n \"axisPlacement\": \"auto\",\n \"barAlignment\": 0,\n \"drawStyle\": \"line\",\n \"fillOpacity\": 0,\n \"gradientMode\": \"none\",\n \"hideFrom\": {\n \"legend\": false,\n \"tooltip\": false,\n \"viz\": false\n },\n \"lineInterpolation\": \"linear\",\n \"lineWidth\": 1,\n \"pointSize\": 5,\n \"scaleDistribution\": {\n \"type\": \"linear\"\n },\n \"showPoints\": \"auto\",\n \"spanNulls\": false,\n \"stacking\": {\n \"group\": \"A\",\n \"mode\": \"none\"\n },\n \"thresholdsStyle\": {\n \"mode\": \"off\"\n }\n },\n \"mappings\": [],\n \"thresholds\": {\n \"mode\": \"absolute\",\n \"steps\": [\n {\n \"color\": \"green\",\n \"value\": null\n },\n {\n \"color\": \"red\",\n \"value\": 80\n }\n ]\n }\n },\n \"overrides\": []\n },\n \"gridPos\": {\n \"h\": 9,\n \"w\": 12,\n \"x\": 0,\n \"y\": 0\n },\n \"id\": 12,\n \"options\": {\n \"legend\": {\n \"calcs\": [],\n \"displayMode\": \"list\",\n \"placement\": \"bottom\",\n \"showLegend\": true\n },\n \"tooltip\": {\n \"mode\": \"single\",\n \"sort\": \"none\"\n }\n },\n \"targets\": [\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"editorMode\": \"builder\",\n \"expr\": \"rate(oks[$__rate_interval]) > 0\",\n \"hide\": false,\n \"legendFormat\": \"({{sdk}}-{{sdkVersion}}) {{jobName}} OK\",\n \"range\": true,\n \"refId\": \"B\"\n },\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"editorMode\": \"builder\",\n \"expr\": \"rate(not_oks[$__rate_interval]) > 0\",\n \"hide\": false,\n \"legendFormat\": \"({{sdk}}-{{sdkVersion}}) {{jobName}} not OK\",\n \"range\": true,\n \"refId\": \"C\"\n }\n ],\n \"title\": \"SLO Requests RPS\",\n \"transformations\": [],\n \"type\": \"timeseries\"\n },\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"fieldConfig\": {\n \"defaults\": {\n \"color\": {\n \"mode\": \"palette-classic\"\n },\n \"custom\": {\n \"axisCenteredZero\": false,\n \"axisColorMode\": \"text\",\n \"axisLabel\": \"\",\n \"axisPlacement\": \"auto\",\n \"axisSoftMin\": 0,\n \"barAlignment\": 0,\n \"drawStyle\": \"line\",\n \"fillOpacity\": 0,\n \"gradientMode\": \"none\",\n \"hideFrom\": {\n \"legend\": false,\n \"tooltip\": false,\n \"viz\": false\n },\n \"lineInterpolation\": \"linear\",\n \"lineWidth\": 1,\n \"pointSize\": 5,\n \"scaleDistribution\": {\n \"type\": \"linear\"\n },\n \"showPoints\": \"auto\",\n \"spanNulls\": false,\n \"stacking\": {\n \"group\": \"A\",\n \"mode\": \"none\"\n },\n \"thresholdsStyle\": {\n \"mode\": \"off\"\n }\n },\n \"decimals\": 0,\n \"mappings\": [],\n \"thresholds\": {\n \"mode\": \"absolute\",\n \"steps\": [\n {\n \"color\": \"green\",\n \"value\": null\n },\n {\n \"color\": \"red\",\n \"value\": 80\n }\n ]\n }\n },\n \"overrides\": []\n },\n \"gridPos\": {\n \"h\": 9,\n \"w\": 12,\n \"x\": 12,\n \"y\": 0\n },\n \"id\": 14,\n \"options\": {\n \"legend\": {\n \"calcs\": [],\n \"displayMode\": \"list\",\n \"placement\": \"bottom\",\n \"showLegend\": true\n },\n \"tooltip\": {\n \"mode\": \"single\",\n \"sort\": \"none\"\n }\n },\n \"targets\": [\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"editorMode\": \"builder\",\n \"expr\": \"histogram_quantile(1, rate(attempts_bucket[$__rate_interval]))\",\n \"hide\": false,\n \"legendFormat\": \"{{sdk}}-{{sdkVersion}} {{jobName}}-{{status}}\",\n \"range\": true,\n \"refId\": \"A\"\n }\n ],\n \"title\": \"Attempts\",\n \"transformations\": [],\n \"type\": \"timeseries\"\n },\n {\n \"collapsed\": false,\n \"gridPos\": {\n \"h\": 1,\n \"w\": 24,\n \"x\": 0,\n \"y\": 9\n },\n \"id\": 7,\n \"panels\": [],\n \"title\": \"Latencies\",\n \"type\": \"row\"\n },\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"fieldConfig\": {\n \"defaults\": {\n \"color\": {\n \"mode\": \"palette-classic\"\n },\n \"custom\": {\n \"axisCenteredZero\": false,\n \"axisColorMode\": \"text\",\n \"axisLabel\": \"\",\n \"axisPlacement\": \"auto\",\n \"barAlignment\": 0,\n \"drawStyle\": \"line\",\n \"fillOpacity\": 0,\n \"gradientMode\": \"none\",\n \"hideFrom\": {\n \"legend\": false,\n \"tooltip\": false,\n \"viz\": false\n },\n \"lineInterpolation\": \"linear\",\n \"lineWidth\": 1,\n \"pointSize\": 5,\n \"scaleDistribution\": {\n \"type\": \"linear\"\n },\n \"showPoints\": \"auto\",\n \"spanNulls\": false,\n \"stacking\": {\n \"group\": \"A\",\n \"mode\": \"none\"\n },\n \"thresholdsStyle\": {\n \"mode\": \"off\"\n }\n },\n \"mappings\": [],\n \"thresholds\": {\n \"mode\": \"absolute\",\n \"steps\": [\n {\n \"color\": \"green\",\n \"value\": null\n },\n {\n \"color\": \"red\",\n \"value\": 80\n }\n ]\n }\n },\n \"overrides\": []\n },\n \"gridPos\": {\n \"h\": 8,\n \"w\": 12,\n \"x\": 0,\n \"y\": 10\n },\n \"id\": 4,\n \"options\": {\n \"legend\": {\n \"calcs\": [],\n \"displayMode\": \"list\",\n \"placement\": \"bottom\",\n \"showLegend\": true\n },\n \"tooltip\": {\n \"mode\": \"single\",\n \"sort\": \"none\"\n }\n },\n \"pluginVersion\": \"9.3.1\",\n \"targets\": [\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"editorMode\": \"builder\",\n \"expr\": \"latency{jobName=\\\"read\\\", status=\\\"ok\\\"} > 0\",\n \"legendFormat\": \"{{sdk}}-{{sdkVersion}}-p{{quantile}}\",\n \"range\": true,\n \"refId\": \"A\"\n }\n ],\n \"title\": \"Read Latencies (OK)\",\n \"type\": \"timeseries\"\n },\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"fieldConfig\": {\n \"defaults\": {\n \"color\": {\n \"mode\": \"palette-classic\"\n },\n \"custom\": {\n \"axisCenteredZero\": false,\n \"axisColorMode\": \"text\",\n \"axisLabel\": \"\",\n \"axisPlacement\": \"auto\",\n \"barAlignment\": 0,\n \"drawStyle\": \"line\",\n \"fillOpacity\": 0,\n \"gradientMode\": \"none\",\n \"hideFrom\": {\n \"legend\": false,\n \"tooltip\": false,\n \"viz\": false\n },\n \"lineInterpolation\": \"linear\",\n \"lineWidth\": 1,\n \"pointSize\": 5,\n \"scaleDistribution\": {\n \"type\": \"linear\"\n },\n \"showPoints\": \"auto\",\n \"spanNulls\": false,\n \"stacking\": {\n \"group\": \"A\",\n \"mode\": \"none\"\n },\n \"thresholdsStyle\": {\n \"mode\": \"off\"\n }\n },\n \"mappings\": [],\n \"thresholds\": {\n \"mode\": \"absolute\",\n \"steps\": [\n {\n \"color\": \"green\",\n \"value\": null\n },\n {\n \"color\": \"red\",\n \"value\": 80\n }\n ]\n }\n },\n \"overrides\": []\n },\n \"gridPos\": {\n \"h\": 8,\n \"w\": 12,\n \"x\": 12,\n \"y\": 10\n },\n \"id\": 5,\n \"options\": {\n \"legend\": {\n \"calcs\": [],\n \"displayMode\": \"list\",\n \"placement\": \"bottom\",\n \"showLegend\": true\n },\n \"tooltip\": {\n \"mode\": \"single\",\n \"sort\": \"none\"\n }\n },\n \"targets\": [\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"editorMode\": \"builder\",\n \"expr\": \"latency{jobName=\\\"write\\\", status=\\\"ok\\\"} > 0\",\n \"legendFormat\": \"{{sdk}}-{{sdkVersion}}-p{{quantile}}\",\n \"range\": true,\n \"refId\": \"A\"\n }\n ],\n \"title\": \"Write Latencies (OK)\",\n \"type\": \"timeseries\"\n },\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"fieldConfig\": {\n \"defaults\": {\n \"color\": {\n \"mode\": \"palette-classic\"\n },\n \"custom\": {\n \"axisCenteredZero\": false,\n \"axisColorMode\": \"text\",\n \"axisLabel\": \"\",\n \"axisPlacement\": \"auto\",\n \"barAlignment\": 0,\n \"drawStyle\": \"line\",\n \"fillOpacity\": 0,\n \"gradientMode\": \"none\",\n \"hideFrom\": {\n \"legend\": false,\n \"tooltip\": false,\n \"viz\": false\n },\n \"lineInterpolation\": \"linear\",\n \"lineWidth\": 1,\n \"pointSize\": 5,\n \"scaleDistribution\": {\n \"type\": \"linear\"\n },\n \"showPoints\": \"auto\",\n \"spanNulls\": false,\n \"stacking\": {\n \"group\": \"A\",\n \"mode\": \"none\"\n },\n \"thresholdsStyle\": {\n \"mode\": \"off\"\n }\n },\n \"mappings\": [],\n \"thresholds\": {\n \"mode\": \"absolute\",\n \"steps\": [\n {\n \"color\": \"green\",\n \"value\": null\n },\n {\n \"color\": \"red\",\n \"value\": 80\n }\n ]\n }\n },\n \"overrides\": []\n },\n \"gridPos\": {\n \"h\": 8,\n \"w\": 12,\n \"x\": 0,\n \"y\": 18\n },\n \"id\": 10,\n \"options\": {\n \"legend\": {\n \"calcs\": [],\n \"displayMode\": \"list\",\n \"placement\": \"bottom\",\n \"showLegend\": true\n },\n \"tooltip\": {\n \"mode\": \"single\",\n \"sort\": \"none\"\n }\n },\n \"targets\": [\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"editorMode\": \"builder\",\n \"expr\": \"latency{jobName=\\\"read\\\", status=\\\"err\\\"} > 0\",\n \"legendFormat\": \"{{sdk}}-{{sdkVersion}}-p{{quantile}}\",\n \"range\": true,\n \"refId\": \"A\"\n }\n ],\n \"title\": \"Read Latencies (NOT OK)\",\n \"type\": \"timeseries\"\n },\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"fieldConfig\": {\n \"defaults\": {\n \"color\": {\n \"mode\": \"palette-classic\"\n },\n \"custom\": {\n \"axisCenteredZero\": false,\n \"axisColorMode\": \"text\",\n \"axisLabel\": \"\",\n \"axisPlacement\": \"auto\",\n \"barAlignment\": 0,\n \"drawStyle\": \"line\",\n \"fillOpacity\": 0,\n \"gradientMode\": \"none\",\n \"hideFrom\": {\n \"legend\": false,\n \"tooltip\": false,\n \"viz\": false\n },\n \"lineInterpolation\": \"linear\",\n \"lineWidth\": 1,\n \"pointSize\": 5,\n \"scaleDistribution\": {\n \"type\": \"linear\"\n },\n \"showPoints\": \"auto\",\n \"spanNulls\": false,\n \"stacking\": {\n \"group\": \"A\",\n \"mode\": \"none\"\n },\n \"thresholdsStyle\": {\n \"mode\": \"off\"\n }\n },\n \"mappings\": [],\n \"thresholds\": {\n \"mode\": \"absolute\",\n \"steps\": [\n {\n \"color\": \"green\",\n \"value\": null\n },\n {\n \"color\": \"red\",\n \"value\": 80\n }\n ]\n }\n },\n \"overrides\": []\n },\n \"gridPos\": {\n \"h\": 8,\n \"w\": 12,\n \"x\": 12,\n \"y\": 18\n },\n \"id\": 11,\n \"options\": {\n \"legend\": {\n \"calcs\": [],\n \"displayMode\": \"list\",\n \"placement\": \"bottom\",\n \"showLegend\": true\n },\n \"tooltip\": {\n \"mode\": \"single\",\n \"sort\": \"none\"\n }\n },\n \"targets\": [\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"editorMode\": \"builder\",\n \"expr\": \"latency{jobName=\\\"write\\\", status=\\\"err\\\"} > 0\",\n \"legendFormat\": \"{{sdk}}-{{sdkVersion}}-p{{quantile}}\",\n \"range\": true,\n \"refId\": \"A\"\n }\n ],\n \"title\": \"Write Latencies (NOT OK)\",\n \"type\": \"timeseries\"\n }\n ],\n \"refresh\": \"\",\n \"revision\": 1,\n \"schemaVersion\": 38,\n \"style\": \"dark\",\n \"tags\": [],\n \"templating\": {\n \"list\": [\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"filters\": [],\n \"hide\": 0,\n \"label\": \"\",\n \"name\": \"filter\",\n \"skipUrlSync\": false,\n \"type\": \"adhoc\"\n }\n ]\n },\n \"time\": {\n \"from\": \"now-15m\",\n \"to\": \"now\"\n },\n \"timepicker\": {},\n \"timezone\": \"\",\n \"title\": \"SLO\",\n \"uid\": \"7CzMl5t4k\",\n \"version\": 1,\n \"weekStart\": \"\"\n }\n # custom-dashboard:\n # file: dashboards/custom-dashboard.json\n # prometheus-stats:\n # gnetId: 2\n # revision: 2\n # datasource: Prometheus\n # local-dashboard:\n # url: https://example.com/repository/test.json\n # token: ''\n # local-dashboard-base64:\n # url: https://example.com/repository/test-b64.json\n # token: ''\n # b64content: true\n"},"k8s/ci/kind-config.yaml":{"isBinary":false,"fileName":"k8s/ci/kind-config.yaml","originalFileName":"k8s/ci/kind-config.yaml","content":"kind: Cluster\napiVersion: kind.x-k8s.io/v1alpha4\nnodes:\n - role: control-plane\n # We propagate /tmp of the host to all the nodes,\n # so we can create files directly on kind runner and propagate them\n # into k8s pods through `hostPath` volume, for example.\n # Necessary for testing.\n - role: worker\n extraMounts:\n - hostPath: /tmp/worker-1-\n containerPath: /home/tmp\n readOnly: true\n - role: worker\n extraMounts:\n - hostPath: /tmp/worker-2-\n containerPath: /home/tmp\n readOnly: true\n - role: worker\n extraMounts:\n - hostPath: /tmp/worker-3-\n containerPath: /home/tmp\n readOnly: true\n - role: worker\n extraMounts:\n - hostPath: /tmp/worker-4-\n containerPath: /home/tmp\n readOnly: true\n"},"k8s/ci/prometheus-pushgateway.yaml":{"isBinary":false,"fileName":"k8s/ci/prometheus-pushgateway.yaml","originalFileName":"k8s/ci/prometheus-pushgateway.yaml","content":"namespaceOverride: default\n# Enable this if you're using https://github.com/coreos/prometheus-operator\nserviceMonitor:\n enabled: true\n namespace: default\n\n # Fallback to the prometheus default unless specified\n interval: 1s\n\n ## scheme: HTTP scheme to use for scraping. Can be used with `tlsConfig` for example if using istio mTLS.\n # scheme: \"\"\n\n ## tlsConfig: TLS configuration to use when scraping the endpoint. For example if using istio mTLS.\n ## Of type: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#tlsconfig\n # tlsConfig: {}\n\n # bearerTokenFile:\n # Fallback to the prometheus default unless specified\n # scrapeTimeout: 30s\n\n ## Used to pass Labels that are used by the Prometheus installed in your cluster to select Service Monitors to work with\n ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#prometheusspec\n additionalLabels:\n ydb-cluster-monitor: slo-storage\n release: prometheus\n\n # Retain the job and instance labels of the metrics pushed to the Pushgateway\n # [Scraping Pushgateway](https://github.com/prometheus/pushgateway#configure-the-pushgateway-as-a-target-to-scrape)\n honorLabels: true\n\n ## Metric relabel configs to apply to samples before ingestion.\n ## [Metric Relabeling](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs)\n metricRelabelings: []\n # - action: keep\n # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'\n # sourceLabels: [__name__]\n\n ## Relabel configs to apply to samples before ingestion.\n ## [Relabeling](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config)\n relabelings: []\n # - sourceLabels: [__meta_kubernetes_pod_node_name]\n # separator: ;\n # regex: ^(.*)$\n # targetLabel: nodename\n # replacement: $1\n # action: replace\n"},"k8s/ci/prometheus.yaml":{"isBinary":false,"fileName":"k8s/ci/prometheus.yaml","originalFileName":"k8s/ci/prometheus.yaml","content":"apiVersion: v1\nkind: ServiceAccount\nmetadata:\n name: prometheus\n---\napiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRole\nmetadata:\n name: prometheus\nrules:\n - apiGroups: [\"\"]\n resources:\n - nodes\n - nodes/metrics\n - services\n - endpoints\n - pods\n verbs: [\"get\", \"list\", \"watch\"]\n - apiGroups: [\"\"]\n resources:\n - configmaps\n verbs: [\"get\"]\n - apiGroups:\n - networking.k8s.io\n resources:\n - ingresses\n verbs: [\"get\", \"list\", \"watch\"]\n - nonResourceURLs: [\"/metrics\"]\n verbs: [\"get\"]\n---\napiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRoleBinding\nmetadata:\n name: prometheus\nroleRef:\n apiGroup: rbac.authorization.k8s.io\n kind: ClusterRole\n name: prometheus\nsubjects:\n - kind: ServiceAccount\n name: prometheus\n namespace: default\n---\napiVersion: monitoring.coreos.com/v1\nkind: Prometheus\nmetadata:\n name: prometheus\nspec:\n serviceAccountName: prometheus\n serviceMonitorSelector:\n matchLabels:\n ydb-cluster-monitor: slo-storage\n enableAdminAPI: true\n replicas: 1\n securityContext:\n runAsUser: 1000\n runAsNonRoot: true\n runAsGroup: 65534\n fsGroup: 2000\n"},"k8s/ci/serviceMonitor.yaml":{"isBinary":false,"fileName":"k8s/ci/serviceMonitor.yaml","originalFileName":"k8s/ci/serviceMonitor.yaml","content":"apiVersion: monitoring.coreos.com/v1\nkind: ServiceMonitor\nmetadata:\n name: ydb\nspec:\n selector:\n matchLabels:\n app: ydb-operator\n namespaceSelector:\n matchNames:\n - default\n endpoints:\n - port: web"},"k8s/ci/storage.yaml":{"isBinary":false,"fileName":"k8s/ci/storage.yaml","originalFileName":"k8s/ci/storage.yaml","content":"apiVersion: ydb.tech/v1alpha1\nkind: Storage\nmetadata:\n name: storage\nspec:\n monitoring:\n enabled: false\n image:\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\n domain: Root\n nodes: 1\n service:\n grpc:\n tls:\n enabled: false\n ipFamilies:\n - IPv4\n interconnect:\n tls:\n enabled: false\n ipFamilyPolicy: SingleStack\n ipFamilies:\n - IPv4\n status:\n ipFamilyPolicy: SingleStack\n ipFamilies:\n - IPv4\n additionalLabels:\n ydb-cluster: slo-storage\n ydb-cluster-monitor: slo-storage\n affinity:\n podAntiAffinity:\n requiredDuringSchedulingIgnoredDuringExecution:\n - labelSelector:\n matchExpressions:\n - key: ydb-cluster\n operator: In\n values:\n - slo-storage\n topologyKey: \"kubernetes.io/hostname\"\n erasure: none\n dataStore: []\n configuration: |+\n static_erasure: none\n host_configs:\n - drive:\n - path: SectorMap:1:64\n type: SSD\n host_config_id: 1\n grpc_config:\n port: 2135\n domains_config:\n domain:\n - name: Root\n storage_pool_types:\n - kind: ssd\n pool_config:\n box_id: 1\n erasure_species: none\n kind: ssd\n pdisk_filter:\n - property:\n - type: SSD\n vdisk_kind: Default\n state_storage:\n - ring:\n node:\n - 1\n nto_select: 1\n ssid: 1\n actor_system_config:\n executor:\n - name: System\n spin_threshold: 0\n threads: 2\n type: BASIC\n - name: User\n spin_threshold: 0\n threads: 3\n type: BASIC\n - name: Batch\n spin_threshold: 0\n threads: 2\n type: BASIC\n - name: IO\n threads: 1\n time_per_mailbox_micro_secs: 100\n type: IO\n - name: IC\n spin_threshold: 10\n threads: 1\n time_per_mailbox_micro_secs: 100\n type: BASIC\n scheduler:\n progress_threshold: 10000\n resolution: 256\n spin_threshold: 0\n blob_storage_config:\n service_set:\n groups:\n - erasure_species: none\n rings:\n - fail_domains:\n - vdisk_locations:\n - node_id: 1\n path: SectorMap:1:64\n pdisk_category: SSD\n channel_profile_config:\n profile:\n - channel:\n - erasure_species: none\n pdisk_category: 0\n storage_pool_kind: ssd\n - erasure_species: none\n pdisk_category: 0\n storage_pool_kind: ssd\n - erasure_species: none\n pdisk_category: 0\n storage_pool_kind: ssd\n profile_id: 0\n"},"k8s/ci/valuesForGrafana.yaml":{"isBinary":false,"fileName":"k8s/ci/valuesForGrafana.yaml","originalFileName":"k8s/ci/valuesForGrafana.yaml","content":"grafana:\n service:\n port: \"3000\"\n"},"k8s/ci/valuesForPrometheusPushGateway.yaml":{"isBinary":false,"fileName":"k8s/ci/valuesForPrometheusPushGateway.yaml","originalFileName":"k8s/ci/valuesForPrometheusPushGateway.yaml","content":"serviceMonitor:\n enabled: true\n namespace: default\n additionalLabels:\n release: prometheus"},"k8s/ci/valuesForYDBOperator.yaml":{"isBinary":false,"fileName":"k8s/ci/valuesForYDBOperator.yaml","originalFileName":"k8s/ci/valuesForYDBOperator.yaml","content":"webhook:\n enabled: true\n patch:\n enabled: true\nmetrics:\n enabled: true\n"},"k8s/ci/workload.yaml":{"isBinary":false,"fileName":"k8s/ci/workload.yaml","originalFileName":"k8s/ci/workload.yaml","content":"apiVersion: batch/v1\nkind: Job\nmetadata:\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\nspec:\n ttlSecondsAfterFinished: 120\n backoffLimit: 0\n template:\n metadata:\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\n spec:\n containers:\n - name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\n image: ${{DOCKER_IMAGE}}:latest\n imagePullPolicy: Never\n env:\n - name: YDB_ANONYMOUS_CREDENTIALS\n value: \"1\"\n args:\n - \"${{COMMAND}}\"\n - ${{ARGS}}\n restartPolicy: Never\n"},"k8s/ci/slo-monitoring.yaml":{"isBinary":false,"fileName":"k8s/ci/slo-monitoring.yaml","originalFileName":"k8s/ci/slo-monitoring.yaml","content":"apiVersion: v1\nkind: ConfigMap\nmetadata:\n name: slo\n labels:\n grafana_dashboard: \"1\"\n annotations:\n k8s-sidecar-target-directory: \"/tmp/dashboards/k8\"\ndata:\n slo.json: |\n {\n \"annotations\": {\n \"list\": [\n {\n \"builtIn\": 1,\n \"datasource\": {\n \"type\": \"grafana\",\n \"uid\": \"-- Grafana --\"\n },\n \"enable\": true,\n \"hide\": true,\n \"iconColor\": \"rgba(0, 211, 255, 1)\",\n \"name\": \"Annotations & Alerts\",\n \"target\": {\n \"limit\": 100,\n \"matchAny\": false,\n \"tags\": [],\n \"type\": \"dashboard\"\n },\n \"type\": \"dashboard\"\n }\n ]\n },\n \"editable\": true,\n \"fiscalYearStartMonth\": 0,\n \"graphTooltip\": 0,\n \"links\": [],\n \"liveNow\": false,\n \"panels\": [\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"fieldConfig\": {\n \"defaults\": {\n \"color\": {\n \"mode\": \"palette-classic\"\n },\n \"custom\": {\n \"axisCenteredZero\": false,\n \"axisColorMode\": \"text\",\n \"axisLabel\": \"\",\n \"axisPlacement\": \"auto\",\n \"barAlignment\": 0,\n \"drawStyle\": \"line\",\n \"fillOpacity\": 0,\n \"gradientMode\": \"none\",\n \"hideFrom\": {\n \"legend\": false,\n \"tooltip\": false,\n \"viz\": false\n },\n \"lineInterpolation\": \"linear\",\n \"lineWidth\": 1,\n \"pointSize\": 5,\n \"scaleDistribution\": {\n \"type\": \"linear\"\n },\n \"showPoints\": \"auto\",\n \"spanNulls\": false,\n \"stacking\": {\n \"group\": \"A\",\n \"mode\": \"none\"\n },\n \"thresholdsStyle\": {\n \"mode\": \"off\"\n }\n },\n \"mappings\": [],\n \"thresholds\": {\n \"mode\": \"absolute\",\n \"steps\": [\n {\n \"color\": \"green\",\n \"value\": null\n },\n {\n \"color\": \"red\",\n \"value\": 80\n }\n ]\n }\n },\n \"overrides\": []\n },\n \"gridPos\": {\n \"h\": 9,\n \"w\": 12,\n \"x\": 0,\n \"y\": 0\n },\n \"id\": 12,\n \"options\": {\n \"legend\": {\n \"calcs\": [],\n \"displayMode\": \"list\",\n \"placement\": \"bottom\",\n \"showLegend\": true\n },\n \"tooltip\": {\n \"mode\": \"single\",\n \"sort\": \"none\"\n }\n },\n \"targets\": [\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"editorMode\": \"builder\",\n \"expr\": \"rate(oks[$__rate_interval]) > 0\",\n \"hide\": false,\n \"legendFormat\": \"({{sdk}}-{{sdkVersion}}) {{jobName}} OK\",\n \"range\": true,\n \"refId\": \"B\"\n },\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"editorMode\": \"builder\",\n \"expr\": \"rate(not_oks[$__rate_interval]) > 0\",\n \"hide\": false,\n \"legendFormat\": \"({{sdk}}-{{sdkVersion}}) {{jobName}} not OK\",\n \"range\": true,\n \"refId\": \"C\"\n }\n ],\n \"title\": \"SLO Requests RPS\",\n \"transformations\": [],\n \"type\": \"timeseries\"\n },\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"fieldConfig\": {\n \"defaults\": {\n \"color\": {\n \"mode\": \"palette-classic\"\n },\n \"custom\": {\n \"axisCenteredZero\": false,\n \"axisColorMode\": \"text\",\n \"axisLabel\": \"\",\n \"axisPlacement\": \"auto\",\n \"axisSoftMin\": 0,\n \"barAlignment\": 0,\n \"drawStyle\": \"line\",\n \"fillOpacity\": 0,\n \"gradientMode\": \"none\",\n \"hideFrom\": {\n \"legend\": false,\n \"tooltip\": false,\n \"viz\": false\n },\n \"lineInterpolation\": \"linear\",\n \"lineWidth\": 1,\n \"pointSize\": 5,\n \"scaleDistribution\": {\n \"type\": \"linear\"\n },\n \"showPoints\": \"auto\",\n \"spanNulls\": false,\n \"stacking\": {\n \"group\": \"A\",\n \"mode\": \"none\"\n },\n \"thresholdsStyle\": {\n \"mode\": \"off\"\n }\n },\n \"decimals\": 0,\n \"mappings\": [],\n \"thresholds\": {\n \"mode\": \"absolute\",\n \"steps\": [\n {\n \"color\": \"green\",\n \"value\": null\n },\n {\n \"color\": \"red\",\n \"value\": 80\n }\n ]\n }\n },\n \"overrides\": []\n },\n \"gridPos\": {\n \"h\": 9,\n \"w\": 12,\n \"x\": 12,\n \"y\": 0\n },\n \"id\": 14,\n \"options\": {\n \"legend\": {\n \"calcs\": [],\n \"displayMode\": \"list\",\n \"placement\": \"bottom\",\n \"showLegend\": true\n },\n \"tooltip\": {\n \"mode\": \"single\",\n \"sort\": \"none\"\n }\n },\n \"targets\": [\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"editorMode\": \"builder\",\n \"expr\": \"histogram_quantile(1, rate(attempts_bucket[$__rate_interval]))\",\n \"hide\": false,\n \"legendFormat\": \"{{sdk}}-{{sdkVersion}} {{jobName}}-{{status}}\",\n \"range\": true,\n \"refId\": \"A\"\n }\n ],\n \"title\": \"Attempts\",\n \"transformations\": [],\n \"type\": \"timeseries\"\n },\n {\n \"collapsed\": false,\n \"gridPos\": {\n \"h\": 1,\n \"w\": 24,\n \"x\": 0,\n \"y\": 9\n },\n \"id\": 7,\n \"panels\": [],\n \"title\": \"Latencies\",\n \"type\": \"row\"\n },\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"fieldConfig\": {\n \"defaults\": {\n \"color\": {\n \"mode\": \"palette-classic\"\n },\n \"custom\": {\n \"axisCenteredZero\": false,\n \"axisColorMode\": \"text\",\n \"axisLabel\": \"\",\n \"axisPlacement\": \"auto\",\n \"barAlignment\": 0,\n \"drawStyle\": \"line\",\n \"fillOpacity\": 0,\n \"gradientMode\": \"none\",\n \"hideFrom\": {\n \"legend\": false,\n \"tooltip\": false,\n \"viz\": false\n },\n \"lineInterpolation\": \"linear\",\n \"lineWidth\": 1,\n \"pointSize\": 5,\n \"scaleDistribution\": {\n \"type\": \"linear\"\n },\n \"showPoints\": \"auto\",\n \"spanNulls\": false,\n \"stacking\": {\n \"group\": \"A\",\n \"mode\": \"none\"\n },\n \"thresholdsStyle\": {\n \"mode\": \"off\"\n }\n },\n \"mappings\": [],\n \"thresholds\": {\n \"mode\": \"absolute\",\n \"steps\": [\n {\n \"color\": \"green\",\n \"value\": null\n },\n {\n \"color\": \"red\",\n \"value\": 80\n }\n ]\n }\n },\n \"overrides\": []\n },\n \"gridPos\": {\n \"h\": 8,\n \"w\": 12,\n \"x\": 0,\n \"y\": 10\n },\n \"id\": 4,\n \"options\": {\n \"legend\": {\n \"calcs\": [],\n \"displayMode\": \"list\",\n \"placement\": \"bottom\",\n \"showLegend\": true\n },\n \"tooltip\": {\n \"mode\": \"single\",\n \"sort\": \"none\"\n }\n },\n \"pluginVersion\": \"9.3.1\",\n \"targets\": [\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"editorMode\": \"builder\",\n \"expr\": \"latency{jobName=\\\"read\\\", status=\\\"ok\\\"} > 0\",\n \"legendFormat\": \"{{sdk}}-{{sdkVersion}}-p{{quantile}}\",\n \"range\": true,\n \"refId\": \"A\"\n }\n ],\n \"title\": \"Read Latencies (OK)\",\n \"type\": \"timeseries\"\n },\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"fieldConfig\": {\n \"defaults\": {\n \"color\": {\n \"mode\": \"palette-classic\"\n },\n \"custom\": {\n \"axisCenteredZero\": false,\n \"axisColorMode\": \"text\",\n \"axisLabel\": \"\",\n \"axisPlacement\": \"auto\",\n \"barAlignment\": 0,\n \"drawStyle\": \"line\",\n \"fillOpacity\": 0,\n \"gradientMode\": \"none\",\n \"hideFrom\": {\n \"legend\": false,\n \"tooltip\": false,\n \"viz\": false\n },\n \"lineInterpolation\": \"linear\",\n \"lineWidth\": 1,\n \"pointSize\": 5,\n \"scaleDistribution\": {\n \"type\": \"linear\"\n },\n \"showPoints\": \"auto\",\n \"spanNulls\": false,\n \"stacking\": {\n \"group\": \"A\",\n \"mode\": \"none\"\n },\n \"thresholdsStyle\": {\n \"mode\": \"off\"\n }\n },\n \"mappings\": [],\n \"thresholds\": {\n \"mode\": \"absolute\",\n \"steps\": [\n {\n \"color\": \"green\",\n \"value\": null\n },\n {\n \"color\": \"red\",\n \"value\": 80\n }\n ]\n }\n },\n \"overrides\": []\n },\n \"gridPos\": {\n \"h\": 8,\n \"w\": 12,\n \"x\": 12,\n \"y\": 10\n },\n \"id\": 5,\n \"options\": {\n \"legend\": {\n \"calcs\": [],\n \"displayMode\": \"list\",\n \"placement\": \"bottom\",\n \"showLegend\": true\n },\n \"tooltip\": {\n \"mode\": \"single\",\n \"sort\": \"none\"\n }\n },\n \"targets\": [\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"editorMode\": \"builder\",\n \"expr\": \"latency{jobName=\\\"write\\\", status=\\\"ok\\\"} > 0\",\n \"legendFormat\": \"{{sdk}}-{{sdkVersion}}-p{{quantile}}\",\n \"range\": true,\n \"refId\": \"A\"\n }\n ],\n \"title\": \"Write Latencies (OK)\",\n \"type\": \"timeseries\"\n },\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"fieldConfig\": {\n \"defaults\": {\n \"color\": {\n \"mode\": \"palette-classic\"\n },\n \"custom\": {\n \"axisCenteredZero\": false,\n \"axisColorMode\": \"text\",\n \"axisLabel\": \"\",\n \"axisPlacement\": \"auto\",\n \"barAlignment\": 0,\n \"drawStyle\": \"line\",\n \"fillOpacity\": 0,\n \"gradientMode\": \"none\",\n \"hideFrom\": {\n \"legend\": false,\n \"tooltip\": false,\n \"viz\": false\n },\n \"lineInterpolation\": \"linear\",\n \"lineWidth\": 1,\n \"pointSize\": 5,\n \"scaleDistribution\": {\n \"type\": \"linear\"\n },\n \"showPoints\": \"auto\",\n \"spanNulls\": false,\n \"stacking\": {\n \"group\": \"A\",\n \"mode\": \"none\"\n },\n \"thresholdsStyle\": {\n \"mode\": \"off\"\n }\n },\n \"mappings\": [],\n \"thresholds\": {\n \"mode\": \"absolute\",\n \"steps\": [\n {\n \"color\": \"green\",\n \"value\": null\n },\n {\n \"color\": \"red\",\n \"value\": 80\n }\n ]\n }\n },\n \"overrides\": []\n },\n \"gridPos\": {\n \"h\": 8,\n \"w\": 12,\n \"x\": 0,\n \"y\": 18\n },\n \"id\": 10,\n \"options\": {\n \"legend\": {\n \"calcs\": [],\n \"displayMode\": \"list\",\n \"placement\": \"bottom\",\n \"showLegend\": true\n },\n \"tooltip\": {\n \"mode\": \"single\",\n \"sort\": \"none\"\n }\n },\n \"targets\": [\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"editorMode\": \"builder\",\n \"expr\": \"latency{jobName=\\\"read\\\", status=\\\"err\\\"} > 0\",\n \"legendFormat\": \"{{sdk}}-{{sdkVersion}}-p{{quantile}}\",\n \"range\": true,\n \"refId\": \"A\"\n }\n ],\n \"title\": \"Read Latencies (NOT OK)\",\n \"type\": \"timeseries\"\n },\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"fieldConfig\": {\n \"defaults\": {\n \"color\": {\n \"mode\": \"palette-classic\"\n },\n \"custom\": {\n \"axisCenteredZero\": false,\n \"axisColorMode\": \"text\",\n \"axisLabel\": \"\",\n \"axisPlacement\": \"auto\",\n \"barAlignment\": 0,\n \"drawStyle\": \"line\",\n \"fillOpacity\": 0,\n \"gradientMode\": \"none\",\n \"hideFrom\": {\n \"legend\": false,\n \"tooltip\": false,\n \"viz\": false\n },\n \"lineInterpolation\": \"linear\",\n \"lineWidth\": 1,\n \"pointSize\": 5,\n \"scaleDistribution\": {\n \"type\": \"linear\"\n },\n \"showPoints\": \"auto\",\n \"spanNulls\": false,\n \"stacking\": {\n \"group\": \"A\",\n \"mode\": \"none\"\n },\n \"thresholdsStyle\": {\n \"mode\": \"off\"\n }\n },\n \"mappings\": [],\n \"thresholds\": {\n \"mode\": \"absolute\",\n \"steps\": [\n {\n \"color\": \"green\",\n \"value\": null\n },\n {\n \"color\": \"red\",\n \"value\": 80\n }\n ]\n }\n },\n \"overrides\": []\n },\n \"gridPos\": {\n \"h\": 8,\n \"w\": 12,\n \"x\": 12,\n \"y\": 18\n },\n \"id\": 11,\n \"options\": {\n \"legend\": {\n \"calcs\": [],\n \"displayMode\": \"list\",\n \"placement\": \"bottom\",\n \"showLegend\": true\n },\n \"tooltip\": {\n \"mode\": \"single\",\n \"sort\": \"none\"\n }\n },\n \"targets\": [\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"editorMode\": \"builder\",\n \"expr\": \"latency{jobName=\\\"write\\\", status=\\\"err\\\"} > 0\",\n \"legendFormat\": \"{{sdk}}-{{sdkVersion}}-p{{quantile}}\",\n \"range\": true,\n \"refId\": \"A\"\n }\n ],\n \"title\": \"Write Latencies (NOT OK)\",\n \"type\": \"timeseries\"\n }\n ],\n \"refresh\": \"\",\n \"revision\": 1,\n \"schemaVersion\": 38,\n \"style\": \"dark\",\n \"tags\": [],\n \"templating\": {\n \"list\": [\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"filters\": [],\n \"hide\": 0,\n \"label\": \"\",\n \"name\": \"filter\",\n \"skipUrlSync\": false,\n \"type\": \"adhoc\"\n }\n ]\n },\n \"time\": {\n \"from\": \"now-15m\",\n \"to\": \"now\"\n },\n \"timepicker\": {},\n \"timezone\": \"\",\n \"title\": \"SLO\",\n \"uid\": \"7CzMl5t4k\",\n \"version\": 1,\n \"weekStart\": \"\"\n }"}} \ No newline at end of file +{"k8s/ci/database.yaml":{"isBinary":false,"fileName":"k8s/ci/database.yaml","originalFileName":"k8s/ci/database.yaml","content":"apiVersion: ydb.tech/v1alpha1\nkind: Database\nmetadata:\n name: database\nspec:\n monitoring:\n enabled: false\n image:\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\n domain: Root\n nodes: 3\n resources:\n storageUnits:\n - unitKind: ssd\n count: 1\n service:\n grpc:\n tls:\n enabled: false\n ipFamilyPolicy: SingleStack\n ipFamilies:\n - IPv4\n interconnect:\n tls:\n enabled: false\n ipFamilyPolicy: SingleStack\n ipFamilies:\n - IPv4\n status:\n ipFamilyPolicy: SingleStack\n ipFamilies:\n - IPv4\n additionalLabels:\n ydb-cluster: slo-storage\n ydb-cluster-monitor: slo-storage\n affinity:\n podAntiAffinity:\n requiredDuringSchedulingIgnoredDuringExecution:\n - labelSelector:\n matchExpressions:\n - key: ydb-cluster\n operator: In\n values:\n - slo-storage\n topologyKey: \"kubernetes.io/hostname\"\n storageClusterRef:\n name: storage\n"},"k8s/ci/grafana-renderer.yaml":{"isBinary":false,"fileName":"k8s/ci/grafana-renderer.yaml","originalFileName":"k8s/ci/grafana-renderer.yaml","content":"kind: Service\napiVersion: v1\nmetadata:\n name: grafana-renderer\nspec:\n selector:\n app: grafana-renderer\n ports:\n - port: 80\n targetPort: 8081\n---\napiVersion: apps/v1\nkind: Deployment\nmetadata:\n name: grafana-renderer\n labels:\n app: grafana-renderer\nspec:\n replicas: 1\n selector:\n matchLabels:\n app: grafana-renderer\n template:\n metadata:\n labels:\n app: grafana-renderer\n app.kubernetes.io/name: grafana-renderer\n spec:\n containers:\n - name: grafana-renderer\n image: grafana/grafana-image-renderer:latest\n ports:\n - containerPort: 8081\n"},"k8s/ci/kind-config.yaml":{"isBinary":false,"fileName":"k8s/ci/kind-config.yaml","originalFileName":"k8s/ci/kind-config.yaml","content":"kind: Cluster\napiVersion: kind.x-k8s.io/v1alpha4\nnodes:\n - role: control-plane\n # We propagate /tmp of the host to all the nodes,\n # so we can create files directly on kind runner and propagate them\n # into k8s pods through `hostPath` volume, for example.\n # Necessary for testing.\n - role: worker\n extraMounts:\n - hostPath: /tmp/worker-1-\n containerPath: /home/tmp\n readOnly: true\n - role: worker\n extraMounts:\n - hostPath: /tmp/worker-2-\n containerPath: /home/tmp\n readOnly: true\n - role: worker\n extraMounts:\n - hostPath: /tmp/worker-3-\n containerPath: /home/tmp\n readOnly: true\n - role: worker\n extraMounts:\n - hostPath: /tmp/worker-4-\n containerPath: /home/tmp\n readOnly: true\n"},"k8s/ci/prometheus-pushgateway.yaml":{"isBinary":false,"fileName":"k8s/ci/prometheus-pushgateway.yaml","originalFileName":"k8s/ci/prometheus-pushgateway.yaml","content":"namespaceOverride: default\n# Enable this if you're using https://github.com/coreos/prometheus-operator\nserviceMonitor:\n enabled: true\n namespace: default\n\n # Fallback to the prometheus default unless specified\n interval: 1s\n\n ## scheme: HTTP scheme to use for scraping. Can be used with `tlsConfig` for example if using istio mTLS.\n # scheme: \"\"\n\n ## tlsConfig: TLS configuration to use when scraping the endpoint. For example if using istio mTLS.\n ## Of type: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#tlsconfig\n # tlsConfig: {}\n\n # bearerTokenFile:\n # Fallback to the prometheus default unless specified\n # scrapeTimeout: 30s\n\n ## Used to pass Labels that are used by the Prometheus installed in your cluster to select Service Monitors to work with\n ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#prometheusspec\n additionalLabels:\n ydb-cluster-monitor: slo-storage\n release: prometheus\n\n # Retain the job and instance labels of the metrics pushed to the Pushgateway\n # [Scraping Pushgateway](https://github.com/prometheus/pushgateway#configure-the-pushgateway-as-a-target-to-scrape)\n honorLabels: true\n\n ## Metric relabel configs to apply to samples before ingestion.\n ## [Metric Relabeling](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs)\n metricRelabelings: []\n # - action: keep\n # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'\n # sourceLabels: [__name__]\n\n ## Relabel configs to apply to samples before ingestion.\n ## [Relabeling](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config)\n relabelings: []\n # - sourceLabels: [__meta_kubernetes_pod_node_name]\n # separator: ;\n # regex: ^(.*)$\n # targetLabel: nodename\n # replacement: $1\n # action: replace\n"},"k8s/ci/grafana.yaml":{"isBinary":false,"fileName":"k8s/ci/grafana.yaml","originalFileName":"k8s/ci/grafana.yaml","content":"# https://github.com/grafana/helm-charts/blob/main/charts/grafana/values.yaml\ndatasources:\n datasources.yaml:\n apiVersion: 1\n datasources:\n - name: Prometheus\n type: prometheus\n url: http://prometheus-operated:9090\n access: proxy\n isDefault: true\n uid: prometheus\n jsonData:\n timeInterval: 5s\n\nadminUser: admin\nadminPassword: passw0rD\n\n# Use an existing secret for the admin user.\nadmin: {}\n\n# need this to take screenshots\nenv:\n GF_RENDERING_SERVER_URL: http://grafana-renderer/render\n GF_RENDERING_CALLBACK_URL: http://grafana:80/\n GF_LOG_FILTERS: rendering:debug\n\n# need to downgrade to take screenshots of dashboard, not only of panel\nimage:\n tag: 9.5.1\n\npersistence:\n enabled: false\n\ngrafana.ini:\n auth.anonymous:\n enabled: true\n org_name: Main Org.\n # Can't set custom org name due to grafana default config\n org_role: Admin\n\n## Configure grafana dashboard providers\n## ref: http://docs.grafana.org/administration/provisioning/#dashboards\n##\n## `path` must be /var/lib/grafana/dashboards/\n##\ndashboardProviders:\n dashboardproviders.yaml:\n apiVersion: 1\n providers:\n - name: \"default\"\n orgId: 1\n folder: \"\"\n type: file\n disableDeletion: false\n editable: true\n options:\n path: /var/lib/grafana/dashboards/default\n\n## Configure grafana dashboard to import\n## NOTE: To use dashboards you must also enable/configure dashboardProviders\n## ref: https://grafana.com/dashboards\n##\n## dashboards per provider, use provider name as key.\n##\ndashboards:\n default:\n slo:\n json: |-\n {\n \"annotations\": {\n \"list\": [\n {\n \"builtIn\": 1,\n \"datasource\": {\n \"type\": \"grafana\",\n \"uid\": \"-- Grafana --\"\n },\n \"enable\": true,\n \"hide\": true,\n \"iconColor\": \"rgba(0, 211, 255, 1)\",\n \"name\": \"Annotations & Alerts\",\n \"target\": {\n \"limit\": 100,\n \"matchAny\": false,\n \"tags\": [],\n \"type\": \"dashboard\"\n },\n \"type\": \"dashboard\"\n }\n ]\n },\n \"editable\": true,\n \"fiscalYearStartMonth\": 0,\n \"graphTooltip\": 0,\n \"links\": [],\n \"liveNow\": false,\n \"panels\": [\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"fieldConfig\": {\n \"defaults\": {\n \"color\": {\n \"mode\": \"palette-classic\"\n },\n \"custom\": {\n \"axisCenteredZero\": false,\n \"axisColorMode\": \"text\",\n \"axisLabel\": \"\",\n \"axisPlacement\": \"auto\",\n \"barAlignment\": 0,\n \"drawStyle\": \"line\",\n \"fillOpacity\": 0,\n \"gradientMode\": \"none\",\n \"hideFrom\": {\n \"legend\": false,\n \"tooltip\": false,\n \"viz\": false\n },\n \"lineInterpolation\": \"linear\",\n \"lineWidth\": 1,\n \"pointSize\": 5,\n \"scaleDistribution\": {\n \"type\": \"linear\"\n },\n \"showPoints\": \"auto\",\n \"spanNulls\": false,\n \"stacking\": {\n \"group\": \"A\",\n \"mode\": \"none\"\n },\n \"thresholdsStyle\": {\n \"mode\": \"off\"\n }\n },\n \"mappings\": [],\n \"thresholds\": {\n \"mode\": \"absolute\",\n \"steps\": [\n {\n \"color\": \"green\",\n \"value\": null\n },\n {\n \"color\": \"red\",\n \"value\": 80\n }\n ]\n }\n },\n \"overrides\": []\n },\n \"gridPos\": {\n \"h\": 9,\n \"w\": 12,\n \"x\": 0,\n \"y\": 0\n },\n \"id\": 12,\n \"options\": {\n \"legend\": {\n \"calcs\": [],\n \"displayMode\": \"list\",\n \"placement\": \"bottom\",\n \"showLegend\": true\n },\n \"tooltip\": {\n \"mode\": \"single\",\n \"sort\": \"none\"\n }\n },\n \"targets\": [\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"editorMode\": \"builder\",\n \"expr\": \"rate(oks[$__rate_interval]) > 0\",\n \"hide\": false,\n \"legendFormat\": \"({{sdk}}-{{sdkVersion}}) {{jobName}} OK\",\n \"range\": true,\n \"refId\": \"B\"\n },\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"editorMode\": \"builder\",\n \"expr\": \"rate(not_oks[$__rate_interval]) > 0\",\n \"hide\": false,\n \"legendFormat\": \"({{sdk}}-{{sdkVersion}}) {{jobName}} not OK\",\n \"range\": true,\n \"refId\": \"C\"\n }\n ],\n \"title\": \"SLO Requests RPS\",\n \"transformations\": [],\n \"type\": \"timeseries\"\n },\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"fieldConfig\": {\n \"defaults\": {\n \"color\": {\n \"mode\": \"palette-classic\"\n },\n \"custom\": {\n \"axisCenteredZero\": false,\n \"axisColorMode\": \"text\",\n \"axisLabel\": \"\",\n \"axisPlacement\": \"auto\",\n \"axisSoftMin\": 0,\n \"barAlignment\": 0,\n \"drawStyle\": \"line\",\n \"fillOpacity\": 0,\n \"gradientMode\": \"none\",\n \"hideFrom\": {\n \"legend\": false,\n \"tooltip\": false,\n \"viz\": false\n },\n \"lineInterpolation\": \"linear\",\n \"lineWidth\": 1,\n \"pointSize\": 5,\n \"scaleDistribution\": {\n \"type\": \"linear\"\n },\n \"showPoints\": \"auto\",\n \"spanNulls\": false,\n \"stacking\": {\n \"group\": \"A\",\n \"mode\": \"none\"\n },\n \"thresholdsStyle\": {\n \"mode\": \"off\"\n }\n },\n \"decimals\": 0,\n \"mappings\": [],\n \"thresholds\": {\n \"mode\": \"absolute\",\n \"steps\": [\n {\n \"color\": \"green\",\n \"value\": null\n },\n {\n \"color\": \"red\",\n \"value\": 80\n }\n ]\n }\n },\n \"overrides\": []\n },\n \"gridPos\": {\n \"h\": 9,\n \"w\": 12,\n \"x\": 12,\n \"y\": 0\n },\n \"id\": 14,\n \"options\": {\n \"legend\": {\n \"calcs\": [],\n \"displayMode\": \"list\",\n \"placement\": \"bottom\",\n \"showLegend\": true\n },\n \"tooltip\": {\n \"mode\": \"single\",\n \"sort\": \"none\"\n }\n },\n \"targets\": [\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"editorMode\": \"builder\",\n \"expr\": \"histogram_quantile(1, rate(attempts_bucket[$__rate_interval]))\",\n \"hide\": false,\n \"legendFormat\": \"{{sdk}}-{{sdkVersion}} {{jobName}}-{{status}}\",\n \"range\": true,\n \"refId\": \"A\"\n }\n ],\n \"title\": \"Attempts\",\n \"transformations\": [],\n \"type\": \"timeseries\"\n },\n {\n \"collapsed\": false,\n \"gridPos\": {\n \"h\": 1,\n \"w\": 24,\n \"x\": 0,\n \"y\": 9\n },\n \"id\": 7,\n \"panels\": [],\n \"title\": \"Latencies\",\n \"type\": \"row\"\n },\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"fieldConfig\": {\n \"defaults\": {\n \"color\": {\n \"mode\": \"palette-classic\"\n },\n \"custom\": {\n \"axisCenteredZero\": false,\n \"axisColorMode\": \"text\",\n \"axisLabel\": \"\",\n \"axisPlacement\": \"auto\",\n \"barAlignment\": 0,\n \"drawStyle\": \"line\",\n \"fillOpacity\": 0,\n \"gradientMode\": \"none\",\n \"hideFrom\": {\n \"legend\": false,\n \"tooltip\": false,\n \"viz\": false\n },\n \"lineInterpolation\": \"linear\",\n \"lineWidth\": 1,\n \"pointSize\": 5,\n \"scaleDistribution\": {\n \"type\": \"linear\"\n },\n \"showPoints\": \"auto\",\n \"spanNulls\": false,\n \"stacking\": {\n \"group\": \"A\",\n \"mode\": \"none\"\n },\n \"thresholdsStyle\": {\n \"mode\": \"off\"\n }\n },\n \"mappings\": [],\n \"thresholds\": {\n \"mode\": \"absolute\",\n \"steps\": [\n {\n \"color\": \"green\",\n \"value\": null\n },\n {\n \"color\": \"red\",\n \"value\": 80\n }\n ]\n }\n },\n \"overrides\": []\n },\n \"gridPos\": {\n \"h\": 8,\n \"w\": 12,\n \"x\": 0,\n \"y\": 10\n },\n \"id\": 4,\n \"options\": {\n \"legend\": {\n \"calcs\": [],\n \"displayMode\": \"list\",\n \"placement\": \"bottom\",\n \"showLegend\": true\n },\n \"tooltip\": {\n \"mode\": \"single\",\n \"sort\": \"none\"\n }\n },\n \"pluginVersion\": \"9.3.1\",\n \"targets\": [\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"editorMode\": \"builder\",\n \"expr\": \"latency{jobName=\\\"read\\\", status=\\\"ok\\\"} > 0\",\n \"legendFormat\": \"{{sdk}}-{{sdkVersion}}-p{{quantile}}\",\n \"range\": true,\n \"refId\": \"A\"\n }\n ],\n \"title\": \"Read Latencies (OK)\",\n \"type\": \"timeseries\"\n },\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"fieldConfig\": {\n \"defaults\": {\n \"color\": {\n \"mode\": \"palette-classic\"\n },\n \"custom\": {\n \"axisCenteredZero\": false,\n \"axisColorMode\": \"text\",\n \"axisLabel\": \"\",\n \"axisPlacement\": \"auto\",\n \"barAlignment\": 0,\n \"drawStyle\": \"line\",\n \"fillOpacity\": 0,\n \"gradientMode\": \"none\",\n \"hideFrom\": {\n \"legend\": false,\n \"tooltip\": false,\n \"viz\": false\n },\n \"lineInterpolation\": \"linear\",\n \"lineWidth\": 1,\n \"pointSize\": 5,\n \"scaleDistribution\": {\n \"type\": \"linear\"\n },\n \"showPoints\": \"auto\",\n \"spanNulls\": false,\n \"stacking\": {\n \"group\": \"A\",\n \"mode\": \"none\"\n },\n \"thresholdsStyle\": {\n \"mode\": \"off\"\n }\n },\n \"mappings\": [],\n \"thresholds\": {\n \"mode\": \"absolute\",\n \"steps\": [\n {\n \"color\": \"green\",\n \"value\": null\n },\n {\n \"color\": \"red\",\n \"value\": 80\n }\n ]\n }\n },\n \"overrides\": []\n },\n \"gridPos\": {\n \"h\": 8,\n \"w\": 12,\n \"x\": 12,\n \"y\": 10\n },\n \"id\": 5,\n \"options\": {\n \"legend\": {\n \"calcs\": [],\n \"displayMode\": \"list\",\n \"placement\": \"bottom\",\n \"showLegend\": true\n },\n \"tooltip\": {\n \"mode\": \"single\",\n \"sort\": \"none\"\n }\n },\n \"targets\": [\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"editorMode\": \"builder\",\n \"expr\": \"latency{jobName=\\\"write\\\", status=\\\"ok\\\"} > 0\",\n \"legendFormat\": \"{{sdk}}-{{sdkVersion}}-p{{quantile}}\",\n \"range\": true,\n \"refId\": \"A\"\n }\n ],\n \"title\": \"Write Latencies (OK)\",\n \"type\": \"timeseries\"\n },\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"fieldConfig\": {\n \"defaults\": {\n \"color\": {\n \"mode\": \"palette-classic\"\n },\n \"custom\": {\n \"axisCenteredZero\": false,\n \"axisColorMode\": \"text\",\n \"axisLabel\": \"\",\n \"axisPlacement\": \"auto\",\n \"barAlignment\": 0,\n \"drawStyle\": \"line\",\n \"fillOpacity\": 0,\n \"gradientMode\": \"none\",\n \"hideFrom\": {\n \"legend\": false,\n \"tooltip\": false,\n \"viz\": false\n },\n \"lineInterpolation\": \"linear\",\n \"lineWidth\": 1,\n \"pointSize\": 5,\n \"scaleDistribution\": {\n \"type\": \"linear\"\n },\n \"showPoints\": \"auto\",\n \"spanNulls\": false,\n \"stacking\": {\n \"group\": \"A\",\n \"mode\": \"none\"\n },\n \"thresholdsStyle\": {\n \"mode\": \"off\"\n }\n },\n \"mappings\": [],\n \"thresholds\": {\n \"mode\": \"absolute\",\n \"steps\": [\n {\n \"color\": \"green\",\n \"value\": null\n },\n {\n \"color\": \"red\",\n \"value\": 80\n }\n ]\n }\n },\n \"overrides\": []\n },\n \"gridPos\": {\n \"h\": 8,\n \"w\": 12,\n \"x\": 0,\n \"y\": 18\n },\n \"id\": 10,\n \"options\": {\n \"legend\": {\n \"calcs\": [],\n \"displayMode\": \"list\",\n \"placement\": \"bottom\",\n \"showLegend\": true\n },\n \"tooltip\": {\n \"mode\": \"single\",\n \"sort\": \"none\"\n }\n },\n \"targets\": [\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"editorMode\": \"builder\",\n \"expr\": \"latency{jobName=\\\"read\\\", status=\\\"err\\\"} > 0\",\n \"legendFormat\": \"{{sdk}}-{{sdkVersion}}-p{{quantile}}\",\n \"range\": true,\n \"refId\": \"A\"\n }\n ],\n \"title\": \"Read Latencies (NOT OK)\",\n \"type\": \"timeseries\"\n },\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"fieldConfig\": {\n \"defaults\": {\n \"color\": {\n \"mode\": \"palette-classic\"\n },\n \"custom\": {\n \"axisCenteredZero\": false,\n \"axisColorMode\": \"text\",\n \"axisLabel\": \"\",\n \"axisPlacement\": \"auto\",\n \"barAlignment\": 0,\n \"drawStyle\": \"line\",\n \"fillOpacity\": 0,\n \"gradientMode\": \"none\",\n \"hideFrom\": {\n \"legend\": false,\n \"tooltip\": false,\n \"viz\": false\n },\n \"lineInterpolation\": \"linear\",\n \"lineWidth\": 1,\n \"pointSize\": 5,\n \"scaleDistribution\": {\n \"type\": \"linear\"\n },\n \"showPoints\": \"auto\",\n \"spanNulls\": false,\n \"stacking\": {\n \"group\": \"A\",\n \"mode\": \"none\"\n },\n \"thresholdsStyle\": {\n \"mode\": \"off\"\n }\n },\n \"mappings\": [],\n \"thresholds\": {\n \"mode\": \"absolute\",\n \"steps\": [\n {\n \"color\": \"green\",\n \"value\": null\n },\n {\n \"color\": \"red\",\n \"value\": 80\n }\n ]\n }\n },\n \"overrides\": []\n },\n \"gridPos\": {\n \"h\": 8,\n \"w\": 12,\n \"x\": 12,\n \"y\": 18\n },\n \"id\": 11,\n \"options\": {\n \"legend\": {\n \"calcs\": [],\n \"displayMode\": \"list\",\n \"placement\": \"bottom\",\n \"showLegend\": true\n },\n \"tooltip\": {\n \"mode\": \"single\",\n \"sort\": \"none\"\n }\n },\n \"targets\": [\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"editorMode\": \"builder\",\n \"expr\": \"latency{jobName=\\\"write\\\", status=\\\"err\\\"} > 0\",\n \"legendFormat\": \"{{sdk}}-{{sdkVersion}}-p{{quantile}}\",\n \"range\": true,\n \"refId\": \"A\"\n }\n ],\n \"title\": \"Write Latencies (NOT OK)\",\n \"type\": \"timeseries\"\n }\n ],\n \"refresh\": \"\",\n \"revision\": 1,\n \"schemaVersion\": 38,\n \"style\": \"dark\",\n \"tags\": [],\n \"templating\": {\n \"list\": [\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"filters\": [],\n \"hide\": 0,\n \"label\": \"\",\n \"name\": \"filter\",\n \"skipUrlSync\": false,\n \"type\": \"adhoc\"\n }\n ]\n },\n \"time\": {\n \"from\": \"now-15m\",\n \"to\": \"now\"\n },\n \"timepicker\": {},\n \"timezone\": \"\",\n \"title\": \"SLO\",\n \"uid\": \"7CzMl5t4k\",\n \"version\": 1,\n \"weekStart\": \"\"\n }\n # custom-dashboard:\n # file: dashboards/custom-dashboard.json\n # prometheus-stats:\n # gnetId: 2\n # revision: 2\n # datasource: Prometheus\n # local-dashboard:\n # url: https://example.com/repository/test.json\n # token: ''\n # local-dashboard-base64:\n # url: https://example.com/repository/test-b64.json\n # token: ''\n # b64content: true\n"},"k8s/ci/prometheus.yaml":{"isBinary":false,"fileName":"k8s/ci/prometheus.yaml","originalFileName":"k8s/ci/prometheus.yaml","content":"apiVersion: v1\nkind: ServiceAccount\nmetadata:\n name: prometheus\n---\napiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRole\nmetadata:\n name: prometheus\nrules:\n - apiGroups: [\"\"]\n resources:\n - nodes\n - nodes/metrics\n - services\n - endpoints\n - pods\n verbs: [\"get\", \"list\", \"watch\"]\n - apiGroups: [\"\"]\n resources:\n - configmaps\n verbs: [\"get\"]\n - apiGroups:\n - networking.k8s.io\n resources:\n - ingresses\n verbs: [\"get\", \"list\", \"watch\"]\n - nonResourceURLs: [\"/metrics\"]\n verbs: [\"get\"]\n---\napiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRoleBinding\nmetadata:\n name: prometheus\nroleRef:\n apiGroup: rbac.authorization.k8s.io\n kind: ClusterRole\n name: prometheus\nsubjects:\n - kind: ServiceAccount\n name: prometheus\n namespace: default\n---\napiVersion: monitoring.coreos.com/v1\nkind: Prometheus\nmetadata:\n name: prometheus\nspec:\n serviceAccountName: prometheus\n serviceMonitorSelector:\n matchLabels:\n ydb-cluster-monitor: slo-storage\n enableAdminAPI: true\n replicas: 1\n securityContext:\n runAsUser: 1000\n runAsNonRoot: true\n runAsGroup: 65534\n fsGroup: 2000\n"},"k8s/ci/storage.yaml":{"isBinary":false,"fileName":"k8s/ci/storage.yaml","originalFileName":"k8s/ci/storage.yaml","content":"apiVersion: ydb.tech/v1alpha1\nkind: Storage\nmetadata:\n name: storage\nspec:\n monitoring:\n enabled: false\n image:\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\n domain: Root\n nodes: 1\n service:\n grpc:\n tls:\n enabled: false\n ipFamilies:\n - IPv4\n interconnect:\n tls:\n enabled: false\n ipFamilyPolicy: SingleStack\n ipFamilies:\n - IPv4\n status:\n ipFamilyPolicy: SingleStack\n ipFamilies:\n - IPv4\n additionalLabels:\n ydb-cluster: slo-storage\n ydb-cluster-monitor: slo-storage\n affinity:\n podAntiAffinity:\n requiredDuringSchedulingIgnoredDuringExecution:\n - labelSelector:\n matchExpressions:\n - key: ydb-cluster\n operator: In\n values:\n - slo-storage\n topologyKey: \"kubernetes.io/hostname\"\n erasure: none\n dataStore: []\n configuration: |+\n static_erasure: none\n host_configs:\n - drive:\n - path: SectorMap:1:64\n type: SSD\n host_config_id: 1\n grpc_config:\n port: 2135\n domains_config:\n domain:\n - name: Root\n storage_pool_types:\n - kind: ssd\n pool_config:\n box_id: 1\n erasure_species: none\n kind: ssd\n pdisk_filter:\n - property:\n - type: SSD\n vdisk_kind: Default\n state_storage:\n - ring:\n node:\n - 1\n nto_select: 1\n ssid: 1\n actor_system_config:\n executor:\n - name: System\n spin_threshold: 0\n threads: 2\n type: BASIC\n - name: User\n spin_threshold: 0\n threads: 3\n type: BASIC\n - name: Batch\n spin_threshold: 0\n threads: 2\n type: BASIC\n - name: IO\n threads: 1\n time_per_mailbox_micro_secs: 100\n type: IO\n - name: IC\n spin_threshold: 10\n threads: 1\n time_per_mailbox_micro_secs: 100\n type: BASIC\n scheduler:\n progress_threshold: 10000\n resolution: 256\n spin_threshold: 0\n blob_storage_config:\n service_set:\n groups:\n - erasure_species: none\n rings:\n - fail_domains:\n - vdisk_locations:\n - node_id: 1\n path: SectorMap:1:64\n pdisk_category: SSD\n channel_profile_config:\n profile:\n - channel:\n - erasure_species: none\n pdisk_category: 0\n storage_pool_kind: ssd\n - erasure_species: none\n pdisk_category: 0\n storage_pool_kind: ssd\n - erasure_species: none\n pdisk_category: 0\n storage_pool_kind: ssd\n profile_id: 0\n"},"k8s/ci/slo-monitoring.yaml":{"isBinary":false,"fileName":"k8s/ci/slo-monitoring.yaml","originalFileName":"k8s/ci/slo-monitoring.yaml","content":"apiVersion: v1\nkind: ConfigMap\nmetadata:\n name: slo\n labels:\n grafana_dashboard: \"1\"\n annotations:\n k8s-sidecar-target-directory: \"/tmp/dashboards/k8\"\ndata:\n slo.json: |\n {\n \"annotations\": {\n \"list\": [\n {\n \"builtIn\": 1,\n \"datasource\": {\n \"type\": \"grafana\",\n \"uid\": \"-- Grafana --\"\n },\n \"enable\": true,\n \"hide\": true,\n \"iconColor\": \"rgba(0, 211, 255, 1)\",\n \"name\": \"Annotations & Alerts\",\n \"target\": {\n \"limit\": 100,\n \"matchAny\": false,\n \"tags\": [],\n \"type\": \"dashboard\"\n },\n \"type\": \"dashboard\"\n }\n ]\n },\n \"editable\": true,\n \"fiscalYearStartMonth\": 0,\n \"graphTooltip\": 0,\n \"links\": [],\n \"liveNow\": false,\n \"panels\": [\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"fieldConfig\": {\n \"defaults\": {\n \"color\": {\n \"mode\": \"palette-classic\"\n },\n \"custom\": {\n \"axisCenteredZero\": false,\n \"axisColorMode\": \"text\",\n \"axisLabel\": \"\",\n \"axisPlacement\": \"auto\",\n \"barAlignment\": 0,\n \"drawStyle\": \"line\",\n \"fillOpacity\": 0,\n \"gradientMode\": \"none\",\n \"hideFrom\": {\n \"legend\": false,\n \"tooltip\": false,\n \"viz\": false\n },\n \"lineInterpolation\": \"linear\",\n \"lineWidth\": 1,\n \"pointSize\": 5,\n \"scaleDistribution\": {\n \"type\": \"linear\"\n },\n \"showPoints\": \"auto\",\n \"spanNulls\": false,\n \"stacking\": {\n \"group\": \"A\",\n \"mode\": \"none\"\n },\n \"thresholdsStyle\": {\n \"mode\": \"off\"\n }\n },\n \"mappings\": [],\n \"thresholds\": {\n \"mode\": \"absolute\",\n \"steps\": [\n {\n \"color\": \"green\",\n \"value\": null\n },\n {\n \"color\": \"red\",\n \"value\": 80\n }\n ]\n }\n },\n \"overrides\": []\n },\n \"gridPos\": {\n \"h\": 9,\n \"w\": 12,\n \"x\": 0,\n \"y\": 0\n },\n \"id\": 12,\n \"options\": {\n \"legend\": {\n \"calcs\": [],\n \"displayMode\": \"list\",\n \"placement\": \"bottom\",\n \"showLegend\": true\n },\n \"tooltip\": {\n \"mode\": \"single\",\n \"sort\": \"none\"\n }\n },\n \"targets\": [\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"editorMode\": \"builder\",\n \"expr\": \"rate(oks[$__rate_interval]) > 0\",\n \"hide\": false,\n \"legendFormat\": \"({{sdk}}-{{sdkVersion}}) {{jobName}} OK\",\n \"range\": true,\n \"refId\": \"B\"\n },\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"editorMode\": \"builder\",\n \"expr\": \"rate(not_oks[$__rate_interval]) > 0\",\n \"hide\": false,\n \"legendFormat\": \"({{sdk}}-{{sdkVersion}}) {{jobName}} not OK\",\n \"range\": true,\n \"refId\": \"C\"\n }\n ],\n \"title\": \"SLO Requests RPS\",\n \"transformations\": [],\n \"type\": \"timeseries\"\n },\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"fieldConfig\": {\n \"defaults\": {\n \"color\": {\n \"mode\": \"palette-classic\"\n },\n \"custom\": {\n \"axisCenteredZero\": false,\n \"axisColorMode\": \"text\",\n \"axisLabel\": \"\",\n \"axisPlacement\": \"auto\",\n \"axisSoftMin\": 0,\n \"barAlignment\": 0,\n \"drawStyle\": \"line\",\n \"fillOpacity\": 0,\n \"gradientMode\": \"none\",\n \"hideFrom\": {\n \"legend\": false,\n \"tooltip\": false,\n \"viz\": false\n },\n \"lineInterpolation\": \"linear\",\n \"lineWidth\": 1,\n \"pointSize\": 5,\n \"scaleDistribution\": {\n \"type\": \"linear\"\n },\n \"showPoints\": \"auto\",\n \"spanNulls\": false,\n \"stacking\": {\n \"group\": \"A\",\n \"mode\": \"none\"\n },\n \"thresholdsStyle\": {\n \"mode\": \"off\"\n }\n },\n \"decimals\": 0,\n \"mappings\": [],\n \"thresholds\": {\n \"mode\": \"absolute\",\n \"steps\": [\n {\n \"color\": \"green\",\n \"value\": null\n },\n {\n \"color\": \"red\",\n \"value\": 80\n }\n ]\n }\n },\n \"overrides\": []\n },\n \"gridPos\": {\n \"h\": 9,\n \"w\": 12,\n \"x\": 12,\n \"y\": 0\n },\n \"id\": 14,\n \"options\": {\n \"legend\": {\n \"calcs\": [],\n \"displayMode\": \"list\",\n \"placement\": \"bottom\",\n \"showLegend\": true\n },\n \"tooltip\": {\n \"mode\": \"single\",\n \"sort\": \"none\"\n }\n },\n \"targets\": [\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"editorMode\": \"builder\",\n \"expr\": \"histogram_quantile(1, rate(attempts_bucket[$__rate_interval]))\",\n \"hide\": false,\n \"legendFormat\": \"{{sdk}}-{{sdkVersion}} {{jobName}}-{{status}}\",\n \"range\": true,\n \"refId\": \"A\"\n }\n ],\n \"title\": \"Attempts\",\n \"transformations\": [],\n \"type\": \"timeseries\"\n },\n {\n \"collapsed\": false,\n \"gridPos\": {\n \"h\": 1,\n \"w\": 24,\n \"x\": 0,\n \"y\": 9\n },\n \"id\": 7,\n \"panels\": [],\n \"title\": \"Latencies\",\n \"type\": \"row\"\n },\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"fieldConfig\": {\n \"defaults\": {\n \"color\": {\n \"mode\": \"palette-classic\"\n },\n \"custom\": {\n \"axisCenteredZero\": false,\n \"axisColorMode\": \"text\",\n \"axisLabel\": \"\",\n \"axisPlacement\": \"auto\",\n \"barAlignment\": 0,\n \"drawStyle\": \"line\",\n \"fillOpacity\": 0,\n \"gradientMode\": \"none\",\n \"hideFrom\": {\n \"legend\": false,\n \"tooltip\": false,\n \"viz\": false\n },\n \"lineInterpolation\": \"linear\",\n \"lineWidth\": 1,\n \"pointSize\": 5,\n \"scaleDistribution\": {\n \"type\": \"linear\"\n },\n \"showPoints\": \"auto\",\n \"spanNulls\": false,\n \"stacking\": {\n \"group\": \"A\",\n \"mode\": \"none\"\n },\n \"thresholdsStyle\": {\n \"mode\": \"off\"\n }\n },\n \"mappings\": [],\n \"thresholds\": {\n \"mode\": \"absolute\",\n \"steps\": [\n {\n \"color\": \"green\",\n \"value\": null\n },\n {\n \"color\": \"red\",\n \"value\": 80\n }\n ]\n }\n },\n \"overrides\": []\n },\n \"gridPos\": {\n \"h\": 8,\n \"w\": 12,\n \"x\": 0,\n \"y\": 10\n },\n \"id\": 4,\n \"options\": {\n \"legend\": {\n \"calcs\": [],\n \"displayMode\": \"list\",\n \"placement\": \"bottom\",\n \"showLegend\": true\n },\n \"tooltip\": {\n \"mode\": \"single\",\n \"sort\": \"none\"\n }\n },\n \"pluginVersion\": \"9.3.1\",\n \"targets\": [\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"editorMode\": \"builder\",\n \"expr\": \"latency{jobName=\\\"read\\\", status=\\\"ok\\\"} > 0\",\n \"legendFormat\": \"{{sdk}}-{{sdkVersion}}-p{{quantile}}\",\n \"range\": true,\n \"refId\": \"A\"\n }\n ],\n \"title\": \"Read Latencies (OK)\",\n \"type\": \"timeseries\"\n },\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"fieldConfig\": {\n \"defaults\": {\n \"color\": {\n \"mode\": \"palette-classic\"\n },\n \"custom\": {\n \"axisCenteredZero\": false,\n \"axisColorMode\": \"text\",\n \"axisLabel\": \"\",\n \"axisPlacement\": \"auto\",\n \"barAlignment\": 0,\n \"drawStyle\": \"line\",\n \"fillOpacity\": 0,\n \"gradientMode\": \"none\",\n \"hideFrom\": {\n \"legend\": false,\n \"tooltip\": false,\n \"viz\": false\n },\n \"lineInterpolation\": \"linear\",\n \"lineWidth\": 1,\n \"pointSize\": 5,\n \"scaleDistribution\": {\n \"type\": \"linear\"\n },\n \"showPoints\": \"auto\",\n \"spanNulls\": false,\n \"stacking\": {\n \"group\": \"A\",\n \"mode\": \"none\"\n },\n \"thresholdsStyle\": {\n \"mode\": \"off\"\n }\n },\n \"mappings\": [],\n \"thresholds\": {\n \"mode\": \"absolute\",\n \"steps\": [\n {\n \"color\": \"green\",\n \"value\": null\n },\n {\n \"color\": \"red\",\n \"value\": 80\n }\n ]\n }\n },\n \"overrides\": []\n },\n \"gridPos\": {\n \"h\": 8,\n \"w\": 12,\n \"x\": 12,\n \"y\": 10\n },\n \"id\": 5,\n \"options\": {\n \"legend\": {\n \"calcs\": [],\n \"displayMode\": \"list\",\n \"placement\": \"bottom\",\n \"showLegend\": true\n },\n \"tooltip\": {\n \"mode\": \"single\",\n \"sort\": \"none\"\n }\n },\n \"targets\": [\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"editorMode\": \"builder\",\n \"expr\": \"latency{jobName=\\\"write\\\", status=\\\"ok\\\"} > 0\",\n \"legendFormat\": \"{{sdk}}-{{sdkVersion}}-p{{quantile}}\",\n \"range\": true,\n \"refId\": \"A\"\n }\n ],\n \"title\": \"Write Latencies (OK)\",\n \"type\": \"timeseries\"\n },\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"fieldConfig\": {\n \"defaults\": {\n \"color\": {\n \"mode\": \"palette-classic\"\n },\n \"custom\": {\n \"axisCenteredZero\": false,\n \"axisColorMode\": \"text\",\n \"axisLabel\": \"\",\n \"axisPlacement\": \"auto\",\n \"barAlignment\": 0,\n \"drawStyle\": \"line\",\n \"fillOpacity\": 0,\n \"gradientMode\": \"none\",\n \"hideFrom\": {\n \"legend\": false,\n \"tooltip\": false,\n \"viz\": false\n },\n \"lineInterpolation\": \"linear\",\n \"lineWidth\": 1,\n \"pointSize\": 5,\n \"scaleDistribution\": {\n \"type\": \"linear\"\n },\n \"showPoints\": \"auto\",\n \"spanNulls\": false,\n \"stacking\": {\n \"group\": \"A\",\n \"mode\": \"none\"\n },\n \"thresholdsStyle\": {\n \"mode\": \"off\"\n }\n },\n \"mappings\": [],\n \"thresholds\": {\n \"mode\": \"absolute\",\n \"steps\": [\n {\n \"color\": \"green\",\n \"value\": null\n },\n {\n \"color\": \"red\",\n \"value\": 80\n }\n ]\n }\n },\n \"overrides\": []\n },\n \"gridPos\": {\n \"h\": 8,\n \"w\": 12,\n \"x\": 0,\n \"y\": 18\n },\n \"id\": 10,\n \"options\": {\n \"legend\": {\n \"calcs\": [],\n \"displayMode\": \"list\",\n \"placement\": \"bottom\",\n \"showLegend\": true\n },\n \"tooltip\": {\n \"mode\": \"single\",\n \"sort\": \"none\"\n }\n },\n \"targets\": [\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"editorMode\": \"builder\",\n \"expr\": \"latency{jobName=\\\"read\\\", status=\\\"err\\\"} > 0\",\n \"legendFormat\": \"{{sdk}}-{{sdkVersion}}-p{{quantile}}\",\n \"range\": true,\n \"refId\": \"A\"\n }\n ],\n \"title\": \"Read Latencies (NOT OK)\",\n \"type\": \"timeseries\"\n },\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"fieldConfig\": {\n \"defaults\": {\n \"color\": {\n \"mode\": \"palette-classic\"\n },\n \"custom\": {\n \"axisCenteredZero\": false,\n \"axisColorMode\": \"text\",\n \"axisLabel\": \"\",\n \"axisPlacement\": \"auto\",\n \"barAlignment\": 0,\n \"drawStyle\": \"line\",\n \"fillOpacity\": 0,\n \"gradientMode\": \"none\",\n \"hideFrom\": {\n \"legend\": false,\n \"tooltip\": false,\n \"viz\": false\n },\n \"lineInterpolation\": \"linear\",\n \"lineWidth\": 1,\n \"pointSize\": 5,\n \"scaleDistribution\": {\n \"type\": \"linear\"\n },\n \"showPoints\": \"auto\",\n \"spanNulls\": false,\n \"stacking\": {\n \"group\": \"A\",\n \"mode\": \"none\"\n },\n \"thresholdsStyle\": {\n \"mode\": \"off\"\n }\n },\n \"mappings\": [],\n \"thresholds\": {\n \"mode\": \"absolute\",\n \"steps\": [\n {\n \"color\": \"green\",\n \"value\": null\n },\n {\n \"color\": \"red\",\n \"value\": 80\n }\n ]\n }\n },\n \"overrides\": []\n },\n \"gridPos\": {\n \"h\": 8,\n \"w\": 12,\n \"x\": 12,\n \"y\": 18\n },\n \"id\": 11,\n \"options\": {\n \"legend\": {\n \"calcs\": [],\n \"displayMode\": \"list\",\n \"placement\": \"bottom\",\n \"showLegend\": true\n },\n \"tooltip\": {\n \"mode\": \"single\",\n \"sort\": \"none\"\n }\n },\n \"targets\": [\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"editorMode\": \"builder\",\n \"expr\": \"latency{jobName=\\\"write\\\", status=\\\"err\\\"} > 0\",\n \"legendFormat\": \"{{sdk}}-{{sdkVersion}}-p{{quantile}}\",\n \"range\": true,\n \"refId\": \"A\"\n }\n ],\n \"title\": \"Write Latencies (NOT OK)\",\n \"type\": \"timeseries\"\n }\n ],\n \"refresh\": \"\",\n \"revision\": 1,\n \"schemaVersion\": 38,\n \"style\": \"dark\",\n \"tags\": [],\n \"templating\": {\n \"list\": [\n {\n \"datasource\": {\n \"type\": \"prometheus\",\n \"uid\": \"prometheus\"\n },\n \"filters\": [],\n \"hide\": 0,\n \"label\": \"\",\n \"name\": \"filter\",\n \"skipUrlSync\": false,\n \"type\": \"adhoc\"\n }\n ]\n },\n \"time\": {\n \"from\": \"now-15m\",\n \"to\": \"now\"\n },\n \"timepicker\": {},\n \"timezone\": \"\",\n \"title\": \"SLO\",\n \"uid\": \"7CzMl5t4k\",\n \"version\": 1,\n \"weekStart\": \"\"\n }"},"k8s/ci/valuesForGrafana.yaml":{"isBinary":false,"fileName":"k8s/ci/valuesForGrafana.yaml","originalFileName":"k8s/ci/valuesForGrafana.yaml","content":"grafana:\n service:\n port: \"3000\"\n"},"k8s/ci/valuesForPrometheusPushGateway.yaml":{"isBinary":false,"fileName":"k8s/ci/valuesForPrometheusPushGateway.yaml","originalFileName":"k8s/ci/valuesForPrometheusPushGateway.yaml","content":"serviceMonitor:\n enabled: true\n namespace: default\n additionalLabels:\n release: prometheus"},"k8s/ci/serviceMonitor.yaml":{"isBinary":false,"fileName":"k8s/ci/serviceMonitor.yaml","originalFileName":"k8s/ci/serviceMonitor.yaml","content":"apiVersion: monitoring.coreos.com/v1\nkind: ServiceMonitor\nmetadata:\n name: ydb\nspec:\n selector:\n matchLabels:\n app: ydb-operator\n namespaceSelector:\n matchNames:\n - default\n endpoints:\n - port: web"},"k8s/ci/valuesForYDBOperator.yaml":{"isBinary":false,"fileName":"k8s/ci/valuesForYDBOperator.yaml","originalFileName":"k8s/ci/valuesForYDBOperator.yaml","content":"webhook:\n enabled: true\n patch:\n enabled: true\nmetrics:\n enabled: true\n"},"k8s/ci/workload.yaml":{"isBinary":false,"fileName":"k8s/ci/workload.yaml","originalFileName":"k8s/ci/workload.yaml","content":"apiVersion: batch/v1\nkind: Job\nmetadata:\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\nspec:\n ttlSecondsAfterFinished: 120\n backoffLimit: 0\n template:\n metadata:\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\n spec:\n containers:\n - name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\n image: ${{DOCKER_IMAGE}}:latest\n imagePullPolicy: Never\n env:\n - name: YDB_ANONYMOUS_CREDENTIALS\n value: \"1\"\n args:\n - \"${{COMMAND}}\"\n - ${{ARGS}}\n restartPolicy: Never\n"}} \ No newline at end of file