diff --git a/_config.yml b/_config.yml
index 99e2c7eed9..458c894bcd 100644
--- a/_config.yml
+++ b/_config.yml
@@ -53,7 +53,7 @@ exclude:
- .vagrant
- _docs/concepts/concept.md.template
- _docs/tasks/task.md.template
- - _docs/samples/sample.md.template
+ - _docs/guides/sample.md.template
- _docs/reference/reference.md.template
- scripts/
- Rakefile
diff --git a/_docs/concepts/policy-and-control/mixer-config.md b/_docs/concepts/policy-and-control/mixer-config.md
index 466d5e5cc1..068cc8977a 100644
--- a/_docs/concepts/policy-and-control/mixer-config.md
+++ b/_docs/concepts/policy-and-control/mixer-config.md
@@ -437,5 +437,5 @@ manifests:
## Examples
-You can find fully formed examples of Mixer configuration by visiting the [Samples]({{home}}/docs/samples). As
+You can find fully formed examples of Mixer configuration by visiting the [Guides]({{home}}/docs/guides). As
a specific example, here is the [Default configuration](https://github.com/istio/mixer/blob/master/testdata/configroot/scopes/global/subjects/global/rules.yml).
diff --git a/_docs/concepts/what-is-istio/overview.md b/_docs/concepts/what-is-istio/overview.md
index 230edb0184..3f5840bfb1 100644
--- a/_docs/concepts/what-is-istio/overview.md
+++ b/_docs/concepts/what-is-istio/overview.md
@@ -94,9 +94,9 @@ role-based access control as well as authorization hooks.
## What's next
-* Learn about Istio's [design goals](./goals.html).
+* Learn about Istio's [design goals]({{home}}/docs/concepts/what-is-istio/goals.html).
-* Explore and try deploying our [sample application]({{home}}/docs/samples/bookinfo.html).
+* Explore our [Guides]({{home}}/docs/guides/).
* Read about Istio components in detail in our other [Concepts]({{home}}/docs/concepts/) guides.
diff --git a/_docs/samples/bookinfo.md b/_docs/guides/bookinfo.md
similarity index 99%
rename from _docs/samples/bookinfo.md
rename to _docs/guides/bookinfo.md
index 4b48786c44..7f24d8a890 100644
--- a/_docs/samples/bookinfo.md
+++ b/_docs/guides/bookinfo.md
@@ -6,6 +6,7 @@ order: 10
layout: docs
type: markdown
+redirect_from: "/docs/samples/bookinfo.html"
---
{% include home.html %}
diff --git a/_docs/samples/consul-integration.md b/_docs/guides/consul-integration.md
similarity index 97%
rename from _docs/samples/consul-integration.md
rename to _docs/guides/consul-integration.md
index e760411308..fe88d82923 100644
--- a/_docs/samples/consul-integration.md
+++ b/_docs/guides/consul-integration.md
@@ -21,7 +21,7 @@ features of the Istio service mesh on non-kubernetes platforms.
## Overview
For the purposes of illustration, this sample deploys the Istio control
-plane and the [BookInfo]({{home}}/docs/samples/bookinfo.html) application
+plane and the [BookInfo]({{home}}/docs/guides/bookinfo.html) application
in a simple Docker Compose based setup. Since there is no concept of pods
in a Docker setup, the Istio sidecar runs in the same container as the
application. We will use
diff --git a/_docs/samples/img/bookinfo/noistio.png b/_docs/guides/img/bookinfo/noistio.png
similarity index 100%
rename from _docs/samples/img/bookinfo/noistio.png
rename to _docs/guides/img/bookinfo/noistio.png
diff --git a/_docs/samples/img/bookinfo/noistio.svg b/_docs/guides/img/bookinfo/noistio.svg
similarity index 100%
rename from _docs/samples/img/bookinfo/noistio.svg
rename to _docs/guides/img/bookinfo/noistio.svg
diff --git a/_docs/samples/img/bookinfo/withistio.png b/_docs/guides/img/bookinfo/withistio.png
similarity index 100%
rename from _docs/samples/img/bookinfo/withistio.png
rename to _docs/guides/img/bookinfo/withistio.png
diff --git a/_docs/samples/img/bookinfo/withistio.svg b/_docs/guides/img/bookinfo/withistio.svg
similarity index 100%
rename from _docs/samples/img/bookinfo/withistio.svg
rename to _docs/guides/img/bookinfo/withistio.svg
diff --git a/_docs/samples/index.md b/_docs/guides/index.md
similarity index 100%
rename from _docs/samples/index.md
rename to _docs/guides/index.md
diff --git a/_docs/samples/integrating-vms.md b/_docs/guides/integrating-vms.md
similarity index 100%
rename from _docs/samples/integrating-vms.md
rename to _docs/guides/integrating-vms.md
diff --git a/_docs/samples/intelligent-routing.md b/_docs/guides/intelligent-routing.md
similarity index 100%
rename from _docs/samples/intelligent-routing.md
rename to _docs/guides/intelligent-routing.md
diff --git a/_docs/samples/policy-enforcement.md b/_docs/guides/policy-enforcement.md
similarity index 100%
rename from _docs/samples/policy-enforcement.md
rename to _docs/guides/policy-enforcement.md
diff --git a/_docs/samples/sample.md.template b/_docs/guides/sample.md.template
similarity index 100%
rename from _docs/samples/sample.md.template
rename to _docs/guides/sample.md.template
diff --git a/_docs/samples/security.md b/_docs/guides/security.md
similarity index 100%
rename from _docs/samples/security.md
rename to _docs/guides/security.md
diff --git a/_docs/samples/telemetry.md b/_docs/guides/telemetry.md
similarity index 100%
rename from _docs/samples/telemetry.md
rename to _docs/guides/telemetry.md
diff --git a/_docs/samples/upgrading-istio.md b/_docs/guides/upgrading-istio.md
similarity index 100%
rename from _docs/samples/upgrading-istio.md
rename to _docs/guides/upgrading-istio.md
diff --git a/_docs/samples/using-external-services.md b/_docs/guides/using-external-services.md
similarity index 100%
rename from _docs/samples/using-external-services.md
rename to _docs/guides/using-external-services.md
diff --git a/_docs/index.md b/_docs/index.md
index 290ac45265..42afa8b4af 100644
--- a/_docs/index.md
+++ b/_docs/index.md
@@ -27,7 +27,7 @@ is where you can learn about what Istio does and how it does it.
- [Tasks]({{home}}/docs/tasks/). Tasks show you how to do a single directed activity with Istio.
-- [Samples]({{home}}/docs/samples/). Samples are fully working stand-alone examples
+- [Guides]({{home}}/docs/guides/). Guides are fully working stand-alone examples
intended to highlight a particular set of Istio's features.
- [Reference]({{home}}/docs/reference/). Detailed exhaustive lists of
diff --git a/_docs/reference/config/traffic-rules/egress-rule.md b/_docs/reference/config/traffic-rules/egress-rule.md
new file mode 100644
index 0000000000..413ea7b2d3
--- /dev/null
+++ b/_docs/reference/config/traffic-rules/egress-rule.md
@@ -0,0 +1,9 @@
+---
+title: Egress Rules
+overview: Configuration for traffic exiting the mesh
+
+order: 40
+
+layout: docs
+type: markdown
+---
diff --git a/_docs/reference/contribute/writing-a-new-topic.md b/_docs/reference/contribute/writing-a-new-topic.md
index 6855785882..041ae93882 100644
--- a/_docs/reference/contribute/writing-a-new-topic.md
+++ b/_docs/reference/contribute/writing-a-new-topic.md
@@ -38,8 +38,8 @@ is the best fit for your content:
-
Sample
-
A sample page describes a fully working stand-alone example highlighting a particular set of features. Samples
+
Guides
+
A guide page describes a fully working stand-alone example highlighting a particular set of features. Guides
must have easy to follow setup and usage instructions so users can quickly run the sample
themselves and experiment with changing the sample to explore the system.
@@ -108,7 +108,7 @@ Depending on your page type, put your new file in a subdirectory of one of these
* _docs/concepts/
* _docs/reference/
-* _docs/samples/
+* _docs/guides/
* _docs/tasks/
You can put your file in an existing subdirectory, or you can create a new
diff --git a/_docs/setup/install-kubernetes.md b/_docs/setup/install-kubernetes.md
index 9eb8aac29f..fad0f29120 100644
--- a/_docs/setup/install-kubernetes.md
+++ b/_docs/setup/install-kubernetes.md
@@ -162,7 +162,7 @@ visualization (via `/dotviz`) of the underlying service graph. If you configured
the above command, you can view the graphical visualization by opening your browser at [http://localhost:8088/dotviz](http://localhost:8088/dotviz).
After you run some services, a service graph builds. For example, after installing the
-[BookInfo]({{home}}/docs/samples/bookinfo.html) sample application and generating some load on the
+[BookInfo]({{home}}/docs/guides/bookinfo.html) sample application and generating some load on the
application (e.g., executing `curl` requests in a `while` loop), the resulting service graph looks
similar to the following:
@@ -215,7 +215,7 @@ similar to the following:
## Deploy your application
You can now deploy your own application or one of the sample applications provided with the
-installation like [BookInfo]({{home}}/docs/samples/bookinfo.html).
+installation like [BookInfo]({{home}}/docs/guides/bookinfo.html).
Note: the application must use HTTP/1.1 or HTTP/2.0 protocol for all its HTTP traffic because HTTP/1.0 is not supported.
Unless you installed the Istio-Initializer as shown above, when deploying the application, you must
@@ -259,6 +259,6 @@ kubectl create -f <(istioctl kube-inject -f .yaml)
## What's next
-* See the sample [BookInfo]({{home}}/docs/samples/bookinfo.html) application.
+* See the sample [BookInfo]({{home}}/docs/guides/bookinfo.html) application.
-* See how to [test Istio Auth]({{home}}/docs/tasks/istio-auth.html).
+* See how to [test Istio Auth]({{home}}/docs/tasks/security/istio-auth.html).
diff --git a/_docs/setup/install-sidecar.md b/_docs/setup/install-sidecar.md
index 50339efb27..385107c3a3 100644
--- a/_docs/setup/install-sidecar.md
+++ b/_docs/setup/install-sidecar.md
@@ -232,4 +232,4 @@ kubectl delete -f apps.yaml
* Review full documentation for [istioctl kube-inject]({{home}}/docs/reference/commands/istioctl.html#istioctl-kube-inject)
-* See the [BookInfo]({{home}}/docs/samples/bookinfo.html) sample for a more complete example of applications integrated on Kubernetes with Istio.
+* See the [BookInfo]({{home}}/docs/guides/bookinfo.html) sample for a more complete example of applications integrated on Kubernetes with Istio.
diff --git a/_docs/tasks/policy-enforcement/rate-limiting.md b/_docs/tasks/policy-enforcement/rate-limiting.md
index 20c2f012f1..4f62e22e19 100644
--- a/_docs/tasks/policy-enforcement/rate-limiting.md
+++ b/_docs/tasks/policy-enforcement/rate-limiting.md
@@ -17,7 +17,7 @@ This task shows you how to use Istio to dynamically limit the traffic to a servi
* Setup Istio by following the instructions in the
[Installation guide](({{home}}/docs/setup/).
-* Deploy the [BookInfo]({{home}}/docs/samples/bookinfo.html) sample application.
+* Deploy the [BookInfo]({{home}}/docs/guides/bookinfo.html) sample application.
* Initialize the application version routing to direct `reviews` service requests from
test user "jason" to version v2 and requests from any other user to v3.
@@ -201,5 +201,5 @@ selected by matching only three out of four quota dimensions.
* Read the reference guide to [Writing Config]({{home}}/docs/reference/writing-config.html).
* If you are not planning to explore any follow-on tasks, refer to the
- [BookInfo cleanup]({{home}}/docs/samples/bookinfo.html#cleanup) instructions
+ [BookInfo cleanup]({{home}}/docs/guides/bookinfo.html#cleanup) instructions
to shutdown the application and cleanup the associated rules.
diff --git a/_docs/tasks/security/basic-access-control.md b/_docs/tasks/security/basic-access-control.md
index d6ec60e9d2..569588c6c5 100644
--- a/_docs/tasks/security/basic-access-control.md
+++ b/_docs/tasks/security/basic-access-control.md
@@ -17,7 +17,7 @@ This task shows how to use Istio to control access to a service.
* Setup Istio by following the instructions in the
[Installation guide](({{home}}/docs/setup/).
-* Deploy the [BookInfo]({{home}}/docs/samples/bookinfo.html) sample application.
+* Deploy the [BookInfo]({{home}}/docs/guides/bookinfo.html) sample application.
* Initialize the application version routing to direct `reviews` service requests from
test user "jason" to version v2 and requests from any other user to v3.
@@ -38,7 +38,7 @@ This task shows how to use Istio to control access to a service.
Using Istio you can control access to a service based on any attributes that are available within Mixer.
This simple form of access control is based on conditionally denying requests using Mixer selectors.
-Consider the [BookInfo]({{home}}/docs/samples/bookinfo.html) sample application where the `ratings` service is accessed by multiple versions
+Consider the [BookInfo]({{home}}/docs/guides/bookinfo.html) sample application where the `ratings` service is accessed by multiple versions
of the `reviews` service. We would like to cut off access to version `v3` of the `reviews` service.
1. Point your browser at the BookInfo `productpage` (http://$GATEWAY_URL/productpage).
diff --git a/_docs/tasks/security/istio-auth.md b/_docs/tasks/security/istio-auth.md
index 5e1140c9dd..bfa411dbd3 100644
--- a/_docs/tasks/security/istio-auth.md
+++ b/_docs/tasks/security/istio-auth.md
@@ -59,7 +59,7 @@ Istio CA is up if the "AVAILABLE" column is 1.
When running Istio auth-enabled services, you can use curl in one service's
envoy to send request to other services.
-For example, after starting the [BookInfo]({{home}}/docs/samples/bookinfo.html)
+For example, after starting the [BookInfo]({{home}}/docs/guides/bookinfo.html)
sample application you can ssh into the envoy container of `productpage` service,
and send request to other services by curl.
diff --git a/_docs/tasks/telemetry/distributed-tracing.md b/_docs/tasks/telemetry/distributed-tracing.md
index 57e66211ca..4e93274300 100644
--- a/_docs/tasks/telemetry/distributed-tracing.md
+++ b/_docs/tasks/telemetry/distributed-tracing.md
@@ -16,7 +16,7 @@ After completing this task, you should understand all of the assumptions about y
application and how to have it participate in tracing, regardless of what
language/framework/platform you use to build your application.
-The [BookInfo]({{home}}/docs/samples/bookinfo.html) sample is used as the
+The [BookInfo]({{home}}/docs/guides/bookinfo.html) sample is used as the
example application for this task.
@@ -37,7 +37,7 @@ example application for this task.
```
for Jaeger.
-* Deploy the [BookInfo]({{home}}/docs/samples/bookinfo.html) sample application.
+* Deploy the [BookInfo]({{home}}/docs/guides/bookinfo.html) sample application.
## Accessing the dashboard
@@ -163,5 +163,5 @@ When you make downstream calls in your applications, make sure to include these
* Learn more about [Metrics and Logs]({{home}}/docs/tasks/metrics-logs.html)
* If you are not planning to explore any follow-on tasks, refer to the
- [BookInfo cleanup]({{home}}/docs/samples/bookinfo.html#cleanup) instructions
+ [BookInfo cleanup]({{home}}/docs/guides/bookinfo.html#cleanup) instructions
to shutdown the application and cleanup the associated rules.
diff --git a/_docs/tasks/telemetry/metrics-logs.md b/_docs/tasks/telemetry/metrics-logs.md
index a11cf48695..af2632d506 100644
--- a/_docs/tasks/telemetry/metrics-logs.md
+++ b/_docs/tasks/telemetry/metrics-logs.md
@@ -15,7 +15,7 @@ This task shows how to configure Istio to automatically gather telemetry for
services in a mesh. At the end of this task, a new metric and a new log stream
will be enabled for calls to services within your mesh.
-The [BookInfo]({{home}}/docs/samples/bookinfo.html) sample application is used
+The [BookInfo]({{home}}/docs/guides/bookinfo.html) sample application is used
as the example application throughout this task.
## Before you begin
@@ -312,5 +312,5 @@ here to illustrate how to use `match` expressions to control rule execution.
Config]({{home}}/docs/reference/writing-config.html).
* If you are not planning to explore any follow-on tasks, refer to the [BookInfo
- cleanup]({{home}}/docs/samples/bookinfo.html#cleanup) instructions to shutdown
+ cleanup]({{home}}/docs/guides/bookinfo.html#cleanup) instructions to shutdown
the application and cleanup the associated rules.
diff --git a/_docs/tasks/traffic-management/fault-injection.md b/_docs/tasks/traffic-management/fault-injection.md
index 5ab8edbf38..c4804741ea 100644
--- a/_docs/tasks/traffic-management/fault-injection.md
+++ b/_docs/tasks/traffic-management/fault-injection.md
@@ -17,7 +17,7 @@ This task shows how to inject delays and test the resiliency of your application
* Setup Istio by following the instructions in the
[Installation guide](({{home}}/docs/setup/).
-* Deploy the [BookInfo]({{home}}/docs/samples/bookinfo.html) sample application.
+* Deploy the [BookInfo]({{home}}/docs/guides/bookinfo.html) sample application.
* Initialize the application version routing by either first doing the
[request routing](./request-routing.html) task or by running following
@@ -117,5 +117,5 @@ continue without any errors.
* Limit requests to the BookInfo `ratings` service with Istio [rate limiting]({{home}}/docs/tasks/policy-enforcement/rate-limiting.html).
* If you are not planning to explore any follow-on tasks, refer to the
- [BookInfo cleanup]({{home}}/docs/samples/bookinfo.html#cleanup) instructions
+ [BookInfo cleanup]({{home}}/docs/guides/bookinfo.html#cleanup) instructions
to shutdown the application and cleanup the associated rules.
diff --git a/_docs/tasks/traffic-management/request-routing.md b/_docs/tasks/traffic-management/request-routing.md
index 4925eb6ac9..f87e09a936 100644
--- a/_docs/tasks/traffic-management/request-routing.md
+++ b/_docs/tasks/traffic-management/request-routing.md
@@ -17,7 +17,7 @@ This task shows you how to configure dynamic request routing based on weights an
* Setup Istio by following the instructions in the
[Installation guide](({{home}}/docs/setup/).
-* Deploy the [BookInfo]({{home}}/docs/samples/bookinfo.html) sample application.
+* Deploy the [BookInfo]({{home}}/docs/guides/bookinfo.html) sample application.
## Content-based routing
@@ -213,5 +213,5 @@ that we created exclusively for him:
* Test the BookInfo application resiliency by [injecting faults](./fault-injection.html).
* If you are not planning to explore any follow-on tasks, refer to the
- [BookInfo cleanup]({{home}}/docs/samples/bookinfo.html#cleanup) instructions
+ [BookInfo cleanup]({{home}}/docs/guides/bookinfo.html#cleanup) instructions
to shutdown the application and cleanup the associated rules.
diff --git a/_docs/tasks/traffic-management/request-timeouts.md b/_docs/tasks/traffic-management/request-timeouts.md
index 00c4e26b60..16622877a9 100644
--- a/_docs/tasks/traffic-management/request-timeouts.md
+++ b/_docs/tasks/traffic-management/request-timeouts.md
@@ -18,7 +18,7 @@ This task shows you how to setup request timeouts in Envoy using Istio.
* Setup Istio by following the instructions in the
[Installation guide](({{home}}/docs/setup/).
-* Deploy the [BookInfo]({{home}}/docs/samples/bookinfo.html) sample application.
+* Deploy the [BookInfo]({{home}}/docs/guides/bookinfo.html) sample application.
* Initialize the application version routing by running the following command:
@@ -137,5 +137,5 @@ the timeout is specified in millisecond (instead of second) units.
* Learn more about [routing rules]({{home}}/docs/concepts/traffic-management/rules-configuration.html).
* If you are not planning to explore any follow-on tasks, refer to the
- [BookInfo cleanup]({{home}}/docs/samples/bookinfo.html#cleanup) instructions
+ [BookInfo cleanup]({{home}}/docs/guides/bookinfo.html#cleanup) instructions
to shutdown the application and cleanup the associated rules.
diff --git a/_faq/how-do-i-get-started.md b/_faq/how-do-i-get-started.md
index b862eea2ca..7172e10a85 100644
--- a/_faq/how-do-i-get-started.md
+++ b/_faq/how-do-i-get-started.md
@@ -5,9 +5,8 @@ type: markdown
---
{% include home.html %}
-We recommend starting with the [BookInfo]({{home}}/docs/samples/bookinfo.html) sample, which walks through setting up a cluster with
-four distinct
-microservices managed by Istio. It exercises some basic features, including content-based routing, fault injection, and rate-limiting.
+We recommend starting with the [Guides]({{home}}/docs/guides/), which walks
+through different core Istio concepts in a tutorial style. The guides show
+case intelligent routing, policy enforcement, security, telemetry, etc.
-After you have mastered the BookInfo sample, you are ready to begin using Istio for your own services. To start using Istio on your existing Kubernetes
-or Consul deployment, please refer to our [Installation]({{home}}/docs/setup/) task guide.
+To start using Istio on your existing Kubernetes or Consul deployment, please refer to our [Installation]({{home}}/docs/setup/) task guide.
diff --git a/_faq/where-is-the-documentation.md b/_faq/where-is-the-documentation.md
index 591c98a089..c3e68d067f 100644
--- a/_faq/where-is-the-documentation.md
+++ b/_faq/where-is-the-documentation.md
@@ -8,7 +8,7 @@ type: markdown
Check out the [documentation]({{home}}/docs/) right here on istio.io. The docs include
[concept overviews]({{home}}/docs/concepts/),
[task guides]({{home}}/docs/tasks/),
-[samples]({{home}}/docs/samples/),
+[guides]({{home}}/docs/guides/),
and the [complete reference documentation]({{home}}/docs/reference/).
Detailed developer-level documentation is maintained for each component in GitHub, alongside the code. Please visit each repository for those docs:
diff --git a/_includes/footer.html b/_includes/footer.html
index 6fddc9a341..188a09836d 100644
--- a/_includes/footer.html
+++ b/_includes/footer.html
@@ -9,7 +9,7 @@
diff --git a/_posts/2017-08-10-0.1-using-network-policy.md b/_posts/2017-08-10-0.1-using-network-policy.md
index dd292a2444..e6d5adf462 100644
--- a/_posts/2017-08-10-0.1-using-network-policy.md
+++ b/_posts/2017-08-10-0.1-using-network-policy.md
@@ -102,8 +102,8 @@ spec:
Here is the service graph for the BookInfo application.
-
-
+
+