Skip to content

Commit 193c298

Browse files
committed
docs: add tencentcloud
Signed-off-by: fengxsong <fengxsong@outlook.com>
1 parent 42fa0f9 commit 193c298

File tree

2 files changed

+28
-7
lines changed

2 files changed

+28
-7
lines changed

README.md

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ Enable Kubernetes `cert-manager` to sync TLS certificates to AWS ACM, GCP, Hashi
1717
- [Heroku](#heroku)
1818
- [Incapsula](#incapsula)
1919
- [ThreatX](#threatx)
20+
- [Tencent Cloud](#tencent-cloud)
2021
- [Multiple Sync Destinations](#multiple-sync-destinations)
2122
- [Exponential backoff after a failed sync](#exponential-backoff-after-a-failed-sync)
2223
- [Forcing an immediate sync](#forcing-an-immediate-sync)
@@ -37,7 +38,7 @@ In containerized environments, we use `cert-manager` to automatically provision,
3738

3839
These certificates are managed entirely through code using git ops, and developers / operators never need to touch / see the actual plain-text certificate as it is automatically provisioned and attached to gateway.
3940

40-
However for applications that sit behind the Incapsula WAF, or have components in both EKS and CloudFront, there was not a seamless and secure process to attach certificates without operators manually passing DNS01 challenge records back and forth or worse, passing TLS certs back and forth.
41+
However for applications that sit behind the Incapsula WAF, or have components in both EKS and CloudFront, there was not a seamless and secure process to attach certificates without operators manually passing DNS01 challenge records back and forth or worse, passing TLS certs back and forth.
4142

4243
In addition to the security risk this poses, it also introduces a level of human error and manual tracking of expiry / renewals.
4344

@@ -235,6 +236,29 @@ Annotations:
235236
cert-manager-sync.lestak.sh/threatx-secret-name: "example-threatx-api-secret" # secret in same namespace which contains the threatx api key. If provided in format "namespace/secret-name", will look in that namespace for the secret
236237
```
237238

239+
### Tencent Cloud
240+
241+
Create a TencentCloud API Key and create a kube secret in whatever namespace you want.
242+
243+
```bash
244+
kubectl -n cert-manager \
245+
create secret generic tencentcloud-api-secret \
246+
--from-literal TENCENTCLOUD_SECRET_ID=XXXXX --from-literal TENCENTCLOUD_SECRET_KEY=XXXXX
247+
```
248+
249+
You will then annotate your k8s TLS secret with this secret name to tell the operator to retrieve the TencentCloud API secret from this location.
250+
251+
Annotations:
252+
253+
```yaml
254+
cert-manager-sync.lestak.sh/tencentcloud-secret-name: "tencentcloud-api-secret" # namespace/name of the secret which contains the api key. If provided in format "namespace/secret-name", will look in that namespace for the secret
255+
cert-manager-sync.lestak.sh/tencentcloud-secretIdKeyName: "TENCENTCLOUD_SECRET_ID" # keyname of the secret id in k8s secret
256+
cert-manager-sync.lestak.sh/tencentcloud-secretKeyKeyName: "TENCENTCLOUD_SECRET_KEY" # keyname of the secret key in k8s secret
257+
cert-manager-sync.lestak.sh/tencentcloud-alias: "xxx" # alias of the uploaded cert
258+
cert-manager-sync.lestak.sh/tencentcloud-projectId: "1" # project id of the uploaded cert, must be a uint64
259+
cert-manager-sync.lestak.sh/tencentcloud-resources: "cdn,waf,teo" # resource type that will be deployed with the cert
260+
```
261+
238262
## Multiple Sync Destinations
239263

240264
You are able to sync to multiple destinations from a single source secret by suffixing your config keys with a common index.
@@ -398,9 +422,8 @@ ENABLED_NAMESPACES= # csv of namespaces to watch. default is empty (all namespac
398422
SECRETS_NAMESPACE= # DEPRECATED, replaced by ENABLED_NAMESPACES. Namespace to look for secrets in. overrides ENABLED_NAMESPACES if set
399423
OPERATOR_NAME=cert-manager-sync.lestak.sh # Operator name. use for white-labeling
400424
LOG_LEVEL=info # Log level. trace, debug, info, warn, error, fatal
401-
CACHE_DISABLE=false # Disable cache
425+
CACHE_DISABLED=false # Disable cache
402426
METRICS_PORT=9090 # Metrics port
403-
ENABLE_METRICS=true # Enable metrics server
404427
```
405428

406429
If deploying with helm, these are exposed as values in the `values.yaml` file.
@@ -444,4 +467,4 @@ The following fields are included in the sync error log message:
444467

445468
```bash
446469
level=error action=SyncSecretToStore namespace=cert-manager secret=example store=acm error="error message"
447-
```
470+
```

deploy/cert-manager-sync/templates/deployment.yaml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,10 +52,8 @@ spec:
5252
value: "{{ .Values.config.logLevel }}"
5353
- name: LOG_FORMAT
5454
value: "{{ .Values.config.logFormat }}"
55-
- name: CACHE_DISABLE
55+
- name: CACHE_DISABLED
5656
value: "{{ .Values.config.disableCache }}"
57-
- name: ENABLE_METRICS
58-
value: "{{ .Values.metrics.enabled }}"
5957
- name: METRICS_PORT
6058
value: "{{ .Values.metrics.port }}"
6159
{{- with .Values.env }}

0 commit comments

Comments
 (0)