Commit Graph

83 Commits

Author SHA1 Message Date
David Eads c41d1d0993 simplify api registration
Kubernetes-commit: c5445d3c56e06ab366b9cca34bd69c5cc386ec47
2018-05-07 08:32:20 -04:00
Matthias Bertschy 0203b2aa93 Update all script to use /usr/bin/env bash in shebang
Kubernetes-commit: 9b15af19b22e91284eeb89827b2091caaec25bf6
2018-04-16 18:31:44 +02:00
David Eads bf8532c54e remove KUBE_API_VERSIONS
Kubernetes-commit: a68c57155e728b2782408cbab88ecee0444a4ba8
2018-04-25 16:07:15 -04:00
David Eads 88d943c0e6 eliminate indirection from type registration
Kubernetes-commit: e7fbbe0e3c91f34836b999e695aa133503cfdae5
2018-04-24 08:21:23 -04:00
rithu john 6f00834df1 oidc authentication: Required claims support
Kubernetes-commit: dd433b595f5f0b1d9a5195b3dbefe0fd2afc425d
2018-04-03 10:54:09 -07:00
hangaoshuai 9c6162ac42 add unit test for function FeatureGateSetFromMap and FeatureGateString
Kubernetes-commit: 95eaccb0959af0ec91c3c4356a528516a5dc693f
2018-03-08 18:52:36 +08:00
Wang Guoliang c26e7f2e3a more concise to merge the array
Kubernetes-commit: 31aad75316b6e63840ec05b8bc9205fbb6d897aa
2018-02-11 21:27:11 +08:00
Kubernetes Publisher 627fa76a8b sync: initially remove files BUILD */BUILD BUILD.bazel */BUILD.bazel 2018-03-15 09:38:17 +00:00
Jeff Grafton 1ab12b2dc8 Autogenerated: hack/update-bazel.sh
Kubernetes-commit: ef56a8d6bb3800ab7803713eafc4191e8202ad6e
2018-02-16 13:43:01 -08:00
halfcrazy 6f8c3a80da fix typo in package apiserver
Kubernetes-commit: 0da91a8577ddfdeaff985cbb6c0da69d5a2ffc81
2018-02-01 03:04:33 +08:00
Michael Taufen 53ab2d6c3c Kubelet flags take precedence
This changes the Kubelet configuration flag precedence order so that
flags take precedence over config from files/ConfigMaps.

See #56171 for rationale.

Note: Feature gates accumulate with the following
precedence (greater number overrides lesser number):
1. file-based config
2. dynamic cofig
3. flag-based config

Kubernetes-commit: 42589266407e32fdf716d1fef689f0aee7142cd9
2018-01-02 10:33:07 -08:00
Jordan Liggitt 1740ed319f Add deprecated stage of feature gates
Kubernetes-commit: 7336eeab8a498e2f1df73fa95a1f16498745a7d6
2018-01-26 10:44:41 -05:00
David Eads 6b198535d6 add options for min tls levels
Kubernetes-commit: ad1680347071cb5bb66ab49c7325eb21d83e143c
2018-01-19 11:50:47 -05:00
Victor Garcia 08a8cccb0a Adding support for custom TLS ciphers in api server and kubelet
Kubernetes-commit: d7dbc96c70d480f0b81cd83ae3abd34b69c1e70d
2017-07-12 23:49:41 -07:00
Cao Shufeng 2a2505e824 remove duplicated import
Kubernetes-commit: 4e7398b67b12390486012dd6f9d708dd64f961f3
2018-01-11 19:15:11 +08:00
Michael Taufen d1a7006fca All Kubelet flags should be explicitly registered
This explicitly registers Kubelet flags from libraries that were
registering flags globally, and stops parsing the global flag set.
In general, we should always be explicit about flags we register
and parse, so that we maintain control over our command-line API.

Kubernetes-commit: 8ec1958667e66fb3da2a1f1428998f59f8b027f2
2017-12-24 19:19:46 -06:00
Di Xu acf3570864 forbid unnamed context
Kubernetes-commit: 792a2299362ebadc9ca68c72347884330db23b2a
2017-12-04 14:39:05 +08:00
hzxuzhonghu db846c31e6 fix comment typo and use wait.Forever
Kubernetes-commit: 9a88f1514134c62f959eee28fdc81519f87715e6
2017-11-14 19:38:10 +08:00
Jeff Grafton c8a97ee31a Autogenerate BUILD files
Kubernetes-commit: efee0704c60a2ee3049268a41535aaee7f661f6c
2017-12-23 13:06:26 -08:00
Michael Taufen 0b031bbb8b omitempty
Kubernetes-commit: 1347c094ce51f1fbababe0a2866c9046ea9ba1cc
2017-11-15 21:25:48 -08:00
Michael Taufen 8d690cc5cb ColonSeparatedMultimapStringString: allow multiple Set invocations with default override
The first call to Set will clear the map before adding entries;
subsequent calls will simply append to the map.
This makes it possible to override default values with a command-line
option rather than appending to defaults,
while still allowing the distribution of key-value pairs across
multiple flag invocations.

For example: `--flag "a:hello" --flag "b:again" --flag "b:beautiful"
--flag "c:world"` results in `{"a": ["hello"], "b": ["again",
"beautiful"], "c": ["world"]}`

Kubernetes-commit: 6e49ac382bbd43e5a3f648607f8005bdf0237317
2017-11-07 09:15:26 -08:00
Michael Taufen b96eecee16 omitempty
Kubernetes-commit: 617b49858fad83a72ce072356bb2808a259943c5
2017-11-16 14:47:39 -08:00
Michael Taufen 47c573fba6 Lift embedded structure out of eviction-related KubeletConfiguration fields
- Changes the following KubeletConfiguration fields from `string` to
`map[string]string`:
  - `EvictionHard`
  - `EvictionSoft`
  - `EvictionSoftGracePeriod`
  - `EvictionMinimumReclaim`
- Adds flag parsing shims to maintain Kubelet's public flags API, while
enabling structured input in the file API.
- Also removes `kubeletconfig.ConfigurationMap`, which was an ad-hoc flag
parsing shim living in the kubeletconfig API group, and replaces it
with the `MapStringString` shim introduced in this PR. Flag parsing
shims belong in a common place, not in the kubeletconfig API.
I manually audited these to ensure that this wouldn't cause errors
parsing the command line for syntax that would have previously been
error free (`kubeletconfig.ConfigurationMap` was unique in that it
allowed keys to be provided on the CLI without values. I believe this was
done in `flags.ConfigurationMap` to facilitate the `--node-labels` flag,
which rightfully accepts value-free keys, and that this shim was then
just copied to `kubeletconfig`). Fortunately, the affected fields
(`ExperimentalQOSReserved`, `SystemReserved`, and `KubeReserved`) expect
non-empty strings in the values of the map, and as a result passing the
empty string is already an error. Thus requiring keys shouldn't break
anyone's scripts.
- Updates code and tests accordingly.

Regarding eviction operators, directionality is already implicit in the
signal type (for a given signal, the decision to evict will be made when
crossing the threshold from either above or below, never both). There is
no need to expose an operator, such as `<`, in the API. By changing
`EvictionHard` and `EvictionSoft` to `map[string]string`, this PR
simplifies the experience of working with these fields via the
`KubeletConfiguration` type. Again, flags stay the same.

Other things:
- There is another flag parsing shim, `flags.ConfigurationMap`, from the
shared flag utility. The `NodeLabels` field still uses
`flags.ConfigurationMap`. This PR moves the allocation of the
`map[string]string` for the `NodeLabels` field from
`AddKubeletConfigFlags` to the defaulter for the external
`KubeletConfiguration` type. Flags are layered on top of an internal
object that has undergone conversion from a defaulted external object,
which means that previously the mere registration of flags would have
overwritten any previously-defined defaults for `NodeLabels` (fortunately
there were none).

Kubernetes-commit: 1085b6f7304d46697ab9ed2131774ae9d4550ce2
2017-10-19 15:42:07 -07:00
Michael Taufen ce50eca6d7 Lift embedded structure out of ManifestURLHeader field
Kubernetes-commit: 7cb21746c09cd7dd8e2beaaa03f17ba41563a318
2017-10-19 15:42:07 -07:00
Mik Vyatskov 470942c90d Always retry network connection error in webhook
Signed-off-by: Mik Vyatskov <vmik@google.com>

Kubernetes-commit: 59bacba0565b3849d939e9330ffd4da2ae19f0e1
2017-10-15 16:52:15 +02:00
dahefanteng 2a250d73b1 remove repeated type conversion
Kubernetes-commit: c12e6dbb80282fa0859a483883bf15b7ba85f01c
2017-10-09 10:03:24 +08:00
Jeff Grafton f4dbe23125 update BUILD files
Kubernetes-commit: aee5f457dbfd70c2d15c33e392dce6a3ca710116
2017-10-12 13:52:10 -07:00
Eric Chiang 1f5bdb8525 generic webhook: set a default timeout for webhook requests
Add a 30 second timeout for all HTTP requests that the webhook sends
so they timeout instead of hanging forever.

Kubernetes-commit: 2de3ee5c48503d3b3214aef55ae7fd0dacc40457
2017-10-11 17:44:29 -07:00
Michael Taufen 8e0c55d47a Make feature gates loadable from a map[string]bool
Command line flag API remains the same. This allows ComponentConfig
structures (e.g. KubeletConfiguration) to express the map structure
behind feature gates in a natural way when written as JSON or YAML.

For example:

KubeletConfiguration Before:
```
apiVersion: kubeletconfig/v1alpha1
kind: KubeletConfiguration
featureGates: "DynamicKubeletConfig=true,Accelerators=true"
```

KubeletConfiguration After:
```
apiVersion: kubeletconfig/v1alpha1
kind: KubeletConfiguration
featureGates:
  DynamicKubeletConfig: true
  Accelerators: true
```

Kubernetes-commit: 131b419596a3d4fce1020c3b11f78034b5880593
2017-09-25 13:36:19 -07:00
Jordan Liggitt 64d1b8400e Make feature gate enablement checks lock-free
Kubernetes-commit: 55692c52e1d6f3922bf4af2b6cbe2b0eef886fbd
2017-09-21 14:51:04 -04:00
Walter Fender 9a6c2541ac Ensure we log the flag apiserver starts with.
Trying to make sure we always log the flags an instance of apiserver
starts with.
This can be especially valuable for emailed logs or e2e/kubemark tests.

Kubernetes-commit: 366459aee84a4de1f0342a464bd479a5d12e6f0f
2017-09-08 10:00:50 -07:00
Jordan Liggitt 605d377a4e Make feature gate threadsafe
Kubernetes-commit: d3546434b7252167b851a40a339d8ed2049ee5e5
2017-09-01 16:37:08 +00:00
Jordan Liggitt 8494697027 Feature gate initializers field
Kubernetes-commit: 658956f0631c6bd3ecf9f756db4a0710efea98ea
2017-08-29 13:18:50 +00:00
Nikhita Raghunath 9edc635fcc FeatureGate: update comments
Kubernetes-commit: fea5a8bc8a7ef2f956d2b11cb54248ec9545ef15
2017-08-29 13:16:12 +00:00
Jeff Grafton 6c539a43c6 Use buildozer to delete licenses() rules except under third_party/
Kubernetes-commit: a7f49c906df816123e7d4ccbd4cebab411519465
2017-08-29 13:15:24 +00:00
Jeff Grafton 6caa2933ae Use buildozer to remove deprecated automanaged tags
Kubernetes-commit: 33276f06be5e872bf53ca62a095fcf0a6b6c11a8
2017-08-29 13:15:24 +00:00
Clayton Coleman 0d288373d0 SuggestClientDelay is not about retrying, clarify message and header
SuggestClientDelay is returning whether the server has requested that
the client delay their next action. It is *not* about whether the client
should retry the action. Webhook was using it incorrectly, and the
method is now up to date.

Kubernetes-commit: 04846cc25b862c1eabff03ea0b11cbf2f7fae8e2
2017-08-29 13:14:37 +00:00
Jeff Grafton 44942b068a Run hack/update-bazel.sh to generate BUILD files
Kubernetes-commit: 3579017b865ddbc5449d6bba87346f086e4b93ff
2017-08-29 13:13:51 +00:00
mbohlool e671fe20d7 Update main repo references to new kube-openapi repo
Kubernetes-commit: 400b77b48f972b1e10854980586559d5852088c7
2017-08-29 13:13:04 +00:00
Clayton Coleman ec4f695076 generated: bazel / godeps
Kubernetes-commit: c73622108ccd285b245cf9fe2dc218a47398d31d
2017-07-16 04:08:42 +00:00
Clayton Coleman bcc0d0a6d0 Unify generic proxy code in apimachinery
Make the utility package truly generic, consolidate all generic proxy in
apimachinery.

Kubernetes-commit: edc12aafe2fbfe3475bdf03c34ffa26cc4322673
2017-07-16 04:08:41 +00:00
Eric Paris b7f543928d prioritize messages for long steps
Kubernetes-commit: f4767c270dde1de68235fd21ac4b907f6ef33385
2017-06-28 00:14:32 +00:00
sakeven a238a912d3 add level for print flags
Signed-off-by: sakeven <jc5930@sina.cn>

Kubernetes-commit: 8b1a08a9194cf423ba53e6662f9e746852f60164
2017-06-28 00:14:31 +00:00
Chao Xu 8be42ee0d0 run hack/update-all
Kubernetes-commit: 60604f8818aecbc9c3736fbc32747cc0a535bc80
2017-06-28 00:14:31 +00:00
Chao Xu 81b7aaaa7d run root-rewrite-import-client-go-api-types
Kubernetes-commit: f2d3220a11111f86b2f481e70e3c1ca4f5896f44
2017-06-28 00:14:31 +00:00
Jordan Liggitt 5c2f76950a Add websocket protocol authentication method
Kubernetes-commit: e2a03bcf2a568b5c40e8f92e1009440038f5e5ee
2017-06-28 00:14:31 +00:00
Matt Liggett 1526f6a57c Add version and flag info to apiserver and CM logs.
Should help debugging.
Specifically for #45706

Kubernetes-commit: f6bcac3fecbc5ef105b903d8e14252ccb2b55e51
2017-06-16 22:11:33 +00:00
Dr. Stefan Schimanski c0e7280688 Update bazel
Kubernetes-commit: c7d9a396fdf9ef63272896200ab90afa0581c8f3
2017-06-13 20:47:30 +00:00
Dr. Stefan Schimanski a3e36a6bf1 aggregation: add ExternalName service support
Kubernetes-commit: 8b409e8f777a305454616554c40c905acad596ac
2017-06-13 20:47:30 +00:00
Dr. Stefan Schimanski 6b536dfda4 aggregation: handle ClusterIPNone correctly
Kubernetes-commit: b1f708758c70dfbb3dde4dec7d2f423b7303e661
2017-06-13 20:47:30 +00:00