Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 31 additions & 7 deletions site/content/en/latest/tasks/security/backend-tls.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,12 +59,35 @@ Store the cert/key in a Secret:
kubectl create secret tls example-cert --key=www.example.com.key --cert=www.example.com.crt
```

Store the CA Cert in another Secret:
Store the CA Cert in different ways:

{{< tabpane text=true >}}
{{% tab header="ConfigMap" %}}

```shell
kubectl create configmap example-ca --from-file=ca.crt
```

{{% /tab %}}

{{% tab header="ClusterTrustBundle" %}}

Save and apply the following resource to your cluster:

```shell
apiVersion: certificates.k8s.io/v1beta1
kind: ClusterTrustBundle
metadata:
name: example-ca
spec:
trustBundle: |
[content from ca.crt]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is this valid ? will this command work ?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it need users to handle the indentation correctly, I didn't figure out a easy way.

```

{{% /tab %}}

{{< /tabpane >}}

## Setup TLS on the backend

Patch the existing quickstart backend to enable TLS. The patch will mount the TLS certificate secret into the backend as volume.
Expand Down Expand Up @@ -159,7 +182,7 @@ Note: SectionName is an optional field that specifies the name of the port in th
If the target is a [Backend] resource, the `sectionName` field should be set to the port number of the backend.

{{< tabpane text=true >}}
{{% tab header="Apply from stdin" %}}
{{% tab header="ConfigMap" %}}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

curious why this changed

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we need to support both ConfigMap/ClusterTrustBundle.

TBH, that apply from file seems useless.


```shell
cat <<EOF | kubectl apply -f -
Expand All @@ -184,11 +207,11 @@ EOF
```

{{% /tab %}}
{{% tab header="Apply from file" %}}
Save and apply the following resource to your cluster:

```yaml
---
{{% tab header="ClusterTrustBundle" %}}

```shell
cat <<EOF | kubectl apply -f -
apiVersion: gateway.networking.k8s.io/v1alpha3
kind: BackendTLSPolicy
metadata:
Expand All @@ -204,8 +227,9 @@ spec:
caCertificateRefs:
- name: example-ca
group: ''
kind: ConfigMap
kind: ClusterTrustBundle
hostname: www.example.com
EOF
```

{{% /tab %}}
Expand Down