Skip to content

🚀 Tracker

Tracker est un outil puissant pour suivre et monitorer tous les changements dans vos environnements de production.

  • Multiple Event Types : Deployments, Operations, Drifts, Incidents, RPA Usage
  • Rich Metadata : Priority, Status, Environment, Owner, Impact tracking
  • Linking : Connect events to PRs, tickets, and related events
  • Search & Filter : Powerful search across all event attributes
  • Timeline View : Visualize events chronologically
  • Calendar View : See events in a calendar format
  • Inventory Management : Track modules, libraries, projects, containers
  • Version Tracking : Monitor versions across your infrastructure
  • Multi-Language : Support for Go, Java, Python, JavaScript, and more
  • Repository Links : Direct links to GitHub/GitLab repositories
  • Documentation : Link to service documentation
  • Exclusive Locks : Prevent concurrent operations
  • Lock Ownership : Track who owns which locks
  • Automatic Cleanup : Locks expire automatically
  • Coordination : Synchronize deployments and operations
  • Dashboard : Overview of recent events and statistics
  • Timeline : Chronological event view with filtering
  • Calendar : Monthly calendar view of events
  • Dark Mode : Beautiful dark theme support
  • Responsive : Works on desktop, tablet, and mobile
  • Real-time : Auto-refresh and live updates
  • gRPC API : High-performance native API
  • REST API : HTTP/JSON endpoints via grpc-gateway
  • Swagger UI : Interactive API documentation
  • OpenAPI Spec : Standard API specification
  • Prometheus : Built-in metrics endpoint
Terminal window
helm repo add bananaops https://bananaops.github.io/tracker/
helm repo update
helm install tracker bananaops/tracker --namespace tracker --create-namespace
  1. Ajouter le repository Helm

    Terminal window
    helm repo add bananaops https://bananaops.github.io/tracker/
    helm repo update
  2. Créer un fichier de configuration

    values.yaml
    replicaCount: 2
    image:
    repository: bananaops/tracker
    tag: "latest"
    ingress:
    enabled: true
    className: nginx
    hosts:
    - host: tracker.example.com
    paths:
    - path: /
    pathType: Prefix
    env:
    db:
    host: tracker-mongodb
    port: 27017
    jira:
    # Jira domain for ticket creation (e.g., your-company.atlassian.net or jira.company.com)
    domain: "jira.company.com"
    # Optional: Jira project key for quick ticket creation
    projectKey: ""
    slack:
    # Slack workspace name (e.g., your-company)
    workspace: "your-workspace"
    # Slack channel Name for deployment events (e.g., tracker-deployments)
    eventsChannel: ""
  3. Installer avec Helm

    Terminal window
    helm install tracker bananaops/tracker \
    --values values.yaml \
    --namespace tracker \
    --create-namespace
  4. Vérifier le déploiement

    Terminal window
    kubectl get pods -n tracker
    kubectl get ingress -n tracker
values.yaml
replicaCount: 2
image:
repository: bananaops/tracker
tag: "latest"
pullPolicy: IfNotPresent
service:
type: ClusterIP
port: 80
ingress:
enabled: true
className: nginx
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
hosts:
- host: tracker.example.com
paths:
- path: /
pathType: Prefix
tls:
- secretName: tracker-tls
hosts:
- tracker.example.com
config:
environment: production
retention:
days: 90
notifications:
slack:
enabled: true
webhook: ${SLACK_WEBHOOK}
email:
enabled: true
smtp:
host: smtp.example.com
port: 587
persistence:
enabled: true
storageClass: "standard"
size: 10Gi
resources:
limits:
cpu: 500m
memory: 512Mi
requests:
cpu: 250m
memory: 256Mi
Terminal window
# Via kubectl port-forward
kubectl port-forward -n tracker svc/tracker 8080:80
# Enregistrer un déploiement
curl -X POST http://localhost:8080/api/v1/track \
-H "Content-Type: application/json" \
-d '{
"type": "deployment",
"service": "api-backend",
"version": "1.2.3",
"environment": "production",
"author": "john@example.com"
}'
.github/workflows/deploy.yml
- name: Track Deployment
run: |
kubectl run tracker-client --rm -i --restart=Never \
--image=curlimages/curl -- \
curl -X POST http://tracker.tracker.svc.cluster.local/api/v1/track \
-H "Content-Type: application/json" \
-d '{
"type": "deployment",
"service": "${{ github.repository }}",
"version": "${{ github.sha }}",
"environment": "production"
}'

Freeze de production

Bloquer les déploiements pendant une période critique (Black Friday, maintenance)

Audit et compliance

Tracer qui a déployé quoi et quand

Coordination d'équipes

Éviter les dĂ©ploiements concurrents via le systĂšme de locks

Dashboard centralisé

Interface web pour visualiser l’état des dĂ©ploiements

API gRPC/REST

IntĂ©gration dans vos pipelines CI/CD (via l’API REST/gRPC)

Détection de déploiements simultanés

Identifier et prĂ©venir les dĂ©ploiements concurrents sur une mĂȘme application/environnement pendant des pĂ©riodes qui se chevauchent

Éviter les conflits

EmpĂȘcher deux Ă©quipes de dĂ©ployer simultanĂ©ment sur le mĂȘme environnement

Coordination temporelle

Visualiser si un dĂ©ploiement est dĂ©jĂ  en cours avant d’en lancer un nouveau

Traçabilité des incidents

Comprendre si un problÚme vient de déploiements qui se sont superposés

Gestion des rollbacks

S’assurer qu’un rollback n’interfĂšre pas avec un dĂ©ploiement en cours

Intégration Jira

Créer automatiquement des tickets Jira pour les déploiements ou incidents

Intégration Slack

Notifier une channel Slack des événements de déploiement via Tracker-Slack

Catalogue d'applications

Centraliser les informations sur vos applications (repos, équipes, environnements)

Vue d'ensemble multi-environnements

Visualiser quelles versions sont déployées sur dev/staging/prod

Tracker s’intùgre nativement avec :

  • CI/CD : GitHub Actions, GitLab CI, Tekton, Jenkins
  • Monitoring : Prometheus, Grafana
  • Communication : Slack (via Tracker-Slack)

Besoin d’aide ?