# Source: https://github.com/aws-containers/retail-store-sample-app # Generated by kubectl kustomize deploy/kubernetes/kustomize/recipes/slim-opentelemetry/ apiVersion: v1 kind: Namespace metadata: labels: app.kubernetes.io/created-by: retail-store-sample name: catalog --- apiVersion: v1 kind: Namespace metadata: name: opentelemetry --- apiVersion: v1 kind: Namespace metadata: labels: app.kubernetes.io/created-by: retail-store-sample name: ui --- apiVersion: v1 kind: ServiceAccount metadata: name: catalog namespace: catalog --- apiVersion: v1 kind: ServiceAccount metadata: annotations: eks.amazonaws.com/role-arn: "" name: opentelemetry-collector namespace: opentelemetry --- apiVersion: v1 kind: ServiceAccount metadata: labels: app.kubernetes.io/component: service app.kubernetes.io/instance: ui app.kubernetes.io/name: ui name: ui namespace: ui --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: opentelemetry-collector rules: - apiGroups: - "" resources: - nodes - nodes/proxy - services - endpoints - pods verbs: - get - list - watch - apiGroups: - extensions resources: - ingresses verbs: - get - list - watch - nonResourceURLs: - /metrics verbs: - get --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: opentelemetry-collector roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: opentelemetry-collector subjects: - kind: ServiceAccount name: opentelemetry-collector namespace: opentelemetry --- apiVersion: v1 data: null kind: ConfigMap metadata: name: catalog namespace: catalog --- apiVersion: v1 data: ENDPOINTS_ASSETS: "false" ENDPOINTS_CARTS: "false" ENDPOINTS_CATALOG: http://catalog.catalog.svc:80 ENDPOINTS_CHECKOUT: "false" ENDPOINTS_ORDERS: "false" kind: ConfigMap metadata: name: ui namespace: ui --- apiVersion: v1 data: OPENTELEMETRY_IAM_ROLE_ARN: "" kind: ConfigMap metadata: name: opentelemetry-collector-env-tb44kf52t7 --- apiVersion: v1 data: endpoint: Y2F0YWxvZy1teXNxbDozMzA2 name: Y2F0YWxvZw== password: ZGVmYXVsdF9wYXNzd29yZA== username: Y2F0YWxvZ191c2Vy kind: Secret metadata: name: catalog-db namespace: catalog --- apiVersion: v1 kind: Service metadata: name: catalog namespace: catalog spec: ports: - name: http port: 80 protocol: TCP targetPort: http selector: app.kubernetes.io/component: service app.kubernetes.io/instance: catalog app.kubernetes.io/name: catalog type: ClusterIP --- apiVersion: v1 kind: Service metadata: name: catalog-mysql namespace: catalog spec: ports: - name: mysql port: 3306 protocol: TCP targetPort: mysql selector: app.kubernetes.io/component: mysql app.kubernetes.io/instance: catalog app.kubernetes.io/name: catalog type: ClusterIP --- apiVersion: v1 kind: Service metadata: labels: app.kubernetes.io/component: service app.kubernetes.io/instance: ui app.kubernetes.io/name: ui name: ui namespace: ui spec: ports: - name: http port: 80 protocol: TCP targetPort: http selector: app.kubernetes.io/component: service app.kubernetes.io/instance: ui app.kubernetes.io/name: ui type: ClusterIP --- apiVersion: v1 kind: Service metadata: labels: app.kubernetes.io/component: service app.kubernetes.io/instance: ui app.kubernetes.io/name: ui name: ui-lb namespace: ui spec: ports: - name: http port: 80 protocol: TCP targetPort: http selector: app.kubernetes.io/component: service app.kubernetes.io/instance: ui app.kubernetes.io/name: ui type: LoadBalancer --- apiVersion: apps/v1 kind: Deployment metadata: labels: app.kubernetes.io/created-by: retail-store-sample app.kubernetes.io/team: database name: catalog-mysql namespace: catalog spec: replicas: 1 selector: matchLabels: app.kubernetes.io/component: mysql app.kubernetes.io/instance: catalog app.kubernetes.io/name: catalog template: metadata: labels: app.kubernetes.io/component: mysql app.kubernetes.io/created-by: retail-store-sample app.kubernetes.io/instance: catalog app.kubernetes.io/name: catalog app.kubernetes.io/team: database spec: containers: - env: - name: MYSQL_ROOT_PASSWORD value: my-secret-pw - name: MYSQL_USER valueFrom: secretKeyRef: key: username name: catalog-db - name: MYSQL_PASSWORD valueFrom: secretKeyRef: key: password name: catalog-db - name: MYSQL_DATABASE valueFrom: secretKeyRef: key: name name: catalog-db image: mysql:5.7 imagePullPolicy: IfNotPresent name: mysql ports: - containerPort: 3306 name: mysql protocol: TCP --- apiVersion: opentelemetry.io/v1alpha1 kind: Instrumentation metadata: name: default-instrumentation namespace: opentelemetry spec: env: - name: OTEL_JAVAAGENT_ENABLED value: "true" exporter: endpoint: http://default-collector.opentelemetry.svc:4317 propagators: - tracecontext - baggage sampler: type: always_on --- apiVersion: opentelemetry.io/v1alpha1 kind: OpenTelemetryCollector metadata: name: default namespace: opentelemetry spec: config: "receivers:\n otlp:\n protocols:\n grpc:\n endpoint: 0.0.0.0:4317\n \ http:\n endpoint: 0.0.0.0:4318\n \nexporters:\n awsxray:\n\nextensions:\n \ awsproxy:\n\nservice:\n extensions: [awsproxy]\n pipelines:\n traces:\n \ receivers: [otlp]\n processors: []\n exporters: [awsxray]" image: public.ecr.aws/aws-observability/aws-otel-collector:v0.21.0 mode: deployment serviceAccount: opentelemetry-collector