Commit Graph

3181 Commits (2f694e8fa1e5b965839c173881d2a406d8c5c030)

Author SHA1 Message Date
fabianofranz de14a6ff08 Fix typos 2015-02-02 14:25:00 -02:00
derekwaynecarr 4c33e36a88 Plumb restmapper properly through apiserver and tests 2015-02-02 10:26:19 -05:00
Brendan Burns 7e48b26ff5 Address comments, fix tests. 2015-01-30 20:51:40 -08:00
Satnam Singh a6fd7204b6 Merge pull request #3940 from jlowdermilk/fix-client-for-version
Fix client for version
2015-01-30 07:58:13 -08:00
Martin Nagy 364774e7b8 Add tests for the reworked update command 2015-01-30 16:05:20 +01:00
Martin Nagy b6ddd6548c Use new resource builder in kubectl update 2015-01-30 16:05:20 +01:00
Jeff Lowdermilk 93ef8b8bcb Make kubectl factory build clients for version
Fix ClientConfigForVersion to actually use provided version.
2015-01-29 17:04:14 -08:00
Tim Hockin d01ea11a6e Merge pull request #3856 from smarterclayton/validation_logic_needs_cleanup
Validation of ObjectMeta is inconsistently applied
2015-01-29 14:12:44 -08:00
Jeff Lowdermlk 6e98ce34ca Fix kubectl proxy
Port flag was being ignored. Fixed now.
2015-01-28 15:07:00 -08:00
Tim Hockin a480794efc Tighten validation of Name and Namespace 2015-01-27 17:04:59 -05:00
Brendan Burns 250b9ccd74 Address comments. Rebase. 2015-01-27 10:23:28 -08:00
Brendan Burns 09166f5252 Add a service generator and a command to easily expose services. 2015-01-27 10:06:08 -08:00
deads2k 05bc508a13 make all kubectl config set-* easier to use 2015-01-26 15:16:54 -05:00
Jeff Lowdermilk 201e99e0ee Add a kubectl stop command 2015-01-22 09:46:53 -08:00
Filipe Brandenburger b1727b0330 Revert "Add a kubectl stop command" 2015-01-22 09:00:50 -08:00
Brian Grant a921086507 Merge pull request #3662 from jlowdermilk/kubectl-stop
Add a kubectl stop command
2015-01-22 06:58:29 -08:00
Tim Hockin 7dd0400065 Merge pull request #3470 from deads2k/deads-add-kubecfg-ns
respect namespace from .kubeconfig file
2015-01-21 12:58:06 -08:00
Clayton Coleman 3c15427b2d Merge pull request #3647 from deads2k/deads-make-factory-flag-binding-optional
make kubectl factory flag binding optional
2015-01-21 15:23:37 -05:00
Jeff Lowdermilk b1aa037990 Add a kubectl stop command 2015-01-20 19:01:32 -08:00
deads2k 500bb3a7fa make kubectl factory flag binding optional 2015-01-20 18:12:24 -05:00
deads2k 8c01729f38 make shorthand flags optional 2015-01-20 16:21:27 -05:00
deads2k dd01137138 add namespace to kubeconfig file 2015-01-20 16:07:54 -05:00
Andrew Seidl 6dee1d7fa4 Fix typos in user-facing strings 2015-01-18 01:32:34 -06:00
bgrant0607 52cd620da8 Merge pull request #3537 from brendandburns/cli
Add inline JSON patching to kubectl update ...
2015-01-15 17:08:51 -08:00
Brendan Burns 3572ed1828 Addressed comments. 2015-01-15 16:08:12 -08:00
Brendan Burns ae88521739 Add inline patching to kubectl update. 2015-01-15 16:08:12 -08:00
Brendan Burns e8489264cf Addressed comments. 2015-01-15 16:07:56 -08:00
Jeff Lowdermlk f7b0a92932 Fail rollingupdate if replacement rc schema has same name as existing 2015-01-15 15:52:53 -08:00
Brendan Burns 4209bd4888 Add add a utility for merging JSON fragments, and use it in run-container. 2015-01-15 14:44:26 -08:00
bgrant0607 fc24ca7044 Merge pull request #3524 from jlowdermilk/fix-cmd-printing
Fix nil dereference in kubectl run-container
2015-01-15 13:44:26 -08:00
Jeff Lowdermlk e6e6092904 Fix nil dereference in kubectl run-container 2015-01-15 11:39:50 -08:00
Joe Beda 224ffa4567 Merge pull request #3480 from jbeda/all_pflag
Convert all main binaries to pflag library
2015-01-15 11:26:41 -08:00
Joe Beda 1d0b6ee5f5 Fix up logging flags for kubectl. 2015-01-15 09:12:20 -08:00
Anthony Yeh 5090dcbc62 Fix example usage of kubectl resize command. 2015-01-14 23:39:23 -08:00
Brendan Burns d3a07adb38 Add a resize command to kubectl. 2015-01-14 21:36:08 -08:00
Joe Beda ddcd2e1d2b Merge pull request #3463 from jlowdermilk/gendocs
Autogenerate markdown docs for kubectl
2015-01-14 13:32:38 -08:00
Jeff Lowdermlk 250c948ae7 Autogenerate markdown docs for kubectl
Add test to verify generated docs are up to date.
2015-01-14 13:21:14 -08:00
Daniel Smith 36320f02fb Merge pull request #3471 from brendandburns/shell
Add tests for run command and generate.
2015-01-14 12:39:41 -08:00
bgrant0607 6459b1a1f3 Merge pull request #3468 from smarterclayton/better_log_on_empty_delete
Write to STDERR when Delete contains no resources
2015-01-14 11:46:55 -08:00
Clayton Coleman da2b03d8d8 Write to STDERR when Delete contains no resources
Also test that this occurs
2015-01-14 14:10:15 -05:00
Zach Loafman e14d5f3416 Merge pull request #3464 from smarterclayton/fix_invalid_json_in_services.sh
Fix e2e invalid JSON, ensure CLI communicates invalid JSON errors effectively
2015-01-14 10:26:34 -08:00
Clayton Coleman ccdc20d90c Ignore empty objects from streams and error when nothing passed to create
Passing zero objects to create should be an error
2015-01-14 13:12:33 -05:00
Brendan Burns de886591b5 Add tests for run command and generate. 2015-01-14 07:12:32 -08:00
Brendan Burns 1ce6c27f3d Add an initial run command 2015-01-13 20:00:29 -08:00
Clayton Coleman 30743b8195 The get command should properly handle users providing invalid apiversions
Add more guards against bad behavior.  A follow up commit will ensure that
when the flags for api-version are specified, they default to the correct
values that client.SetKubernetesDefaults would use.
2015-01-13 18:51:55 -05:00
Clayton Coleman 87970bc356 Use the new client.SetKubernetesDefaults methods to properly default config object 2015-01-13 18:50:36 -05:00
bgrant0607 662a72d476 Merge pull request #3198 from smarterclayton/allow_delete_to_span_resources
Allow delete to work from directories and multiple sources
2015-01-13 14:41:24 -08:00
deads2k b51a717f6e add kubectl config 2015-01-13 16:19:57 -05:00
Clayton Coleman a3ff55e478 Allow delete to work from directories, files, multiple resources
Simple refactoring reusing the resource builder changes.
2015-01-09 13:31:24 -05:00
Clayton Coleman bc86b31a8b Remove createall now that create supports directories and sources 2015-01-09 13:30:31 -05:00
Clayton Coleman d1ab27762b Create should be able to accept multiple resources 2015-01-09 13:30:31 -05:00
Clayton Coleman 2151afe334 Allow kubectl get to fetch multiple resource types
Like Delete, which can now run over multiple types:

    kubectl delete pods,services -l name=foo

Get should be able to span items for label selection

    kubectl get pods,services -l name=foo
2015-01-09 13:30:14 -05:00
Clayton Coleman 8a4f225941 Make expandResourceShortcuts part of RESTMapper on client 2015-01-09 11:59:11 -05:00
Clayton Coleman a1ee782df5 Use resource package, delete older code 2015-01-09 11:59:11 -05:00
Clayton Coleman d75a3d5021 Move Resource functionality to its own package
Create a unified Builder object for working with files, selectors,
types, and items that makes it easier to get multi-object functionality.

Supports all of the behaviors previously in resource.go, but with
additional flexibility to allow multi-type retrieval and access, directories,
URLs, nested objects, and lists.
2015-01-09 11:59:06 -05:00
Joe Beda 7abd90e9df Generic way to import 'flag' flags into the 'pflag' system.
Start with kubectl but with an eye toward switching everything over to pflag.
2015-01-08 15:25:31 -08:00
Jeff Lowdermilk b26dfacfff Merge pull request #3316 from deads2k/deads-add-kubeconfig-file-properly
add kubeconfig file properly
2015-01-08 13:50:52 -08:00
deads2k 60a46e7d49 fixes e2e failure on gce with new .kubeconfig, kick travis 2015-01-08 16:31:25 -05:00
Clayton Coleman 8f65442c2f Client should not include ns/ for non-namespaced calls in v1beta3 2015-01-08 12:44:07 -05:00
deads2k 480635bb72 Revert "Revert "add kubeconfig types""
This reverts commit 02dbad7094.
2015-01-08 09:42:30 -05:00
Brendan Burns 5963c1735e Merge pull request #3283 from GoogleCloudPlatform/revert-3273-fix_master_conflict
Revert "Fix inflight merge conflict by adapting rollingupdate to #2861"
2015-01-07 12:43:26 -08:00
Brendan Burns cfffe7049c Revert "Fix inflight merge conflict by adapting rollingupdate to #2861" 2015-01-07 12:42:28 -08:00
Brendan Burns 02dbad7094 Revert "add kubeconfig types" 2015-01-07 12:39:37 -08:00
Clayton Coleman e0f0b9c588 Fix inflight merge conflict by adapting rollingupdate to #2861
ClientConfig changed right as rollingupdate was introduced.
2015-01-07 13:51:43 -05:00
Clayton Coleman 585d2c8cbd Merge pull request #2861 from deads2k/deads-add-clicfg-types
add kubeconfig types
2015-01-07 13:35:50 -05:00
deads2k 0e688dc271 add kubeconfig file 2015-01-07 13:09:10 -05:00
Jeff Lowdermlk 0ab39df66b Add a rollingupdate lib and command to kubectl
Also decouple conditions from client for testability.
2015-01-06 17:29:05 -08:00
Clayton Coleman e355f54eda Update references from Path() to the appropriate segment use 2014-12-29 15:38:52 -05:00
Clayton Coleman 203246b7e0 Allow the api-version on the command to override the client builder 2014-12-22 14:52:03 -05:00
Clayton Coleman 158f322301 Use preferred resource version 2014-12-22 14:46:31 -05:00
Clayton Coleman 8bef68d475 RESTMapper should take into account multiple versions
When a CLI command `kubectl get rc --api-version=v1beta3` is called,
the API resource name should match v1beta3, not whatever the default
RESTMapper version is.  This allows the correct resource name to be
returned ("replicationcontrollers", instead of "replicationControllers").
2014-12-22 14:46:31 -05:00
Salvatore Dario MINONNE 61ac2f7437 kubectl delete command: adding labelSelector
Add a Visitor pattern on top of ResourcesFromArgs

Allows ResourcesFromArgs to return an opaque list of items and have client
commands react to them.

Change request.go to return apiserver errors for arbitrary status codes to
better respond to generic actions that don't make sense (kubectl delete operations foo)
2014-12-17 18:15:03 +00:00
Joe Beda 93ed9173e3 Merge pull request #2781 from commonlisp/master
simplify util.ErrorList by eliminating errorListInternal
2014-12-16 15:43:55 -08:00
jhadvig 019ca75fc6 Streaming container logs 2014-12-15 12:12:11 +01:00
George Kuan 5e1fc1f4e0 Fixes #1605: make ErrorList introspectable by replacing ErrorList and
ErrorList#ToError with []error and util.SliceToError() respectively
2014-12-12 10:56:31 -08:00
Dylan Carney ba5c18816e Updates kubectl log cmd per PR feedback 2014-12-11 17:44:44 -08:00
Dylan Carney 3f88f27d7b Modifies kubectl log cmd to not require container arg for single-container pods (for #2847) 2014-12-11 12:32:18 -08:00
Brendan Burns 18cfac0d31 Make validation optional, handle YAML 2014-12-09 12:37:49 -08:00
Brendan Burns c29f5db81c Revert "Revert "Add optional validation to kubecfg/kubectl.""
This reverts commit 6590c66dd4.
2014-12-09 12:37:48 -08:00
Clayton Coleman ff173d013a Merge pull request #2682 from mfojtik/cmd_public
Export kubectl/cmd methods
2014-12-03 08:52:04 -06:00
Michal Fojtik 17e24aed47 Export GetKubeNamespace function from kubectl 2014-12-03 13:15:48 +01:00
Sam Ghods 9a9a1e0939 Move from go-yaml/yaml to ghodss/yaml 2014-12-02 16:24:05 -08:00
Eric Tune 7eceafa656 Merge pull request #2437 from deads2k/deads-add-utility-to-bind-auth-flags
add utility for binding flags and building api server clients
2014-11-26 15:15:14 -08:00
Eric Tune 585afa1bae Merge pull request #2610 from ddysher/node-namespace
Fix node namespace.
2014-11-26 13:02:21 -08:00
deads2k 2dbfb80349 add utility for binding flags and building api server clients 2014-11-26 07:50:51 -05:00
Joe Beda 6590c66dd4 Revert "Add optional validation to kubecfg/kubectl."
This reverts commit acf6d82800.
2014-11-25 14:45:00 -08:00
Eric Tune 636ffed399 Merge pull request #2515 from thockin/why
Add details on Invalid validation errors
2014-11-25 14:04:27 -08:00
Deyuan Deng c8c7a13ac6 Fix node namespace. 2014-11-25 16:30:55 -05:00
Clayton Coleman a67912f937 Merge pull request #2517 from brendandburns/kubecfg
Add client side validation to kubecfg and kubectl.
2014-11-25 13:46:52 -06:00
derekwaynecarr f41a44278d Log function use namespace 2014-11-25 13:10:32 -05:00
Brendan Burns acf6d82800 Add optional validation to kubecfg/kubectl. 2014-11-24 22:25:22 -08:00
Tim Hockin ff8c5f9415 Add a Detail field to Validation Error 2014-11-24 17:28:42 -08:00
Mike Danese 39bdee387e kubectl get format is specified with -o, not -f 2014-11-21 17:55:48 -08:00
Tim Hockin ea960711ff Clean up error logs.
Use %v for errors, tidy some messages, make error messages start lowe-case
(as per go guidelines).  Just accumulated nits.
2014-11-21 09:45:26 +08:00
Haney Maxwell bc29903146 Improve kubectl "get" error message
Previous behavior:
$ kubectl get hosts
F1119 11:47:44.787154   29017 resource.go:111] no resource "hosts" has been defined
2014-11-19 14:33:41 -08:00
Daniel Smith 298007b97e Merge pull request #2447 from smarterclayton/revert_bundling_of_version
Ensure that kubectl get works with downstream resources
2014-11-19 10:39:52 -08:00
Clayton Coleman 487e5cd061 Make GetPrinter take the necessary conversion arguments
This fully encapsulates decisions about conversion within GetPrinter,
which prevents users from accidentally not converting.
2014-11-18 21:14:39 -05:00
markturansky 8af4ccb111 v1beta3 Pod refactor 2014-11-18 09:25:42 -05:00
Brendan Burns f05c4a69e8 Merge pull request #2326 from marianitadn/read-json-directories-as-object-streams
Add directory as option for createall command
2014-11-17 09:50:57 -08:00
Eric Tune 0727219c83 New package defines .kubernetes_auth format.
Refactored common code to that package.
Subsequent PRs will load and emit these files.
2014-11-14 10:36:25 -08:00
Daniel Smith 7df0f6d3bd Merge pull request #2343 from erictune/tokens_need_private_comms
Use https when Insecure is selected.
2014-11-14 09:51:59 -08:00
Eric Tune 5c24855349 Rename Secure -> TLS; we may use TLS insecurely. 2014-11-13 21:42:36 -08:00
Daniel Smith 01048540bf add --watch-only to kubectl, if you only want new messages 2014-11-13 17:02:36 -08:00
Daniel Smith 72c922668f Improve error reporting 2014-11-12 15:22:09 -08:00
Maria Nita 874ce5d799 Add directory as option for createall command 2014-11-12 23:52:16 +01:00
Daniel Smith 02a0593df0 Add --watch to get command 2014-11-12 13:44:39 -08:00
Eric Tune cf21f97cd2 Merge pull request #2309 from lavalamp/fix3
Refactors of kubectl object printers.
2014-11-11 16:39:04 -08:00
Daniel Smith a198a62064 refactor resource printer's version handling (to make adding --watch feature easier) 2014-11-11 16:15:22 -08:00
Clayton Coleman 9fb58029fe Merge pull request #2287 from marianitadn/kubectl-create-factory
Kubectl create factory
2014-11-11 12:57:22 -05:00
Maria Nita 2295d4b2e9 kubectl createall command extends Factory 2014-11-11 17:23:39 +01:00
Michal Fojtik 0c76c44972 Make getKubeConfig public to allow it for external consumption 2014-11-11 16:02:39 +01:00
fabianofranz c43637b73c Extract several kubectl helpers from cmd/cmd.go 2014-11-10 15:09:32 -02:00
Daniel Smith 0b924ed9d9 Add events to kubectl (still need search function) 2014-11-05 13:59:32 -08:00
Clayton Coleman 192541824f Check namespace on create of objects like update
A user should be allowed to create an object in a non-default namespace
if non is specified in the passed file.
2014-11-04 13:59:23 -05:00
Clayton Coleman 76648ffafb Like update, allow CLI create to clear resourceVersion 2014-11-04 10:44:56 -05:00
Clayton Coleman dbf28cbe51 Lock the output format version based on user input 2014-11-04 10:44:56 -05:00
Clayton Coleman a8ccb0f99f Display an external version of the object for --output
Use the version of the API the RESTMapper prefers (currently)
2014-11-04 10:44:56 -05:00
Clayton Coleman 70aa9cc62c Add --template and --templatefile options for more flexibility
Allow directly entered templates for scripting flexibility.
Changes --output=template to mean "string" and --output=templatefile
to mean "from file"
2014-11-04 10:44:56 -05:00
Clayton Coleman e46adc4cd0 kubectl should error when namespace doesn't match file for update
A user who runs `kubectl update -f foo.json` where foo.json is a
resource in a namespace that does not match $(kubectl namespace)
may not intend to update the resource in that other namespace.

For now, return an error when the user does not explicitly set
the namespace via the CLI:

    # foo.json in 'one', current is 'two'
    $ kubectl update -f foo.json # FAILS

    $ kubectl update --namespace=one -f foo.json # SUCCEEDS
2014-11-04 10:44:56 -05:00
Clayton Coleman 09cfa364c5 Refactor Get and Describe to allow extension of types
Get should use ResourceMapper, allow Printer to be abstracted,
and extract Describe as *Describer types.
2014-11-04 10:44:56 -05:00
Clayton Coleman 39882a3555 Allow Create/Update/Delete kubectl commands to handle arbitrary objects
* Ensure kubectl uses abstractions from other parts of Kube
* Begin adding abstractions that allow arbitrary objects
* Refactor "update" to more closely match allowed behavior
2014-11-04 10:44:56 -05:00
Michal Fojtik c8f88a3ae8 Add support for creating a bulk of resources via kubectl apply 2014-11-04 14:52:29 +01:00
Brendan Burns b0c5d3b022 Add support for a 'log' command to kubectl. 2014-11-02 19:54:19 -08:00
derekwaynecarr 5a7aced7b0 Kubectl namespace support
Add unit test for load namespace info
Different message on display of namespace versus setting namespace
2014-10-30 11:05:30 -04:00
Daniel Smith 6ef6ff5bc5 Merge pull request #1893 from crhym3/fix-1149-req-body
Replace custom ProxyServer (kubecfg/kubectl -proxy) with httputil.ReverseProxy
2014-10-22 15:29:59 -07:00
Clayton Coleman 91d9a90e4e Replace use of "id" in strings with "name" 2014-10-22 15:59:12 -04:00
derekwaynecarr bce1c12e01 Fix typo in kubectl 2014-10-21 15:30:43 -04:00
alex fb2b15a797 Replace custom proxy with httputil.ReverseProxy for kubecfg/kubectl.
Fixes #1149 - kubecfg proxy "411 Length Required" error on POST/PUT.
2014-10-21 18:52:18 +01:00
Eric Tune 21dae01005 Handle auth files with BearerToken sections. 2014-10-20 17:02:03 -07:00
Sam Ghods a9a8c016f7 Add --no-headers to kubectl get 2014-10-15 19:05:36 -07:00
Sam Ghods 4b220f8b0a kubectl: kubecfg rewrite for better modularity and improved UX 2014-10-15 15:29:54 -07:00