question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Does Ambassador directly support mTLS?

See original GitHub issue

This is NOT a bug, but a simple question. I am not yet sure if Ambassador supports mTLS or not.

According to the documentation,

To configure mTLS between Ambassador Edge Stack and your upstream services, you need to create a TLSContext with certificates that are signed by the Certificate Authority (CA) of your upstream service.

With this statement, it loos like it does. All I have to do is to create an Ambassador object. But then it jumps to Istio mTLS and Consul mTLS. So, it takes advantage of other technology mTLS or does it provide this feature?

If it doesn’t, I find it not very practical to install Istio (which is quite resource consuming. well, not the latest versions, but still…), for this one feature when Istio itself provides most of the features Ambassador offers.

Also, it confuses me this statement:

Istio creates and stores its TLS certificates in a form that Ambassador Edge Stack is currently unable to automatically read.

It makes me believe that Ambassador actually delegates mTLS part to Istio, and doesn’t have this feature. Otherwise, why to not just create your own secret, with your own certs and mount it to Ambassador container.

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Comments:6 (5 by maintainers)

github_iconTop GitHub Comments

1reaction
ppeblecommented, Feb 20, 2020

Also of note: I recently had a PR land that will hopefully be released in the next version. When you mount the secrets as the docs specify then rotated certs are not picked up by ambassador, requiring a restart of the Ambassador pods. My PR changed to read directly from k8s, hopefully alleviating this: https://github.com/datawire/ambassador/pull/2277

The new format will be:

apiVersion: ambassador/v2
kind: TLSContext
name: istio-upstream
secret: istio.ambassador
namespace: ambassador
secret_namespacing: False

No more mounting!

We run with strict mTLS in our cluster without issues but it does require the TLSContext.

I will be submitting a PR to update to the docs sometime soon once this new functionality lands.

0reactions
richarddlicommented, Mar 6, 2020

Thanks!

Read more comments on GitHub >

github_iconTop Results From Across the Web

Does Ambassador directly support mTLS? · Issue #2307
According to the documentation,. To configure mTLS between Ambassador Edge Stack and your upstream services, you need to create a TLSContext ...
Read more >
Mutual TLS (mTLS) | Edge Stack
Ambassador Edge Stack integrates with multiple service meshes and makes it easy to configure mTLS to upstream services for all of them. Click...
Read more >
Transport Layer Security (TLS)
With Ambassador Edge Stack, the Host can be configured to completely manage TLS by requesting a certificate from a Certificate Authority using the...
Read more >
Securing Kubernetes Ingress with Ambassador and Let's ...
Cert-manager supports multiple issuer types. Let's Encrypt uses the ACME protocol and therefore we will configure an ACME issuer type. These ...
Read more >
Issue with Mender Client Certificate/Mutual TLS tutorial or setup
registry.mender.io/mendersoftware/mtls-ambassador:master ... from support for this issue but my company is still very interested in testing ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found