cloudevent-tool

cloudevent-tool est un ensemble d'outils facilitant l'utilisation de CloudEvents dans les projets Go et typescript.

Fonctionnalités

  • Catalogue de cloudevents dans une hiérarchie de dossiers
  • Génération des types Go pour les cloudevents
  • Génération des types typescript pour les cloudevents
  • Génération d'une page web permettant de visualiser les cloudevents

Définition d'un cloudevent

Un cloud event est défini par son type, et le format de son champ data. Le type du cloud event est défini par la concaténation des noms de dossiers, par ex com.plugis/variable/set correspond à un cloud event de type com.plugis.variable.set

A l'intérieur du dernier dossier, on trouver les fichiers suivants:

  • data.schema.json: définition du champ data en JSON Schema, obligatoire
  • sample.json: exemple de données du cloud event, optionnel
  • README.md: description du cloud event, optionnel

Pré-requis

# install json-schema-to-typescript
npm install -g json-schema-to-typescript

# install go-jsonschema os OSX
brew tap omissis/go-jsonschema
brew install go-jsonschema
# for other platfors, see [github.com/omissis/go-jsonschema](https://github.com/omissis/go-jsonschema)

Génération de types Go et typescript

Pour Générer les types Go et typescript, il faut exécuter le script cloudevents-gen.sh

./cloudevents-gen-types.sh

Génération d'une page web permettant de visualiser les cloudevents

Pour générer la page web, il faut exécuter le script cloudevents-gen-web.sh

./cloudevents-gen-web.sh