* test(e2e): add GCP infra resources and tests for enos testing - add 1 new `gcp_target` module that creates a GCP VM instance with labels for filtering - add GCP dynamic host catalog e2e tests
32 lines
1.3 KiB
Go
32 lines
1.3 KiB
Go
// Copyright (c) HashiCorp, Inc.
|
|
// SPDX-License-Identifier: BUSL-1.1
|
|
|
|
package gcp_test
|
|
|
|
import "github.com/kelseyhightower/envconfig"
|
|
|
|
type config struct {
|
|
GcpPrivateKeyId string `envconfig:"E2E_GCP_PRIVATE_KEY_ID" required:"true"`
|
|
GcpPrivateKey string `envconfig:"E2E_GCP_PRIVATE_KEY" required:"true"`
|
|
GcpZone string `envconfig:"E2E_GCP_ZONE" required:"true"` // e.g. "us-central1-a"
|
|
GcpProjectId string `envconfig:"E2E_GCP_PROJECT_ID" required:"true"` // e.g. "my-project"
|
|
GcpClientEmail string `envconfig:"E2E_GCP_CLIENT_EMAIL" required:"true"`
|
|
GcpHostSetFilter1 string `envconfig:"E2E_GCP_HOST_SET_FILTER1" required:"true"`
|
|
GcpHostSetFilter2 string `envconfig:"E2E_GCP_HOST_SET_FILTER2" required:"true"`
|
|
GcpHostSetIps string `envconfig:"E2E_GCP_HOST_SET_IPS" required:"true"`
|
|
GcpTargetSshKey string `envconfig:"E2E_GCP_TARGET_SSH_KEY" required:"true"`
|
|
GcpTargetAddress string `envconfig:"E2E_TARGET_ADDRESS" required:"true"` // e.g. "192.168.0.1"
|
|
GcpTargetSshUser string `envconfig:"E2E_SSH_USER" required:"true"` // e.g. "ubuntu"
|
|
GcpTargetPort string `envconfig:"E2E_TARGET_PORT" required:"true"` // e.g. "22"
|
|
}
|
|
|
|
func loadTestConfig() (*config, error) {
|
|
var c config
|
|
err := envconfig.Process("", &c)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return &c, nil
|
|
}
|