metadataVersion: v1test

description:
  title: Istio on GKE
  version: 0.0.1
  url: 'https://istio.io/'
  tagline: Running Istio on GKE
  descriptionHtml: 'GKE with Istio'
  logo: 'https://avatars3.githubusercontent.com/u/23534644?s=100&v=4'
  icon: 'https://avatars3.githubusercontent.com/u/23534644?s=100&v=4'
  architectureDiagram: 'https://avatars3.githubusercontent.com/u/23534644?s=100&v=4'
  architectureDescription: 'Istio is an open platform that provides a uniform way to connect, manage, and secure microservices. Istio supports managing traffic flows between microservices, enforcing access policies, and aggregating telemetry data, all without requiring changes to the microservice code. <li><b>Note: You must set your compute service account with "Container Engine Admin" IAM Role.</b></li> <li>For more information, see <a href="https://istio.io/docs/setup/kubernetes/quick-start-gke-dm.html">Quick Start with Google Kubernetes Engine</a></li>'
  author:
    title: Google Click to Deploy
  documentations:
    - title: GKE Documentation
      url: 'https://cloud.google.com/container-engine/'
      description: Google Container Engine is a managed Kubernetes environment.
      destinations:
        - DESTINATION_SOLUTION_DETAILS
        - DESTINATION_CONFIGURATION
        - DESTINATION_POST_DEPLOY
    - title: Istio Documentation
      url: 'https://istio.io'
      description: Istio provides an easy way to create a network of deployed services.
      destinations:
        - DESTINATION_SOLUTION_DETAILS
        - DESTINATION_CONFIGURATION
        - DESTINATION_POST_DEPLOY
  support:
    - title: Support
      descriptionHtml: 'Google does not offer support for this solution. However, community support is available on <a href="http://stackoverflow.com/questions/tagged/mongodb/">Stack Overflow</a>.<p><p><a href="http://stackoverflow.com/questions/tagged/mongodb/">Go to Stack Overflow</a>'
  softwareGroups:
    - type: SOFTWARE_GROUP_OS
      software:
        - title: Container Optimized OS (COS)
          url: 'https://cloud.google.com/container-optimized-os/docs/'
    - software:
        - title: Google Container Engine
          url: 'https://cloud.google.com/container-engine/'
    - software:
        - title: Istio.io
          url: 'https://istio.io'
          licenseTitle: AGPL v3
          licenseUrl: 'https://github.com/istio/istio/blob/master/LICENSE'
input:
  properties:
    - name: gkeClusterName
      title: GKE Cluster Name
      tooltip: Name of the GKE Cluster
      section: server

    - name: zone
      title: Zone
      tooltip: The zone determines what computing resources are available and where your data is stored and used.
      section: server

    - name: initialNodeCount
      title: Number of GKE nodes to run on
      tooltip: GKE node count
      section: server

    - name: instanceType
      title: Node Machine Type
      tooltip: GKE MachineType
      section: server

    - name: enableBookInfoSample
      title: Add BookInfo Sample Application
      tooltip: Enable Istio BookInfo Sample application
      section: APPLICATIONS_GROUP

    - name: enableAutomaticSidecarInjection
      title: Enable Automatic Istio sidecar injection
      tooltip: Enable automatic sidecar injection (requires GKE Alpha Clusters)
      section: SECURITY
      boolean_group: SECURITY_GROUP

    - name: enableMutualTLS
      title: Enable mutualTLS authentication
      tooltip: Enable mutualTLS on the cluster
      section: SECURITY
      boolean_group: SECURITY_GROUP

    - name: enablePrometheus
      title: Enable Prometheus for metrics/logs collection
      tooltip: Enable Prometheus on the cluster
      section: MONITORING
      boolean_group: MONITORING_GROUP

    - name: enableGrafana
      title: Enable Grafana for metrics display
      tooltip: Enable Grafana on the cluster
      section: MONITORING
      boolean_group: MONITORING_GROUP

    - name: enableGrafana
      title: Enable Grafana for metrics display
      tooltip: Enable Grafana on the cluster
      section: MONITORING
      boolean_group: MONITORING_GROUP

    - name: enableZipkin
      title: Enable Zipkin for tracing
      tooltip: Enable Zipkin on the cluster
      section: MONITORING
      boolean_group: MONITORING_GROUP

    - name: enableServiceGraph
      title: Enable ServiceGraph for deployment visualization
      tooltip: Enable ServiceGraph on the cluster
      section: MONITORING
      boolean_group: MONITORING_GROUP

  sections:
    - name: server
      title: Baseline GKE Cluster config
      tooltip: This section contains input properties related to basic GKE cluster
    - name: MONITORING
      title: Monitoring, Logging and Tracing
      tooltip: This section contains input properties related to Monitoring, Logging and Tracing plugins
    - name: SECURITY
      title: Security
      tooltip: This section contains input properties related to security plugins.
    - name: APPLICATIONS_GROUP
      title: Install Applications
      tooltip: This section contains input properties related to adding in additional applications to the cluster.

  boolean_groups:
    - name: SECURITY_GROUP
      title:  Security
      tooltip: 'Security  related plugins. <a href="https://istio.io/docs/tasks/security/mutual-tls.html">Learn more</a>'
      subtext: Add optional Security related plugins to the cluster

    - name: MONITORING_GROUP
      title:  Metrics, Logs, and Traces
      tooltip: 'Metrics, Logs, and Traces related plugins. <a href="https://istio.io/docs/tasks/telemetry/distributed-tracing.html">Learn more</a>'
      subtext: Add optional Metrics, Logs, and Traces related plugins to the cluster

    - name: APPLICATIONS_GROUP
      title:  Install additional application
      tooltip: 'Automatically install sample applications.'
      subtext: Automatically Install sample applications (e.g. <a href="https://istio.io/docs/guides/bookinfo.html">BookInfo</a>)

runtime:
  deployingMessage: 'Deployment can take 3-10 minutes to complete, depending on the size of your cluster.'
