Un opérateur Kubernetes pour centraliser et afficher la documentation OpenAPI des APIs.
L'OpenAPI Operator est un opérateur Kubernetes développé en Go qui permet de centraliser la documentation des APIs en format OpenAPI/Swagger et de les afficher via une interface Redoc. Cet opérateur scanne et gère des ressources personnalisées OpenAPISpec qui pointent vers des fichiers de spécification OpenAPI, et génère automatiquement une documentation interactive accessible depuis le navigateur.
- Déploiement simple sur Kubernetes
- Gestion de multiples spécifications OpenAPI
- Mise à jour automatique de la documentation lors des changements de spécification
- Interface utilisateur Redoc intégrée pour une documentation moderne et interactive
- Surveillance de l'état des spécifications via les status Kubernetes
- Support pour les fichiers de spécification locaux ou distants (URL)
- Kubernetes 1.19+
- Kubectl 1.19+
- Go 1.21+ (pour le développement)
- Docker (pour la construction des images)
make install-crd- Modifiez la variable
REGISTRYdans le Makefile pour pointer vers votre registry Docker - Construisez et publiez l'image Docker :
make docker-build
make docker-push- Déployez l'opérateur sur votre cluster :
make deployUne fois l'opérateur déployé, vous pouvez créer des ressources OpenAPISpec pour afficher la documentation de vos APIs :
apiVersion: docs.redokube.io/v1
kind: OpenAPISpec
metadata:
name: ma-super-api
spec:
title: "Ma Super API"
description: "Documentation de mon API"
version: "1.0.0"
specPath: "https://chemin-vers-mon-fichier-openapi.json"Appliquez ce fichier à votre cluster :
kubectl apply -f ma-super-api.yamlL'opérateur détectera automatiquement cette ressource, traitera le fichier OpenAPI spécifié, et mettra à jour le statut avec l'URL où la documentation est accessible.
Pour vérifier l'état de votre documentation :
kubectl get openapispecsUn exemple de spécification est disponible dans le dossier examples/ :
make exampleL'opérateur est composé des éléments suivants :
- Custom Resource Definition (CRD) : Define le type de ressource OpenAPISpec
- Controller : Surveille les ressources OpenAPISpec et réconcilie leur état
- Redoc Server : Serveur web qui héberge les documentations générées
Pour exécuter l'opérateur localement pendant le développement :
make runPour exécuter les tests unitaires :
make testCe projet est sous licence MIT.
