Add signoz
This commit is contained in:
146
Tiltfile
146
Tiltfile
@@ -36,6 +36,11 @@ Security Features:
|
||||
✅ pgcrypto extension for encryption
|
||||
✅ PostgreSQL audit logging
|
||||
|
||||
Monitoring:
|
||||
📊 Service metrics available at /metrics endpoints
|
||||
🔍 Telemetry ready (traces, metrics, logs)
|
||||
ℹ️ SigNoz deployment optional for local dev (see signoz-info resource)
|
||||
|
||||
Applying security configurations...
|
||||
""")
|
||||
|
||||
@@ -303,82 +308,131 @@ k8s_resource('redis', resource_deps=['security-setup'], labels=['01-infrastructu
|
||||
k8s_resource('rabbitmq', labels=['01-infrastructure'])
|
||||
k8s_resource('nominatim', labels=['01-infrastructure'])
|
||||
|
||||
# =============================================================================
|
||||
# MONITORING RESOURCES - SigNoz (Unified Observability)
|
||||
# =============================================================================
|
||||
|
||||
# Note: SigNoz Helm chart is complex for local dev
|
||||
# For development, access SigNoz manually or use production Helm deployment
|
||||
# To deploy SigNoz manually: ./infrastructure/helm/deploy-signoz.sh dev
|
||||
local_resource(
|
||||
'signoz-info',
|
||||
cmd='''
|
||||
echo "📊 SigNoz Monitoring Information"
|
||||
echo ""
|
||||
echo "SigNoz Helm deployment is disabled for local development due to complexity."
|
||||
echo ""
|
||||
echo "Options:"
|
||||
echo "1. Deploy manually: ./infrastructure/helm/deploy-signoz.sh dev"
|
||||
echo "2. Use production deployment: ./infrastructure/helm/deploy-signoz.sh prod"
|
||||
echo "3. Skip monitoring for local development (use application metrics only)"
|
||||
echo ""
|
||||
echo "For simpler local monitoring, consider using just Prometheus+Grafana"
|
||||
echo "or access metrics directly from services at /metrics endpoints."
|
||||
''',
|
||||
labels=['05-monitoring'],
|
||||
auto_init=False,
|
||||
trigger_mode=TRIGGER_MODE_MANUAL
|
||||
)
|
||||
|
||||
# SigNoz ingress (only if manually deployed)
|
||||
# Uncomment and trigger manually if you deploy SigNoz
|
||||
# local_resource(
|
||||
# 'signoz-ingress',
|
||||
# cmd='''
|
||||
# echo "🌐 Applying SigNoz ingress..."
|
||||
# kubectl apply -f infrastructure/kubernetes/overlays/dev/signoz-ingress.yaml
|
||||
# echo "✅ SigNoz ingress configured"
|
||||
# ''',
|
||||
# labels=['05-monitoring'],
|
||||
# auto_init=False,
|
||||
# trigger_mode=TRIGGER_MODE_MANUAL
|
||||
# )
|
||||
|
||||
# Note: SigNoz components are managed by Helm and deployed outside of kustomize
|
||||
# They will appear automatically once deployed, but we don't track them explicitly in Tilt
|
||||
# to avoid startup errors. View them with: kubectl get pods -n signoz
|
||||
|
||||
# Optional exporters (in monitoring namespace)
|
||||
k8s_resource('node-exporter', labels=['05-monitoring'])
|
||||
k8s_resource('postgres-exporter', resource_deps=['auth-db'], labels=['05-monitoring'])
|
||||
|
||||
# =============================================================================
|
||||
# DATABASE RESOURCES
|
||||
# =============================================================================
|
||||
|
||||
# Core Service Databases
|
||||
k8s_resource('auth-db', resource_deps=['security-setup'], labels=['02-databases'])
|
||||
k8s_resource('tenant-db', resource_deps=['security-setup'], labels=['02-databases'])
|
||||
k8s_resource('auth-db', resource_deps=['security-setup'], labels=['06-databases'])
|
||||
k8s_resource('tenant-db', resource_deps=['security-setup'], labels=['06-databases'])
|
||||
|
||||
# Data & Analytics Databases
|
||||
k8s_resource('training-db', resource_deps=['security-setup'], labels=['02-databases'])
|
||||
k8s_resource('forecasting-db', resource_deps=['security-setup'], labels=['02-databases'])
|
||||
k8s_resource('ai-insights-db', resource_deps=['security-setup'], labels=['02-databases'])
|
||||
k8s_resource('training-db', resource_deps=['security-setup'], labels=['06-databases'])
|
||||
k8s_resource('forecasting-db', resource_deps=['security-setup'], labels=['06-databases'])
|
||||
k8s_resource('ai-insights-db', resource_deps=['security-setup'], labels=['06-databases'])
|
||||
|
||||
# Operations Databases
|
||||
k8s_resource('sales-db', resource_deps=['security-setup'], labels=['02-databases'])
|
||||
k8s_resource('inventory-db', resource_deps=['security-setup'], labels=['02-databases'])
|
||||
k8s_resource('production-db', resource_deps=['security-setup'], labels=['02-databases'])
|
||||
k8s_resource('procurement-db', resource_deps=['security-setup'], labels=['02-databases'])
|
||||
k8s_resource('distribution-db', resource_deps=['security-setup'], labels=['02-databases'])
|
||||
k8s_resource('sales-db', resource_deps=['security-setup'], labels=['06-databases'])
|
||||
k8s_resource('inventory-db', resource_deps=['security-setup'], labels=['06-databases'])
|
||||
k8s_resource('production-db', resource_deps=['security-setup'], labels=['06-databases'])
|
||||
k8s_resource('procurement-db', resource_deps=['security-setup'], labels=['06-databases'])
|
||||
k8s_resource('distribution-db', resource_deps=['security-setup'], labels=['06-databases'])
|
||||
|
||||
# Supporting Service Databases
|
||||
k8s_resource('recipes-db', resource_deps=['security-setup'], labels=['02-databases'])
|
||||
k8s_resource('suppliers-db', resource_deps=['security-setup'], labels=['02-databases'])
|
||||
k8s_resource('pos-db', resource_deps=['security-setup'], labels=['02-databases'])
|
||||
k8s_resource('orders-db', resource_deps=['security-setup'], labels=['02-databases'])
|
||||
k8s_resource('external-db', resource_deps=['security-setup'], labels=['02-databases'])
|
||||
k8s_resource('recipes-db', resource_deps=['security-setup'], labels=['06-databases'])
|
||||
k8s_resource('suppliers-db', resource_deps=['security-setup'], labels=['06-databases'])
|
||||
k8s_resource('pos-db', resource_deps=['security-setup'], labels=['06-databases'])
|
||||
k8s_resource('orders-db', resource_deps=['security-setup'], labels=['06-databases'])
|
||||
k8s_resource('external-db', resource_deps=['security-setup'], labels=['06-databases'])
|
||||
|
||||
# Platform Service Databases
|
||||
k8s_resource('notification-db', resource_deps=['security-setup'], labels=['02-databases'])
|
||||
k8s_resource('alert-processor-db', resource_deps=['security-setup'], labels=['02-databases'])
|
||||
k8s_resource('orchestrator-db', resource_deps=['security-setup'], labels=['02-databases'])
|
||||
k8s_resource('notification-db', resource_deps=['security-setup'], labels=['06-databases'])
|
||||
k8s_resource('alert-processor-db', resource_deps=['security-setup'], labels=['06-databases'])
|
||||
k8s_resource('orchestrator-db', resource_deps=['security-setup'], labels=['06-databases'])
|
||||
|
||||
# Demo Service Databases
|
||||
k8s_resource('demo-session-db', resource_deps=['security-setup'], labels=['02-databases'])
|
||||
k8s_resource('demo-session-db', resource_deps=['security-setup'], labels=['06-databases'])
|
||||
|
||||
# =============================================================================
|
||||
# MIGRATION JOBS
|
||||
# =============================================================================
|
||||
|
||||
# Core Service Migrations
|
||||
k8s_resource('auth-migration', resource_deps=['auth-db'], labels=['03-migrations'])
|
||||
k8s_resource('tenant-migration', resource_deps=['tenant-db'], labels=['03-migrations'])
|
||||
k8s_resource('auth-migration', resource_deps=['auth-db'], labels=['07-migrations'])
|
||||
k8s_resource('tenant-migration', resource_deps=['tenant-db'], labels=['07-migrations'])
|
||||
|
||||
# Data & Analytics Migrations
|
||||
k8s_resource('training-migration', resource_deps=['training-db'], labels=['03-migrations'])
|
||||
k8s_resource('forecasting-migration', resource_deps=['forecasting-db'], labels=['03-migrations'])
|
||||
k8s_resource('ai-insights-migration', resource_deps=['ai-insights-db'], labels=['03-migrations'])
|
||||
k8s_resource('training-migration', resource_deps=['training-db'], labels=['07-migrations'])
|
||||
k8s_resource('forecasting-migration', resource_deps=['forecasting-db'], labels=['07-migrations'])
|
||||
k8s_resource('ai-insights-migration', resource_deps=['ai-insights-db'], labels=['07-migrations'])
|
||||
|
||||
# Operations Migrations
|
||||
k8s_resource('sales-migration', resource_deps=['sales-db'], labels=['03-migrations'])
|
||||
k8s_resource('inventory-migration', resource_deps=['inventory-db'], labels=['03-migrations'])
|
||||
k8s_resource('production-migration', resource_deps=['production-db'], labels=['03-migrations'])
|
||||
k8s_resource('procurement-migration', resource_deps=['procurement-db'], labels=['03-migrations'])
|
||||
k8s_resource('distribution-migration', resource_deps=['distribution-db'], labels=['03-migrations'])
|
||||
k8s_resource('sales-migration', resource_deps=['sales-db'], labels=['07-migrations'])
|
||||
k8s_resource('inventory-migration', resource_deps=['inventory-db'], labels=['07-migrations'])
|
||||
k8s_resource('production-migration', resource_deps=['production-db'], labels=['07-migrations'])
|
||||
k8s_resource('procurement-migration', resource_deps=['procurement-db'], labels=['07-migrations'])
|
||||
k8s_resource('distribution-migration', resource_deps=['distribution-db'], labels=['07-migrations'])
|
||||
|
||||
# Supporting Service Migrations
|
||||
k8s_resource('recipes-migration', resource_deps=['recipes-db'], labels=['03-migrations'])
|
||||
k8s_resource('suppliers-migration', resource_deps=['suppliers-db'], labels=['03-migrations'])
|
||||
k8s_resource('pos-migration', resource_deps=['pos-db'], labels=['03-migrations'])
|
||||
k8s_resource('orders-migration', resource_deps=['orders-db'], labels=['03-migrations'])
|
||||
k8s_resource('external-migration', resource_deps=['external-db'], labels=['03-migrations'])
|
||||
k8s_resource('recipes-migration', resource_deps=['recipes-db'], labels=['07-migrations'])
|
||||
k8s_resource('suppliers-migration', resource_deps=['suppliers-db'], labels=['07-migrations'])
|
||||
k8s_resource('pos-migration', resource_deps=['pos-db'], labels=['07-migrations'])
|
||||
k8s_resource('orders-migration', resource_deps=['orders-db'], labels=['07-migrations'])
|
||||
k8s_resource('external-migration', resource_deps=['external-db'], labels=['07-migrations'])
|
||||
|
||||
# Platform Service Migrations
|
||||
k8s_resource('notification-migration', resource_deps=['notification-db'], labels=['03-migrations'])
|
||||
k8s_resource('alert-processor-migration', resource_deps=['alert-processor-db'], labels=['03-migrations'])
|
||||
k8s_resource('orchestrator-migration', resource_deps=['orchestrator-db'], labels=['03-migrations'])
|
||||
k8s_resource('notification-migration', resource_deps=['notification-db'], labels=['07-migrations'])
|
||||
k8s_resource('alert-processor-migration', resource_deps=['alert-processor-db'], labels=['07-migrations'])
|
||||
k8s_resource('orchestrator-migration', resource_deps=['orchestrator-db'], labels=['07-migrations'])
|
||||
|
||||
# Demo Service Migrations
|
||||
k8s_resource('demo-session-migration', resource_deps=['demo-session-db'], labels=['03-migrations'])
|
||||
k8s_resource('demo-session-migration', resource_deps=['demo-session-db'], labels=['07-migrations'])
|
||||
|
||||
# =============================================================================
|
||||
# DATA INITIALIZATION JOBS
|
||||
# =============================================================================
|
||||
|
||||
k8s_resource('external-data-init', resource_deps=['external-migration', 'redis'], labels=['04-data-init'])
|
||||
k8s_resource('nominatim-init', labels=['04-data-init'])
|
||||
k8s_resource('external-data-init', resource_deps=['external-migration', 'redis'], labels=['08-data-init'])
|
||||
k8s_resource('nominatim-init', labels=['08-data-init'])
|
||||
|
||||
# =============================================================================
|
||||
# =============================================================================
|
||||
@@ -517,8 +571,16 @@ Internal Schedulers Active:
|
||||
⏰ Usage Tracking: Daily @ 2:00 AM UTC (tenant-service)
|
||||
|
||||
Access your application:
|
||||
Frontend: http://localhost:3000 (or via ingress)
|
||||
Gateway: http://localhost:8000 (or via ingress)
|
||||
Main Application: https://localhost
|
||||
API Endpoints: https://localhost/api/v1/...
|
||||
|
||||
Service Metrics:
|
||||
Gateway: http://localhost:8000/metrics
|
||||
Any Service: kubectl port-forward <service> 8000:8000
|
||||
|
||||
SigNoz (Optional - see SIGNOZ_DEPLOYMENT_RECOMMENDATIONS.md):
|
||||
Deploy manually: ./infrastructure/helm/deploy-signoz.sh dev
|
||||
Access (if deployed): https://localhost/signoz
|
||||
|
||||
Verify security:
|
||||
kubectl get pvc -n bakery-ia
|
||||
|
||||
Reference in New Issue
Block a user