Share
## https://sploitus.com/exploit?id=ED81D516-90A8-5852-A3EF-1F31DCD3A8A7
# FleetDeck PoC

[![Go Version](https://img.shields.io/badge/go-1.22+-blue.svg)](https://golang.org)
[![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
[![Build Status](https://github.com/BrotherhoodLabs/fleetdeck-poc/workflows/CI/badge.svg)](https://github.com/BrotherhoodLabs/fleetdeck-poc/actions)

## Vision

FleetDeck est un toolkit PoC en Go pour le déploiement applicatif "GitOps-like" avec support des stratégies canary/blue-green, génération de SBOM et contrôles de politique de sécurité.

## Architecture

```
┌─────────────────┐    ┌──────────────────┐    ┌─────────────────┐
│   CLI Tool      │───▶│  Controller      │───▶│   Kubernetes    │
│   (fleetdeck)   │    │  (Go/Kubebuilder)│    │   Cluster       │
└─────────────────┘    └──────────────────┘    └─────────────────┘
         │                       │                       │
         ▼                       ▼                       ▼
┌─────────────────┐    ┌──────────────────┐    ┌─────────────────┐
│  Build & SBOM   │    │  Policy Engine   │    │  Registry OCI   │
│  (Syft/Grype)   │    │  (OPA/Kyverno)   │    │  (Local/Remote) │
└─────────────────┘    └──────────────────┘    └─────────────────┘
```

## Fonctionnalités

- 🚀 **Déploiements Canary** : Progression par étapes (10% → 25% → 50% → 100%)
- 🔄 **Blue-Green** : Basculement avec validation smoke test
- 📦 **SBOM & Sécurité** : Génération automatique de SBOM et scan de vulnérabilités
- 🛡️ **Politiques** : Contrôles de sécurité avec OPA/Kyverno
- 📊 **Observabilité** : Métriques Prometheus et logs structurés
- 🎯 **GitOps Light** : Intégration avec Kubernetes via CRD

## Quick Start

### Prérequis

- Go 1.22+
- Docker & Docker Compose
- kubectl
- kind
- Helm 3.x

### Installation

```bash
# Cloner le repository
git clone git@github.com:BrotherhoodLabs/fleetdeck-poc.git
cd fleetdeck-poc

# Créer l'environnement Kubernetes local
./infra/kind-create.sh

# Démarrer le registry OCI local
docker-compose up -d

# Construire et installer la CLI
make build-cli
make install-cli

# Déployer le contrôleur
make deploy-controller
```

### Premier déploiement

```bash
# Initialiser un projet
fleetdeck init my-app

# Construire l'image et générer le SBOM
fleetdeck build

# Déployer en mode canary
fleetdeck deploy --strategy canary

# Suivre la progression
fleetdeck status

# Promouvoir à 100%
fleetdeck promote
```

## Documentation

- [Vision et Architecture](docs/vision.md)
- [Configuration CLI](docs/cli-usage.md)
- [Setup Kubernetes](docs/kind-setup.md)
- [Registry OCI](docs/registry.md)
- [Politiques de sécurité](docs/policies.md)
- [SBOM et vulnérabilités](docs/sbom.md)
- [Observabilité](docs/observability.md)

## Roadmap

Voir [docs/roadmap.md](docs/roadmap.md) pour les fonctionnalités futures.

## Contribution

Voir [CONTRIBUTING.md](CONTRIBUTING.md) pour les guidelines de contribution.

## Licence

MIT License - voir [LICENSE](LICENSE) pour plus de détails.