Commit Graph

43 Commits

Author SHA1 Message Date
John Gardiner Myers f7383b29da Move Cloud into CloudupSubContext 2022-12-18 13:40:02 -08:00
John Gardiner Myers 7c3e32369a Refactor Context into separate cloudup and nodeup types 2022-12-17 17:42:46 -08:00
Ciprian Hacman d29812fc6e Replace fi.Bool/Float*/Int*/StringValue() with fi.ValueOf 2022-11-19 03:45:23 +02:00
Ciprian Hacman 8f79c9bd68 Replace fi.Bool/Float*/Int*/String() with fi.PtrTo() 2022-11-19 03:45:22 +02:00
Peter Rifel e0555bb431
Remove unused json field tags from terraform structs 2021-12-24 14:17:23 -06:00
Peter Rifel 117639f7ec
Use terraform literals in GCP service account references 2021-12-18 16:39:16 -06:00
Ciprian Hacman 3515f8e39b
Fix pull-kops-verify-gofmt 2021-12-17 12:02:51 +02:00
justinsb a0a67ebdab gce: map multiple serviceaccounts
Though it's currently an error to create an instance with more than
one serviceaccount, the GCE API and Terraform both support expressing
it in the model.  It's simpler to support the full model
expressiveness.
2021-12-16 09:48:49 -05:00
justinsb 63e3d98443 gce: Use ServiceAccount task when building model
The next step towards supporting custom ServiceAccounts per IG
2021-12-15 11:08:51 -05:00
justinsb 345c2900e8 gce: ServiceAccount task
Create a Task to manage GCE service account resources.
2021-12-12 22:12:18 -05:00
John Gardiner Myers 7c9e7e9286 Make Lifecycle field non-pointer 2021-06-02 23:02:16 -07:00
John Gardiner Myers 57dec35f68 Split out TerraformWriter 2021-05-02 21:54:46 -07:00
Kenji Kaneda 71f52363f8 Add a lifecycle test for GCE
- Move MockGCECloud to cloudmock/gce.
- Change Compute() and CloudDNS() of GCECloud to return interfaces
  for mocking
2021-04-26 13:05:27 -07:00
Peter Rifel 4d9f0128a3
Upgrade to klog2
This splits up the kubernetes 1.19 PR to make it easier to keep up to date until we get it sorted out.
2020-08-16 20:56:48 -05:00
John Gardiner Myers f72dac180d Switch to new fitasks marker 2020-07-28 11:48:08 -07:00
eric-hole f25b26ff07 Migrates GCE sdk from v0.beta to v1 2020-04-24 10:54:19 -07:00
Peter Rifel ef76409046 Add support for writing maps of literals, used by gce metadata 2020-04-08 22:16:57 -05:00
Peter Rifel 2a48c70ea8 Copy GCE instance fields into both Instance and InstanceTemplate
The hcl2 library doesn't handle embedded types well,
so rather than trying to detect it with reflection I figured it was easier to just get rid of the one case of it.
This copies the fields from the embedded type into both Instance and InstanceTemplate, updating the receiver functions to instead return the value for the field that was being modified.
2020-04-08 21:18:50 -05:00
Peter Rifel 04a5ead08e Add cty field tags to Terraform structs 2020-04-05 21:18:02 -05:00
eric-hole b3d65ffce0 Adds a gce-service-account flag so you BYO service-account
Generated code and some cleanup

Not sure where that code went

Tests for service account

fixes case on gceserviceaccount
2020-04-04 21:15:56 -07:00
tanjunchen f01e8e4cdd upup/pkg/fi/cloudup/ staticcheck 2019-12-31 16:15:28 +08:00
tanjunchen 43bf6bdab6 fix-up gosimple check error 2019-10-07 11:59:57 +08:00
mikesplain 9e55b8230a Update copyright notices
Also cleans some white spaces
2019-09-09 14:47:51 -04:00
Justin SB 3e33ac7682
Change code from glog to klog
We don't call klog.InitFlags yet, because that will cause a flag
redefinition error until we get everyone to stop using glog.  That
will happen when we update to k8s 1.13.
2019-05-06 12:54:51 -04:00
Justin Santa Barbara c14113a585 Apply goimports formatting to upup/pkg/fi/cloudup/gcetasks/ 2017-10-29 13:39:33 -04:00
Justin Santa Barbara 0c89c9851e Simple code updates for 1.8 breakages 2017-10-01 13:17:40 -04:00
Justin Santa Barbara 73dd870118 GCE integration test: verify TF output 2017-09-23 16:27:15 -04:00
chrislovecnm 0779fb6fc4 Implementing GCE as an inteface modelling aws cloud provider 2017-08-27 22:19:25 -06:00
Justin Santa Barbara 3e1ce4f950 Add Lifecycle 2017-07-15 22:01:03 -04:00
Justin Santa Barbara 5e5e37e2e2 GCE: Allow updating the instance group template
We follow the same pattern as on AWS, where we create a new template,
because the templates are immutable.
2017-05-16 10:49:07 -04:00
Justin Santa Barbara c9ac0cdbd8 Support GCE ForwardingRule (LoadBalancer) for API
Also lots of GCE cleanup
2017-03-28 00:00:20 -04:00
Justin Santa Barbara 645f330dad Re-enable GCE support
We move everything to the models.  We feature-flag it, because we
probably want to change the names etc, and we aren't going to be able to
offer smooth upgrades until that is done.
2017-02-28 20:08:03 -05:00
chrislovecnm 8fa2aac99f fixing more headers 2016-10-15 19:20:56 -06:00
Justin Santa Barbara d427858477 Rename to kops
The upup tool is now called kops, and we have moved repos
2016-06-30 09:25:25 -04:00
Justin Santa Barbara c72593fcf7 Use generators in tasks 2016-05-30 17:46:36 -04:00
Mike Danese a4344e1564 Merge pull request #19 from justinsb/upup_keypair
upup: better keypair support
2016-05-17 09:33:24 -07:00
Mike Danese b48b503a7c Merge pull request #17 from justinsb/upup_gce_metadata
upup: Discover metadata on GCE instance
2016-05-17 09:33:11 -07:00
Justin Santa Barbara c4742045ab Support changing GCE instance metadata
This works, but is only a part-way there because:

1. We need to trigger cloudup
2. Our manifests don't pick up the change (e.g. kube-apiserver)
2016-05-15 17:46:34 -04:00
Justin Santa Barbara cb7e20be3b Create HasAddress interface
AWS ElasticIPs and GCE Addresses implement HasAddress.  This will be
used by dependent tasks to extract the IP address at runtime.
2016-05-15 17:42:59 -04:00
Justin Santa Barbara 0976ee1a73 Discover metadata on GCE instance
We simply weren't mapping it before, which was causing spurious changes.
2016-05-15 17:40:32 -04:00
Justin Santa Barbara 5a61c35052 Map GCE image-url to string consistently
We need to reverse our image shortening consistently with how we resolve
the image, so that --dryrun does not report spurious changes.
2016-05-15 17:39:26 -04:00
Justin Santa Barbara caccb8953f UpUp: AWS support
Adds AWS support for both cloudup & nodeup.
Also cleaning up things found along the way!
2016-05-09 13:08:27 -04:00
Justin Santa Barbara d4c2cfaae7 Initial version of upup: cloudup & nodeup
* GCE support only
* Key and secret generation
* "Direct mode" makes API calls
* "Dry run mode" previews the changes
* Terraform output (though key generation not working for master ip)
* cloud-init output (though debian image does not ship with cloud-init)
2016-05-06 16:01:33 -04:00