Commit Graph

103 Commits

Author SHA1 Message Date
Justin Santa Barbara 65aea59418 Return apierrors NotFound when object not found 2017-12-15 01:19:54 -05:00
Kubernetes Submit Queue 0d837bcea8
Merge pull request #3947 from chrislovecnm/goimports
Automatic merge from submit-queue.

updating goimports
2017-12-13 19:25:43 -08:00
Justin Santa Barbara 509b83ac7a Refactor: separate out SSHCredentials from Keyset stores
We've done this in the API already, but we had a single CAStore
interface that did Keysets and SSHCredentials.  Separate out
SSHCredentials into SSHCredentialStore, and start using API objects as
our primary representation.
2017-12-13 20:16:59 -05:00
Justin Santa Barbara 0a02aa2955 Update bazel / gazelle 2017-12-03 12:45:45 -05:00
Justin Santa Barbara 33b7432d6a Fix segfault when updating non-existent object
Fix #3935
2017-12-01 11:00:46 -05:00
chrislovecnm fc9caea827 updating goimports 2017-11-28 11:34:28 -07:00
Rohith 4816ed5e36 DNS Controller Optional
The current implementation requires enforces a dns-controller is running; given the user can switch the make the kube-apiserver server Internal and then reuse the dns for the masterInternalName; this effectlively removes the need to run the service (assuming your not using it for pods, node and service dns)

- adding a disableDnsController to the ExternalDNS spec provides a toggle on the addon (name is definitely up for debate)
- the default behaviour remains, the dns-controller is always pushed as an addon
2017-11-20 22:06:50 +00:00
chrislovecnm 6c2caedfc0 updating api docs 2017-11-14 16:07:50 -07:00
chrislovecnm 61cff4dfcf updating missed api machinery 2017-11-09 14:31:40 -07:00
Justin Santa Barbara 9851b19aed Fix bad import 2017-11-06 17:22:15 -05:00
chrislovecnm 609e268a1d gazelle updates with new bazel version 2017-11-05 17:41:53 -07:00
chrislovecnm 1e418c3e13 more goimport updates 2017-11-04 10:03:02 -06:00
chrislovecnm 8d1ee1fa16 updating files for goimports 2017-11-01 12:51:43 -06:00
Justin Santa Barbara b2bcba4a6d GCE: Use object-level permissions for files in GCS
This lets us configure cross-project permissions while ourselves needing
minimal permissions, but also gives us a nice hook for future lockdown
of object-level permissions.
2017-10-29 19:17:00 -04:00
chrislovecnm 4711d1596e update to imports that apimachinery is doing now automatically 2017-10-27 14:28:48 -06:00
Justin Santa Barbara 0143be7c4f autogen: BUILD and BUILD.bazel 2017-10-02 14:27:21 -04:00
Justin Santa Barbara 95d4f3eb59 More code updates for 1.8 2017-10-01 21:13:00 -04:00
Justin Santa Barbara 4b328e67a7 New apimachinery codegen 2017-10-01 13:53:42 -04:00
Justin Santa Barbara 559d885480 Mirror keystore & secretstore
This allows us to have our API objects in kops-server, but our
configuration on S3 or GCS.
2017-09-24 00:09:02 -04:00
Justin Santa Barbara e730e043ab Add function to get etcd status
This will allow us to permit changing the etcd configuration only if
etcd has not yet been configured.
2017-09-22 23:27:26 -04:00
Justin Santa Barbara 456a863416 codegen: apimachinery 2017-08-26 09:55:58 -04:00
Kubernetes Submit Queue d661e27a99 Merge pull request #3240 from justinsb/create_and_update_functions
Automatic merge from submit-queue

Explicit CreateCluster & UpdateCluster functions
2017-08-25 06:37:34 -07:00
Justin Santa Barbara a467d9dbd7 Add godoc comments 2017-08-24 14:03:37 -04:00
Justin Santa Barbara c6e31a94c7 Explicit CreateCluster & UpdateCluster functions
This enables better validation (in the etcd status PR)
2017-08-24 14:03:37 -04:00
Alexander Brandstedt f9867302b0 update api machinery 2017-08-23 12:22:55 +02:00
Alexander Brandstedt 7bfb7c25ab adding generated core 2017-08-21 17:18:14 +02:00
Justin Santa Barbara 9c5d4c2bdc Rework legacy validation to use field error helpers 2017-08-17 07:43:41 -04:00
Justin Santa Barbara 7c8dcc4a0d Code changes for 1.7 2017-07-02 13:10:28 -04:00
Justin Santa Barbara ad60e93538 apimachinery & clientset generation 2017-07-02 13:10:28 -04:00
Justin Santa Barbara 9ff3a7be64 Add clientset generated code 2017-06-20 22:29:43 -04:00
Justin Santa Barbara e945322cab Support generated clientset as alternative to vfs clientset
We modelled our VFS clientset (for API objects backed by a VFS path)
after the "real" clientsets, so now it is relatively easy to add a
second implementation that will be backed by a real clientset.

The snafu here is that we weren't really using namespaces previously.
Namespaces do seem to be the primary RBAC scoping mechanism though, so
we start using them with the real clientset.

The namespace is currently inferred from the cluster name.  We map dots
to dashes, because of namespace limitations, which could yield
collisions, but we'll deal with this by simply preventing users from
creating conflicting cluster names - i.e. you simply won't be able to
create a.b.example.com and a-b.example.com
2017-06-20 22:29:37 -04:00
Justin Santa Barbara 4006741a5d Update for new taints / labels names 2017-03-27 23:13:39 -04:00
Justin Santa Barbara cb4641fea3 Code updates 2017-03-16 02:40:50 -04:00
Justin Santa Barbara 9e015285f8 validation: Validate we specify ids for all subnets
Move our validation to the apimachinery style.  And then add a
validation that we specify IDs either for all subnets or no subnets.
2017-01-24 12:38:52 -05:00
Justin Santa Barbara 2b277c6789 Include `cluster` label in `kops get ig -oyaml`
Fix #1559
2017-01-19 22:59:55 -05:00
Justin Santa Barbara e50783da87 Store in v1alpha2 format 2017-01-08 10:32:18 -05:00
Justin Santa Barbara a375b1af82 Updates for k8s 1.6 code 2017-01-03 20:32:48 -05:00
Justin Santa Barbara fed68310fa Schema v1alpha2
* Zones are now subnets
* Utility subnet is no longer part of Zone
* Bastion InstanceGroup type added instead
* Etcd clusters defined in terms of InstanceGroups, not zones
* AdminAccess split into SSHAccess & APIAccess
* Dropped unused Multizone flag
2016-12-18 21:56:57 -05:00
Justin Santa Barbara fca2bccd49 Always returns items sorted by Name
Keeps tests deterministic, seems to be an assumption in the k8s API
also.
2016-12-18 14:17:28 -05:00
Justin Santa Barbara c01c2af656 Mark ObjectMeta as a named field
This will work around some apimachinery bugs
(https://github.com/kubernetes/client-go/issues/8)
2016-12-14 22:26:57 -05:00
Justin Santa Barbara 35cd96f359 Apply gofmt to pkg directory
It was omitted from the makefile `make gofmt`
2016-11-28 02:11:47 -05:00
Justin Santa Barbara 143cc27275 Merge pull request #918 from zmerlynn/allow-not-found
VFS: Be more lenient in List if ClusterVFS.find can't read the cluster
2016-11-16 20:12:13 -05:00
Zach Loafman b67e805357 VFS: Be more lenient in List if ClusterVFS.find can't read the cluster
I believe S3 eventual consistency doesn't really guarantee much here,
so a delete by one kops instance and a list by another could easily
generate this.

Fixes #917
2016-11-16 16:58:12 -08:00
Justin Santa Barbara ee44353cde Add support for kopeio networking 2016-11-16 14:20:23 -05:00
Justin Santa Barbara 8b26913972 Hotfix: fix path where we write clusters 2016-11-14 12:24:37 -05:00
Justin Santa Barbara ae84beddb7 Use more api machinery when writing 2016-11-13 22:11:36 -05:00
chrislovecnm 8fa2aac99f fixing more headers 2016-10-15 19:20:56 -06:00
Justin Santa Barbara 58a8daf63e Experimental support for federation
Highly experimental right now, and has exposed some upstream issues (I
believe), but adding so that people can start playing.
2016-10-11 10:29:46 -04:00
Justin Santa Barbara 542f8fb4f2 Refactor CLI to match kubectl approach
We have an Options class for each command, and a Run function that can
be called directly.
2016-10-11 09:47:11 -04:00
Justin Santa Barbara 5ac44018d4 Move API to pkg/apis/kops
This is a breaking change for people using the API (sorry), but is
hopefully a simple search and replace:

"k8s.io/kops/upup/pkg/api"
 -> api "k8s.io/kops/pkg/apis/kops"

"k8s.io/kops/upup/pkg/api/registry"
 -> "k8s.io/kops/pkg/apis/kops/registry"

This is the "correct" place for it in the k8s API infrastructure - we
are working towards a versioned API here.
2016-10-11 08:52:54 -04:00
Justin Santa Barbara 304c966df7 Make sure cluster Name is set on read 2016-10-11 00:24:59 -04:00
Justin Santa Barbara 5d255d17cb API example 2016-10-07 01:13:26 -04:00
Justin Santa Barbara f7fa324858 Initial k8s-style kops API
We try to emulate the k8s Clientset approach
2016-10-07 01:13:02 -04:00