kops/cloudmock/gce/mockcompute
Nat Henderson 9b08c4bb51 Enable internal load balancers when running on GCP
* 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>
2022-04-25 13:31:47 -07:00
..
address.go Add a lifecycle test for GCE 2021-04-26 13:05:27 -07:00
api.go Enable internal load balancers when running on GCP 2022-04-25 13:31:47 -07:00
backend_services.go Enable internal load balancers when running on GCP 2022-04-25 13:31:47 -07:00
disk.go Add a lifecycle test for GCE 2021-04-26 13:05:27 -07:00
firewall.go Add a lifecycle test for GCE 2021-04-26 13:05:27 -07:00
forwarding_rule.go Add a lifecycle test for GCE 2021-04-26 13:05:27 -07:00
health_checks.go Enable internal load balancers when running on GCP 2022-04-25 13:31:47 -07:00
http_healthcheck.go Cleanup GCE loadbalancers created by k8s 2021-12-05 12:26:43 +02:00
instance_group_manager.go Add a lifecycle test for GCE 2021-04-26 13:05:27 -07:00
instance_template.go Add a lifecycle test for GCE 2021-04-26 13:05:27 -07:00
network.go GCE: Support network deletion 2021-10-24 17:41:14 -04:00
project.go Add a lifecycle test for GCE 2021-04-26 13:05:27 -07:00
route.go Add a lifecycle test for GCE 2021-04-26 13:05:27 -07:00
router.go Add a lifecycle test for GCE 2021-04-26 13:05:27 -07:00
subnetwork.go GCE: improve network & subnet terraform support 2021-10-24 17:41:14 -04:00
target_pool.go remove list 2022-02-03 21:06:09 +02:00
zone.go Add a lifecycle test for GCE 2021-04-26 13:05:27 -07:00