Skip to content

[Heartbeat] Support google cloud storage for suites #30571

@andrewvc

Description

@andrewvc

In #29917 (discovery mode) we'll want to enable the use of google cloud storage for downloaded suites, where after the discovery phase we upload the zip, and during the execution phase we pull a zip from GCP instead of a standard URL.

During the discovery phase we need to support cloud storage for a new discovery.source_cache option as in the example below. Note that we only need to support pre-signed URLs for our purposes.

heartbeat.monitors:
 - id: elastic-monitor
  name: Elastic Monitor
  discovery:
    enabled: true
      # optional, place to re-upload the downloaded zip for subsequent executions.
    source_cache:
      gcp_cloud_storage:
        signed_url: "http://presignedurl"
  schedule: '@every 1m'
  source:
    zip_url: 
      url: "https://github.com/elastic/synthetics-demo/archive/refs/heads/main.zip"

During execution we need to support this option as a source type, where it can entered as such:

heartbeat.monitors:
 - id: elastic-monitor
  name: Elastic Monitor
  source:
    gcp_cloud_storage:
      signed_url: "http://presignedurl"
      deps_preinstalled: true # disable the NPM install because it's already correctly bundled in the zip
  schedule: '@every 1m'

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions