Compare commits

...

8 Commits

Author SHA1 Message Date
testA113
0c024f8434 moved data-cy toggle attributes 2021-09-28 22:23:01 +13:00
testA113
305fb55cce fix typo 2021-09-28 14:27:39 +13:00
testA113
06dd61558e add detail improvements 2021-09-27 20:01:56 +13:00
testA113
4fe2fe714c app detail change 2021-09-27 19:34:10 +13:00
testA113
1a6a5d2004 create app changes 2021-09-27 11:18:50 +13:00
testA113
0eb5dc9f74 app data cy change 2021-09-27 11:09:44 +13:00
testA113
63c7eb8553 small change to cluster setup 2021-09-27 10:25:05 +13:00
testA113
b87fe58043 added data-cy for helm 2021-09-24 14:28:46 +12:00
13 changed files with 81 additions and 65 deletions

View File

@@ -2,5 +2,7 @@
<div class="text-muted">
Published URL
</div>
<a ng-href="{{ $ctrl.publishedUrl }}" target="_blank" class="publish-url-link"> <i class="fa fa-external-link-alt" aria-hidden="true"></i> {{ $ctrl.publishedUrl }} </a>
<a ng-href="{{ $ctrl.publishedUrl }}" target="_blank" class="publish-url-link" data-cy="k8sAppList-publishedUrl">
<i class="fa fa-external-link-alt" aria-hidden="true"></i> {{ $ctrl.publishedUrl }}
</a>
</div>

View File

@@ -180,27 +180,37 @@
</a>
</td>
<td>
<a ng-if="item.KubernetesApplications" ui-sref="kubernetes.helm({ name: item.Name, namespace: item.ResourcePool })" ng-click="$event.stopPropagation()"
<a
ng-if="item.KubernetesApplications"
ui-sref="kubernetes.helm({ name: item.Name, namespace: item.ResourcePool })"
ng-click="$event.stopPropagation()"
data-cy="k8sAppList-kubeAppName"
>{{ item.Name }}
</a>
<a
ng-if="!item.KubernetesApplications"
ui-sref="kubernetes.applications.application({ name: item.Name, namespace: item.ResourcePool })"
ng-click="$event.stopPropagation()"
data-cy="k8sAppList-nonKubeAppName_{{ item.Name }}"
>{{ item.Name }}
</a>
<span class="label label-info image-tag label-margins" ng-if="$ctrl.isSystemNamespace(item)">system</span>
<span class="label label-primary image-tag label-margins" ng-if="!$ctrl.isSystemNamespace(item) && $ctrl.isExternalApplication(item)">external</span>
</td>
<td>{{ item.StackName || '-' }}</td>
<td data-cy="k8sAppList-appStackName_{{ item.Name }}">{{ item.StackName || '-' }}</td>
<td>
<a ui-sref="kubernetes.resourcePools.resourcePool({ id: item.ResourcePool })" ng-click="$event.stopPropagation()">{{ item.ResourcePool }}</a>
<a
ui-sref="kubernetes.resourcePools.resourcePool({ id: item.ResourcePool })"
ng-click="$event.stopPropagation()"
data-cy="k8sAppList-appNamespace_{{ item.Name }}"
>{{ item.ResourcePool }}</a
>
</td>
<td title="{{ item.Image }}"
<td title="{{ item.Image }}" data-cy="k8sAppList-appImageName_{{ item.Name }}"
>{{ item.Image | truncate: 64 }} <span ng-if="item.Containers.length > 1">+ {{ item.Containers.length - 1 }}</span></td
>
<td>{{ item.ApplicationType | kubernetesApplicationTypeText }}</td>
<td ng-if="item.ApplicationType !== $ctrl.KubernetesApplicationTypes.POD">
<td data-cy="k8sAppList-appType_{{ item.Name }}">{{ item.ApplicationType | kubernetesApplicationTypeText }}</td>
<td ng-if="item.ApplicationType !== $ctrl.KubernetesApplicationTypes.POD" data-cy="k8sAppList-appReplicationType_{{ item.Name }}">
<span ng-if="item.DeploymentType === $ctrl.KubernetesApplicationDeploymentTypes.REPLICATED">Replicated</span>
<span ng-if="item.DeploymentType === $ctrl.KubernetesApplicationDeploymentTypes.GLOBAL">Global</span>
<span ng-if="item.RunningPodsCount >= 0 && item.TotalPodsCount >= 0">
@@ -208,13 +218,13 @@
</span>
<span ng-if="item.KubernetesApplications">{{ item.Status }}</span>
</td>
<td ng-if="item.ApplicationType === $ctrl.KubernetesApplicationTypes.POD">
<td ng-if="item.ApplicationType === $ctrl.KubernetesApplicationTypes.POD" data-cy="k8sAppList-appStatus_{{ item.Name }}">
{{ item.Pods[0].Status }}
</td>
<td>
<span ng-if="item.PublishedPorts.length">
<span>
<a ng-click="$ctrl.onPublishingModeClick(item); $event.stopPropagation()">
<a ng-click="$ctrl.onPublishingModeClick(item); $event.stopPropagation()" data-cy="k8sAppList-appServiceType_{{ item.Name }}">
<i class="fa {{ item.ServiceType | kubernetesApplicationServiceTypeIcon }}" aria-hidden="true" style="margin-right: 2px;"> </i>
{{ item.ServiceType | kubernetesApplicationServiceTypeText }}
</a>
@@ -222,7 +232,7 @@
</span>
<span ng-if="item.PublishedPorts.length === 0">-</span>
</td>
<td>{{ item.CreationDate | getisodate }} {{ item.ApplicationOwner ? 'by ' + item.ApplicationOwner : '' }}</td>
<td data-cy="k8sAppList-appCreationDate_{{ item.Name }}">{{ item.CreationDate | getisodate }} {{ item.ApplicationOwner ? 'by ' + item.ApplicationOwner : '' }}</td>
</tr>
<tr dir-paginate-end ng-show="$ctrl.isExpandable(item) && $ctrl.isItemExpanded(item)" ng-class="{ 'secondary-body': $ctrl.isPrimary && !item.KubernetesApplications }">
<td></td>

View File

@@ -19,6 +19,7 @@
placeholder="https://charts.bitnami.com/bitnami"
ng-pattern="/^https?:///"
required
data-cy="helmTemplateList-addRepoInput"
/>
</div>
</div>
@@ -47,6 +48,7 @@
analytics-on
analytics-category="kubernetes"
analytics-event="kubernetes-helm-add-repository"
data-cy="helmTemplateList-addRepo"
>
Add repository
</button>

View File

@@ -14,7 +14,7 @@
<!-- blocklist-item-line1 -->
<div class="blocklist-item-line">
<span>
<span class="blocklist-item-title">
<span class="blocklist-item-title" data-cy="helmTemplateList-chartName_{{ $ctrl.model.name }}">
{{ $ctrl.model.name }}
</span>
<span class="space-left blocklist-item-subtitle">
@@ -31,10 +31,10 @@
<span class="blocklist-item-actions" ng-transclude="actions"></span>
<!-- blocklist-item-line2 -->
<div class="blocklist-item-line helm-template-item-details-sub">
<span class="blocklist-item-desc">
<span class="blocklist-item-desc" data-cy="helmTemplateList-chartDescription_{{ $ctrl.model.name }}">
{{ $ctrl.model.description }}
</span>
<span class="small text-muted" ng-if="$ctrl.model.annotations.category">
<span class="small text-muted" ng-if="$ctrl.model.annotations.category" data-cy="helmTemplateList-chartCategory_{{ $ctrl.model.name }}">
{{ $ctrl.model.annotations.category }}
</span>
</div>

View File

@@ -8,7 +8,7 @@
<div class="actionBar">
<div>
<span style="width: 25%;">
<ui-select ng-model="$ctrl.state.selectedCategory" theme="bootstrap">
<ui-select ng-model="$ctrl.state.selectedCategory" theme="bootstrap" data-cy="helmTemplateList-categorySelect">
<ui-select-match placeholder="Select a category">
<a class="btn btn-xs btn-link pull-right" ng-click="$ctrl.clearCategory()"><i class="glyphicon glyphicon-remove"></i></a>
<span>{{ $select.selected }}</span>
@@ -31,6 +31,7 @@
placeholder="Search..."
auto-focus
ng-model-options="{ debounce: 300 }"
data-cy="helmTemplateList-chartSearchInput"
/>
</div>
@@ -42,13 +43,13 @@
on-select="($ctrl.selectAction)"
>
</helm-templates-list-item>
<div ng-if="$ctrl.loading" class="text-center text-muted">
<div ng-if="$ctrl.loading" class="text-center text-muted" data-cy="helmTemplateList-loadingCharts">
Loading...
<div class="text-center text-muted">
Initial download of Helm Charts can take a few minutes
</div>
</div>
<div ng-if="!$ctrl.loading && $ctrl.charts.length === 0" class="text-center text-muted">
<div ng-if="!$ctrl.loading && $ctrl.charts.length === 0" class="text-center text-muted" data-cy="helmTemplateList-noCharts">
No helm charts available.
</div>
</div>

View File

@@ -20,7 +20,7 @@
<!-- helmchart-form -->
<div class="col-sm-12" ng-if="$ctrl.state.chart">
<rd-widget>
<rd-widget-custom-header icon="$ctrl.state.chart.icon" title-text="$ctrl.state.chart.name"></rd-widget-custom-header>
<rd-widget-custom-header data-cy="helmTemplateList-chartName" icon="$ctrl.state.chart.icon" title-text="$ctrl.state.chart.name"></rd-widget-custom-header>
<rd-widget-body classes="padding">
<form class="form-horizontal" name="$ctrl.helmTemplateCreationForm">
<!-- description -->
@@ -30,7 +30,7 @@
</div>
<div class="form-group">
<div class="col-sm-12">
<div class="template-note" ng-bind-html="$ctrl.state.chart.description"></div>
<div class="template-note" ng-bind-html="$ctrl.state.chart.description" data-cy="helmTemplateList-chartDescription"></div>
</div>
</div>
</div>
@@ -49,6 +49,7 @@
ng-options="resourcePool.Namespace.Name for resourcePool in $ctrl.state.resourcePools"
ng-change=""
ng-disabled="$ctrl.state.isEdit"
data-cy="helmTemplateList-nsSelect"
></select>
</div>
</div>
@@ -72,6 +73,7 @@
placeholder="e.g. my-app"
required
ng-pattern="/^[a-z]([-a-z0-9]*[a-z0-9])?$/"
data-cy="helmTemplateList-nameInput"
/>
</div>
</div>
@@ -89,11 +91,16 @@
<!-- !name-input -->
<div class="form-group">
<div class="col-sm-12">
<a class="small interactive" ng-if="!$ctrl.state.showCustomValues && !$ctrl.state.loadingValues" ng-click="$ctrl.state.showCustomValues = true;">
<a
class="small interactive"
ng-if="!$ctrl.state.showCustomValues && !$ctrl.state.loadingValues"
ng-click="$ctrl.state.showCustomValues = true;"
data-cy="helmTemplateList-showCustomValuesButton"
>
<i class="fa fa-plus space-right" aria-hidden="true"></i> Show custom values
</a>
<span class="small interactive" ng-if="$ctrl.state.loadingValues"> <i class="fa fa-sync-alt space-right" aria-hidden="true"></i> Loading values.yaml... </span>
<a class="small interactive" ng-if="$ctrl.state.showCustomValues" ng-click="$ctrl.state.showCustomValues = false;">
<a class="small interactive" ng-if="$ctrl.state.showCustomValues" ng-click="$ctrl.state.showCustomValues = false;" data-cy="helmTemplateList-hideCustomValuesButton">
<i class="fa fa-minus space-right" aria-hidden="true"></i> Hide custom values
</a>
</div>
@@ -119,6 +126,7 @@
yml="true"
on-change="($ctrl.editorUpdate)"
value="$ctrl.state.values"
data-cy="helmTemplateList-webEditor"
></code-editor>
</div>
</div>
@@ -139,10 +147,10 @@
ng-click="$ctrl.installHelmchart()"
button-spinner="$ctrl.state.actionInProgress"
>
<span ng-hide="$ctrl.state.actionInProgress">Install</span>
<span ng-hide="$ctrl.state.actionInProgress" data-cy="helmTemplateList-installButton">Install</span>
<span ng-hide="!$ctrl.state.actionInProgress">Helm installing in progress</span>
</button>
<button type="button" class="btn btn-sm btn-default" ng-click="$ctrl.state.chart = null">Hide</button>
<button type="button" class="btn btn-sm btn-default" ng-click="$ctrl.state.chart = null" data-cy="helmTemplateList-hideButton">Hide</button>
</div>
</div>
<!-- !helm actions -->

View File

@@ -349,7 +349,7 @@
type="button"
ng-click="ctrl.removeConfiguration(index)"
ng-if="ctrl.formValues.Containers.length <= 1"
data-cy="k8sAppCreate-configRemoveButton"
data-cy="k8sAppCreate-configRemoveButton_{{ $index }}"
>
<i class="fa fa-trash-alt" aria-hidden="true"></i> Remove
</button>
@@ -862,14 +862,8 @@
<div class="form-group" style="margin-bottom: 0;">
<div class="boxselector_wrapper">
<div>
<input
type="radio"
id="deployment_replicated"
ng-value="ctrl.ApplicationDeploymentTypes.REPLICATED"
ng-model="ctrl.formValues.DeploymentType"
data-cy="k8sAppCreate-replicatedDeploymentButton"
/>
<label for="deployment_replicated">
<input type="radio" id="deployment_replicated" ng-value="ctrl.ApplicationDeploymentTypes.REPLICATED" ng-model="ctrl.formValues.DeploymentType" />
<label for="deployment_replicated" data-cy="k8sAppCreate-replicatedDeploymentButton">
<div class="boxselector_header">
<i class="fa fa-cube" aria-hidden="true" style="margin-right: 2px;"></i>
Replicated
@@ -901,9 +895,8 @@
ng-value="ctrl.ApplicationDeploymentTypes.GLOBAL"
ng-model="ctrl.formValues.DeploymentType"
ng-click="ctrl.unselectAutoScaler()"
data-cy="k8sAppCreate-globalDeployButton"
/>
<label for="deployment_global">
<label for="deployment_global" data-cy="k8sAppCreate-globalDeployButton">
<div class="boxselector_header">
<i class="fa fa-cubes" aria-hidden="true" style="margin-right: 2px;"></i>
Global
@@ -1255,7 +1248,6 @@
ng-model="ctrl.formValues.PublishingType"
ng-change="ctrl.onChangePublishedPorts()"
ng-disabled="ctrl.isPublishingTypeEditDisabled()"
data-cy="k8sAppCreate-internalPublishButton"
/>
<label
for="publishing_internal"
@@ -1263,6 +1255,7 @@
!ctrl.isPublishingTypeEditDisabled() ||
(ctrl.isPublishingTypeEditDisabled() && ctrl.formValues.PublishingType === ctrl.ApplicationPublishingTypes.INTERNAL)
"
data-cy="k8sAppCreate-internalPublishButton"
>
<div class="boxselector_header">
<i class="fa fa-list-alt" aria-hidden="true" style="margin-right: 2px;"></i>
@@ -1295,7 +1288,6 @@
ng-model="ctrl.formValues.PublishingType"
ng-change="ctrl.onChangePublishedPorts()"
ng-disabled="ctrl.isPublishingTypeEditDisabled()"
data-cy="k8sAppCreate-clusterPublishButton"
/>
<label
for="publishing_cluster"
@@ -1303,6 +1295,7 @@
!ctrl.isPublishingTypeEditDisabled() ||
(ctrl.isPublishingTypeEditDisabled() && ctrl.formValues.PublishingType === ctrl.ApplicationPublishingTypes.CLUSTER)
"
data-cy="k8sAppCreate-clusterPublishButton"
>
<div class="boxselector_header">
<i class="fa fa-list" aria-hidden="true" style="margin-right: 2px;"></i>
@@ -1334,7 +1327,6 @@
ng-model="ctrl.formValues.PublishingType"
ng-change="ctrl.onChangePublishedPorts()"
ng-disabled="ctrl.isPublishingTypeEditDisabled()"
data-cy="k8sAppCreate-ingressPublishButton"
/>
<label
for="publishing_ingress"
@@ -1342,6 +1334,7 @@
!ctrl.isPublishingTypeEditDisabled() ||
(ctrl.isPublishingTypeEditDisabled() && ctrl.formValues.PublishingType === ctrl.ApplicationPublishingTypes.INGRESS)
"
data-cy="k8sAppCreate-ingressPublishButton"
>
<div class="boxselector_header">
<i class="fa fa-route" aria-hidden="true" style="margin-right: 2px;"></i>
@@ -1373,7 +1366,6 @@
ng-model="ctrl.formValues.PublishingType"
ng-change="ctrl.onChangePublishedPorts()"
ng-disabled="ctrl.isPublishingTypeEditDisabled()"
data-cy="k8sAppCreate-lbPublichButton"
/>
<label
for="publishing_loadbalancer"
@@ -1381,6 +1373,7 @@
!ctrl.isPublishingTypeEditDisabled() ||
(ctrl.isPublishingTypeEditDisabled() && ctrl.formValues.PublishingType === ctrl.ApplicationPublishingTypes.LOAD_BALANCER)
"
data-cy="k8sAppCreate-lbPublishButton"
>
<div class="boxselector_header">
<i class="fa fa-project-diagram" aria-hidden="true" style="margin-right: 2px;"></i>
@@ -1485,7 +1478,7 @@
ng-change="ctrl.onChangePortMappingNodePort()"
ng-disabled="ctrl.disableLoadBalancerEdit() || ctrl.isEditAndNotNewPublishedPort($index)"
data-cy="k8sAppCreate-nodePort_{{ $index }}"
/>
/>
</div>
<div

View File

@@ -334,12 +334,12 @@
<td style="width: 50%;">HTTP route</td>
</tr>
<tr ng-repeat-start="port in ctrl.application.PublishedPorts">
<td ng-if="!ctrl.portHasIngressRules(port)" data-cy="k8sAppDetail-containerPort">{{ port.TargetPort }}/{{ port.Protocol }}</td>
<td ng-if="!ctrl.portHasIngressRules(port)" data-cy="k8sAppDetail-containerPort_{{ $index }}">{{ port.TargetPort }}/{{ port.Protocol }}</td>
<td ng-if="!ctrl.portHasIngressRules(port)">
<span ng-if="ctrl.application.ServiceType === ctrl.KubernetesServiceTypes.NODE_PORT" data-cy="k8sAppDetail-nodePort">
<span ng-if="ctrl.application.ServiceType === ctrl.KubernetesServiceTypes.NODE_PORT" data-cy="k8sAppDetail-nodePort_{{ $index }}">
{{ port.NodePort }}
</span>
<span ng-if="ctrl.application.ServiceType !== ctrl.KubernetesServiceTypes.NODE_PORT" data-cy="k8sAppDetail-containerPort">
<span ng-if="ctrl.application.ServiceType !== ctrl.KubernetesServiceTypes.NODE_PORT" data-cy="k8sAppDetail-lbPort_{{ $index }}">
{{ port.Port }}
</span>
<a
@@ -347,7 +347,7 @@
ng-href="http://{{ ctrl.application.LoadBalancerIPAddress }}:{{ port.Port }}"
target="_blank"
style="margin-left: 5px;"
data-cy="k8sAppDetail-accessLink"
data-cy="k8sAppDetail-accessLink_{{ $index }}"
>
<i class="fa fa-external-link-alt" aria-hidden="true"></i> access
</a>
@@ -355,12 +355,12 @@
<td ng-if="!ctrl.portHasIngressRules(port)">-</td>
</tr>
<tr ng-repeat-end ng-repeat="rule in port.IngressRules">
<td data-cy="k8sAppDetail-httpRoute">{{ port.TargetPort }}/{{ port.Protocol }}</td>
<td data-cy="k8sAppDetail-portwProtocol_{{ $index }}">{{ port.TargetPort }}/{{ port.Protocol }}</td>
<td>
<span ng-if="ctrl.application.ServiceType === ctrl.KubernetesServiceTypes.NODE_PORT" data-cy="k8sAppDetail-nodePort">
<span ng-if="ctrl.application.ServiceType === ctrl.KubernetesServiceTypes.NODE_PORT" data-cy="k8sAppDetail-nodePort_{{ $index }}">
{{ port.NodePort }}
</span>
<span ng-if="ctrl.application.ServiceType !== ctrl.KubernetesServiceTypes.NODE_PORT" data-cy="k8sAppDetail-port">
<span ng-if="ctrl.application.ServiceType !== ctrl.KubernetesServiceTypes.NODE_PORT" data-cy="k8sAppDetail-port_{{ $index }}">
{{ port.Port }}
</span>
<a
@@ -384,7 +384,7 @@
>pending
</span>
<span ng-if="ctrl.ruleCanBeDisplayed(rule)">
<a ng-href="{{ ctrl.buildIngressRuleURL(rule) }}" target="_blank" data-cy="k8sAppDetail-httpRouteLink">
<a ng-href="{{ ctrl.buildIngressRuleURL(rule) }}" target="_blank" data-cy="k8sAppDetail-httpRouteLink_{{ $index }}">
{{ ctrl.buildIngressRuleURL(rule) | stripprotocol }}
</a>
</span>

View File

@@ -24,19 +24,19 @@
<tbody class="release-table">
<tr>
<td>Name</td>
<td>
<td data-cy="helmDetail-name">
{{ $ctrl.state.release.name }}
</td>
</tr>
<tr>
<td>Chart</td>
<td>
<td data-cy="helmDetail-chart">
{{ $ctrl.state.release.chart }}
</td>
</tr>
<tr>
<td>App version</td>
<td>
<td data-cy="helmDetail-version">
{{ $ctrl.state.release.app_version }}
</td>
</tr>

View File

@@ -28,7 +28,7 @@
Allow users to use external load balancer
</label>
<label class="switch" style="margin-left: 20px;">
<input type="checkbox" ng-model="ctrl.formValues.UseLoadBalancer" /><i data-cy="kubeSetup-loadBalancerToggle"></i>
<input type="checkbox" ng-model="ctrl.formValues.UseLoadBalancer" data-cy="kubeSetup-loadBalancerToggle" /><i></i>
</label>
</div>
</div>
@@ -45,7 +45,7 @@
<div class="form-group">
<div class="col-sm-12">
<label class="control-label text-left">Ingress controller</label>
<span class="label label-default interactive" style="margin-left: 10px;" ng-click="ctrl.addIngressClass()" data-cy="kubeSetup-congifIngressButton">
<span class="label label-default interactive" style="margin-left: 10px;" ng-click="ctrl.addIngressClass()" data-cy="kubeSetup-addIngressButton">
<i class="fa fa-plus-circle" aria-hidden="true"></i> configure ingress controller
</span>
</div>
@@ -63,7 +63,7 @@
ng-pattern="/^[a-z]([-a-z0-9]*[a-z0-9])?$/"
ng-change="ctrl.onChangeIngressClassName($index)"
required
data-cy="kubeSetup-ingressClassName"
data-cy="kubeSetup-ingressClassName_{{ $index }}"
/>
</div>
<div class="col-sm-3 input-group input-group-sm" ng-class="{ striked: ingressClass.NeedsDeletion }">
@@ -74,7 +74,7 @@
ng-model="ingressClass.Type"
ng-options="value as value for (key, value) in ctrl.IngressClassTypes"
required
data-cy="kubeSetup-ingressType"
data-cy="kubeSetup-ingressType_{{ $index }}"
>
<option selected disabled hidden value="">Select a type</option>
</select>
@@ -85,7 +85,7 @@
class="btn btn-sm btn-danger"
type="button"
ng-click="ctrl.removeIngressClass($index)"
data-cy="kubeSetup-deleteIngress"
data-cy="kubeSetup-deleteIngress_{{ $index }}"
>
<i class="fa fa-trash-alt" aria-hidden="true"></i>
</button>
@@ -156,7 +156,7 @@
Restrict access to the default namespace
</label>
<label class="switch" style="margin-left: 20px;">
<input type="checkbox" ng-model="ctrl.formValues.RestrictDefaultNamespace" /><i data-cy="kubeSetup-restrictDefaultNsToggle"></i>
<input type="checkbox" ng-model="ctrl.formValues.RestrictDefaultNamespace" data-cy="kubeSetup-restrictDefaultNsToggle" /><i></i>
</label>
</div>
</div>
@@ -181,7 +181,7 @@
<label class="control-label text-left">
Allow resource over-commit
</label>
<label class="switch" style="margin-left: 20px;"> <input type="checkbox" checked disabled /><i data-cy="kubeSetup-resourceOverCommitToggle"></i> </label>
<label class="switch" style="margin-left: 20px;"> <input type="checkbox" checked disabled data-cy="kubeSetup-resourceOverCommitToggle" /><i></i> </label>
<span class="text-muted small" style="margin-left: 15px;">
<i class="fa fa-user" aria-hidden="true"></i>
This feature is available in <a href="https://www.portainer.io/business-upsell?from=k8s-setup-overcommit" target="_blank"> Portainer Business Edition</a>.
@@ -205,7 +205,7 @@
Enable features using the metrics API
</label>
<label class="switch" style="margin-left: 20px;">
<input type="checkbox" ng-model="ctrl.formValues.UseServerMetrics" ng-change="ctrl.enableMetricsServer()" /><i data-cy="kubeSetup-metricsToggle"></i>
<input type="checkbox" ng-model="ctrl.formValues.UseServerMetrics" ng-change="ctrl.enableMetricsServer()" data-cy="kubeSetup-metricsToggle" /><i></i>
</label>
</div>
<div ng-if="ctrl.state.metrics.pending && ctrl.state.metrics.userClick" class="col-sm-12 small text-muted" style="margin-top: 5px;">
@@ -265,7 +265,7 @@
<td>
<div style="margin: 5px;">
<label class="switch" style="margin-right: 10px;">
<input type="checkbox" ng-model="class.selected" /><i data-cy="kubeSetup-storageToggle{{ class.Name }}"></i>
<input type="checkbox" ng-model="class.selected" data-cy="kubeSetup-storageToggle{{ class.Name }}" /><i></i>
</label>
<span>{{ class.Name }}</span>
</div>
@@ -288,7 +288,7 @@
<td>
<div style="margin: 5px;">
<label class="switch"
><input type="checkbox" ng-model="class.AllowVolumeExpansion" /><i data-cy="kubeSetup-storageExpansionToggle{{ class.Name }}"></i>
><input type="checkbox" ng-model="class.AllowVolumeExpansion" data-cy="kubeSetup-storageExpansionToggle{{ class.Name }}" /><i></i>
</label>
</div>
</td>

View File

@@ -60,7 +60,7 @@
Resource assignment
</label>
<label class="switch" style="margin-left: 20px;">
<input type="checkbox" ng-model="$ctrl.formValues.HasQuota" /><i data-cy="k8sNamespaceCreate-resourceAssignmentToggle"></i>
<input type="checkbox" ng-model="$ctrl.formValues.HasQuota" data-cy="k8sNamespaceCreate-resourceAssignmentToggle" /><i></i>
</label>
</div>
</div>
@@ -239,7 +239,7 @@
Allow users to use this ingress
</label>
<label class="switch" style="margin-left: 20px;">
<input type="checkbox" ng-model="ic.Selected" /><i data-cy="namespaceCreate-ingressToggle{{ ic.IngressClass.Name }}"></i>
<input type="checkbox" ng-model="ic.Selected" data-cy="namespaceCreate-ingressToggle{{ ic.IngressClass.Name }}" /><i></i>
</label>
</div>
</div>
@@ -315,7 +315,7 @@
</portainer-tooltip>
</label>
<label class="switch" style="margin-left: 20px;">
<input type="checkbox" ng-model="ic.RewriteTarget" /><i data-cy="namespaceCreate-redirectRoutesToggle{{ ic.IngressClass.Name }}"></i>
<input type="checkbox" ng-model="ic.RewriteTarget" data-cy="namespaceCreate-redirectRoutesToggle{{ ic.IngressClass.Name }}" /><i></i>
</label>
</div>
</div>

View File

@@ -1,4 +1,4 @@
<div class="sensitive-details-container">
<div class="sensitive-details-container" data-cy="k8sApplist-appSecretDiv_{{ $ctrl.key }}">
<div class="text-wrap">{{ $ctrl.key }}</div>
<show-hide class="show-hide-container" value="$ctrl.value" use-asterisk="true"></show-hide>
<copy-button value="$ctrl.value"></copy-button>

View File

@@ -209,7 +209,7 @@
Connect via socket
</label>
<label class="switch" style="margin-left: 20px;">
<input type="checkbox" ng-model="formValues.ConnectSocket" /><i data-cy="endpointCreate-connectSocketSwitch"></i>
<input type="checkbox" ng-model="formValues.ConnectSocket" data-cy="endpointCreate-connectSocketSwitch" /><i></i>
</label>
</div>
</div>
@@ -220,7 +220,7 @@
Override default socket path
</label>
<label class="switch" style="margin-left: 20px;">
<input type="checkbox" ng-model="formValues.OverrideSocket" /><i data-cy="endpointCreate-overrideSocketSwitch"></i>
<input type="checkbox" ng-model="formValues.OverrideSocket" data-cy="endpointCreate-overrideSocketSwitch" /><i></i>
</label>
</div>