Skip to content

Commit

Permalink
edited yml
Browse files Browse the repository at this point in the history
  • Loading branch information
bhanuba committed Dec 6, 2023
1 parent a01d13b commit 2bd38bc
Show file tree
Hide file tree
Showing 11 changed files with 821 additions and 0 deletions.
1 change: 1 addition & 0 deletions .github/workflows/operator-integration-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,7 @@ jobs:
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.12.0/cert-manager.yaml
make deploy
sleep 120
helm install cloudwatch-agent integration-tests/terraform/testbuild/helm --namespace amazon-cloudwatch
kubectl get pod -A
kubectl get all -n amazon-cloudwatch
kubectl get crd
Expand Down
25 changes: 25 additions & 0 deletions integration-tests/terraform/testbuild/helm/.helmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*.orig
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/
# Release related files
release/
13 changes: 13 additions & 0 deletions integration-tests/terraform/testbuild/helm/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
apiVersion: v2
name: amazon-cloudwatch-observability
version: 1.2.0
appVersion: 1.0.0
description: A Helm chart for Amazon CloudWatch Observability
type: application
home: https://aws.amazon.com/cloudwatch/
sources:
- https://github.com/aws/amazon-cloudwatch-agent-operator
maintainers:
- name: straussb
- name: lisaguo
- name: kausyas
116 changes: 116 additions & 0 deletions integration-tests/terraform/testbuild/helm/templates/_helpers.tpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
{{/*
Expand the name of the chart.
*/}}
{{- define "amazon-cloudwatch-observability.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
{{- end }}

{{/*
Name for cloudwatch-agent
*/}}
{{- define "cloudwatch-agent.name" -}}
{{- default "cloudwatch-agent" .Values.agent.name }}
{{- end }}

{{/*
Get the current recommended cloudwatch agent image for a region
*/}}
{{- define "cloudwatch-agent.image" -}}
{{- $imageDomain := "" -}}
{{- $imageDomain = index .Values.agent.image.repositoryDomainMap .Values.region -}}
{{- if not $imageDomain -}}
{{- $imageDomain = .Values.agent.image.repositoryDomainMap.public -}}
{{- end -}}
{{- printf "%s/%s:%s" $imageDomain .Values.agent.image.repository .Values.agent.image.tag -}}
{{- end -}}

{{/*
Get the current recommended cloudwatch agent operator image for a region
*/}}
{{- define "cloudwatch-agent-operator.image" -}}
{{- $imageDomain := "" -}}
{{- $imageDomain = index .Values.manager.image.repositoryDomainMap .Values.region -}}
{{- if not $imageDomain -}}
{{- $imageDomain = .Values.manager.image.repositoryDomainMap.public -}}
{{- end -}}
{{- printf "%s/%s:%s" $imageDomain .Values.manager.image.repository .Values.manager.image.tag -}}
{{- end -}}

{{/*
Get the current recommended fluent-bit image for a region
*/}}
{{- define "fluent-bit.image" -}}
{{- $imageDomain := "" -}}
{{- $imageDomain = index .Values.containerLogs.fluentBit.image.repositoryDomainMap .Values.region -}}
{{- if not $imageDomain -}}
{{- $imageDomain = .Values.containerLogs.fluentBit.image.repositoryDomainMap.public -}}
{{- end -}}
{{- printf "%s/%s:%s" $imageDomain .Values.containerLogs.fluentBit.image.repository .Values.containerLogs.fluentBit.image.tag -}}
{{- end -}}

{{/*
Common labels
*/}}
{{- define "amazon-cloudwatch-observability.labels" -}}
{{ include "amazon-cloudwatch-observability.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: EKS
{{- end }}

{{/*
Selector labels
*/}}
{{- define "amazon-cloudwatch-observability.selectorLabels" -}}
app.kubernetes.io/name: {{ include "amazon-cloudwatch-observability.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}

{{/*
Create the name of the service account to use
*/}}
{{- define "amazon-cloudwatch-observability.managerServiceAccountName" -}}
{{- if .Values.manager.serviceAccount.create }}
{{- default (printf "%s-controller-manager" (include "amazon-cloudwatch-observability.name" .)) .Values.manager.serviceAccount.name }}
{{- else }}
{{- default "default" .Values.manager.serviceAccount.name }}
{{- end }}
{{- end }}

{{/*
Create the name of the service account to use
*/}}
{{- define "cloudwatch-agent.serviceAccountName" -}}
{{- if .Values.agent.enabled }}
{{- default (include "cloudwatch-agent.name" .) .Values.agent.serviceAccount.name }}
{{- else }}
{{- default "default" .Values.agent.serviceAccount.name }}
{{- end }}
{{- end }}

{{- define "amazon-cloudwatch-observability.podAnnotations" -}}
{{- if .Values.manager.podAnnotations }}
{{- .Values.manager.podAnnotations | toYaml }}
{{- end }}
{{- end }}

{{- define "amazon-cloudwatch-observability.podLabels" -}}
{{- if .Values.manager.podLabels }}
{{- .Values.manager.podLabels | toYaml }}
{{- end }}
{{- end }}

{{/*
Define the default certificate secret name
*/}}
{{- define "amazon-cloudwatch-observability.certificateSecretName" -}}
{{- default (printf "%s-controller-manager-service-cert" (include "amazon-cloudwatch-observability.name" .)) .Values.admissionWebhooks.secretName }}
{{- end -}}

{{/*
Define the default service name
*/}}
{{- define "amazon-cloudwatch-observability.webhookServiceName" -}}
{{- default (printf "%s-webhook-service" (include "amazon-cloudwatch-observability.name" .)) .Values.manager.service.name }}
{{- end -}}
Original file line number Diff line number Diff line change
@@ -0,0 +1,222 @@
{{- if and (.Values.admissionWebhooks.create) (.Values.admissionWebhooks.certManager.enabled) }}
apiVersion: admissionregistration.k8s.io/v1
kind: MutatingWebhookConfiguration
metadata:
annotations:
cert-manager.io/inject-ca-from: {{ printf "%s/%s-serving-cert" .Release.Namespace (include "amazon-cloudwatch-observability.name" .) }}
labels:
{{- include "amazon-cloudwatch-observability.labels" . | nindent 4}}
name: {{ template "amazon-cloudwatch-observability.name" . }}-mutating-webhook-configuration
webhooks:
- admissionReviewVersions:
- v1
clientConfig:
service:
name: {{ template "amazon-cloudwatch-observability.webhookServiceName" . }}
namespace: {{ .Release.Namespace }}
path: /mutate-cloudwatch-aws-amazon-com-v1alpha1-instrumentation
failurePolicy: {{ .Values.admissionWebhooks.failurePolicy }}
name: minstrumentation.kb.io
{{- if .Values.admissionWebhooks.namespaceSelector }}
namespaceSelector:
{{- toYaml .Values.admissionWebhooks.namespaceSelector | nindent 6 }}
{{- end }}
{{- if .Values.admissionWebhooks.objectSelector }}
objectSelector:
{{- toYaml .Values.admissionWebhooks.objectSelector | nindent 6 }}
{{- end }}
rules:
- apiGroups:
- cloudwatch.aws.amazon.com
apiVersions:
- v1alpha1
operations:
- CREATE
- UPDATE
resources:
- instrumentations
sideEffects: None
timeoutSeconds: {{ .Values.admissionWebhooks.timeoutSeconds }}
- admissionReviewVersions:
- v1
clientConfig:
service:
name: {{ template "amazon-cloudwatch-observability.webhookServiceName" . }}
namespace: {{ .Release.Namespace }}
path: /mutate-cloudwatch-aws-amazon-com-v1alpha1-amazoncloudwatchagent
failurePolicy: {{ .Values.admissionWebhooks.failurePolicy }}
name: mamazoncloudwatchagent.kb.io
{{- if .Values.admissionWebhooks.namespaceSelector }}
namespaceSelector:
{{- toYaml .Values.admissionWebhooks.namespaceSelector | nindent 6 }}
{{- end }}
{{- if .Values.admissionWebhooks.objectSelector }}
objectSelector:
{{- toYaml .Values.admissionWebhooks.objectSelector | nindent 6 }}
{{- end }}
rules:
- apiGroups:
- cloudwatch.aws.amazon.com
apiVersions:
- v1alpha1
operations:
- CREATE
- UPDATE
resources:
- amazoncloudwatchagents
sideEffects: None
timeoutSeconds: {{ .Values.admissionWebhooks.timeoutSeconds }}
- admissionReviewVersions:
- v1
clientConfig:
service:
name: {{ template "amazon-cloudwatch-observability.webhookServiceName" . }}
namespace: {{ .Release.Namespace }}
path: /mutate-v1-pod
failurePolicy: {{ .Values.admissionWebhooks.pods.failurePolicy }}
name: mpod.kb.io
{{- if .Values.admissionWebhooks.namespaceSelector }}
namespaceSelector:
{{- toYaml .Values.admissionWebhooks.namespaceSelector | nindent 6 }}
{{- end }}
{{- if .Values.admissionWebhooks.objectSelector }}
objectSelector:
{{- toYaml .Values.admissionWebhooks.objectSelector | nindent 6 }}
{{- end }}
rules:
- apiGroups:
- ""
apiVersions:
- v1
operations:
- CREATE
- UPDATE
resources:
- pods
sideEffects: None
timeoutSeconds: {{ .Values.admissionWebhooks.timeoutSeconds }}
---
apiVersion: admissionregistration.k8s.io/v1
kind: ValidatingWebhookConfiguration
metadata:
annotations:
cert-manager.io/inject-ca-from: {{ printf "%s/%s-serving-cert" .Release.Namespace (include "amazon-cloudwatch-observability.name" .) }}
labels:
{{- include "amazon-cloudwatch-observability.labels" . | nindent 4}}
name: {{ template "amazon-cloudwatch-observability.name" . }}-validating-webhook-configuration
webhooks:
- admissionReviewVersions:
- v1
clientConfig:
service:
name: {{ template "amazon-cloudwatch-observability.webhookServiceName" . }}
namespace: {{ .Release.Namespace }}
path: /validate-cloudwatch-aws-amazon-com-v1alpha1-instrumentation
failurePolicy: {{ .Values.admissionWebhooks.failurePolicy }}
name: vinstrumentationcreateupdate.kb.io
{{- if .Values.admissionWebhooks.namespaceSelector }}
namespaceSelector:
{{- toYaml .Values.admissionWebhooks.namespaceSelector | nindent 6 }}
{{- end }}
{{- if .Values.admissionWebhooks.objectSelector }}
objectSelector:
{{- toYaml .Values.admissionWebhooks.objectSelector | nindent 6 }}
{{- end }}
rules:
- apiGroups:
- cloudwatch.aws.amazon.com
apiVersions:
- v1alpha1
operations:
- CREATE
- UPDATE
resources:
- instrumentations
sideEffects: None
timeoutSeconds: {{ .Values.admissionWebhooks.timeoutSeconds }}
- admissionReviewVersions:
- v1
clientConfig:
service:
name: {{ template "amazon-cloudwatch-observability.webhookServiceName" . }}
namespace: {{ .Release.Namespace }}
path: /validate-cloudwatch-aws-amazon-com-v1alpha1-instrumentation
failurePolicy: Ignore
name: vinstrumentationdelete.kb.io
{{- if .Values.admissionWebhooks.namespaceSelector }}
namespaceSelector:
{{- toYaml .Values.admissionWebhooks.namespaceSelector | nindent 6 }}
{{- end }}
{{- if .Values.admissionWebhooks.objectSelector }}
objectSelector:
{{- toYaml .Values.admissionWebhooks.objectSelector | nindent 6 }}
{{- end }}
rules:
- apiGroups:
- cloudwatch.aws.amazon.com
apiVersions:
- v1alpha1
operations:
- DELETE
resources:
- instrumentations
sideEffects: None
timeoutSeconds: {{ .Values.admissionWebhooks.timeoutSeconds }}
- admissionReviewVersions:
- v1
clientConfig:
service:
name: {{ template "amazon-cloudwatch-observability.webhookServiceName" . }}
namespace: {{ .Release.Namespace }}
path: /validate-cloudwatch-aws-amazon-com-v1alpha1-amazoncloudwatchagent
failurePolicy: {{ .Values.admissionWebhooks.failurePolicy }}
name: vamazoncloudwatchagentcreateupdate.kb.io
{{- if .Values.admissionWebhooks.namespaceSelector }}
namespaceSelector:
{{- toYaml .Values.admissionWebhooks.namespaceSelector | nindent 6 }}
{{- end }}
{{- if .Values.admissionWebhooks.objectSelector }}
objectSelector:
{{- toYaml .Values.admissionWebhooks.objectSelector | nindent 6 }}
{{- end }}
rules:
- apiGroups:
- cloudwatch.aws.amazon.com
apiVersions:
- v1alpha1
operations:
- CREATE
- UPDATE
resources:
- amazoncloudwatchagents
sideEffects: None
timeoutSeconds: {{ .Values.admissionWebhooks.timeoutSeconds }}
- admissionReviewVersions:
- v1
clientConfig:
service:
name: {{ template "amazon-cloudwatch-observability.webhookServiceName" . }}
namespace: {{ .Release.Namespace }}
path: /validate-cloudwatch-aws-amazon-com-v1alpha1-amazoncloudwatchagent
failurePolicy: Ignore
name: vamazoncloudwatchagentdelete.kb.io
{{- if .Values.admissionWebhooks.namespaceSelector }}
namespaceSelector:
{{- toYaml .Values.admissionWebhooks.namespaceSelector | nindent 6 }}
{{- end }}
{{- if .Values.admissionWebhooks.objectSelector }}
objectSelector:
{{- toYaml .Values.admissionWebhooks.objectSelector | nindent 6 }}
{{- end }}
rules:
- apiGroups:
- cloudwatch.aws.amazon.com
apiVersions:
- v1alpha1
operations:
- DELETE
resources:
- amazoncloudwatchagents
sideEffects: None
timeoutSeconds: {{ .Values.admissionWebhooks.timeoutSeconds }}
{{- end }}
Loading

0 comments on commit 2bd38bc

Please sign in to comment.