Skip to content

Commit 67f03b0

Browse files
authored
Merge pull request #11 from ppeble/1.14-updates
Fix metadata for 1.14 navigation (and drop old 2.X versions) #10
2 parents fba5585 + c0afada commit 67f03b0

File tree

1,364 files changed

+1528
-94315
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,364 files changed

+1528
-94315
lines changed

content/en/docs/1.14/about/_index.md

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
title: "About"
3+
weight: 10
4+
---
+6-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1-
# $productName$ vs. other software
1+
---
2+
title: "Alternatives"
3+
---
24

3-
Alternatives to the $productName$ fall into three basic categories:
5+
Alternatives to the Emissary fall into three basic categories:
46

57
* Hosted API gateways, such as the [Amazon API gateway](https://aws.amazon.com/api-gateway/).
68
* Traditional API gateways, such as [Kong](https://konghq.org/).
@@ -12,8 +14,8 @@ Both hosted API gateways and traditional API gateways are:
1214
* Not Kubernetes-native. They're typically configured using REST APIs, making it challenging to adopt cloud-native patterns such as GitOps and declarative configuration.
1315
* [Designed for API management, versus microservices](../../topics/concepts/microservices-api-gateways).
1416

15-
A Layer 7 proxy can be used as an API gateway, but typically requires additional bespoke development to support microservices use cases. In fact, many API gateways package the additional features needed for an API gateway on top of an L7 proxy. The $productName$ uses Envoy, while Kong uses NGINX. If you're interested in deploying Envoy directly, we've written an [introductory tutorial](https://www.datawire.io/guide/traffic/getting-started-lyft-envoy-microservices-resilience/).
17+
A Layer 7 proxy can be used as an API gateway, but typically requires additional bespoke development to support microservices use cases. In fact, many API gateways package the additional features needed for an API gateway on top of an L7 proxy. The Emissary uses Envoy, while Kong uses NGINX. If you're interested in deploying Envoy directly, we've written an [introductory tutorial](https://www.datawire.io/guide/traffic/getting-started-lyft-envoy-microservices-resilience/).
1618

1719
## Istio
1820

19-
[Istio](https://istio.io) is an open-source service mesh, built on Envoy. A service mesh is designed to manage East/West traffic (traffic between servers and your data center), while an API gateway manages North/South traffic (in and out of your data center). Documentation on how to deploy the $productName$ with Istio is [here](../../howtos/istio). In general, we've found that North/South traffic is quite different from East/West traffic (i.e., you don't control the client in the North/South use case).
21+
[Istio](https://istio.io) is an open-source service mesh, built on Envoy. A service mesh is designed to manage East/West traffic (traffic between servers and your data center), while an API gateway manages North/South traffic (in and out of your data center). Documentation on how to deploy the Emissary with Istio is [here](../../howtos/istio). In general, we've found that North/South traffic is quite different from East/West traffic (i.e., you don't control the client in the North/South use case).

content/en/docs/1.14/about/faq.md

+29-27
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,55 @@
1-
# Frequently Asked Questions
1+
---
2+
title: Frequently Asked Questions
3+
---
24

35
## General
46

5-
### Why $productName$?
7+
### Why Emissary?
68

79
Kubernetes shifts application architecture for microservices, as well as the
8-
development workflow for a full-cycle development. $productName$ is designed for
10+
development workflow for a full-cycle development. Emissary is designed for
911
the Kubernetes world with:
1012

1113
* Sophisticated traffic management capabilities (thanks to its use of [Envoy Proxy](https://www.envoyproxy.io)), such as load balancing, circuit breakers, rate limits, and automatic retries.
1214
* API management capabilities such as a developer portal and OpenID Connect integration for Single Sign-On.
1315
* A declarative, self-service management model built on Kubernetes Custom Resource Definitions, enabling GitOps-style continuous delivery workflows.
1416

15-
We've written about [the history of $productName$](https://blog.getambassador.io/building-ambassador-an-open-source-api-gateway-on-kubernetes-and-envoy-ed01ed520844), [Why $productName$ In Depth](../why-ambassador), [Features and Benefits](../features-and-benefits) and about the [evolution of API Gateways](../../topics/concepts/microservices-api-gateways/).
17+
We've written about [the history of Emissary](https://blog.getambassador.io/building-ambassador-an-open-source-api-gateway-on-kubernetes-and-envoy-ed01ed520844), [Why Emissary In Depth](../why-ambassador), [Features and Benefits](../features-and-benefits) and about the [evolution of API Gateways](../../topics/concepts/microservices-api-gateways/).
1618

17-
### What's the difference between the $OSSproductName$ and the $AESproductName$?
19+
### What's the difference between the Emissary and the Ambassador Edge Stack?
1820

19-
The $OSSproductName$ was the name of the original open-source project. As the project evolved, we realized that the functionality we were building had extended far beyond an API Gateway. In particular, the $AESproductName$ is intended to provide all the functionality you need at the edge -- hence, an "edge stack." This includes an API Gateway, ingress controller, load balancer, developer portal, and more.
21+
The Emissary was the name of the original open-source project. As the project evolved, we realized that the functionality we were building had extended far beyond an API Gateway. In particular, the Ambassador Edge Stack is intended to provide all the functionality you need at the edge -- hence, an "edge stack." This includes an API Gateway, ingress controller, load balancer, developer portal, and more.
2022

21-
### How is $AESproductName$ licensed?
23+
### How is Ambassador Edge Stack licensed?
2224

23-
The core $OSSproductName$ is open source under the Apache Software License 2.0. The GitHub repository for the core is [https://github.com/datawire/ambassador](https://github.com/datawire/ambassador). Some additional features of the $AESproductName$ (e.g., Single Sign-On) are not open source and available under a proprietary license.
25+
The core Emissary is open source under the Apache Software License 2.0. The GitHub repository for the core is [https://github.com/datawire/ambassador](https://github.com/datawire/ambassador). Some additional features of the Ambassador Edge Stack (e.g., Single Sign-On) are not open source and available under a proprietary license.
2426

25-
### Can I use the add-on features for $AESproductName$ for free?
27+
### Can I use the add-on features for Ambassador Edge Stack for free?
2628

27-
Yes! The core functionality of the $AESproductName$ is free and has no limits whatsoever. If you wish to use one of our additional, proprietary features such as Single Sign-On, you can get a free community license for up to 5 requests per second. Please contact [sales](/contact-us/) if you need more than 5 RPS.
29+
Yes! The core functionality of the Ambassador Edge Stack is free and has no limits whatsoever. If you wish to use one of our additional, proprietary features such as Single Sign-On, you can get a free community license for up to 5 requests per second. Please contact [sales](/contact-us/) if you need more than 5 RPS.
2830

2931
For more details on core unlimited features and premium features, see the [editions page](/editions).
3032

31-
### How does $productName$ use Envoy Proxy?
33+
### How does Emissary use Envoy Proxy?
3234

33-
$productName$ uses [Envoy Proxy](https://www.envoyproxy.io) as its core proxy. Envoy is an open-source, high-performance proxy originally written by Lyft. Envoy is now part of the Cloud Native Computing Foundation.
35+
Emissary uses [Envoy Proxy](https://www.envoyproxy.io) as its core proxy. Envoy is an open-source, high-performance proxy originally written by Lyft. Envoy is now part of the Cloud Native Computing Foundation.
3436

35-
### Is $productName$ production ready?
37+
### Is Emissary production ready?
3638

37-
Yes. Thousands of organizations, large and small, run $productName$ in production.
39+
Yes. Thousands of organizations, large and small, run Emissary in production.
3840
Public users include Chick-Fil-A, ADP, Microsoft, NVidia, and AppDirect, among others.
3941

40-
### What is the performance of $productName$?
42+
### What is the performance of Emissary?
4143

42-
There are many dimensions to performance. We published a benchmark of [$productName$ performance on Kubernetes](/resources/envoyproxy-performance-on-k8s/). Our internal performance regressions cover many other scenarios; we expect to publish more data in the future.
44+
There are many dimensions to performance. We published a benchmark of [Emissary performance on Kubernetes](/resources/envoyproxy-performance-on-k8s/). Our internal performance regressions cover many other scenarios; we expect to publish more data in the future.
4345

44-
### What's the difference between a service mesh (such as Istio) and $productName$?
46+
### What's the difference between a service mesh (such as Istio) and Emissary?
4547

4648
Service meshes focus on routing internal traffic from service to service
47-
("east-west"). $productName$ focuses on traffic into your cluster ("north-south").
48-
While both a service mesh and $productName$ can route L7 traffic, the reality is that
49-
these use cases are quite different. Many users will integrate $productName$ with a
50-
service mesh. Production customers of $productName$ have integrated with Consul,
49+
("east-west"). Emissary focuses on traffic into your cluster ("north-south").
50+
While both a service mesh and Emissary can route L7 traffic, the reality is that
51+
these use cases are quite different. Many users will integrate Emissary with a
52+
service mesh. Production customers of Emissary have integrated with Consul,
5153
Istio, and Linkerd2.
5254

5355
## Common Configurations
@@ -56,7 +58,7 @@ Istio, and Linkerd2.
5658

5759
Established users will want to better control 404 behavior both for usability and
5860
security. You can leverage the Mapping resource to implement this functionality to
59-
your cluster. $productName$ users can use a 'catch-all' mapping using the '/'
61+
your cluster. Emissary users can use a 'catch-all' mapping using the '/'
6062
prefix in a mapping configuration. The simplest mapping, described below, returns only 404 text.
6163
To use a custom 404 landing page, simply insert your service and remove the rewrite value.
6264

@@ -78,7 +80,7 @@ For more information on the Mapping resource, see [Advanced Mapping Configuratio
7880
In a production environment, public access to the console and admin endpoints is not an
7981
ideal situation. To solve this, we will be using an Ambassador Module to remove the default
8082
mappings and create a new, host-based mapping to expose the Admin endpoint more securely. The
81-
Ambassador module applies system-wide configuration settings for $productName$ to follow.
83+
Ambassador module applies system-wide configuration settings for Emissary to follow.
8284
8385
```yaml
8486
apiVersion: getambassador.io/v2
@@ -113,7 +115,7 @@ learn more about Ambassador Module configurations, see [Ambassador Module](../..
113115
114116
## Troubleshooting
115117
116-
### How do I get help for $productName$?
118+
### How do I get help for Emissary?
117119
118120
We have an online [Slack community](http://a8r.io/slack) with thousands of
119121
users. We try to help out as often as possible, although we can't promise a
@@ -122,10 +124,10 @@ contracts. [Contact sales](/contact-us/) for more information.
122124
123125
### What do I do when I get the error `no healthy upstream`?
124126

125-
This error means that $productName$ could not connect to your backend service.
127+
This error means that Emissary could not connect to your backend service.
126128
Start by verifying that your backend service is actually available and
127129
responding by sending an HTTP response directly to the pod. Then, verify that
128-
$productName$ is routing by deploying a test service and seeing if the mapping
130+
Emissary is routing by deploying a test service and seeing if the mapping
129131
works. Then, verify that your load balancer is properly routing requests to
130-
$productName$. In general, verifying each network hop between your client and
132+
Emissary. In general, verifying each network hop between your client and
131133
backend service is critical to finding the source of the problem.
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,41 @@
1-
# Features and benefits
1+
---
2+
title: Features and Benefits
3+
---
24

3-
In cloud-native organizations, developers frequently take on responsibility for the full development lifecycle of a service, from development to QA to operations. $productName$ was specifically designed for these organizations where developers have operational responsibility for their service(s).
5+
In cloud-native organizations, developers frequently take on responsibility for the full development lifecycle of a service, from development to QA to operations. Emissary was specifically designed for these organizations where developers have operational responsibility for their service(s).
46

5-
As such, the $productName$ is designed to be used by both developers and operators.
7+
As such, the Emissary is designed to be used by both developers and operators.
68

79
## Self-Service via Kubernetes Annotations
810

9-
$productName$ is built from the start to support _self-service_ deployments -- a developer working on a new service doesn't have to go to Operations to get their service added to the mesh, they can do it themselves in a matter of seconds. Likewise, a developer can remove their service from the mesh, or merge services, or separate services, as needed, at their convenience. All of these operations are performed via Kubernetes annotations, so it can easily integrate with your existing development workflow.
11+
Emissary is built from the start to support _self-service_ deployments -- a developer working on a new service doesn't have to go to Operations to get their service added to the mesh, they can do it themselves in a matter of seconds. Likewise, a developer can remove their service from the mesh, or merge services, or separate services, as needed, at their convenience. All of these operations are performed via Kubernetes annotations, so it can easily integrate with your existing development workflow.
1012

1113
## Flexible canary deployments
1214

13-
Canary deployments are an essential component of cloud-native development workflows. In a canary deployment, a small percentage of production traffic is routed to a new version of a service to test it under real-world conditions. $productName$ allows developers to easily control and manage the amount of traffic routed to a given service through annotations. [This tutorial](https://www.datawire.io/faster/canary-workflow/) covers a complete canary workflow using the $productName$.
15+
Canary deployments are an essential component of cloud-native development workflows. In a canary deployment, a small percentage of production traffic is routed to a new version of a service to test it under real-world conditions. Emissary allows developers to easily control and manage the amount of traffic routed to a given service through annotations. [This tutorial](https://www.datawire.io/faster/canary-workflow/) covers a complete canary workflow using the Emissary.
1416

1517
## Kubernetes-native architecture
1618

17-
$productName$ relies entirely on Kubernetes for reliability, availability, and scalability. For example, $productName$ persists all state in Kubernetes, instead of requiring a separate database. Scaling the $productName$ is as simple as changing the replicas in your deployment, or using a [horizontal pod autoscaler](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/).
19+
Emissary relies entirely on Kubernetes for reliability, availability, and scalability. For example, Emissary persists all state in Kubernetes, instead of requiring a separate database. Scaling the Emissary is as simple as changing the replicas in your deployment, or using a [horizontal pod autoscaler](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/).
1820

19-
$productName$ uses [Envoy](https://www.envoyproxy.io) for all traffic routing and proxying. Envoy is a modern L7 proxy that is used in production at companies including Lyft, Apple, Google, and Stripe.
21+
Emissary uses [Envoy](https://www.envoyproxy.io) for all traffic routing and proxying. Envoy is a modern L7 proxy that is used in production at companies including Lyft, Apple, Google, and Stripe.
2022

2123
## gRPC and HTTP/2 support
2224

23-
$productName$ fully supports gRPC and HTTP/2 routing, thanks to Envoy's extensive capabilities in this area. See [gRPC and the $productName$](../../howtos/grpc) for more information.
25+
Emissary fully supports gRPC and HTTP/2 routing, thanks to Envoy's extensive capabilities in this area. See [gRPC and the Emissary](../../howtos/grpc) for more information.
2426

2527
## Istio Integration
2628

27-
$productName$ integrates with the [Istio](https://istio.io) service mesh as the edge proxy. In this configuration, $productName$ routes external traffic to the internal Istio service mesh. See [Istio and the $productName$](../../howtos/istio) for details.
29+
Emissary integrates with the [Istio](https://istio.io) service mesh as the edge proxy. In this configuration, Emissary routes external traffic to the internal Istio service mesh. See [Istio and the Emissary](../../howtos/istio) for details.
2830

2931
## Authentication
3032

31-
$productName$ supports authenticating incoming requests with a [custom authentication service](../../howtos/basic-auth/), and $AESproductName$ natively supports OAuth/OpenID Connect, or JWT. When configured, the $AESproductName$ will check with a third party authentication service prior to routing an incoming request. For more information, see the [authentication guide](/docs/edge-stack/latest/topics/using/filters/).
33+
Emissary supports authenticating incoming requests with a [custom authentication service](../../howtos/basic-auth/), and Ambassador Edge Stack natively supports OAuth/OpenID Connect, or JWT. When configured, the Ambassador Edge Stack will check with a third party authentication service prior to routing an incoming request. For more information, see the [authentication guide](/docs/edge-stack/latest/topics/using/filters/).
3234

3335
## Rate limiting
3436

35-
$productName$ supports rate limiting incoming requests. When configured, the $productName$ will check with a third party rate limit service prior to routing an incoming request. For more information, see the [rate limiting guide](../../topics/using/rate-limits/).
37+
Emissary supports rate limiting incoming requests. When configured, the Emissary will check with a third party rate limit service prior to routing an incoming request. For more information, see the [rate limiting guide](../../topics/using/rate-limits/).
3638

3739
## Integrated UI
3840

39-
$productName$ includes a diagnostics service so that you can quickly debug issues associated with configuring the $productName$. For more information, see [running $productName$ in Production](../../topics/running).
41+
Emissary includes a diagnostics service so that you can quickly debug issues associated with configuring the Emissary. For more information, see [running Emissary in Production](../../topics/running).

0 commit comments

Comments
 (0)