We initially support capturing to a file (in our own format, as it
doesn't appear a suitable format exists). This means we don't need a
server to capture the traces, and can start capturing through prow
without a lot of infrastructure changes.
Co-authored-by: Peter Rifel <rifelpet@users.noreply.github.com>
* tasks dependencies
* FindAddresses should proceed even if LBID is empty
* refacto instance: handle several instances in IG + volumeSize in model
* refacto lb_backend: set servers' IPs in backend task rather than instance
* dns changes for tf support
* render Scaleway s3 objects + add zone to outputs
* add terraform support to documentation
* new instance unique name should be given according to actual instances names
* avoid untimely changes in tf + tag instance IPs to avoid orphaned IPs at cluster deletion
* update integration tests
* review comments
* add IPs to the resources to be deleted with the cluster
* add task + model for DNS record
We cache it in the S3Context anyway, and this potentially avoids some
race conditions (albeit likely harmless race conditions).
Co-authored-by: John Gardiner Myers <jgmyers@proofpoint.com>
Setting up context usage internally ready for the context to be
exposed.
Also avoid initializing the client until the first usage, making
building VFS path more of a builder function (deterministic, not
expected to fail for good inputs).
By initializing on demand, we avoid the need for some context.Context
during "build" time and better reflect the notion of (passive)
builders vs (active) requests.
The rule of thumb is that we shouldn't be embedding a context.Context,
but it is reasonable when the lifetime is similar and when the
refactor would otherwise be unacceptably large.
This is a minimal way to introduce it, based on adding the support
needed in the GCS support for serviceAccountIssuerDiscovery. We will
need to plumb through the context in many more places over time.
* Add ILBs, broadly following the AWS model. The following new
capabilities are added for clusters in GCP:
* Cluster's spec.api.loadBalancer can be set to 'type: internal' on
GCP.
* Therefore, GCP can now create:
* regional backend services
* regional (non-legacy) healthchecks
* firewall rules with "internal" load-balancing scheme
* firewall rules with dot-notation-specified IP addresses
* Cluster's spec.api.loadBalancer's 'subnets' field functions
as in the AWS model.
A few incidental changes are included, either because this change
touched the relevant code or because my use case happened to trigger the
issues that are fixed here.
* Cluster's spec.networkID field can be prefixed by project to use
GCP's common cross-project networking model.
* The presumption is that all specified subnets belong to this
network and therefore this project.
* Add missing operation wait on forwarding rule creation.
* Some Terraform output improvements:
* Permit no-ACL files in GCS buckets in Terraform output.
* Enable marginally better cross-resource reference in Terraform outputs
* Add project to network + subnetwork literals in Terraform output.
* Add terraform output to backend services and health checks.
Testing:
* Add mocks for backend services and health checks.
* Add minimal integration test - copied from gce_private and ilb added.
* Add update cluster goldens.
Co-authored-by: Travis Reid <travis_reid@apple.com>