kops/pkg/model/gcemodel
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
..
OWNERS Fix area/provider/gcp GitHub label assignment 2021-12-01 22:43:43 -06:00
api_loadbalancer.go Enable internal load balancers when running on GCP 2022-04-25 13:31:47 -07:00
autoscalinggroup.go Enable internal load balancers when running on GCP 2022-04-25 13:31:47 -07:00
context.go Enable internal load balancers when running on GCP 2022-04-25 13:31:47 -07:00
convenience.go simplify code and remove unused code 2019-12-17 00:28:35 +08:00
external_access.go Enable internal load balancers when running on GCP 2022-04-25 13:31:47 -07:00
firewall.go Enable internal load balancers when running on GCP 2022-04-25 13:31:47 -07:00
network.go Enable internal load balancers when running on GCP 2022-04-25 13:31:47 -07:00
service_accounts.go Fix GCE service account creation 2022-03-01 11:59:42 +02:00
storageacl.go gce: don't set per-IG permissions when using shared account 2021-12-28 10:10:16 -05:00