Version: 2 Templates: masterNode: ?: type: io.murano.apps.docker.kubernetes.KubernetesMasterNode instance: ?: type: io.murano.resources.LinuxMuranoInstance name: generateHostname($.appConfiguration.unitNamingPattern, 1) flavor: $.instanceConfiguration.flavor image: 'ubuntu14.04-x64-kubernetes' assignFloatingIp: $.appConfiguration.assignFloatingIP keyname: $.instanceConfiguration.keyPair availabilityZone: $.instanceConfiguration.availabilityZone minionNode: ?: type: io.murano.apps.docker.kubernetes.KubernetesMinionNode instance: ?: type: io.murano.resources.LinuxMuranoInstance name: generateHostname($.appConfiguration.unitNamingPattern, $index + 1) flavor: $.instanceConfiguration.flavor image: 'ubuntu14.04-x64-kubernetes' assignFloatingIp: $.appConfiguration.assignFloatingIP keyname: $.instanceConfiguration.keyPair enableMonitoring: $.appConfiguration.enableMonitoring gatewayNode: ?: type: io.murano.apps.docker.kubernetes.KubernetesGatewayNode instance: ?: type: io.murano.resources.LinuxMuranoInstance name: generateHostname($.appConfiguration.gatewayNamingPattern, $index) flavor: $.instanceConfiguration.flavor image: 'ubuntu14.04-x64-kubernetes' assignFloatingIp: $.appConfiguration.assignGatewayFloatingIP keyname: $.instanceConfiguration.keyPair Application: ?: type: io.murano.apps.docker.kubernetes.KubernetesCluster name: $.appConfiguration.name masterNode: $masterNode minionNodes: repeat($minionNode, $.appConfiguration.maxMinionCount) nodeCount: $.appConfiguration.minionCount gatewayCount: $.appConfiguration.gatewayCount gatewayNodes: repeat($gatewayNode, $.appConfiguration.maxGatewayCount) dockerRegistry: $.appConfiguration.dockerRegistry Forms: - appConfiguration: fields: - name: name type: string label: Cluster Name initial: KubernetesCluster description: >- Enter a desired name for the application. Just A-Z, a-z, 0-9, dash and underline are allowed - name: minionCount type: integer label: Initial/current number of minions initial: 2 minValue: 1 required: true description: >- Select number of minions - name: maxMinionCount type: integer label: Maximum number of minions initial: 3 required: true minValue: 1 description: >- Select maximum number of minions - name: assignFloatingIP type: boolean initial: true label: Assign floating IP to Kubernetes nodes description: >- Check to assign floating IP to Kubernetes nodes required: false - name: unitNamingPattern type: string initial: 'kube-#' helpText: \'#\' expands to machine sequence number required: false description: >- For your convenience instance hostname can be specified. Enter a name or leave blank for random name generation. regexpValidator: '^(([a-zA-Z0-9#][a-zA-Z0-9-#]*[a-zA-Z0-9#])\.)*([A-Za-z0-9#]|[A-Za-z0-9#][A-Za-z0-9-#]*[A-Za-z0-9#])$' label: Kubernetes node hostname pattern - name: enableMonitoring type: boolean initial: true required: false label: Enable cAdvisor monitoring description: >- Enable cAdvisor monitoring - name: gatewayCount type: integer label: Initial/current number of gateway nodes initial: 1 minValue: 0 required: true description: >- External traffic will be routed through gateway nodes. Increasing gateways count allows to set up complex and HA clusters. - name: maxGatewayCount type: integer label: Maximum number of gateway nodes initial: 2 required: true minValue: 0 description: >- Maximum number of gateway nodes. Taken into account when performing scalability actions. - name: assignGatewayFloatingIP type: boolean initial: true label: Assign floating IP to gateway nodes description: >- Check to assign floating IP to gateway nodes required: false - name: gatewayNamingPattern type: string initial: gateway-# required: false regexpValidator: '^(([a-zA-Z0-9#][a-zA-Z0-9-#]*[a-zA-Z0-9#])\.)*([A-Za-z0-9#]|[A-Za-z0-9#][A-Za-z0-9-#]*[A-Za-z0-9#])$' label: Gateway hostname pattern helpText: \'#\' expands to gateway sequence number description: >- Check to assign floating IP to gateway nodes - name: dockerRegistry type: string label: Custom Docker registry URL description: >- URL of docker repository mirror to use. Leave empty to use Docker default. required: false - instanceConfiguration: fields: - name: title type: string required: false hidden: true description: Specify some instance parameters on which application would be created. - name: flavor type: flavor label: Instance flavor description: >- Select one of the existing flavors. Consider that application performance depends on this parameter. required: false - name: keyPair type: keypair label: Key Pair description: >- Select the Key Pair to control access to instances. You can login to instances using this KeyPair after the deployment. required: false - name: availabilityZone type: azone label: Availability zone description: Select an availability zone where the application would be installed. required: false