\ No newline at end of file
diff --git a/_sass/_base.sass b/_sass/_base.sass
index 5d0e221009..04c212df12 100644
--- a/_sass/_base.sass
+++ b/_sass/_base.sass
@@ -702,7 +702,6 @@ section
background-color: $light-grey
color: $dark-grey
font-family: $mono-font
- overflow-x: auto
vertical-align: bottom
font-size: 14px
font-weight: bold
@@ -772,7 +771,8 @@ section
width: 100%
border: 1px solid #ccc
border-spacing: 0
- margin-bottom: 60px
+ margin-top: 30px
+ margin-bottom: 30px
thead, tr:nth-child(even)
background-color: $light-grey
diff --git a/docs/getting-started-guides/docker-multinode/master.md b/docs/getting-started-guides/docker-multinode/master.md
index 0677ab1165..1926263ee6 100644
--- a/docs/getting-started-guides/docker-multinode/master.md
+++ b/docs/getting-started-guides/docker-multinode/master.md
@@ -207,7 +207,7 @@ Download the kubectl binary for `${K8S_VERSION}` ({{page.version}}) and make it
For example, OS X:
-```console
+```shell
$ wget http://storage.googleapis.com/kubernetes-release/release/v${K8S_VERSION}/bin/darwin/amd64/kubectl
$ chmod 755 kubectl
$ PATH=$PATH:`pwd`
@@ -215,7 +215,7 @@ $ PATH=$PATH:`pwd`
Linux:
-```console
+```shell
$ wget http://storage.googleapis.com/kubernetes-release/release/v${K8S_VERSION}/bin/linux/amd64/kubectl
$ chmod 755 kubectl
$ PATH=$PATH:`pwd`
diff --git a/docs/user-guide/config-best-practices.md b/docs/user-guide/config-best-practices.md
index 80c204d552..026a1091a7 100644
--- a/docs/user-guide/config-best-practices.md
+++ b/docs/user-guide/config-best-practices.md
@@ -90,8 +90,8 @@ This document is meant to highlight and consolidate in one place configuration b
## Container Images
-- The [default container image pull policy](images.md) is `IfNotPresent`, which causes the
- [Kubelet](/docs/admin/kubelet.md) to not pull an image if it already exists. If you would like to
+- The [default container image pull policy](/docs/user-guide/images/) is `IfNotPresent`, which causes the
+ [Kubelet](/docs/admin/kubelet/) to not pull an image if it already exists. If you would like to
always force a pull, you must specify a pull image policy of `Always` in your .yaml file
(`imagePullPolicy: Always`) or specify a `:latest` tag on your image.
diff --git a/docs/user-guide/configmap.md b/docs/user-guide/configmap.md
index f1ed5edde2..7a9ec2450f 100644
--- a/docs/user-guide/configmap.md
+++ b/docs/user-guide/configmap.md
@@ -80,10 +80,8 @@ how.nice.to.look=fairlyNice
The `kubectl create configmap` command can be used to create a ConfigMap holding the content of each
file in this directory:
-```console
-
+```shell
$ kubectl create configmap game-config --from-file=docs/user-guide/configmap/kubectl
-
```
When `--from-file` points to a directory, each file directly in that directory is used to populate a
@@ -113,6 +111,9 @@ If we want to see the values of the keys, we can simply `kubectl get` the resour
```shell
$ kubectl get configmaps game-config -o yaml
+```
+
+```yaml
apiVersion: v1
data:
game.properties: |-
@@ -147,6 +148,9 @@ following command yields equivalent results to the above example:
$ kubectl create configmap game-config-2 --from-file=docs/user-guide/configmap/kubectl/game.properties --from-file=docs/user-guide/configmap/kubectl/ui.properties
$ cluster/kubectl.sh get configmaps game-config-2 -o yaml
+```
+
+```yaml
apiVersion: v1
data:
game.properties: |-
@@ -179,6 +183,9 @@ of `key=value`: `--from-file=game-special-key=docs/user-guide/configmap/kubectl/
$ kubectl create configmap game-config-3 --from-file=game-special-key=docs/user-guide/configmap/kubectl/game.properties
$ kubectl get configmaps game-config-3 -o yaml
+```
+
+```yaml
apiVersion: v1
data:
game-special-key: |-
@@ -209,6 +216,9 @@ directly on the command line:
$ kubectl create configmap special-config --from-literal=special.how=very --from-literal=special.type=charm
$ kubectl get configmaps special-config -o yaml
+```
+
+```yaml
apiVersion: v1
data:
special.how: very
diff --git a/docs/user-guide/deployments.md b/docs/user-guide/deployments.md
index a35260a079..e5e0b33c88 100644
--- a/docs/user-guide/deployments.md
+++ b/docs/user-guide/deployments.md
@@ -33,7 +33,7 @@ deployment "nginx-deployment" created
Running
-```console
+```shell
$ kubectl get deployments
```
diff --git a/docs/user-guide/downward-api/README.md b/docs/user-guide/downward-api/README.md
index 257058cfd8..93c5e6f5dc 100644
--- a/docs/user-guide/downward-api/README.md
+++ b/docs/user-guide/downward-api/README.md
@@ -1,5 +1,5 @@
Following this example, you will create a pod with a container that consumes the pod's name and
-namespace using the [downward API](http://kubernetesio/docs/user-guide/downward-api/).
+namespace using the [downward API](http://kubernetes.io/docs/user-guide/downward-api/).
## Step Zero: Prerequisites
diff --git a/docs/user-guide/ingress.md b/docs/user-guide/ingress.md
index 319599a52d..851c5ab712 100644
--- a/docs/user-guide/ingress.md
+++ b/docs/user-guide/ingress.md
@@ -247,5 +247,5 @@ You can expose a Service in multiple ways that don't directly involve the Ingres
* Use [Service.Type=LoadBalancer](/docs/user-guide/services/#type-loadbalancer)
* Use [Service.Type=NodePort](/docs/user-guide/services/#type-nodeport)
-* Use a [Port Proxy] (https://github.com/kubernetes/contrib/tree/master/for-demos/proxy-to-service)
+* Use a [Port Proxy](https://github.com/kubernetes/contrib/tree/master/for-demos/proxy-to-service)
* Deploy the [Service loadbalancer](https://github.com/kubernetes/contrib/tree/master/service-loadbalancer). This allows you to share a single IP among multiple Services and achieve more advanced loadbalancing through Service Annotations.
\ No newline at end of file
diff --git a/docs/user-guide/kubeconfig-file.md b/docs/user-guide/kubeconfig-file.md
index f6d6d18638..52857a074f 100644
--- a/docs/user-guide/kubeconfig-file.md
+++ b/docs/user-guide/kubeconfig-file.md
@@ -109,7 +109,7 @@ You can add or modify `user` entries using
#### context
-```
+```yaml
contexts:
- context:
cluster: horse-cluster
@@ -139,7 +139,7 @@ You can change the `current-context` with [`kubectl config use-context`](kubectl
#### miscellaneous
-```
+```yaml
apiVersion: v1
kind: Config
preferences:
@@ -182,24 +182,25 @@ In the above scenario, green-user would have to log in by providing certificates
## Loading and merging rules
-The rules for loading and merging the kubeconfig files are straightforward, but there are a lot of them. The final config is built in this order:
+The rules for loading and merging the kubeconfig files are straightforward, but there are a lot of them. The final config is built in this order:
+
1. Get the kubeconfig from disk. This is done with the following hierarchy and merge rules:
- If the CommandLineLocation (the value of the `kubeconfig` command line option) is set, use this file only. No merging. Only one instance of this flag is allowed.
+ If the `CommandLineLocation` (the value of the `kubeconfig` command line option) is set, use this file only. No merging. Only one instance of this flag is allowed.
- Else, if EnvVarLocation (the value of $KUBECONFIG) is available, use it as a list of files that should be merged.
+ Else, if `EnvVarLocation` (the value of `$KUBECONFIG`) is available, use it as a list of files that should be merged.
Merge files together based on the following rules.
Empty filenames are ignored. Files with non-deserializable content produced errors.
The first file to set a particular value or map key wins and the value or map key is never changed.
- This means that the first file to set CurrentContext will have its context preserved. It also means that if two files specify a "red-user", only values from the first file's red-user are used. Even non-conflicting entries from the second file's "red-user" are discarded.
+ This means that the first file to set `CurrentContext` will have its context preserved. It also means that if two files specify a "red-user", only values from the first file's red-user are used. Even non-conflicting entries from the second file's "red-user" are discarded.
- Otherwise, use HomeDirectoryLocation (~/.kube/config) with no merging.
+ Otherwise, use HomeDirectoryLocation (`~/.kube/config`) with no merging.
1. Determine the context to use based on the first hit in this chain
1. command line argument - the value of the `context` command line option
- 1. current-context from the merged kubeconfig file
+ 1. `current-context` from the merged kubeconfig file
1. Empty is allowed at this stage
1. Determine the cluster info and user to use. At this point, we may or may not have a context. They are built based on the first hit in this chain. (run it twice, once for user, once for cluster)
1. command line argument - `user` for user name and `cluster` for cluster name
diff --git a/docs/user-guide/managing-deployments.md b/docs/user-guide/managing-deployments.md
index 911906741d..8e08434028 100644
--- a/docs/user-guide/managing-deployments.md
+++ b/docs/user-guide/managing-deployments.md
@@ -216,7 +216,7 @@ For more information, please see [labels](/docs/user-guide/labels/) and [kubectl
Sometimes you want to attach annotations to resources. Annotations are arbitrary non-identifying metadata for retrieval by API clients such as tools, libraries, etc. This can be done with `kubectl annotate`. For example:
-```console
+```shell
$ kubectl annotate pods my-nginx-v4-9gw19 decscription='my frontend running nginx'
$ kubectl get pods my-nginx-v4-9gw19 -o yaml
apiversion: v1
@@ -433,7 +433,7 @@ For more information, please see [kubectl patch](/docs/user-guide/kubectl/kubect
Alternatively, you may also update resources with `kubectl edit`:
-```console
+```shell
$ kubectl edit pod my-nginx-1jgkf
```
@@ -460,7 +460,7 @@ With apply, you can keep a set of configuration files in source control, where t
This command will compare the version of the configuration that you're pushing with the previous version and apply the changes you've made, without overwriting any automated changes to properties you haven't specified.
-```console
+```shell
$ kubectl apply -f ./nginx-rc.yaml
replicationcontroller "my-nginx-v4" configured
```
diff --git a/docs/user-guide/node-selection/index.md b/docs/user-guide/node-selection/index.md
index 6d2c573f27..bfe7b2ed28 100644
--- a/docs/user-guide/node-selection/index.md
+++ b/docs/user-guide/node-selection/index.md
@@ -83,6 +83,7 @@ to be scheduled onto a candidate node.
In addition to labels you [attach yourself](#step-one-attach-label-to-the-node), nodes come pre-populated
with a standard set of labels. As of Kubernetes v1.2 these labels are
+
* `kubernetes.io/hostname`
* `failure-domain.beta.kubernetes.io/zone`
* `failure-domain.beta.kubernetes.io/region`
diff --git a/docs/user-guide/persistent-volumes.md b/docs/user-guide/persistent-volumes.md
index 4075757cc6..b8efc7e9e8 100644
--- a/docs/user-guide/persistent-volumes.md
+++ b/docs/user-guide/persistent-volumes.md
@@ -1,7 +1,7 @@
---
---
-This document describes the current state of `PersistentVolumes` in Kubernetes. Familiarity with [volumes](volumes.md) is suggested.
+This document describes the current state of `PersistentVolumes` in Kubernetes. Familiarity with [volumes](/docs/user-guide/volumes/) is suggested.
* TOC
{:toc}
diff --git a/docs/user-guide/pod-templates.md b/docs/user-guide/pod-templates.md
index d33cfc0054..e37a114013 100644
--- a/docs/user-guide/pod-templates.md
+++ b/docs/user-guide/pod-templates.md
@@ -1,8 +1,8 @@
---
---
-Pod templates are [pod](/docs/user-guide/pods.md) specifications which are included in other objects, such as
+Pod templates are [pod](/docs/user-guide/pods/) specifications which are included in other objects, such as
[Replication Controllers](/docs/user-guide/replication-controller/), [Jobs](/docs/user-guide/jobs/), and
-[DaemonSets](/docs/admin/daemons.md). Controllers use Pod Templates to make actual pods.
+[DaemonSets](/docs/admin/daemons/). Controllers use Pod Templates to make actual pods.
Rather than specifying the current desired state of all replicas, pod templates are like cookie cutters. Once a cookie has been cut, the cookie has no relationship to the cutter. There is no quantum entanglement. Subsequent changes to the template or even switching to a new template has no direct effect on the pods already created. Similarly, pods created by a replication controller may subsequently be updated directly. This is in deliberate contrast to pods, which do specify the current desired state of all containers belonging to the pod. This approach radically simplifies system semantics and increases the flexibility of the primitive.
diff --git a/docs/user-guide/prereqs.md b/docs/user-guide/prereqs.md
index 2fc430abc0..51359e182a 100644
--- a/docs/user-guide/prereqs.md
+++ b/docs/user-guide/prereqs.md
@@ -1,7 +1,7 @@
---
---
-To deploy and manage applications on Kubernetes, you’ll use the Kubernetes command-line tool, [kubectl](kubectl/kubectl.md). It lets you inspect your cluster resources, create, delete, and update components, and much more. You will use it to look at your new cluster and bring up example apps.
+To deploy and manage applications on Kubernetes, you’ll use the Kubernetes command-line tool, [kubectl](/docs/user-guide/kubectl/kubectl/). It lets you inspect your cluster resources, create, delete, and update components, and much more. You will use it to look at your new cluster and bring up example apps.
## Installing kubectl
diff --git a/docs/user-guide/replication-controller.md b/docs/user-guide/replication-controller.md
index e9a0a989c6..ba562e5545 100644
--- a/docs/user-guide/replication-controller.md
+++ b/docs/user-guide/replication-controller.md
@@ -31,8 +31,6 @@ Here is an example Replication Controller config. It runs 3 copies of the nginx
{% include code.html language="yaml" file="replication.yaml" ghlink="/docs/user-guide/replication.yaml" %}
-
-
Run the example job by downloading the example file and then running this command:
```shell
@@ -88,7 +86,7 @@ As with all other Kubernetes config, a Job needs `apiVersion`, `kind`, and `meta
general information about working with config files, see [here](/docs/user-guide/simple-yaml/),
[here](/docs/user-guide/configuring-containers/), and [here](/docs/user-guide/working-with-resources/).
-A Replication Controller also needs a [`.spec` section](../devel/api-conventions.md#spec-and-status).
+A Replication Controller also needs a [`.spec` section](https://github.com/kubernetes/kubernetes/tree/{{page.githubbranch}}/docs/devel/api-conventions.md#spec-and-status).
### Pod Template
@@ -101,11 +99,11 @@ the same schema as a [pod](pods.md), except it is nested and does not have an `a
In addition to required fields for a Pod, a pod template in a job must specify appropriate
labels (see [pod selector](#pod-selector) and an appropriate restart policy.
-Only a [`RestartPolicy`](pod-states.md) equal to `Always` is allowed, which is the default
+Only a [`RestartPolicy`](/docs/user-guide/pod-states/) equal to `Always` is allowed, which is the default
if not specified.
For local container restarts, replication controllers delegate to an agent on the node,
-for example the [Kubelet](/docs/admin/kubelet.md) or Docker.
+for example the [Kubelet](/docs/admin/kubelet/) or Docker.
### Labels on the Replication Controller
diff --git a/docs/user-guide/secrets.md b/docs/user-guide/secrets.md
index e05425d3c1..648e7715b9 100644
--- a/docs/user-guide/secrets.md
+++ b/docs/user-guide/secrets.md
@@ -117,7 +117,7 @@ The data field is a map. Its keys must match
[`DNS_SUBDOMAIN`](https://github.com/kubernetes/kubernetes/tree/{{page.githubbranch}}/docs/design/identifiers.md), except that leading dots are also
allowed. The values are arbitrary data, encoded using base64.
-Create the secret using [`kubectl create`](kubectl/kubectl_create.md):
+Create the secret using [`kubectl create`](/docs/user-guide/kubectl/kubectl_create/):
```shell
$ kubectl create -f ./secret.yaml
@@ -271,7 +271,7 @@ Inside a container that consumes a secret in an environment variables, the secre
normal environment variables containing the base-64 decoded values of the secret data.
This is the result of commands executed inside the container from the example above:
-```console
+```shell
$ echo $SECRET_USERNAME
admin
$ cat /etc/foo/password
diff --git a/docs/user-guide/services.md b/docs/user-guide/services.md
index 7aee83668c..60a373c385 100644
--- a/docs/user-guide/services.md
+++ b/docs/user-guide/services.md
@@ -195,7 +195,7 @@ As with the userspace proxy, the net result is that any traffic bound for the
knowing anything about Kubernetes or `Services` or `Pods`. This should be
faster and more reliable than the userspace proxy.
-
+
## Multi-Port Services
diff --git a/images/docs/Kubemark_architecture.png b/images/docs/Kubemark_architecture.png
new file mode 100644
index 0000000000..479ad8b11f
Binary files /dev/null and b/images/docs/Kubemark_architecture.png differ
diff --git a/images/docs/Makefile b/images/docs/Makefile
new file mode 100644
index 0000000000..b1743cf49b
--- /dev/null
+++ b/images/docs/Makefile
@@ -0,0 +1,43 @@
+# Copyright 2016 The Kubernetes Authors All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+FONT := DroidSansMono.ttf
+
+PNGS := $(patsubst %.seqdiag,%.png,$(wildcard *.seqdiag))
+
+.PHONY: all
+all: $(PNGS)
+
+.PHONY: watch
+watch:
+ fswatch *.seqdiag | xargs -n 1 sh -c "make || true"
+
+$(FONT):
+ curl -sLo $@ https://googlefontdirectory.googlecode.com/hg/apache/droidsansmono/$(FONT)
+
+%.png: %.seqdiag $(FONT)
+ seqdiag --no-transparency -a -f '$(FONT)' $<
+
+# Build the stuff via a docker image
+.PHONY: docker
+docker:
+ docker build -t clustering-seqdiag .
+ docker run --rm clustering-seqdiag | tar xvf -
+
+docker-clean:
+ docker rmi clustering-seqdiag || true
+ docker images -q --filter "dangling=true" | xargs docker rmi
+
+fix-clock-skew:
+ boot2docker ssh sudo date -u -D "%Y%m%d%H%M.%S" --set "$(shell date -u +%Y%m%d%H%M.%S)"
diff --git a/images/docs/architecture.png b/images/docs/architecture.png
new file mode 100644
index 0000000000..0ee8bceb43
Binary files /dev/null and b/images/docs/architecture.png differ
diff --git a/images/docs/architecture.svg b/images/docs/architecture.svg
new file mode 100644
index 0000000000..d6b6aab0ee
--- /dev/null
+++ b/images/docs/architecture.svg
@@ -0,0 +1,1943 @@
+
+
diff --git a/images/docs/dynamic.png b/images/docs/dynamic.png
new file mode 100644
index 0000000000..92b40fee36
Binary files /dev/null and b/images/docs/dynamic.png differ
diff --git a/images/docs/external_access.png b/images/docs/external_access.png
new file mode 100644
index 0000000000..6541309b0a
Binary files /dev/null and b/images/docs/external_access.png differ
diff --git a/images/docs/federation-high-level-arch.png b/images/docs/federation-high-level-arch.png
new file mode 100644
index 0000000000..8a416cc1e6
Binary files /dev/null and b/images/docs/federation-high-level-arch.png differ
diff --git a/images/docs/ha.svg b/images/docs/ha.svg
index d56d5cff59..fc38fb557b 100644
--- a/images/docs/ha.svg
+++ b/images/docs/ha.svg
@@ -1,2675 +1,4 @@
-
-
-
+
+
+
+
diff --git a/images/docs/horizontal-pod-autoscaler.svg b/images/docs/horizontal-pod-autoscaler.svg
index 547aabd6e2..34d3a8aa05 100644
--- a/images/docs/horizontal-pod-autoscaler.svg
+++ b/images/docs/horizontal-pod-autoscaler.svg
@@ -1,222 +1,4 @@
-
-
-
+
+
+
+
diff --git a/images/docs/k8s-firewall.png b/images/docs/k8s-firewall.png
new file mode 100755
index 0000000000..ed1c57ca7d
Binary files /dev/null and b/images/docs/k8s-firewall.png differ
diff --git a/images/docs/k8s-guestbook.png b/images/docs/k8s-guestbook.png
new file mode 100755
index 0000000000..07d2458b3b
Binary files /dev/null and b/images/docs/k8s-guestbook.png differ
diff --git a/images/docs/kitten.jpg b/images/docs/kitten.jpg
new file mode 100644
index 0000000000..a382bf16ac
Binary files /dev/null and b/images/docs/kitten.jpg differ
diff --git a/images/docs/nautilus.jpg b/images/docs/nautilus.jpg
new file mode 100644
index 0000000000..544d2bd471
Binary files /dev/null and b/images/docs/nautilus.jpg differ
diff --git a/images/docs/node-allocatable.png b/images/docs/node-allocatable.png
new file mode 100644
index 0000000000..d6f5383e7a
Binary files /dev/null and b/images/docs/node-allocatable.png differ
diff --git a/images/docs/pleg.png b/images/docs/pleg.png
new file mode 100644
index 0000000000..f15c5d83da
Binary files /dev/null and b/images/docs/pleg.png differ
diff --git a/images/docs/pod-cache.png b/images/docs/pod-cache.png
new file mode 100644
index 0000000000..dee86c40cb
Binary files /dev/null and b/images/docs/pod-cache.png differ
diff --git a/images/docs/pr_workflow.png b/images/docs/pr_workflow.png
new file mode 100644
index 0000000000..0e2bd5d6ed
Binary files /dev/null and b/images/docs/pr_workflow.png differ
diff --git a/images/docs/services-iptables-overview.png b/images/docs/services-iptables-overview.png
new file mode 100644
index 0000000000..6d33ce3a49
Binary files /dev/null and b/images/docs/services-iptables-overview.png differ
diff --git a/images/docs/services-iptables-overview.svg b/images/docs/services-iptables-overview.svg
new file mode 100644
index 0000000000..28c9dc4c29
--- /dev/null
+++ b/images/docs/services-iptables-overview.svg
@@ -0,0 +1,498 @@
+
+
+
+
diff --git a/images/docs/services-userspace-overview.png b/images/docs/services-userspace-overview.png
new file mode 100644
index 0000000000..74a6521fdc
Binary files /dev/null and b/images/docs/services-userspace-overview.png differ
diff --git a/images/docs/services-userspace-overview.svg b/images/docs/services-userspace-overview.svg
new file mode 100644
index 0000000000..b764d12fd7
--- /dev/null
+++ b/images/docs/services-userspace-overview.svg
@@ -0,0 +1,496 @@
+
+
+
+
diff --git a/images/docs/static.png b/images/docs/static.png
new file mode 100644
index 0000000000..bcdeca7e6f
Binary files /dev/null and b/images/docs/static.png differ
diff --git a/images/docs/synth-logger.png b/images/docs/synth-logger.png
new file mode 100644
index 0000000000..bd19ea3ee4
Binary files /dev/null and b/images/docs/synth-logger.png differ
diff --git a/images/docs/ui-dashboard-cards-menu.png b/images/docs/ui-dashboard-cards-menu.png
new file mode 100755
index 0000000000..eedabf87c4
Binary files /dev/null and b/images/docs/ui-dashboard-cards-menu.png differ
diff --git a/images/docs/ui-dashboard-deploy-file.png b/images/docs/ui-dashboard-deploy-file.png
new file mode 100755
index 0000000000..215b6c1555
Binary files /dev/null and b/images/docs/ui-dashboard-deploy-file.png differ
diff --git a/images/docs/ui-dashboard-deploy-more.png b/images/docs/ui-dashboard-deploy-more.png
new file mode 100755
index 0000000000..58aeda80cd
Binary files /dev/null and b/images/docs/ui-dashboard-deploy-more.png differ
diff --git a/images/docs/ui-dashboard-deploy-simple.png b/images/docs/ui-dashboard-deploy-simple.png
new file mode 100755
index 0000000000..045b4667c0
Binary files /dev/null and b/images/docs/ui-dashboard-deploy-simple.png differ
diff --git a/images/docs/ui-dashboard-rcs-detail.png b/images/docs/ui-dashboard-rcs-detail.png
new file mode 100755
index 0000000000..80974213e8
Binary files /dev/null and b/images/docs/ui-dashboard-rcs-detail.png differ
diff --git a/images/docs/ui-dashboard-rcs.png b/images/docs/ui-dashboard-rcs.png
new file mode 100755
index 0000000000..5825cfbb47
Binary files /dev/null and b/images/docs/ui-dashboard-rcs.png differ
diff --git a/images/docs/ui-dashboard-zerostate.png b/images/docs/ui-dashboard-zerostate.png
new file mode 100755
index 0000000000..348bfeefcb
Binary files /dev/null and b/images/docs/ui-dashboard-zerostate.png differ
diff --git a/images/docs/warning.png b/images/docs/warning.png
new file mode 100644
index 0000000000..1d58e4639c
Binary files /dev/null and b/images/docs/warning.png differ