diff --git a/apps/system/tracing/README.md b/apps/system/tracing/README.md new file mode 100644 index 0000000..b71e98f --- /dev/null +++ b/apps/system/tracing/README.md @@ -0,0 +1,7 @@ +version=v1.15.1 +wget https://raw.githubusercontent.com/jaegertracing/jaeger-operator/${version}/deploy/crds/jaegertracing.io_jaegers_crd.yaml +wget https://raw.githubusercontent.com/jaegertracing/jaeger-operator/${version}/deploy/service_account.yaml +wget https://raw.githubusercontent.com/jaegertracing/jaeger-operator/${version}/deploy/role.yaml +wget https://raw.githubusercontent.com/jaegertracing/jaeger-operator/${version}/deploy/role_binding.yaml +wget https://raw.githubusercontent.com/jaegertracing/jaeger-operator/${version}/deploy/operator.yaml + diff --git a/apps/system/tracing/jaegertracing.io_jaegers_crd.yaml b/apps/system/tracing/jaegertracing.io_jaegers_crd.yaml new file mode 100644 index 0000000..b7804e4 --- /dev/null +++ b/apps/system/tracing/jaegertracing.io_jaegers_crd.yaml @@ -0,0 +1,17 @@ +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: jaegers.jaegertracing.io +spec: + group: jaegertracing.io + names: + kind: Jaeger + listKind: JaegerList + plural: jaegers + singular: jaeger + scope: Namespaced + version: v1 + versions: + - name: v1 + served: true + storage: true diff --git a/apps/system/tracing/operator.yaml b/apps/system/tracing/operator.yaml new file mode 100644 index 0000000..90f4a27 --- /dev/null +++ b/apps/system/tracing/operator.yaml @@ -0,0 +1,37 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: jaeger-operator + namespace: observability +spec: + replicas: 1 + selector: + matchLabels: + name: jaeger-operator + template: + metadata: + labels: + name: jaeger-operator + spec: + serviceAccountName: jaeger-operator + containers: + - name: jaeger-operator + image: jaegertracing/jaeger-operator:1.15.1 + ports: + - containerPort: 8383 + name: metrics + args: ["start"] + imagePullPolicy: Always + env: + - name: WATCH_NAMESPACE + value: "" + - name: POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: POD_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: OPERATOR_NAME + value: "jaeger-operator" diff --git a/apps/system/tracing/role.yaml b/apps/system/tracing/role.yaml new file mode 100644 index 0000000..31ae2d9 --- /dev/null +++ b/apps/system/tracing/role.yaml @@ -0,0 +1,93 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + creationTimestamp: null + name: jaeger-operator + namespace: observability +rules: +- apiGroups: + - "" + resources: + - pods + - services + - endpoints + - persistentvolumeclaims + - events + - configmaps + - secrets + - serviceaccounts + verbs: + - '*' +- apiGroups: + - apps + resources: + - deployments + - daemonsets + - replicasets + - statefulsets + verbs: + - '*' +- apiGroups: + - monitoring.coreos.com + resources: + - servicemonitors + verbs: + - get + - create +- apiGroups: + - extensions + resources: + - replicasets + - deployments + - daemonsets + - statefulsets + - ingresses + verbs: + - '*' +- apiGroups: + - batch + resources: + - jobs + - cronjobs + verbs: + - '*' +- apiGroups: + - route.openshift.io + resources: + - routes + verbs: + - '*' +- apiGroups: + - logging.openshift.io + resources: + - elasticsearches + verbs: + - '*' +- apiGroups: + - jaegertracing.io + resources: + - '*' + verbs: + - '*' +- apiGroups: + - rbac.authorization.k8s.io + resources: + - clusterrolebindings + verbs: + - '*' +- apiGroups: + - apps + - extensions + resourceNames: + - jaeger-operator + resources: + - deployments/finalizers + verbs: + - update +- apiGroups: + - kafka.strimzi.io + resources: + - kafkas + - kafkausers + verbs: + - '*' diff --git a/apps/system/tracing/role_binding.yaml b/apps/system/tracing/role_binding.yaml new file mode 100644 index 0000000..03b6f8d --- /dev/null +++ b/apps/system/tracing/role_binding.yaml @@ -0,0 +1,13 @@ +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: jaeger-operator + namespace: observability +subjects: +- kind: ServiceAccount + name: jaeger-operator + namespace: observability +roleRef: + kind: ClusterRole + name: jaeger-operator + apiGroup: rbac.authorization.k8s.io diff --git a/apps/system/tracing/service_account.yaml b/apps/system/tracing/service_account.yaml new file mode 100644 index 0000000..9640941 --- /dev/null +++ b/apps/system/tracing/service_account.yaml @@ -0,0 +1,5 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: jaeger-operator + namespace: observability diff --git a/main/apps/tracing.yaml b/main/apps/tracing.yaml new file mode 100644 index 0000000..eeb996c --- /dev/null +++ b/main/apps/tracing.yaml @@ -0,0 +1,19 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: tracing + namespace: argocd + finalizers: + - resources-finalizer.argocd.argoproj.io +spec: + destination: + namespace: tracing + server: https://kubernetes.default.svc + project: default + source: + path: apps/system/tracing + repoURL: git@github.com:gorilych/gf-k8s + syncPolicy: + automated: + prune: true + selfHeal: true diff --git a/main/namespaces/tracing.yaml b/main/namespaces/tracing.yaml new file mode 100644 index 0000000..3b32583 --- /dev/null +++ b/main/namespaces/tracing.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: tracing