Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tls certs #106

Open
wants to merge 5 commits into
base: main-feature
Choose a base branch
from
Open
Show file tree
Hide file tree
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
46 changes: 46 additions & 0 deletions charts/amazon-cloudwatch-observability/templates/certmanager.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,36 @@ spec:
kind: Issuer
name: "agent-ca"
secretName: "amazon-cloudwatch-observability-agent-cert"
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
labels:
{{- include "amazon-cloudwatch-observability.labels" . | nindent 4 }}
name: "amazon-cloudwatch-observability-agent-server-cert"
namespace: {{ .Release.Namespace }}
spec:
dnsNames:
- "amazon-cloudwatch-observability-agent-server"
issuerRef:
kind: Issuer
name: "agent-ca"
secretName: "amazon-cloudwatch-observability-agent-server-cert"
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
labels:
{{- include "amazon-cloudwatch-observability.labels" . | nindent 4 }}
name: "amazon-cloudwatch-observability-agent-client-cert"
namespace: {{ .Release.Namespace }}
spec:
dnsNames:
- "amazon-cloudwatch-observability-agent-client"
issuerRef:
kind: Issuer
name: "agent-ca"
secretName: "amazon-cloudwatch-observability-agent-client-cert"
{{- if not .Values.agent.certManager.issuerRef }}
---
apiVersion: cert-manager.io/v1
Expand All @@ -87,5 +117,21 @@ metadata:
{{- include "amazon-cloudwatch-observability.labels" . | nindent 4 }}
name: "amazon-cloudwatch-observability-agent-cert"
namespace: {{ .Release.Namespace }}
---
apiVersion: v1
kind: Secret
metadata:
labels:
{{- include "amazon-cloudwatch-observability.labels" . | nindent 4 }}
name: "amazon-cloudwatch-observability-agent-server-cert"
namespace: {{ .Release.Namespace }}
---
apiVersion: v1
kind: Secret
metadata:
labels:
{{- include "amazon-cloudwatch-observability.labels" . | nindent 4 }}
name: "amazon-cloudwatch-observability-agent-client-cert"
namespace: {{ .Release.Namespace }}
{{- end }}

Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
{{- $altNames := list ( printf "%s-service" (include "dcgm-exporter.name" .) ) ( printf "%s-service" (include "neuron-monitor.name" .) ) ( printf "%s-service.%s.svc" (include "dcgm-exporter.name" .) .Release.Namespace ) ( printf "%s-service.%s.svc" (include "neuron-monitor.name" .) .Release.Namespace ) -}}
{{- $ca := genCA ("agent-ca") ( .Values.agent.autoGenerateCert.expiryDays | int ) -}}
{{- $cert := genSignedCert ("agent") nil $altNames ( .Values.admissionWebhooks.autoGenerateCert.expiryDays | int ) $ca -}}
{{- $serverCert := genSignedCert ("agent-server") nil nil ( .Values.admissionWebhooks.autoGenerateCert.expiryDays | int ) $ca -}}
{{- $clientCert := genSignedCert ("agent-client") nil nil ( .Values.admissionWebhooks.autoGenerateCert.expiryDays | int ) $ca -}}
apiVersion: v1
kind: Secret
metadata:
Expand All @@ -15,6 +17,30 @@ data:
tls.crt: {{ $cert.Cert | b64enc }}
tls.key: {{ $cert.Key | b64enc }}
---
apiVersion: v1
kind: Secret
metadata:
labels:
{{- include "amazon-cloudwatch-observability.labels" . | nindent 4}}
name: "amazon-cloudwatch-observability-agent-server-cert"
namespace: {{ .Release.Namespace }}
data:
ca.crt: {{ $ca.Cert | b64enc }}
tls.crt: {{ $serverCert.Cert | b64enc }}
tls.key: {{ $serverCert.Key | b64enc }}
---
apiVersion: v1
kind: Secret
metadata:
labels:
{{- include "amazon-cloudwatch-observability.labels" . | nindent 4}}
name: "amazon-cloudwatch-observability-agent-client-cert"
namespace: {{ .Release.Namespace }}
data:
ca.crt: {{ $ca.Cert | b64enc }}
tls.crt: {{ $clientCert.Cert | b64enc }}
tls.key: {{ $clientCert.Key | b64enc }}
---
{{- end -}}

{{- $clusterName := .Values.clusterName | required ".Values.clusterName is required." -}}
Expand Down Expand Up @@ -69,6 +95,12 @@ spec:
- mountPath: /etc/amazon-cloudwatch-observability-agent-cert
name: agenttls
readOnly: true
- mountPath: /etc/amazon-cloudwatch-observability-agent-client-cert
name: agentclienttls
readOnly: true
- mountPath: /etc/amazon-cloudwatch-observability-agent-server-cert
name: agentservertls
readOnly: true
- mountPath: /var/lib/kubelet/pod-resources
name: kubelet-podresources
volumes:
Expand Down Expand Up @@ -100,6 +132,20 @@ spec:
items:
- key: ca.crt
path: tls-ca.crt
- name: agentclienttls
secret:
secretName: amazon-cloudwatch-observability-agent-client-cert
items:
- key: ca.crt
path: tls-ca.crt
- name: agentservertls
secret:
secretName: amazon-cloudwatch-observability-agent-server-cert
items:
- key: tls.crt
path: server.crt
- key: tls.key
path: server.key
env:
- name: K8S_NODE_NAME
valueFrom:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,12 @@ spec:
- name: dmesg
mountPath: /var/log/dmesg
readOnly: true
- mountPath: /etc/amazon-cloudwatch-observability-agent-client-cert
name: agentclienttls
readOnly: true
- mountPath: /etc/amazon-cloudwatch-observability-agent-server-cert
name: agentservertls
readOnly: true
terminationGracePeriodSeconds: 10
hostNetwork: true
dnsPolicy: ClusterFirstWithHostNet
Expand All @@ -90,6 +96,20 @@ spec:
- name: dmesg
hostPath:
path: /var/log/dmesg
- name: agentclienttls
secret:
secretName: amazon-cloudwatch-observability-agent-client-cert
items:
- key: tls.crt
path: client.crt
- key: tls.key
path: client.key
- name: agentservertls
secret:
secretName: amazon-cloudwatch-observability-agent-server-cert
items:
- key: ca.crt
path: tls-ca.crt
serviceAccountName: {{ template "cloudwatch-agent.serviceAccountName" . }}
affinity:
nodeAffinity:
Expand Down
5 changes: 5 additions & 0 deletions charts/amazon-cloudwatch-observability/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,10 @@ containerLogs:
Refresh_Interval 10
Read_from_Head ${READ_FROM_HEAD}
[FILTER]
Name aws
Match application.*
[FILTER]
Name kubernetes
Match application.*
Expand All @@ -132,6 +136,7 @@ containerLogs:
Use_Kubelet On
Kubelet_Port 10250
Buffer_Size 0
Use_Pod_Association On
[OUTPUT]
Name cloudwatch_logs
Expand Down
Loading