{{#if scope.currentCluster.isReady}} {{#if showMonitoringV2Warning}} {{#banner-message color="bg-warning"}}

{{t 'banner.monitoringV2Warning' dashboardLink=scope.dashboardLink docsBase=scope.docsBase htmlSafe=true}}

{{/banner-message}} {{else}} {{#banner-message color="bg-warning"}}

{{t 'banner.monitoring' dashboardLink=scope.dashboardLink docsBase=scope.docsBase htmlSafe=true}}

{{/banner-message}} {{/if}} {{/if}} {{#if canSaveMonitor}}

{{t (concat "monitoringPage." level ".title")}}

{{#if settings.isRancher}}

{{t "monitoringPage.resourceLimitsHelp" docsBase=settings.docsBase htmlSafe=true}}

{{/if}} {{#if (and enabled scope.currentProject.enableProjectMonitoring (not scope.currentCluster.enableClusterMonitoring))}} {{#banner-message color="bg-warning"}}

{{t "monitoringPage.clusterNotEnabled"}}

{{/banner-message}} {{/if}} {{#banner-message color="bg-info"}}

{{#if enabled}} {{t (concat "monitoringPage.toUpdate." level)}} {{else}} {{t (concat "monitoringPage." level ".disabled")}} {{/if}}

{{/banner-message}} {{#if loading}}
{{else}}
{{new-select classNames="form-control" content=availableVersions value=templateVersion }}

{{input-integer min=0 value=retention}} {{t "generic.hours"}}
{{#if (eq level "cluster")}}
{{schema/input-boolean value=enableNodeExporter}}
{{/if}}
{{schema/input-boolean value=enablePrometheusPersistence}}
{{#if enablePrometheusPersistence}}
{{schema/input-string value=prometheusPersistenceSize placeholder=(t "monitoringPage.config.prometheus.size.placeholder") }}
{{schema/input-storageclass value=prometheusStorageClass}}
{{/if}}
{{input-integer min="0" step="100" value=limitsCpu classNames="form-control" placeholder=(t "monitoringPage.config.prometheus.cpuLimit.placeholder") }}
{{t "monitoringPage.config.prometheus.cpuLimit.unit"}}
{{input-integer min="0" step="100" value=requestsCpu classNames="form-control" placeholder=(t "monitoringPage.config.prometheus.cpuRequest.placeholder") }}
{{t "monitoringPage.config.prometheus.cpuRequest.unit"}}
{{input-integer min="4" step="1" value=limitsMemory classNames="form-control" placeholder=(t "monitoringPage.config.prometheus.memoryLimit.placeholder") }}
{{t "generic.mibibyte"}}
{{input-integer min="4" step="1" value=requestsMemory classNames="form-control" placeholder=(t "monitoringPage.config.prometheus.memoryRequest.placeholder") }}
{{t "generic.mibibyte"}}
{{#if (and (eq level "cluster") enableNodeExporter)}}
{{input-integer min="0" step="100" value=nodeExporterLimitsCpu classNames="form-control" placeholder=(t "monitoringPage.config.nodeexporter.cpuLimit.placeholder") }}
{{t "monitoringPage.config.nodeexporter.cpuLimit.unit"}}
{{input-integer min="4" step="1" value=nodeExporterLimitsMemory classNames="form-control" placeholder=(t "monitoringPage.config.nodeexporter.memoryLimit.placeholder") }}
{{t "generic.mibibyte"}}
{{/if}} {{#if (eq level "cluster")}}
{{#if enableNodeExporter}}
{{input-integer min=1 max=65535 value=port }}
{{/if}}
{{input-integer min="4" step="1" value=operatorLimitsMemory classNames="form-control" placeholder=(t "monitoringPage.config.operator.memoryLimit.placeholder") }}
{{t "generic.mibibyte"}}
{{/if}}
{{form-key-value changedArray=(action (mut nodeSelectors)) initialStr=nodeSelectorsStr allowEmptyValue=true addActionLabel="monitoringPage.nodeSelector.addSelectorLabel" }}
{{scheduling-toleration editing=true tolerate=prometheusTolerations title=(t "formScheduling.toleration.workloadTitle" workload="Prometheus") }}
{{schema/input-boolean value=enableGrafanaPersistence}}
{{#if enableGrafanaPersistence}}
{{schema/input-string value=grafanaPersistenceSize placeholder=(t "monitoringPage.config.grafana.size.placeholder") }}
{{schema/input-storageclass value=grafanaStorageClass}}
{{/if}} {{#advanced-section advanced=advanced}} {{form-key-value initialMap=customAnswers changed=(action (mut customAnswers)) allowEmptyValue=true addInitialEmptyRow=true editing=true header=(t "newCatalog.answers.label") addActionLabel="newCatalog.answers.addAction" keyLabel="newContainer.environment.keyLabel" keyPlaceholder="newContainer.environment.keyPlaceholder" valueLabel="newContainer.environment.valueLabel" valuePlaceholder="newContainer.environment.valuePlaceholder" }} {{/advanced-section}}
{{/if}} {{#if (or insufficientPrometheusMemory insufficientPrometheusCpu insufficient)}} {{#banner-message color="bg-warning"}}

{{#if (and insufficientMemory insufficientCpu)}} {{t "monitoringPage.insufficientSize.total.all" cpu=minCpu memory=minMemory}} {{else if insufficientMemory}} {{t "monitoringPage.insufficientSize.total.memory" memory=minMemory}} {{else if insufficientCpu}} {{t "monitoringPage.insufficientSize.total.cpu" cpu=minCpu}} {{else if (and insufficientPrometheusCpu insufficientPrometheusMemory nodeSelectors.length)}} {{t "monitoringPage.insufficientSize.selectors.all" cpu=prometheusRequestCpu memory=prometheusRequestMemory}} {{else if (and insufficientPrometheusCpu insufficientPrometheusMemory)}} {{t "monitoringPage.insufficientSize.prometheus.all" cpu=prometheusRequestCpu memory=prometheusRequestMemory}} {{else if (and insufficientPrometheusCpu nodeSelectors.length)}} {{t "monitoringPage.insufficientSize.selectors.cpu" cpu=prometheusRequestCpu}} {{else if insufficientPrometheusCpu}} {{t "monitoringPage.insufficientSize.prometheus.cpu" cpu=prometheusRequestCpu}} {{else if (and insufficientPrometheusMemory nodeSelectors.length)}} {{t "monitoringPage.insufficientSize.selectors.memory" memory=prometheusRequestMemory}} {{else if insufficientPrometheusMemory}} {{t "monitoringPage.insufficientSize.prometheus.memory" memory=prometheusRequestMemory}} {{/if}}

{{/banner-message}} {{/if}}
{{#save-cancel saveDisabled=saveDisabled cancelDisabled=true editing=enabled createLabel="monitoringPage.enableActionLabel" save="enable" }} {{#if (and enabled canDisableMonitor)}} {{#if confirmDisable}} {{else}} {{#if (and istioEnabled (eq level "cluster"))}} {{#tooltip-element type="tooltip-basic" model=(t "monitoringPage.errors.disableIstioFirst") tooltipTemplate="tooltip-static" aria-describedby="tooltip-base" inlineBlock=true placement="top" }} {{/tooltip-element}} {{else}} {{/if}} {{/if}} {{/if}} {{/save-cancel}}
{{else if (and (eq level "project") scope.currentProject.isSystemProject)}} {{banner-message color="bg-info" message=(t "monitoringPage.systemProject") }} {{else}} {{banner-message color="bg-info" message=(t "monitoringPage.noPermission" level=level) }} {{/if}}