kube-prometheus-stack is a Helm collection that deploys:
Overall, kube-prometheus-stack is comperehensive and heavily configures all the tools.
Install with:
helm repo add prometheus-community oci://ghcr.io/prometheus-community/charts/
helm install kube-prometheus-stack prometheus-community/kube-prometheus-stack -f values.yaml
See examples from other people.
Name | Repo | Stars | Version | Timestamp |
---|---|---|---|---|
kube-prometheus-stack | ishioni/homelab-ops | 134 | 75.6.0 | a day ago |
kube-prometheus-stack | Pumba98/flux2-gitops | 65 | 75.6.0 | a day ago |
kube-prometheus-stack | auricom/home-ops | 192 | 75.6.0 | a day ago |
kube-prometheus-stack | cbirkenbeul/homelab | 35 | 75.6.0 | 2 days ago |
kube-prometheus-stack | kashalls/home-cluster | 154 | 75.6.0 | 2 days ago |
See the most popular values for this chart:
Key | Types |
---|---|
boolean | |
boolean | |
string | |
string | |
string | |
boolean | |
boolean | |
boolean | |
string | |
string | |
string | |
boolean | |
boolean | |
string | |
string | |
boolean | |
string | |
string | |
string | |
boolean | |
boolean | |
string | |
string | |
boolean | |
string | |
boolean | |
grafana.defaultDashboardsTimezone (10) ${TIMEZONE} | string |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
number | |
boolean | |
boolean | |
string | |
string | |
string | |
boolean | |
string | |
number | |
boolean | |
string | |
boolean | |
string | |
string | |
boolean | |
boolean | |
boolean | |
boolean | |
string | |
string | |
boolean | |
string | |
string | |
string | |
string | |
string | |
boolean | |
string | |
boolean | |
string | |
string | |
string | |
string | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
string | |
string | |
string | |
number | |
string | |
boolean | |
string | |
boolean | |
boolean | |
string | |
string | |
string | |
string | |
string | |
boolean | |
string | |
string | |
boolean | |
string | |
string | |
boolean | |
boolean | |
string | |
number | |
boolean | |
boolean | |
string | |
string | |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
grafana.plugins[] (5) - grafana-piechart-panel | string |
boolean | |
grafana.fullnameOverride (3) grafana | string |
string | |
string | |
boolean | |
string | |
string | |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
string | |
number | |
number | |
string | |
number | |
string | |
string | |
number | |
boolean | |
string | |
string | |
number | |
number | |
string | |
number | |
number | |
string | |
number | |
number | |
string | |
string | |
string | |
string | |
string | |
number | |
number | |
string | |
number | |
number | |
string | |
number | |
number | |
string | |
number | |
number | |
string | |
number | |
number | |
string | |
number | |
number | |
string | |
number | |
number | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
number | |
number | |
string | |
string | |
string | |
string | |
string | |
string | |
number | |
number | |
string | |
number | |
number | |
string | |
number | |
number | |
string | |
number | |
number | |
string | |
string | |
number | |
string | |
string | |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
boolean | |
string | |
boolean | |
string | |
number | |
boolean | |
number | |
boolean | |
boolean | |
boolean | |
string | |
string | |
string | |
string | |
string | |
boolean | |
boolean | |
string | |
string | |
string | |
string | |
string | |
boolean | |
boolean | |
string | |
boolean | |
boolean | |
string | |
string | |
string | |
string | |
string | |
boolean | |
prometheus.prometheusSpec.enableFeatures[] (93) - memory-snapshot-on-shutdown | string |
string | |
number | |
string | |
prometheus.prometheusSpec.image.repository (39) prompp/prompp | string |
string | |
prometheus.prometheusSpec.image.tag (38) 2.53.2-0.2.5 | string |
string | |
number | |
boolean | |
number | |
number | |
string | |
string | |
string | |
string | |
number | |
prometheus.prometheusSpec.thanos.image (16) quay.io/thanos/thanos:v0.39.0 | string |
string | |
prometheus.prometheusSpec.thanos.objectStorageConfig.existingSecret.name (11) thanos-objstore-config | string |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
string | |
string | |
string | |
prometheus.prometheusSpec.thanos.version (8) ${THANOS_VERSION#v} | string |
string | |
string | |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
boolean | |
string | |
string | |
boolean | |
string | |
string | |
prometheus.prometheusSpec.secrets[] (3) - etcd-client-cert | string |
string | |
string | |
number | |
string | |
number | |
number | |
string | |
string | |
string | |
string | |
number | |
string | |
string | |
string | |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
boolean | |
string | |
boolean | |
string | |
boolean | |
boolean | |
boolean | |
string | |
boolean | |
boolean | |
boolean | |
string | |
string | |
string | |
boolean | |
string | |
number | |
string | |
string | |
string | |
string | |
string | |
boolean | |
boolean | |
boolean | |
string | |
boolean | |
number | |
string | |
string | |
string | |
boolean | |
boolean | |
boolean | |
boolean | |
string | |
string | |
string | |
string | |
number | |
string | |
string | |
string | |
string | |
boolean | |
prometheus.ingress.hosts[] (94) - prometheus.${SECRET_DOMAIN} | string |
string | |
string | |
prometheus.ingress.tls[].hosts[] (47) - prometheus.${SECRET_DOMAIN} | string |
prometheus.ingress.tls[].secretName (25) prometheus-tls | string |
prometheus.ingress.annotations."hajimari.io/icon" (18) simple-icons:prometheus | string |
prometheus.ingress.annotations."external-dns.alpha.kubernetes.io/target" (17) internal.${SECRET_DOMAIN} | string |
string | |
prometheus.ingress.annotations."cert-manager.io/cluster-issuer" (15) letsencrypt-production | string |
string | |
string | |
string | |
string | |
string | |
prometheus.ingress.annotations."gethomepage.dev/widget.url" (9) http://kube-prometheus-stack-prometheus.observability:9090 | string |
prometheus.ingress.annotations."gethomepage.dev/description" (8) Monitoring Scrape Service | string |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
prometheus.ingress.annotations."nginx.ingress.kubernetes.io/auth-response-headers" (4) Remote-User,Remote-Name,Remote-Groups,Remote-Email | string |
prometheus.ingress.annotations."nginx.ingress.kubernetes.io/auth-snippet" (4) proxy_set_header X-Forwarded-Method $request_method; | string |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
prometheus.route.main.hostnames[] (47) - prometheus.${SECRET_DOMAIN} | string |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
string | |
string | |
number | |
number | |
string | |
number | |
number | |
string | |
string | |
string | |
string | |
boolean | |
string | |
string | |
boolean | |
boolean | |
string | |
prometheus.thanosServiceExternal.type (3) LoadBalancer | string |
string | |
string | |
number | |
number | |
string | |
string | |
number | |
number | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
string | |
string | |
string | |
string | |
string | |
boolean | |
string | |
string | |
string | |
boolean | |
string | |
string | |
string | |
boolean | |
string | |
boolean | |
string | |
number | |
string | |
string | |
string | |
number | |
number | |
boolean | |
string | |
number | |
string | |
boolean | |
string | |
string | |
string | |
boolean | |
boolean | |
string | |
number | |
number | |
number | |
string | |
string | |
string | |
boolean | |
number | |
number | |
boolean | |
boolean | |
boolean | |
boolean | |
string | |
string | |
string | |
string | |
boolean | |
prometheus-node-exporter.fullnameOverride (108) node-exporter | string |
boolean | |
string | |
string | |
string | |
prometheus-node-exporter.prometheus.monitor.relabelings[].sourceLabels[] (104) - __meta_kubernetes_pod_node_name | string |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
prometheus-node-exporter.extraArgs[] (10) - --collector.filesystem.mount-points-exclude=^/(dev|proc|sys|var/lib/docker/.+|var/lib/kubelet/.+)($|/) | string |
prometheus-node-exporter.tolerations[].effect (7) NoExecute | string |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
number | |
string | |
string | |
string | |
string | |
number | |
string | |
boolean | |
string | |
boolean | |
string | |
string | |
string | |
kube-state-metrics.prometheus.monitor.relabelings[].sourceLabels[] (101) - __meta_kubernetes_pod_node_name | string |
string | |
string | |
boolean | |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
kube-state-metrics.fullnameOverride (100) kube-state-metrics | string |
kube-state-metrics.metricLabelsAllowlist[] (99) - pods=[*] | string |
string | |
string | |
kube-state-metrics.rbac.extraRules[].verbs[] (4) - list | string |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
boolean | |
string | |
string | |
string | |
boolean | |
string | |
boolean | |
string | |
string | |
string | |
string | |
boolean | |
string | |
string | |
string | |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
alertmanager.alertmanagerSpec.externalUrl (54) https://alertmanager.${SECRET_DOMAIN} | string |
boolean | |
alertmanager.alertmanagerSpec.configSecret (26) alertmanager-secret | string |
number | |
string | |
string | |
string | |
string | |
string | |
string | |
string, boolean | |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
number | |
string | |
string | |
string | |
boolean | |
string | |
string | |
string | |
boolean | |
string | |
string | |
string | |
string | |
number | |
number | |
boolean | |
number | |
string | |
string | |
string | |
string | |
boolean | |
alertmanager.ingress.hosts[] (71) - alertmanager.${SECRET_DOMAIN} | string |
string | |
string | |
alertmanager.ingress.tls[].hosts[] (31) - alertmanager.${SECRET_DOMAIN} | string |
alertmanager.ingress.tls[].secretName (18) alertmanager-tls | string |
alertmanager.ingress.annotations."cert-manager.io/cluster-issuer" (14) letsencrypt-production | string |
alertmanager.ingress.annotations."external-dns.alpha.kubernetes.io/target" (13) internal.${SECRET_DOMAIN} | string |
string | |
string | |
alertmanager.ingress.annotations."gethomepage.dev/icon" (9) alertmanager.png | string |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
alertmanager.ingress.annotations."nginx.ingress.kubernetes.io/auth-response-headers" (3) Remote-User,Remote-Name,Remote-Groups,Remote-Email | string |
alertmanager.ingress.annotations."nginx.ingress.kubernetes.io/auth-snippet" (3) proxy_set_header X-Forwarded-Method $request_method; | string |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
boolean | |
alertmanager.route.main.hostnames[] (41) - alertmanager.${SECRET_DOMAIN} | string |
string | |
string | |
string | |
string | |
string | |
alertmanager.route.main.annotations."gethomepage.dev/icon" (4) alertmanager.png | string |
string | |
string | |
string | |
string | |
string | |
alertmanager.config.receivers[].name (23) null | string |
string | |
boolean | |
string | |
alertmanager.config.receivers[].slack_configs[].title (7) [{{ .Status | toUpper }}{{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ end }}] {{ if ne .CommonAnnotations.summary ""}}{{ .CommonAnnotations.summary }} {{ else if ne .CommonAnnotations.message ""}}{{ .CommonAnnotations.message }} {{ else if ne .CommonAnnotations.description ""}}{{ .CommonAnnotations.description }} {{ else }}{{ .CommonLabels.alertname }}{{ end }} | string |
alertmanager.config.receivers[].slack_configs[].icon_url (6) https://avatars3.githubusercontent.com/u/3380462 | string |
string | |
string | |
string | |
string | |
alertmanager.config.receivers[].discord_configs[].title (6) [{{ .Status | toUpper }}:{{ if eq .Status "firing" }}{{ .Alerts.Firing | len }}{{ else }}{{ .Alerts.Resolved | len }}{{ end }}] | string |
string | |
boolean | |
string | |
boolean | |
boolean | |
string | |
string | |
boolean | |
string | |
string | |
string | |
string | |
boolean | |
string | |
string | |
boolean | |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
string | |
string | |
string | |
string | |
boolean | |
string | |
string | |
boolean | |
alertmanager.config.route.routes[].matchers[] (14) - alertname =~ "InfoInhibitor|Watchdog" | string |
string | |
string | |
string | |
string | |
string | |
string | |
alertmanager.config.route.group_by[] (19) - alertname | string |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
alertmanager.config.global.slack_api_url (6) ${SECRET_ALERT_MANAGER_DISCORD_WEBHOOK} | string |
alertmanager.config.inhibit_rules[].equal[] (17) - alertname | string |
alertmanager.config.inhibit_rules[].source_matchers[] (11) - severity = "critical" | string |
alertmanager.config.inhibit_rules[].target_matchers[] (11) - severity = "warning" | string |
string | |
string | |
string | |
alertmanager.config.templates[] (4) - /etc/alertmanager/config/*.tmpl | string |
alertmanager.fullnameOverride (4) alertmanager | string |
string | |
string | |
number | |
string | |
number | |
string | |
string | |
string | |
string | |
string | |
number | |
number | |
number | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
string | |
string | |
string | |
boolean | |
string | |
boolean | |
string | |
number | |
boolean | |
string | |
string | |
string | |
string | |
string | |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
boolean | |
string | |
number | |
number | |
number | |
string | |
string | |
boolean | |
boolean | |
string | |
kubeControllerManager.service.selector.k8s-app (31) kube-controller-manager | string |
boolean | |
number | |
number | |
string | |
string | |
string | |
kubeControllerManager.serviceMonitor.metricRelabelings[].regex (21) (apiserver_audit|apiserver_client|apiserver_delegated|apiserver_envelope|apiserver_storage|apiserver_webhooks|attachdetach_controller|authenticated_user|authentication|cronjob_controller|disabled_metric|endpoint_slice|ephemeral_volume|garbagecollector_controller|get_token|go|hidden_metric|job_controller|kubernetes_build|kubernetes_feature|leader_election|node_collector|node_ipam|process_cpu|process_max|process_open|process_resident|process_start|process_virtual|pv_collector|registered_metric|replicaset_controller|rest_client|retroactive_storageclass|root_ca|running_managed|scrape_duration|scrape_samples|scrape_series|service_controller|storage_count|storage_operation|ttl_after|volume_operation|workqueue)_(.+) | string |
string | |
boolean | |
boolean | |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
string | |
boolean | |
string | |
kubeScheduler.service.selector.k8s-app (31) kube-scheduler | string |
number | |
boolean | |
number | |
string | |
string | |
string | |
kubeScheduler.serviceMonitor.metricRelabelings[].regex (21) (apiserver_audit|apiserver_client|apiserver_delegated|apiserver_envelope|apiserver_storage|apiserver_webhooks|authenticated_user|authentication|disabled_metric|go|hidden_metric|kubernetes_build|kubernetes_feature|leader_election|process_cpu|process_max|process_open|process_resident|process_start|process_virtual|registered_metric|rest_client|scheduler|scrape_duration|scrape_samples|scrape_series|workqueue)_(.+) | string |
string | |
boolean | |
boolean | |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
string | |
kubeEtcd.service.selector.k8s-app (31) kube-controller-manager | string |
kubeEtcd.service.selector.component (29) kube-apiserver | string |
boolean | |
number | |
number | |
string | |
string | |
string | |
string | |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
kubelet.serviceMonitor.metricRelabelings[].action (71) labeldrop | string |
string | |
kubelet.serviceMonitor.metricRelabelings[].regex (64) (uid) | string |
string | |
kubelet.serviceMonitor.cAdvisorRelabelings[].sourceLabels[] (3) - __metrics_path__ | string |
string | |
string | |
boolean | |
boolean | |
string | |
string | |
string | |
boolean | |
string | |
boolean | |
string | |
string | |
string | |
string | |
string | |
boolean | |
string | |
string | |
string | |
boolean | |
string | |
string | |
string | |
string | |
boolean | |
string | |
kubeApiServer.serviceMonitor.metricRelabelings[].regex (62) (apiserver|etcd|rest_client)_request(|_sli|_slo)_duration_seconds_bucket | string |
kubeApiServer.serviceMonitor.metricRelabelings[].sourceLabels[] (62) - __name__ | string |
string | |
string | |
kubeApiServer.serviceMonitor.selector.k8s-app (30) kube-apiserver | string |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
string | |
boolean | |
string | |
string | |
nodeExporter.serviceMonitor.relabelings[].sourceLabels[] (5) - __meta_kubernetes_pod_node_name | string |
nodeExporter.serviceMonitor.relabelings[].targetLabel (5) kubernetes_node | string |
string | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
string | |
string | |
string | |
kubeStateMetrics.prometheus.monitor.relabelings[].sourceLabels[] (4) - __meta_kubernetes_pod_node_name | string |
string | |
string | |
string | |
string | |
boolean | |
string | |
string | |
additionalPrometheusRulesMap.oom-rules.groups[].rules[].annotations.summary (52) Container {{ $labels.container }} in pod {{ $labels.namespace }}/{{ $labels.pod }} has been OOMKilled {{ $value }} times in the last 10 minutes. | string |
additionalPrometheusRulesMap.oom-rules.groups[].rules[].expr (52) (kube_pod_container_status_restarts_total - kube_pod_container_status_restarts_total offset 10m >= 1) and ignoring (reason) min_over_time(kube_pod_container_status_last_terminated_reason{reason="OOMKilled"}[10m]) == 1 | string |
string | |
string | |
additionalPrometheusRulesMap.dockerhub-rules.groups[].rules[].alert (50) DockerhubRateLimitRisk | string |
additionalPrometheusRulesMap.dockerhub-rules.groups[].rules[].annotations.summary (50) Kubernetes cluster Dockerhub rate limit risk | string |
additionalPrometheusRulesMap.dockerhub-rules.groups[].rules[].expr (50) count(time() - container_last_seen{image=~"(docker.io).*",container!=""} < 30) > 100 | string |
string | |
string | |
additionalPrometheusRulesMap.zfs-rules.groups[].rules[].alert (26) ZfsUnexpectedPoolState | string |
additionalPrometheusRulesMap.zfs-rules.groups[].rules[].annotations.summary (26) ZFS pool {{$labels.zpool}} on {{$labels.instance}} is in a unexpected state {{$labels.state}} | string |
additionalPrometheusRulesMap.zfs-rules.groups[].rules[].expr (26) node_zfs_zpool_state{state!="online"} > 0 | string |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
boolean | |
string | |
string | |
string | |
string | |
string | |
boolean | |
boolean | |
string | |
string | |
string | |
string | |
string | |
number | |
boolean | |
number | |
string | |
string | |
number | |
prometheusOperator.fullnameOverride (3) prometheus-operator | string |
boolean | |
string | |
string | |
boolean | |
number | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
boolean | |
boolean | |
boolean | |
string | |
string | |
string | |
string | |
boolean | |
string | |
string | |
boolean | |
string | |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
number | |
string | |
number | |
number | |
boolean | |
number | |
string | |
string | |
boolean | |
string | |
number | |
number | |
string | |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
fullnameOverride (19) prometheus | string |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
number | |
string | |
string | |
number | |
kubeDns.enabled (7) false | boolean |
number | |
number | |
number | |
number | |
string | |
string | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
string | |
string | |
boolean | |
string | |
string | |
string | |
string | |
boolean | |
string | |
string | |
boolean | |
string | |
string | |
string | |
string | |
number | |
string | |
boolean | |
number | |
number | |
boolean | |
number | |
string | |
string | |
string | |
boolean | |
boolean | |
string | |
number | |
string | |
string | |
string | |
number | |
number | |
number | |
string | |
boolean | |
string | |
string | |
string | |
string | |
boolean | |
boolean | |
boolean | |
boolean | |
string | |
boolean | |
boolean | |
boolean | |
string | |
boolean | |
string | |
string | |
string | |
number | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
boolean |