diff --git a/_includes/case-study-styles.html b/_includes/case-study-styles.html
index 7914ef76ac..48058bd27b 100644
--- a/_includes/case-study-styles.html
+++ b/_includes/case-study-styles.html
@@ -3,40 +3,40 @@
margin-top: 1em !important;
}
- #caseStudies p {
+ .gridPage p {
color: rgb(26,26,26) !important;
margin-left: 0 !important;
padding-left: 0 !important;
font-weight: 300 !important;
}
- #caseStudies #mainContent {
+ .gridPage #mainContent {
padding: 0;
}
- #caseStudies #mainContent .content {
+ .gridPage #mainContent .content {
padding-top: 0;
}
- #caseStudies main {
+ .gridPage main {
max-width: 1100px !important;
}
- #caseStudies .content {
+ .gridPage .content {
position: relative;
margin: 0 auto 50px;
max-width: 90%;
}
- #caseStudies .content p {
+ .gridPage .content p {
line-height: 24px !important;
}
- #caseStudies .content h3 {
+ .gridPage .content h3 {
padding: 0 !important;
}
- #caseStudies #hero h5 {
+ .gridPage #hero h5 {
padding-left: 20px;
margin: 0;
}
@@ -67,7 +67,7 @@
left: 0;
}
- #caseStudies #mainContent .content .case-study p {
+ .gridPage #mainContent .content .case-study p {
font-family: "Roboto", sans-serif;
font-size: 16px;
padding: 0;
@@ -77,13 +77,13 @@
font-style: italic;
}
- #caseStudies #video {
+ .gridPage #video {
background: #f9f9f9;
height: auto;
/*height: 340px;*/
}
- #caseStudies #video main {
+ .gridPage #video main {
position: relative;
max-width: 900px !important;
height: 100%;
@@ -93,19 +93,19 @@
padding: 50px 20px;
}
- #caseStudies #video main > div {
+ .gridPage #video main > div {
width: 50%;
}
- #caseStudies #video main #zulilyLogo {
+ .gridPage #video main #zulilyLogo {
width: 100px;
}
- #caseStudies #video main img {
+ .gridPage #video main img {
max-width: 100%;
}
- #caseStudies #video h3 {
+ .gridPage #video h3 {
font-size: 32px;
font-weight: 300;
line-height: 38px;
@@ -113,57 +113,57 @@
margin: 0 0 1em 0;
}
- #caseStudies #video p {
+ .gridPage #video p {
margin: 0;
}
- #caseStudies #video p.attrib {
+ .gridPage #video p.attrib {
margin-bottom: 20px;
}
- #caseStudies #video button > h6 {
+ .gridPage #video button > h6 {
font-size: 18px;
font-weight: 500;
margin: 1em 0;
color: #326de6;
}
- #caseStudies #users {
+ .gridPage #users {
padding: 50px;
}
- #caseStudies #users main {
+ .gridPage #users main {
max-width: 1150px !important;
}
- #caseStudies #users main h3 {
+ .gridPage #users main h3 {
padding-left: 20px;
margin-bottom: 20px;
}
- #caseStudies #usersGrid {
+ .gridPage #usersGrid {
position: relative;
display: flex;
flex-wrap: wrap;
justify-content: center;
}
- #caseStudies #usersGrid a {
+ .gridPage #usersGrid a {
display: inline-block;
margin: 5px;
}
- #caseStudies #usersGrid a img {
+ .gridPage #usersGrid a img {
box-shadow: 1px 1px 2px transparent;
transition: box-shadow 0.25s;
}
- #caseStudies #usersGrid a img:hover {
+ .gridPage #usersGrid a img:hover {
box-shadow: 1px 1px 2px #cccccc;
}
- #caseStudies #usersGrid a:last-child img,
- #caseStudies #usersGrid a:last-child img:hover {
+ .gridPage #usersGrid a:last-child img,
+ .gridPage #usersGrid a:last-child img:hover {
box-shadow: 1px 1px 2px transparent;
}
@@ -173,12 +173,12 @@
box-shadow: 1px 2px 2px #dddddd;
}
- #caseStudies .feature {
+ .gridPage .feature {
position: relative;
padding: 20px 0 20px 242px;
}
- #caseStudies .feature img {
+ .gridPage .feature img {
position: absolute;
top: 20px;
left: 0;
@@ -225,7 +225,7 @@
margin-bottom: 0.5em;
}
- #caseStudies .feature p.quote {
+ .gridPage .feature p.quote {
font-size: 20px;
line-height: 28px !important;
}
@@ -250,20 +250,20 @@
}
@media screen and (max-width: 900px){
- #caseStudies #video main {
+ .gridPage #video main {
flex-direction: column;
align-items: center;
}
- #caseStudies #video main > div {
+ .gridPage #video main > div {
width: 400px;
}
- #caseStudies #video main > div + div {
+ .gridPage #video main > div + div {
margin-top: 30px;
}
- #caseStudies #video h3 {
+ .gridPage #video h3 {
max-width: 100%;
}
}
@@ -282,12 +282,12 @@
transform: translateX(-50%);
}
- #caseStudies .feature {
+ .gridPage .feature {
margin-top: 50px;
padding: 180px 0 0;
}
- #caseStudies .feature img {
+ .gridPage .feature img {
top: 0;
left: 50%;
transform: translateX(-50%);
@@ -295,12 +295,12 @@
}
@media screen and (max-width: 480px){
- #caseStudies #hero {
+ .gridPage #hero {
padding-right: 20px;
padding-left: 20px;
}
- #caseStudies #video main > div {
+ .gridPage #video main > div {
width: 80%;
min-width: 280px;
}
diff --git a/_sass/_base.sass b/_sass/_base.sass
index 91d47a6b48..a8ac4b47c4 100644
--- a/_sass/_base.sass
+++ b/_sass/_base.sass
@@ -1131,7 +1131,7 @@ $feature-box-div-margin-bottom: 40px
// Community
-#community, #caseStudies
+#community, .gridPage
&.open-nav, &.flip-nav
.logo
background-image: url(/images/nav_logo2.svg)
@@ -1340,3 +1340,4 @@ $feature-box-div-margin-bottom: 40px
//
//
//
+//
\ No newline at end of file
diff --git a/_sass/_desktop.sass b/_sass/_desktop.sass
index 7faddf913c..033e998ba0 100644
--- a/_sass/_desktop.sass
+++ b/_sass/_desktop.sass
@@ -270,7 +270,7 @@ $video-section-height: 550px
- #community, #caseStudies
+ #community, .gridPage
#hero
text-align: left
diff --git a/case-studies/index.html b/case-studies/index.html
index 8b0ffea42c..4b92adb805 100644
--- a/case-studies/index.html
+++ b/case-studies/index.html
@@ -3,7 +3,7 @@ title: Case Studies
---
-
+
{% include head-header.html %}
diff --git a/case-studies/pearson.html b/case-studies/pearson.html
index 8625707f11..bf871789b9 100644
--- a/case-studies/pearson.html
+++ b/case-studies/pearson.html
@@ -3,7 +3,7 @@ title: Pearson Case Study
---
-
+
{% include head-header.html %}
diff --git a/case-studies/wikimedia.html b/case-studies/wikimedia.html
index c725ca7683..00eb47e3e0 100644
--- a/case-studies/wikimedia.html
+++ b/case-studies/wikimedia.html
@@ -3,7 +3,7 @@ title: Wikimedia Case Study
---
-
+
{% include head-header.html %}
diff --git a/docs/admin/apparmor/index.md b/docs/admin/apparmor/index.md
index 395aba1989..9730c07953 100644
--- a/docs/admin/apparmor/index.md
+++ b/docs/admin/apparmor/index.md
@@ -349,8 +349,8 @@ logs or through `journalctl`. More information is provided in
Additional resources:
-- http://wiki.apparmor.net/index.php/QuickProfileLanguage
-- http://wiki.apparmor.net/index.php/ProfileLanguage
+- [Quick guide to the AppArmor profile language](http://wiki.apparmor.net/index.php/QuickProfileLanguage)
+- [AppArmor core policy reference](http://wiki.apparmor.net/index.php/ProfileLanguage)
## API Reference
diff --git a/docs/admin/authentication.md b/docs/admin/authentication.md
index c3c5e52c77..0be8b50db8 100644
--- a/docs/admin/authentication.md
+++ b/docs/admin/authentication.md
@@ -66,8 +66,7 @@ See [APPENDIX](#appendix) for how to generate a client cert.
### Static Token File
-Token file is enabled by passing the `--token-auth-file=SOMEFILE` option to the
-API server. Currently, tokens last indefinitely, and the token list cannot be
+The API server reads bearer tokens from a file when given the `--token-auth-file=SOMEFILE` option on the command line. Currently, tokens last indefinitely, and the token list cannot be
changed without restarting API server.
The token file format is implemented in `plugin/pkg/auth/authenticator/token/tokenfile/...`
@@ -78,8 +77,19 @@ optional group names. Note, if you have more than one group the column must be d
token,user,uid,"group1,group2,group3"
```
-When using token authentication from an http client the API server expects an `Authorization`
-header with a value of `Bearer SOMETOKEN`.
+#### Putting a Bearer Token in a Request
+
+When using bearer token authentication from an http client, the API
+server expects an `Authorization` header with a value of `Bearer
+THETOKEN`. The bearer token must be a character sequence that can be
+put in an HTTP header value using no more than the encoding and
+quoting facilities of HTTP. For example: if the bearer token is
+`31ada4fd-adec-460c-809a-9e56ceb75269` then it would appear in an HTTP
+header as shown below.
+
+```http
+Authentication: Bearer 31ada4fd-adec-460c-809a-9e56ceb75269
+```
### Static Password File
@@ -171,7 +181,8 @@ type: kubernetes.io/service-account-token
Note: values are base64 encoded because secrets are always base64 encoded.
The signed JWT can be used as a bearer token to authenticate as the given service
-account. Normally these secrets are mounted into pods for in-cluster access to
+account. See [above](#putting-a-bearer-token-in-a-request) for how the token is included
+in a request. Normally these secrets are mounted into pods for in-cluster access to
the API server, but can be used from outside the cluster as well.
Service accounts authenticate with the username `system:serviceaccount:(NAMESPACE):(SERVICEACCOUNT)`,
@@ -192,11 +203,8 @@ email, signed by the server.
To identify the user, the authenticator uses the `id_token` (not the `access_token`)
from the OAuth2 [token response](https://openid.net/specs/openid-connect-core-1_0.html#TokenResponse)
-as a bearer token.
-
-```
-Authentication: Bearer (id_token)
-```
+as a bearer token. See [above](#putting-a-bearer-token-in-a-request) for how the token
+is included in a request.
To enable the plugin, pass the following required flags:
@@ -272,10 +280,11 @@ contexts:
name: webhook
```
-When a client attempts to authenticate with the API server using a bearer token,
-using the `Authorization: Bearer (TOKEN)` HTTP header the authentication webhook
+When a client attempts to authenticate with the API server using a bearer token
+as discussed [above](#putting-a-bearer-token-in-a-request),
+the authentication webhook
queries the remote service with a review object containing the token. Kubernetes
-will not challenge request that lack such a header.
+will not challenge a request that lacks such a header.
Note that webhook API objects are subject to the same [versioning compatibility rules](/docs/api/)
as other Kubernetes API objects. Implementers should be aware of looser
diff --git a/docs/getting-started-guides/libvirt-coreos.md b/docs/getting-started-guides/libvirt-coreos.md
index f752a13aee..86b0707092 100644
--- a/docs/getting-started-guides/libvirt-coreos.md
+++ b/docs/getting-started-guides/libvirt-coreos.md
@@ -134,7 +134,7 @@ export KUBERNETES_PROVIDER=libvirt-coreos; wget -q -O - https://get.k8s.io | bas
Here is the curl version of this command:
```shell
-export KUBERNETES_PROVIDER=libvirt-coreos; curl -sS https://get.k8s.io | bash`
+export KUBERNETES_PROVIDER=libvirt-coreos; curl -sS https://get.k8s.io | bash
```
This script downloads and unpacks the tarball, then spawns a Kubernetes cluster on CoreOS instances with the following characteristics:
diff --git a/docs/user-guide/index.md b/docs/user-guide/index.md
index 44dd71f41e..70bcb5be6d 100644
--- a/docs/user-guide/index.md
+++ b/docs/user-guide/index.md
@@ -89,5 +89,5 @@ Pods and containers
* [Images and registries](/docs/user-guide/images/)
* [Migrating from docker-cli to kubectl](/docs/user-guide/docker-cli-to-kubectl/)
* [Configuration Best Practices and Tips](/docs/user-guide/config-best-practices/)
- * [Assign pods to selected nodes](https://github.com/kubernetes/kubernetes.github.io/tree/{{page.docsbranch}}/docs/user-guide/node-selection/)
- * [Perform a rolling update on a running group of pods](https://github.com/kubernetes/kubernetes.github.io/tree/{{page.docsbranch}}/docs/user-guide/update-demo/)
+ * [Assign pods to selected nodes](/docs/user-guide/node-selection/)
+ * [Perform a rolling update on a running group of pods](/docs/user-guide/update-demo/)
diff --git a/js/script.js b/js/script.js
index 99574e7f83..22eff0a1b4 100755
--- a/js/script.js
+++ b/js/script.js
@@ -135,8 +135,9 @@ var kub = (function () {
// case 'caseStudies':
bodyHeight = windowHeight;
break;
-
+
case 'caseStudies':
+ case 'partners':
bodyHeight = windowHeight * 2;
break;
diff --git a/partners/index.html b/partners/index.html
new file mode 100644
index 0000000000..c47f0998a7
--- /dev/null
+++ b/partners/index.html
@@ -0,0 +1,60 @@
+---
+title: Partners
+---
+
+
+
+{% include head-header.html %}
+
+
+ Kubernetes Partners
+ Growing the Kubernetes ecosystem.
+
+
+
+
+
+ We are working with a broad group of partners who contribute to the Kubernetes core codebase, making it stronger and richer, creating a vibrant Kubernetes ecosystem supporting a spectrum of complementing platforms, from open source solutions to market-leading technologies.
+ ISV Partners
+
+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+
+
+
+
+
+{% include footer.html %}
+{% include case-study-styles.html %}
+
+
+