Commit Graph

760 Commits

Author SHA1 Message Date
Justin Santa Barbara 9e546d7fe0 Add test harness for integration tests
Also generate a SSH public key and use it in our tests
2016-12-18 14:17:16 -05:00
Justin Santa Barbara 9a3b96f853 Add HA test, test against single "all yaml" output
Related to #1189 ... we have this output now (in testing!)
2016-12-18 13:47:24 -05:00
Justin Santa Barbara 9bfd067520 Simple integration test for create cluster
Calls create cluster command
Compares to expected YAML output
2016-12-17 23:20:03 -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
Randall McPherson 7e55582dde pass io.Writer when marshaling
don't assume stdout, pass it as io.Writer
2016-12-14 15:25:10 -05:00
Randall McPherson 7f34743bb5 move fullClusterSpecs calls outside of output switch 2016-12-14 14:46:47 -05:00
Randall McPherson de1eff91af remove unreachable code 2016-12-14 11:36:07 -05:00
Randall McPherson 3ad12b0114 add json unsupported message for secrets 2016-12-14 10:46:02 -05:00
Randall McPherson b048b59e30 add json support for get federations 2016-12-14 10:45:42 -05:00
Randall McPherson 1bcd58637e simplify cluster marshaling 2016-12-14 10:45:27 -05:00
Randall McPherson a23a313b4b use ToVersionedYaml 2016-12-14 10:22:55 -05:00
Randall McPherson 1c6edb13fd Merge branch 'master' into get-json-support
* master: (53 commits)
  Display SSH Public key being used. Fixes issue #1140
  Bump version of nodeup that we depend on
  Specify --anonymous-auth=false for k8s 1.5
  Add test for weave
  Mock Route53 GetHostedZone
  A few tweaks to terraform output building
  Disable scheme:internal on ELB
  Add super-simple test for VPC task
  Fix broken link of cluster_spec.md
  Fix boilerplate on zones.go
  more text changes
  making output look better
  Fixing panics and cleaning up output in validate
  Make kubecfg generation optional
  Add path.module to expected TF output
  MockAWSCloud: Use new route53 test interface
  HACK: apply #38590 directly
  model -> tf test of 1.4.1 schema
  First model -> tf test
  Add mock ec2 images API
  ...
2016-12-14 10:22:11 -05:00
Randall McPherson bfbfd9ed32 wip 2016-12-13 17:55:47 -05:00
Roberto J Rojas f7247ea834 Display SSH Public key being used. Fixes issue #1140 2016-12-13 15:03:17 -05:00
Justin Santa Barbara e779d63eee Add test for weave 2016-12-12 12:26:53 -05:00
Chris Love c474bc28b3 Merge pull request #1116 from justinsb/test_model_to_tf
Test of model to terraform
2016-12-11 21:47:12 -07:00
chrislovecnm 8f3291a189 more text changes 2016-12-11 17:50:47 -07:00
chrislovecnm e758f4888a making output look better 2016-12-11 17:45:37 -07:00
chrislovecnm f438eb02c4 Fixing panics and cleaning up output in validate 2016-12-11 17:32:05 -07:00
Justin Santa Barbara 1bf9658355 Make kubecfg generation optional
And turn it off in the test, to avoid dependency on kubectl
2016-12-11 17:43:23 -05:00
Justin Santa Barbara afd0c25abe First model -> tf test 2016-12-11 17:11:10 -05:00
Chris Love 704aaaeff2 Merge pull request #1089 from justinsb/kops_edit_cluster
Use versioned marshaling where we can
2016-12-11 10:09:53 -07:00
Justin Santa Barbara dbab97e508 Use versioned marshaling where we can
In particular during a kops edit
2016-12-08 22:17:26 -05:00
Justin Santa Barbara 83f9d05251 Allow role specification on kops create ig 2016-12-08 13:41:04 -05:00
Chris Love e2c52a99ce Merge pull request #1087 from justinsb/bash_completion
Tweak completion command
2016-12-07 23:19:19 -07:00
Justin Santa Barbara bb562fbd3d Tweak completion command
It now accepts a positional <shell> argument, so we don't have to change
the docs.
2016-12-07 10:22:43 -05:00
Justin Santa Barbara 8f3b2e3c09 Merge pull request #1066 from rlmcpherson/cmd-replace
Add replace command
2016-12-07 09:18:44 -05:00
Kris Childress bd41340306 Merge pull request #1049 from DualSpark/state-store-error
Serious STATE_STORE error message
2016-12-06 23:52:39 -07:00
Randall McPherson 30d8e5d332 Merge remote-tracking branch 'origin' into cmd-replace
* origin: (36 commits)
  Remove unused import
  Fixes per code review
  Make sure we set APIServerCount
  Hotfix for segfaults
  Lowercase json display
  IdleTimeout configurable from editcluster
  Headers updated for ci fix
  Handled nil checks for attributes
  Add verify-boilerplate target
  Add logging of AWS retries
  adding hack/verify-boilerplate.sh to make ci target
  Print time remaining to succeed as a positive value
  adding hack/verify-boilerplate.sh to make ci target
  updating headers, OMG we need this in the ci
  Format resource diffs
  Include error in message when we fail to query AZs
  v1aplha1 api code
  Connection settings loadbalancer
  Update Homebrew documentation
  Import tidying
  ...
2016-12-05 19:03:13 -05:00
Randall McPherson 658d3822cc Add replace command
wip
2016-12-05 18:54:41 -05:00
alok87 99aa9d6490 Merge remote-tracking branch 'kopsrepo/master' into bastion_improvements
* kopsrepo/master: (29 commits)
  Add verify-boilerplate target
  Add logging of AWS retries
  adding hack/verify-boilerplate.sh to make ci target
  Print time remaining to succeed as a positive value
  adding hack/verify-boilerplate.sh to make ci target
  updating headers, OMG we need this in the ci
  Format resource diffs
  Include error in message when we fail to query AZs
  Import tidying
  Apply gofmt
  Update cmd/kops/validate_cluster for refactor
  Move to pkg/validation and tidy up
  Update command building pattern, a few tweaks
  adds more machine types
  fix path to adding feature doc
  Update dns-controller README
  bug in my fix header script
  updating header
  bumping weave version
  Remove old file
  ...
2016-12-04 17:24:29 +05:30
alok87 66d2e4791d IdleTimeout configurable from editcluster 2016-12-04 16:35:39 +05:30
alok87 91e332f759 Handled nil checks for attributes 2016-12-04 14:59:29 +05:30
chrislovecnm bc45745b46 Serious STATE_STORE error message 2016-12-03 20:43:28 -07:00
Justin Santa Barbara cdacc15dce Import tidying 2016-12-02 11:24:09 -05:00
Justin Santa Barbara ccd9ea90b3 Update cmd/kops/validate_cluster for refactor 2016-12-02 11:19:50 -05:00
Justin Santa Barbara ff2d580257 Update command building pattern, a few tweaks 2016-12-02 09:49:39 -05:00
alok87 fd51303622 Check for topology nil and bastionMachineType empty handle 2016-12-02 13:20:06 +05:30
alok87 d4eccb2688 Made bastion as part of TopologySpec 2016-12-01 09:56:45 +05:30
alok87 a413ea5ac3 Merge remote-tracking branch 'kopsrepo/master' into bastion_improvements
* kopsrepo/master:
  gcs-upload: Use a no-clobber copy instead
  gcs-upload: Fix cache-control on other files as well
  changes from code review
  doc updates
  unit tests with fakes
  it is working in alpha
  working on the start of validate
  Starting work on node lookup and validation
  starting porting node code
  Fix retries for AutoScalingGroup pending delete
  Apply gofmt to pkg directory
  Avoid tests hitting kubernetes stable.txt HTTP file
  Fix printing of max size on instance group
  Disable kubelet from starting until after volume mounts
  Fix Cluster parsing error message
  bumping stable channel to k8s 1.4.6
  support more zones(cn-north-1a/b) for cloud provider guess
2016-11-30 07:58:41 +05:30
chrislovecnm 2bbc95d9e8 changes from code review 2016-11-28 18:54:57 -07:00
chrislovecnm 8a1934ae8b unit tests with fakes
updating docs
2016-11-28 18:17:53 -07:00
chrislovecnm 8b8bb18815 it is working in alpha 2016-11-28 18:16:32 -07:00
chrislovecnm 82cf2c2c0f working on the start of validate
cluster validation seem to be working.  Need to test more

documentation yo

refactoring to get rid of import cycle not allowed
2016-11-28 18:16:32 -07:00
Justin Santa Barbara a0250c196c Fix printing of max size on instance group
Fix #986
2016-11-28 01:46:44 -05:00
alok87 6b17c27572 Bastion Improvements 2016-11-23 12:37:42 +05:30
alok87 6206bc711e Separate configuration for bastion 2016-11-23 12:35:10 +05:30
alok87 2f1ebdea15 Enable/disable bastion, defaults to false 2016-11-23 12:31:51 +05:30
Justin Santa Barbara c3fd29a0e9 Logging cleanup 2016-11-19 16:23:51 -05:00
Justin Santa Barbara 76dc86ff49 Apply gofmt 2016-11-19 15:01:06 -05:00
chrislovecnm 19ea96e387 working on weave 2016-11-16 23:41:50 -05:00
chrislovecnm 4ae70c4fba why is this no worky 2016-11-16 21:11:12 -07:00
chrislovecnm a890390fbf updating bugs 2016-11-16 20:05:27 -05:00
chrislovecnm f8e10dc200 because these peeps do awesome code reviews 2016-11-16 16:39:35 -07:00
chrislovecnm 25ee1e4cdb adding weave support 2016-11-16 15:48:32 -07:00
Justin Santa Barbara b28701b70b Recognize kopeio-vxlan for use with private topologies 2016-11-16 14:20:27 -05:00
Justin Santa Barbara ee44353cde Add support for kopeio networking 2016-11-16 14:20:23 -05:00
Justin Santa Barbara ae84beddb7 Use more api machinery when writing 2016-11-13 22:11:36 -05:00
Justin Santa Barbara 933506bdbb Apply gofmt 2016-11-13 21:06:55 -05:00
Kris Childress b1febd9caf Stubbing out tests
- Fixing build errors
- Missed a privatemasters reference
- Fixing the nil pointer problem in SG awstask
2016-11-08 15:16:41 -08:00
Kris Childress c1644cc4e7 Remove refs to `privatemasters` 2016-11-08 15:16:41 -08:00
Kris Childress 5b81b86265 Documentation and CNI requirements
- Fixing topology.md (linting after review)
- Adding error message for a neglected --networking cni on private topologies
- Adding troubleshooting to documentation
2016-11-08 15:16:41 -08:00
Kris Childress 712882f080 K8s API
- Fixing Kubernetes API forwarding in the ELB
 - Fixing DNS for kubectul
 - Fixing Suggestions: output for bastion
2016-11-08 15:16:41 -08:00
Kris Childress e962f9c5fd Adding bastion support 2016-11-08 15:16:41 -08:00
Kris Childress 9bd9e30bdd Adding another large commit after a make codegen 2016-11-08 15:16:41 -08:00
Kris Childress a1c5c77b23 docs 2016-11-08 15:16:41 -08:00
Kris Childress 8fba14b85b Small refactor - getting ready to start YAML 2016-11-08 15:16:41 -08:00
Kris Childress 000e847af2 Topology Initial Commit
- Refactor private networking -> topology
- Define new topology models (no changes yet)
- Docs
- Create cluster --topology and -t
- New functions for topology templating
2016-11-08 15:16:41 -08:00
Billy Shambrook 7472349b86 Stop cobra adding a autogenerated comment when creating docs.
This is to avoid spamming pull requests.
2016-11-08 11:56:50 +00:00
Billy Shambrook 13919b066a add example to cli help for completion command. 2016-11-08 11:52:03 +00:00
Billy Shambrook ea689f8ca9 add completion cli command. 2016-11-05 18:41:57 +00:00
Billy Shambrook 8e979ca434 add genhelpdocs cmd to generate cli markdown docs 2016-11-05 18:41:47 +00:00
Justin Santa Barbara c8fe442c86 Fix some ineffective assign warnings from go-report-card 2016-11-05 01:52:12 -04:00
Chris Love 6cbe5b41c4 Merge pull request #804 from justinsb/canonical_import_paths
Add canonical import paths
2016-11-04 00:36:17 -06:00
Justin Santa Barbara 0c0a49d7f1 Better error message when KOPS_STATE_STORE not set
Issue #615
2016-11-04 01:01:42 -04:00
Justin Santa Barbara e4423050c5 Add canonical import paths
Should warn if not using the vanity alias (k8s.io/kops) for an import.
2016-11-03 23:46:27 -04:00
Chris Love 1f7976dac0 Merge pull request #714 from justinsb/kops_create
Initial support for creating cluster & instance groups via kops create -f
2016-10-24 08:05:42 -06:00
Justin Santa Barbara 97ce052fb1 Initial support for creating cluster & instance groups via kops create -f 2016-10-21 13:45:34 -04:00
chrislovecnm 6e3bece0d0 adding model and options to handle cni networking 2016-10-19 09:20:36 -06:00
Justin Santa Barbara d832522b61 Fix flag description on dns-zone
Fix #674
2016-10-17 23:00:26 -04:00
Chris Love 6ceeb25d10 Merge pull request #654 from justinsb/govet_fixes
govet fixes; add govet makefile target
2016-10-15 21:00:36 -06:00
Justin Santa Barbara d3f69496e4 Merge pull request #649 from DualSpark/testing-improvements
Fixing code headers
2016-10-15 21:34:58 -04:00
chrislovecnm 8fa2aac99f fixing more headers 2016-10-15 19:20:56 -06:00
Justin Santa Barbara b614cbd130 Fix `kops get clusters` to support filtering by name
We were using it in the upgrade docs, but it wasn't actually
implemented.
2016-10-15 13:26:17 -04:00
Justin Santa Barbara 3f54852497 govet fixes; add govet makefile target 2016-10-15 13:25:31 -04: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 d965f14e4b Add apply to example 2016-10-07 02:27:41 -04:00
Justin Santa Barbara 767c9a6416 Fix tests; don't hit s3 until we need to 2016-10-07 01:38:44 -04:00
Justin Santa Barbara afa8682dac Default ApplyClusterCmd to all the instance groups
Simpler, and ensures "one code path"
2016-10-07 01:13:26 -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
Justin Santa Barbara ec806b6365 `kops edit ig` shouldn't ready full cluster spec
It can generate it instead, which helps if there has been a schema
change.
2016-10-01 20:03:58 -04:00
Justin Santa Barbara 90a075f50e Refactor Channel FindImage
Also fixes an issue where `kops upgrade` can't find the latest image in
the manifest.
2016-10-01 15:46:07 -04:00
Justin Santa Barbara 655a61588e Switch all the final switches for release 1.4
Also apply the 1.4 schema changes.
2016-10-01 13:50:19 -04:00
Justin Santa Barbara 647618b755 Store channel in cluster, use it to determine version 2016-10-01 00:04:09 -04:00
Justin Santa Barbara a5cacebd99 Change rolling-update heuristics to be less aggressive 2016-09-30 23:42:47 -04:00
Sami Makki 3470020024 Remove unused import which breaks make 2016-09-27 13:30:28 +02:00
Justin Santa Barbara 9ca45c160a channels: default to localhost if cluster config not found 2016-09-27 02:01:19 -04:00
Justin Santa Barbara 5f8d68ec85 Refactor shared packages into util directory 2016-09-25 18:27:09 -04:00
Justin Santa Barbara 4821204d4f Merge pull request #511 from justinsb/more_exit_with_error
Better error presentation: use exitWithError
2016-09-25 12:17:03 -04:00
Justin Santa Barbara f23b3f71e5 Format output a little bit better 2016-09-25 12:16:39 -04:00
Justin Santa Barbara 0521a09be2 Better error presentation: use exitWithError 2016-09-24 19:06:05 -04:00
Justin Santa Barbara b9d1c414a7 Clean up delete cluster messaging
Fix #393
2016-09-24 18:55:17 -04:00
Justin Santa Barbara 4e7b186120 If the API is down in a rolling-update, support --cloudonly
Otherwise it's possible to get "stuck" if the API is down
2016-09-24 13:45:02 -04:00
Justin Santa Barbara 6385bf647d Merge pull request #498 from justinsb/fix_486
Don't add terraform to --out
2016-09-24 11:35:58 -04:00
Justin Santa Barbara addaf5e4b4 Don't add terraform to --out
Fix #486
2016-09-24 11:25:39 -04:00
Justin Santa Barbara 05c799761f First step towards rolling update
Start querying nodes in k8s also

Unclear whether we want to use two ASGs for greater control at the
moment.
2016-09-24 11:19:17 -04:00
Justin Santa Barbara 59cf7a198b Fix help text for `kops edit`
Fixes #405
2016-09-17 23:19:49 -04:00
Justin Santa Barbara 4e26a95e9f Merge pull request #458 from justinsb/always_logtostderr
Always set logtostderr
2016-09-17 15:05:05 -04:00
Justin Santa Barbara d2ab4f562f Always set logtostderr
Previously we were relying on k8s to do it for us
2016-09-17 15:04:06 -04:00
Justin Santa Barbara 269662e590 Merge pull request #445 from justinsb/postitional_arguments_upgrade_cluster
Support positional args in upgrade cluster
2016-09-17 15:03:08 -04:00
Justin Santa Barbara 67924c09de Don't reorder source list when rendering table 2016-09-17 14:55:35 -04:00
Justin Santa Barbara cff1efff19 Support positional args in upgrade cluster
In particular, the cluster name
2016-09-13 13:36:09 -04:00
Justin Santa Barbara 6d139d06d1 Support labels on k8s nodes and AWS instances
A lot of supporting work was needed, including improvements to the model
and model generation logic.
2016-09-13 12:47:16 -04:00
Justin Santa Barbara 66731fb03a Populate instance groups for apply cluster
We likely want to move PopulateInstanceGroupSpec into the schema, but we
always want to "upgrade"/"convert" the spec whenever we load it.
2016-09-09 10:26:34 -04:00
Justin Santa Barbara ebf84d33d6 Merge pull request #273 from moleksyuk/master
Add no-public-ip option to instance groups
2016-09-08 11:45:43 -04:00
Justin Santa Barbara 0b4a558864 Merge pull request #414 from justinsb/ubuntu_initial_support
Initial (experimental) Ubuntu 16.04 support
2016-09-08 10:21:24 -04:00
Justin Santa Barbara 62d5451b25 Initial (experimental) Ubuntu 16.04 support 2016-09-08 10:20:42 -04:00
Justin Santa Barbara dff14fe283 Change default networking model to kubenet
Fix #400
2016-09-08 00:54:26 -04:00
Justin Santa Barbara ef1f64f308 Start cleaning up API: optional fields should be pointers 2016-09-08 00:49:40 -04:00
Justin Santa Barbara a51effbbdd Merge pull request #401 from justinsb/move_cloudprovider_not_set_message
Misc error handling tidying
2016-09-08 00:14:48 -04:00
Justin Santa Barbara d3ab070b0d Use go-bindata to embed our models
This allows us to have single-file deployment
2016-09-07 11:56:03 -04:00
Justin Santa Barbara bf99d6b381 Prefer exitWithError to os.Exit 2016-09-06 10:22:58 -04:00
Justin Santa Barbara e1a4d6e609 Move CloudProvider not set error message 2016-09-06 10:21:35 -04:00
Mykhailo Oleksiuk ea532e3566 Rename --no-associate-public-ip to --associate-public-ip 2016-09-01 18:54:25 +03:00
Mykhailo Oleksiuk aa6693a6ed megre from upstream 2016-09-01 13:23:50 +03:00
Justin Santa Barbara ef7dddf2af Style nits for makefile 2016-08-27 15:18:05 -04:00
Justin Santa Barbara 9d7a7fc6e8 Merge pull request #349 from justinsb/govet_fixes
govet fixes
2016-08-26 02:16:12 -04:00
Justin Santa Barbara dc63e307df Allow pluggable networking: classic, kubenet, external 2016-08-22 12:32:15 -04:00
Justin Santa Barbara 637a10be12 govet fixes 2016-08-20 01:09:19 -04:00
Justin Santa Barbara 146b810048 Remove unused field in UpgradeClusterCmd 2016-08-18 23:46:49 -04:00
Justin Santa Barbara bef7faff69 Merge pull request #325 from justinsb/fix_284
Add force command to rolling-update
2016-08-16 12:55:24 -04:00
Justin Santa Barbara 564a8c6927 Merge pull request #324 from justinsb/docs_aug16a
Document cleaned up upgrade command
2016-08-16 12:54:27 -04:00
Justin Santa Barbara 4545352c00 Don't rolling-update all masters at once
Also add force command to rolling-update, for testing sanity.

Fix #284
2016-08-16 12:53:37 -04:00
Justin Santa Barbara f3bd394008 Document cleaned up upgrade command
Issue #239
2016-08-16 10:27:37 -04:00
Justin Santa Barbara fe27d8bb61 Warn if KOPS_STATE_STORE is not an S3 bucket
Issue #91
2016-08-16 10:16:32 -04:00
Justin Santa Barbara 08114a3a68 Add top-level retry to nodeup 2016-08-16 09:54:43 -04:00
Justin Santa Barbara 5d8c170360 Rename old upgrade command; make new upgrade intuitive
The old upgrade command (which was only called as part of a kube-up ->
kops upgrade) is now `kops toolbox convert-imported`.  The docs are
updated, but this is only normally called once per import so this should
not be high impact.

The upgrade command now looks for things that need upgrading.  Currently
only `upgrade cluster` is implemented; it currently only checks the
KubernetesVersion.  If KubernetesVersion is out of date, it will be
printed, and if --yes is specified the cluster spec will be set to the
next value.
2016-08-16 09:28:36 -04:00
Justin Santa Barbara 069550fc52 Fix message when no name passed to delete cluster 2016-08-15 00:41:39 -04:00
Justin Santa Barbara 5fb39913cc If no changes are needed in an update, don't print a confusing message
Fix #208
2016-08-14 23:40:18 -04:00
Justin Santa Barbara 62fc3cfd69 Merge pull request #302 from justinsb/hints_on_update
Provide hints after update cluster
2016-08-14 22:21:51 -04:00
Justin Santa Barbara e778c792fe Provide hints after update cluster
This should make kops more discoverable

Issue #166

Issue #263
2016-08-14 22:19:52 -04:00
Justin Santa Barbara 7cde6890a4 Export admin password in kubecfg
This is where users expects to find it, because it is how kube-up does
it.

Issue #166
2016-08-14 22:18:58 -04:00
Justin Santa Barbara 7699dc8fd2 Merge pull request #294 from justinsb/use_ssh_key
SSH key improvements
2016-08-11 22:28:41 -04:00
Justin Santa Barbara 219c6e4308 Use the SSH key from the secret store
It is an error if there is not exactly one, but we have commands to
manage it now.
2016-08-11 12:00:46 -04:00
Justin Santa Barbara 8fb4215e17 Run CI versions of k8s
CI versions are not pushed to gcr.io, so we need to preload the images
by downloading them and doing a docker load.
2016-08-11 01:32:42 -04:00
Mykhailo Oleksiuk fad3d3a4f4 move --no-associate-public-ip to instance group 2016-08-06 14:46:46 +03:00
Mykhailo Oleksiuk 0c96f5dd1d add parameter --no-public-ip 2016-08-05 17:21:15 +03:00
Mykhailo Oleksiuk 911092e419 rename parameter --disable-associate-public-ip to --no-public-ip 2016-08-05 17:08:25 +03:00
Mykhailo Oleksiuk a264bee96f add parameter --disable-associate-public-ip 2016-08-05 17:00:14 +03:00
Mykhailo Oleksiuk d3228dfec0 add parameter --disable-associate-public-ip 2016-08-05 12:57:33 +03:00
Mykhailo Oleksiuk bc26eecf49 Merge remote-tracking branch 'upstream/master' 2016-08-05 12:08:56 +03:00
Justin Santa Barbara de0482a411 More consistency in publickey CLI
Also docs skeleton
2016-08-05 01:23:13 -04:00
Justin Santa Barbara 05c724f780 Support for deleting secrets 2016-08-05 00:58:11 -04:00
Justin Santa Barbara 9c4955095c Allow creation of SSH public keys 2016-08-05 00:45:28 -04:00
Justin Santa Barbara 2b9cc89257 Add --full arg to kops get cluster 2016-08-05 00:44:23 -04:00
Justin Santa Barbara e94d10166b Stub of 'create secret' command 2016-08-05 00:07:39 -04:00
Justin Santa Barbara abf456339d Add describe secrets command 2016-08-04 22:53:43 -04:00
Justin Santa Barbara 5585af595b Support reading the plaintext value of a secret 2016-08-04 22:33:13 -04:00
Justin Santa Barbara af841d50c0 Create more consistent secret CLI 2016-08-04 22:18:29 -04:00
Justin Santa Barbara 4afec66da4 Merge pull request #270 from justinsb/get_one_cluster
Expose full spec, by `kops get cluster -oyaml`
2016-08-04 22:03:47 -04:00
Justin Santa Barbara b3a4b6e08f Expose full spec, by `kops get cluster -oyaml`
Also for instance groups.

Hat-tip to @zmerlynn for the suggestion.
2016-08-04 21:37:17 -04:00
Justin Santa Barbara 64b2f9d387 Introduce some padding into text grid output
Otherwise we were not leaving a gap when columns were 8n characters
wide.
2016-08-04 21:12:30 -04:00
Mykhailo Oleksiuk 7984bfcb62 add parameter --disable-associate-public-ip 2016-08-04 18:34:18 +03:00
Mykhailo Oleksiuk ec122d54a6 add parameter --no-associate-public-ip 2016-08-04 18:17:40 +03:00
Mykhailo Oleksiuk a860fdbdfd add parameter --no-associate-public-ip 2016-08-04 17:19:20 +03:00
Justin Santa Barbara e754c3b86a Merge pull request #258 from justinsb/fix_134
Suggest `kops get` for `kops list`
2016-08-03 01:28:29 -04:00
Justin Santa Barbara 7660cd2ccf Suggest `kops get` for `kops list`
Fix #134
2016-08-03 01:25:14 -04:00
Justin Santa Barbara a9c4062cce Make it clearer when we use the cluster from kubecfg
Fix #164
2016-08-03 00:58:22 -04:00
Justin Santa Barbara 928fd6161d Remove addons command
Encourage users to use kubectl instead
2016-08-03 00:42:42 -04:00
Justin Santa Barbara 39a3d71def Revert "Import SSH public key into the keystore"
This reverts commit bd3ab166b7.
2016-07-29 13:06:37 -04:00
Justin Santa Barbara cf1529e9df Revert "Add `kops get secrets` command"
This reverts commit 19e19a0f09.
2016-07-29 13:06:26 -04:00
Justin Santa Barbara 19e19a0f09 Add `kops get secrets` command
Matches our naming pattern, and now using our text grid output
2016-07-29 01:12:03 -04:00
Justin Santa Barbara bd3ab166b7 Import SSH public key into the keystore
This means it only needs to be specified during `kops create`.  We
remove the option from `kops update` for consistency.

This will shortly be manageable using the secrets functionality.

Fix #221
2016-07-29 00:45:37 -04:00
Justin Santa Barbara e3e58f605e support multiple zones in `kops import`
Seems to be less special-cased also.

Fix #216
2016-07-27 11:03:22 -04:00
Justin Santa Barbara 2a43565e30 Fix typo: istance -> instance 2016-07-26 19:05:26 -04:00
Justin Santa Barbara 1240e1d924 Fix bug where edit cluster was computing with the old spec
Also add some tests, and fix some variable naming to hopefully stop it
happening again.

Fix #194
2016-07-22 18:19:40 -04:00
Justin Santa Barbara 9e9855d1a4 Simpler upgrade procedure: reuse subnet
By reusing the subnet & security groups, we are able to skip the ELB
steps of the upgrade procedure.  The new cluster also has the same
identity as the old cluster for security groups, so we don't need to
reconfigure ELB etc.

Fixes #175
Fixes #174
2016-07-22 11:47:12 -04:00
Justin Santa Barbara 42d8a61d7c Fix build problem 2016-07-22 10:23:43 -04:00
Justin Santa Barbara 31892fb08d Refactor tests for cleaner separation 2016-07-22 10:19:01 -04:00
Justin Santa Barbara 6f7284ed3d Add update command to update parent command 2016-07-22 01:12:22 -04:00
Justin Santa Barbara ed734bb354 Fix typo in CreateInstanceGroupCmd 2016-07-21 22:17:00 -04:00
Justin Santa Barbara 2fa3bcc952 UX: Split create command into `create` and `update`
We separate out the `create cluster` operation from the `update cluster`
operation.  Now create cluster only creates the spec (unless you pass
--yes), and is only for new clusters.

`update cluster` works on new or existing clusters, and should be called
to apply changes.

`update` is not the best name, because it means something different in
kubectl, but I think it's a good start.
2016-07-21 11:54:09 -04:00
Justin Santa Barbara 5e4b060edd Support positional arguments for kops export kubecfg 2016-07-21 01:29:09 -04:00
Justin Santa Barbara 46fe8bd0f3 kops delete cluster now recognizes clustername as a positional arg 2016-07-20 21:27:56 -04:00
Justin Santa Barbara 47ef67a71d Merge pull request #147 from justinsb/fix_69
Clearer error message when importing a cluster with a custom subnet
2016-07-14 11:05:33 -04:00
Justin Santa Barbara 7c1177cc82 Clearer error message when importing a cluster with a custom subnet
We can at least give the user better instructions on how to proceed.
Because this is not in general safe though, I'm not sure we want to
gloss over this.

Issue #69
2016-07-14 10:38:32 -04:00
Justin Santa Barbara 302f23463e Configuration of admin access to ports 22 and master-443
Fix #143
2016-07-14 10:33:26 -04:00
Justin Santa Barbara 1102e7818d Perform as much validation as possible before writing a cluster config
This prevents us getting into a situation where an invalid cluster is
saved, and then cannot be deleted.
2016-07-14 09:54:21 -04:00
Justin Santa Barbara 4b3b0ab59a Don't export kubecfg if we're only doing a --dryrun
We don't have all the keys/certs yet!

Fix #136
2016-07-13 11:09:43 -04:00
Justin Santa Barbara df56204479 Export kubecfg after as create cluster by default
It is scoped to a particular context, so seems harmless, and users will
(almost?) always do it after creation.

Fix #129
2016-07-12 23:02:43 -04:00
Justin Santa Barbara d77d6f4859 Add version command that prints compiled version
Fix #128
2016-07-12 22:30:12 -04:00
Justin Santa Barbara 0aed68c260 Add support for deleting an InstanceGroup 2016-07-11 00:08:55 -04:00
Justin Santa Barbara c4f2fbfcaf Tweaks to rolling-update CLI 2016-07-11 00:08:21 -04:00
Justin Santa Barbara 1d59f2aa80 Replace StateStore with a registry
StateStore was highly orientated towards a VFS system; replace it with a
Registry abstraction that is more object based.

We also rationalize much of the CLI (cmd) command logic also.
2016-07-11 00:07:59 -04:00
Justin Santa Barbara d705a1001c Clean up IAM roles
We match by name; this seems acceptable given that we make the cluster
name a FQDN.

Issue #97
2016-07-09 15:33:57 -04:00
Justin Santa Barbara 952e74714f Sort table output
Currently sort order is locked to table order, but this could be changed
if needed.

Fix #80
2016-07-09 14:49:54 -04:00
Justin Santa Barbara e28c770c18 Move delete output to table helper 2016-07-09 13:57:02 -04:00
Justin Santa Barbara 555c637d93 Merge pull request #94 from justinsb/fix_66
Support `kops get/edit instancegroup`
2016-07-09 13:50:04 -04:00
Justin Santa Barbara 992a3e7d7f Support `kops get/edit instancegroup`
This lets us start to manage instancegroups through the CLI

Issue #66
2016-07-08 01:21:15 -04:00
Justin Santa Barbara 29dbbe3af3 When exposing secrets, output a blank line afterwards
Otherwise it becomes hard to copy and paste
2016-07-07 11:52:52 -04:00
Justin Santa Barbara fa3157e512 Merge pull request #54 from justinsb/fix_tests
Update & get tests working again
2016-07-06 03:06:59 -04:00
Justin Santa Barbara d8e8cd80ab Fix formatting in error message
Issue #43 (not a fix though, just something observed in that issue)
2016-07-06 00:45:32 -04:00
Justin Santa Barbara c956bdada5 Update & get tests working again
They're still hitting the AWS APIs, have terrible coverage and are slow.
But it's a start!
2016-07-06 00:33:07 -04:00
Justin Santa Barbara 9c07670d26 Don't force HA master by default
Users can still get HA master by explicitly specifying a list of
`--master-zones`.

But HA master is not as well tested, is slower, needs more machines etc
and we probably shouldn't silently force it as the default.

Fix #33
2016-07-05 12:23:47 -04:00
Justin Santa Barbara 58fbef0572 Apply gofmt 2016-07-01 10:02:30 -04:00
Justin Santa Barbara d8b661777b Merge cloudup tool into `kops create cluster` 2016-06-30 10:25:50 -04: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