Commit Graph

220 Commits

Author SHA1 Message Date
srikiz efdccb2e65 incorporate review comments 2023-04-11 07:51:36 +05:30
srikiz e77e660ed9 More changes based on testing 2023-04-11 07:51:36 +05:30
Kubernetes Prow Robot dfb9c424d5
Merge pull request #14954 from justinsb/use_google_storage_object_acl
gce terraform: Use google_storage_object_acl
2023-02-11 21:59:30 -08:00
Ciprian Hacman fbabea98e9 aws: Remove S3 region validation 2023-02-04 06:55:33 +02:00
justinsb 0b8cb933ad gce terraform: Use google_storage_object_acl
We are using the schema of google_storage_object_acl.
2023-01-22 10:15:25 -05:00
justinsb c2810a5c96 Refactor to reduce vfs -> terraformWriter dependency 2023-01-04 13:38:47 -05:00
Kubernetes Prow Robot aeca5f9b54
Merge pull request #14926 from justinsb/multiple_tfproviders
Support multiple terraform file providers
2023-01-04 09:24:02 -08:00
justinsb 50556d6ab1 vfs: don't cache bucketDetails in S3Path
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>
2023-01-04 08:26:48 -05:00
justinsb 707758f1e9 Support multiple terraform file providers
By adding them on-demand, it is arguably a little simpler as well.

Co-authored-by: John Gardiner Myers <jgmyers@proofpoint.com>
2023-01-04 08:14:18 -05:00
justinsb 6c2edaee7e Add Context arg to vfs ReadFile
This is an "action" method, so should take a context.
2023-01-01 09:51:44 -05:00
justinsb ae074bbc6b VFS: Add context to CreateFile & WriteFile
As "request" methods, these should have context parameters.
2022-12-23 10:39:52 -05:00
Kubernetes Prow Robot 5922daed00
Merge pull request #14852 from justinsb/ssh_vfscontext
vfs: wire context into SSHPath
2022-12-22 09:31:38 -08:00
Kubernetes Prow Robot c15ab50738
Merge pull request #14851 from justinsb/azure_context
vfs: azure client support for context and defer client construction
2022-12-22 09:31:26 -08:00
justinsb 4c789c7295 vfs: cleanup of SSH code
Generally cleaning up the SSH/SFTP code, only real change is to use posix rename.
2022-12-22 10:42:40 -05:00
justinsb 0a24aa99be vfs: wire context into SSHPath
It doesn't follow quite the same patterns, but we still need to lay
the groundwork here.
2022-12-22 10:37:50 -05:00
justinsb c81ec7f435 vfs: azure client support for context and defer client construction
Updating azure to follow the context patterns we've defined, where
BuildVFSPath no longer makes network calls.
2022-12-22 10:32:11 -05:00
justinsb 6406bfe150 VFS: Add context to internals of Openstack Swift client
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).
2022-12-21 10:07:03 -05:00
Kubernetes Prow Robot da9775972c
Merge pull request #14832 from justinsb/aws_s3_context
vfs: add context to s3 functions
2022-12-20 16:25:25 -08:00
Kubernetes Prow Robot 93a5be1599
Merge pull request #14833 from justinsb/cleanup_double_license_header
Cleanup double-license header in file
2022-12-20 14:11:35 -08:00
justinsb b233bdd67d Cleanup double-license header in file
We somehow ended up with 2 license headers here (the same, though with
different dates).
2022-12-20 15:36:31 -05:00
justinsb bba2eaf946 vfs: add context to s3 functions
We don't have the early initialization problem, but we do want to pass
the context through to the requests e.g. for tracing.
2022-12-20 15:34:42 -05:00
justinsb 46f27168b8 vfs: avoid early initialization of GCS client
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.
2022-12-20 15:23:16 -05:00
John Gardiner Myers 89cda928e1 Fixes for checking if S3 bucket is public 2022-12-17 11:05:38 -08:00
justinsb f4984dafab Support public buckets for serviceAccountIssuers on S3
S3 is also nudging towards bucket level permissions, so don't set an ACL when bucket is public.
2022-12-17 09:57:45 -08:00
justinsb 5fde739814 Introduce context.Context into some of our "Context" objects
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.
2022-12-12 09:56:09 -05:00
Ciprian Hacman dbef6209c2 Remove support for using Vault as state store
Co-authored-by: John Gardiner Myers <jgmyers@proofpoint.com>
2022-11-30 18:38:21 +02:00
John Gardiner Myers 8b6f2973f8 Refactor GSPath use of Literal 2022-11-26 19:24:23 -08:00
John Gardiner Myers c2d9b871a5 Refactor Literal unit tests 2022-11-26 19:24:16 -08:00
Leïla MARABESE 76562f80d5 support for scaleway in s3 buckets 2022-09-01 12:06:23 +02:00
Ciprian Hacman cb99db0757 Run make goimports 2022-08-17 07:03:33 +03:00
Ciprian Hacman 3d24d76cd6 Set higher verbosity when logging the endpoint of non-AWS S3 backend 2022-08-03 04:54:47 +03:00
Abirdcfly 9983ed68fb
delete t.FailNow after t.Fatalf
Signed-off-by: Abirdcfly <fp544037857@gmail.com>
2022-07-22 00:14:53 +08:00
Rémy Léone 80d2d53643 fix tenv linter 2022-06-15 18:06:28 +02:00
Jesse Haka 52d2cb08a8 update deps 2022-05-04 10:25:42 +03:00
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
Tessia Piboubès 705a7b536c Use a pointer type in type assertion 2022-04-20 20:07:58 +02:00
Kubernetes Prow Robot 6d264080ed
Merge pull request #13484 from olemarkus/no-bazel-targets
Remove bazel targets and tools
2022-04-17 23:16:41 -07:00
Ciprian Hacman 8b8dd8d2dd Use aws_s3_object instead of deprecated aws_s3_bucket_object 2022-04-13 16:49:03 +03:00
Ole Markus With ce2e877aeb Remove bazel files from vendor 2022-04-12 13:29:03 +02:00
Justin Menga 210d072da9 Correctly detect GovCloud regions 2022-03-24 12:59:32 -07:00
Eng Zer Jun deede3ecd4
test: use `T.TempDir` to create temporary test directory
The directory created by `T.TempDir` is automatically removed when the
test and all its subtests complete.

Reference: https://pkg.go.dev/testing#T.TempDir
Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
2022-02-18 16:57:41 +08:00
justinsb 9ccc100f92 tests: ensure that we use ACLs with memfs
They weren't fully wired up previously
2022-01-30 15:04:11 -05:00
John Gardiner Myers a0736b3c29 Remove support for Aliyun/Alibaba Cloud 2021-12-11 21:49:13 -08:00
Peter Rifel f5f52eec92
Add mock GCP credentials to fix unit tests 2021-12-02 08:01:35 -06:00
Peter Rifel f56f98154a
Add TerraformProvider 2021-12-02 08:01:35 -06:00
Peter Rifel 675754edeb
Add Terraform support for GS Paths 2021-12-02 08:01:34 -06:00
Peter Rifel 5813b7f0e0
Add a unit test for S3Path.RenderTerraform
Unfortunately it needs to be in a different package to avoid a rather complex import loop: terraform -> kops api -> vfs -> terraform
2021-12-02 07:55:45 -06:00
Ciprian Hacman ea7df00719 Run hack/update-gofmt.sh 2021-12-01 22:39:50 +02:00
Ole Markus With 2fa53989c4 Configure dualstack endpoint for s3
Use dualstack https endpoints on ipv6only cluster. Always use
dualstack endpoints through the SDK
2021-11-20 08:00:00 +01:00
Eng Zer Jun 425173ae9f
refactor: move from io/ioutil to io and os packages
The io/ioutil package has been deprecated as of Go 1.16, see
https://golang.org/doc/go1.16#ioutil. This commit replaces the existing
io/ioutil functions with their new definitions in io and os packages.

Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
2021-11-12 15:37:18 +08:00