Installing, Configuring, and Deploying a Tile Through an Automated Pipeline

Page last updated:

This topic describes how to install, configure, and deploy the Healthwatch and Healthwatch Exporter tiles through an automated pipeline.

To install, configure, and deploy the Healthwatch and Healthwatch Exporter tiles manually, see the following topics:

Overview of Automated Pipelines

Automated pipelines enable you to install, configure, and deploy Ops Manager tiles through automation scripts.

For more information, see the Platform Automation documentation.

Note: There are risks to using Healthwatch v2.1, including missed email notifications, overwritten dashboards, and minor data loss during upgrades. For more information about how to prepare for or prevent these problems, see Assumed Risks of Using Healthwatch v2.1 in Healthwatch.

Prerequisites

Before you use an automated pipeline to install, configure, and deploy a tile, you must have the following:

  • An existing Concourse pipeline. For an example pipeline configuration, see Ops Manager + Multiple Products in the Platform Automation documentation.

  • A fully-configured Ops Manager foundation.

  • A fully-configured BOSH Director instance.

  • The Platform Automation Toolkit Docker image imported into Docker. For more information, see Executing Commands in Running Commands Locally in the Platform Automation documentation.

Download and Install a Tile Using Platform Automation

To download and install a tile using Platform Automation:

  1. Create a configuration file for the download-product task of your automated pipeline. This configuration file fetches the tile you want to install from VMware Tanzu Network. Copy and paste one of the following sets of properties into your configuration file:

    • For Healthwatch:
    ---
    pivnet-api-token: token
    pivnet-file-glob: "healthwatch-[^pas|pks].*pivotal"
    pivnet-product-slug: p-healthwatch
    product-version-regex: 2\.0.*
    
    • For Healthwatch Exporter for TAS for VMs:
    ---
    pivnet-api-token: token
    pivnet-file-glob: "healthwatch-pas-*.pivotal"
    pivnet-product-slug: p-healthwatch
    product-version-regex: "0.4.*"
    
    • For Healthwatch Exporter for TKGI:
    ---
    pivnet-api-token: token
    pivnet-file-glob: "healthwatch-pks-*.pivotal"
    pivnet-product-slug: p-healthwatch
    product-version-regex: "0.4.*"
    


    For more information, see Download in Extending a Pipeline to Install a Product and download-product in Task Reference in the Platform Automation documentation.

  2. Upload and stage the tile to the Ops Manager Installation Dashboard by adding the upload-stemcell and upload-and-stage-product jobs to your configuration file. For more information, see Upload and Stage in Extending a Pipeline to Install a Product and upload-stemcell and upload-and-stage-product in Task Reference in the Platform Automation documentation.

For more information about adding a product to the Ops Manager Installation Dashboard with Platform Automation, see Extending a Pipeline to Install a Product in the Platform Automation documentation.

Configure and Deploy Your Tile Using the om CLI

After you download and install your tile, you can configure and deploy it using the om CLI.

Unless you are an advanced user, VMware recommends configuring and deploying your tile manually the first time, so you can see which properties in the automation script correlate to the configuration settings present in the tile UI before you modify and re-deploy the tile with the om CLI.

Below is an example of an automation script that configures and deploys the Healthwatch tile:

product-name: p-healthwatch2
product-properties:
  .properties.scrape_configs:
    value:
      - ca: |
          -----BEGIN CERTIFICATE-----
          SECRET
          -----END CERTIFICATE-----
        scrape_job: |
          job_name: foundation1
          metrics_path: /metrics
          scheme: https
          static_configs:
            - targets:
              - "1.2.3.4:9090"
              - "5.6.7.8:9090"
        server_name: pasexporter
        tls_certificates:
          cert_pem: |
            -----BEGIN CERTIFICATE-----
            SECRET
            -----END CERTIFICATE-----
          private_key_pem: |
            -----BEGIN RSA PRIVATE KEY-----
            SECRET
            -----END RSA PRIVATE KEY-----
      - ca: |
          -----BEGIN CERTIFICATE-----
          SECRET
          -----END CERTIFICATE-----
        scrape_job: |
          job_name: foundation2
          metrics_path: /metrics
          scheme: https
          static_configs:
            - targets:
              - "9.10.11.12:9090"
        server_name: pasexporter
        tls_certificates:
          cert_pem: |
            -----BEGIN CERTIFICATE-----
            SECRET
            -----END CERTIFICATE-----
          private_key_pem: |
            -----BEGIN RSA PRIVATE KEY-----
            SECRET
            -----END RSA PRIVATE KEY-----
  .properties.grafana_authentication:
    selected_option: basic
    value: basic
  .tsdb.canary_exporter_port:
    value: 9115
  .tsdb.scrape_interval:
    value: 15s
  .grafana.enable_login_form:
    value: true
network-properties:
  network:
    name: subnet1
  other_availability_zones:
  - name: us-central1-f
  - name: us-central1-c
  - name: us-central1-b
  singleton_availability_zone:
    name: us-central1-f
resource-config:
  pxc:
    instances: automatic
    persistent_disk:
      size_mb: automatic
    instance_type:
      id: automatic
    internet_connected: true
    max_in_flight: 5
  pxc-proxy:
    instances: automatic
    persistent_disk:
      size_mb: automatic
    instance_type:
      id: automatic
    internet_connected: true
    max_in_flight: 5
  tsdb:
    instances: automatic
    persistent_disk:
      size_mb: automatic
    instance_type:
      id: automatic
    internet_connected: true
    max_in_flight: 1
  grafana:
    instances: automatic
    persistent_disk:
      size_mb: automatic
    instance_type:
      id: automatic
    internet_connected: true
    max_in_flight: 5
errand-config:
  smoke-test:
    post-deploy-state: true
  update-admin-password:
    post-deploy-state: true

For more information about configuring and deploying tiles with the om CLI, see the om repository on GitHub.