diff --git a/lib/shared/addon/components/cluster-driver/driver-linodelke/component.js b/lib/shared/addon/components/cluster-driver/driver-linodelke/component.js index 9485ad4c4..7e066903a 100644 --- a/lib/shared/addon/components/cluster-driver/driver-linodelke/component.js +++ b/lib/shared/addon/components/cluster-driver/driver-linodelke/component.js @@ -46,16 +46,18 @@ const NODE_POOL_HEADERS = [ ]; export default Component.extend(ClusterDriver, { - intl: service(), - linode: service(), + intl: service(), + linode: service(), layout, - configField: 'lkeEngineConfig', - step: 1, - lanChanged: null, - refresh: false, - sortBy: '', - descending: false, - nodePoolHeaders: NODE_POOL_HEADERS, + configField: 'lkeEngineConfig', + step: 1, + lanChanged: null, + refresh: false, + sortBy: '', + descending: false, + nodePoolHeaders: NODE_POOL_HEADERS, + // This value is currently not returned by the Linode API + highAvailabilityMonthlyPrice: 60.0, init() { this._super(...arguments); @@ -64,6 +66,8 @@ export default Component.extend(ClusterDriver, { let configField = get(this, 'configField'); setProperties(this, { + // We should store the previous state of HA to disallow downgrades + 'highAvailability': config ? config.highAvailability : false, 'newTag': '', 'selectedNodePoolType': '', 'selectedNodePoolObj': {}, @@ -79,6 +83,7 @@ export default Component.extend(ClusterDriver, { accessToken: '', region: 'us-central', kubernetesVersion: '', + highAvailability: false, tags: [], nodePools: [] }); diff --git a/lib/shared/addon/components/cluster-driver/driver-linodelke/template.hbs b/lib/shared/addon/components/cluster-driver/driver-linodelke/template.hbs index 7eeee590e..6ed2f38ad 100644 --- a/lib/shared/addon/components/cluster-driver/driver-linodelke/template.hbs +++ b/lib/shared/addon/components/cluster-driver/driver-linodelke/template.hbs @@ -80,6 +80,35 @@ {{/if}} +
+
+ + {{#input-or-display + editable=true + value=cluster.lkeEngineConfig.highAvailability + }} +
+ +
+
+ +
+ {{/input-or-display}} +

+ {{t "clusterNew.linodelke.highAvailability.warning"}} +

+
+
diff --git a/translations/en-us.yaml b/translations/en-us.yaml index 42bbe4cab..1e536bbc4 100644 --- a/translations/en-us.yaml +++ b/translations/en-us.yaml @@ -4284,6 +4284,10 @@ clusterNew: loading: Saving your cluster configuration next: Proceed to Node pool selection title: Cluster Configuration + highAvailability: + label: High Availability + warning: Once a cluster has been upgraded to High Availability, it cannot be downgraded. + month: month kubernetesVersion: label: Kubernetes Version placeholder: Select a kubernetes version for your cluster