diff --git a/apps/appsets/argocd-operators-project.yaml b/apps/appsets/argocd-operators-project.yaml index 1f2206dcc..2d486497e 100644 --- a/apps/appsets/argocd-operators-project.yaml +++ b/apps/appsets/argocd-operators-project.yaml @@ -25,6 +25,8 @@ spec: # kube-system is used by kube-prometheus-stack - namespace: 'kube-system' server: '*' + - namespace: 'opentelemetry-operator' + server: '*' clusterResourceWhitelist: - group: '*' kind: '*' diff --git a/apps/appsets/components.yaml b/apps/appsets/components.yaml index 47fc1bc2b..ce836c808 100644 --- a/apps/appsets/components.yaml +++ b/apps/appsets/components.yaml @@ -211,6 +211,13 @@ spec: - repoURL: '{{index .metadata.annotations "uc_deploy_git_url"}}' targetRevision: '{{index .metadata.annotations "uc_deploy_ref"}}' ref: deploy + - component: otel-collector + componentNamespace: otel-collector + skipComponent: '{{has "otel-collector" ((default "[]" (index .metadata.annotations "uc_skip_components") | fromJson))}}' + sources: + - repoURL: '{{index .metadata.annotations "uc_deploy_git_url"}}' + targetRevision: '{{index .metadata.annotations "uc_deploy_ref"}}' + path: '{{.name}}/manifests/otel-collector' selector: # by setting the key in the elements 'skipComponent' to 'true' it will skip installing it # ArgoCD's templating operates with strings so it's the string "true" diff --git a/apps/appsets/operators.yaml b/apps/appsets/operators.yaml index 9a402acb0..b1bccc8e6 100644 --- a/apps/appsets/operators.yaml +++ b/apps/appsets/operators.yaml @@ -88,6 +88,25 @@ spec: - repoURL: '{{index .metadata.annotations "uc_deploy_git_url"}}' targetRevision: '{{index .metadata.annotations "uc_deploy_ref"}}' ref: deploy + - component: opentelemetry-operator + skipComponent: '{{has "opentelemetry-operator" ((default "[]" (index .metadata.annotations "uc_skip_components") | fromJson))}}' + sources: + - repoURL: https://open-telemetry.github.io/opentelemetry-helm-charts + chart: opentelemetry-operator + targetRevision: 0.79.0 + helm: + releaseName: opentelemetry-operator + valueFiles: + - $understack/operators/opentelemetry-operator/values.yaml + - $deploy/{{.name}}/helm-configs/opentelemetry-operator.yaml + ignoreMissingValueFiles: true + - repoURL: '{{index .metadata.annotations "uc_repo_git_url"}}' + targetRevision: '{{index .metadata.annotations "uc_repo_ref"}}' + ref: understack + path: 'operators/opentelemetry-operator' + - repoURL: '{{index .metadata.annotations "uc_deploy_git_url"}}' + targetRevision: '{{index .metadata.annotations "uc_deploy_ref"}}' + ref: deploy selector: # by setting the key in the elements 'skipComponent' to 'true' it will skip installing it # ArgoCD's templating operates with strings so it's the string "true" diff --git a/operators/opentelemetry-operator/cert-manager-issuer.yaml b/operators/opentelemetry-operator/cert-manager-issuer.yaml new file mode 100644 index 000000000..2840846b1 --- /dev/null +++ b/operators/opentelemetry-operator/cert-manager-issuer.yaml @@ -0,0 +1,6 @@ +apiVersion: cert-manager.io/v1 +kind: Issuer +metadata: + name: cert-manager-issuer +spec: + selfSigned: {} diff --git a/operators/opentelemetry-operator/kustomization.yaml b/operators/opentelemetry-operator/kustomization.yaml new file mode 100644 index 000000000..32c095e78 --- /dev/null +++ b/operators/opentelemetry-operator/kustomization.yaml @@ -0,0 +1,4 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: +- cert-manager-issuer.yaml diff --git a/operators/opentelemetry-operator/values.yaml b/operators/opentelemetry-operator/values.yaml new file mode 100644 index 000000000..95c52433c --- /dev/null +++ b/operators/opentelemetry-operator/values.yaml @@ -0,0 +1,9 @@ +admissionWebhooks: + certManager: + issuerRef: + kind: Issuer + name: cert-manager-issuer +manager: + collectorImage: + # The contrib image contains additional modules (i.e. exporters) that increase the compatibility + repository: "otel/opentelemetry-collector-contrib"