# vote Deployed from **custom** via the Backstage Hello Demo template. | Property | Value | |---|---| | **Environment** | `dev` | | **Namespace** | `demo-apps` | | **ArgoCD Project** | `default` | | **Branch** | `main` | | **Observability** | Enabled (OpenTelemetry) | ## Quick Links - **Repository**: [https://gitea.kyndemo.live/validate/vote](https://gitea.kyndemo.live/validate/vote) - **ArgoCD**: [https://argocd.kyndemo.live/applications/vote](https://argocd.kyndemo.live/applications/vote) - **Live App**: [https://vote.kyndemo.live](https://vote.kyndemo.live) - **Grafana Dashboard**: [https://grafana.kyndemo.live/d/otel-app-observability-v2/...?var-app=vote](https://grafana.kyndemo.live/d/otel-app-observability-v2/opentelemetry-application-observability-testing?orgId=1&var-app=vote) ## Architecture This service was scaffolded using the **hello-demo** Backstage template. **Deployment flow:** 1. Source cloned from `custom` 2. Catalog entity and CI workflows overlaid by Backstage 3. The Watcher scanned the repository and injected OpenTelemetry auto-instrumentation via Kustomize overlay 4. ArgoCD Application created targeting the `demo-apps` namespace 5. ArgoCD continuously syncs from the `main` branch **ArgoCD sync path:** `overlays/otel` ## Development Workflow ```bash git clone https://gitea.kyndemo.live/validate/vote.git cd vote # make changes, then: git add . && git commit -m "your change" && git push origin main ``` ArgoCD monitors the repository and automatically syncs changes to the `demo-apps` namespace. ## Rollback To roll back to a previous version: 1. Open the [ArgoCD UI](https://argocd.kyndemo.live/applications/vote) 2. Click **History and Rollback** 3. Select the desired revision and click **Rollback** Alternatively, revert the commit in Git and push — ArgoCD will auto-sync the rollback. ## Observability This service has OpenTelemetry auto-instrumentation enabled. Traces, metrics, and logs are exported to the OTel Collector and visualised in Grafana. **Viewing telemetry:** - Open the [Grafana Dashboard](https://grafana.kyndemo.live/d/otel-app-observability-v2/opentelemetry-application-observability-testing?orgId=1&var-app=vote) - Filter by `app=vote` to see service-specific data - Check the **Alerts** tab in Backstage for any firing Grafana alerts **OTel Collector endpoint:** `http://otel-collector.monitoring.svc.cluster.local:4317` ## SLOs and Monitoring Define your service level objectives here once the service is stable: | SLI | Target | Dashboard | |---|---|---| | Availability | 99.9% | [Grafana](https://grafana.kyndemo.live) | | Latency (p99) | < 500ms | [Grafana](https://grafana.kyndemo.live) | | Error rate | < 1% | [Grafana](https://grafana.kyndemo.live) |