Aller au contenu

Guide : Créer des Templates d'Application

La plateforme Nekristo vous permet de créer vos propres templates pour standardiser et accélérer la création de nouveaux services. Un template n'est qu'un simple dossier contenant les fichiers de base d'une application.

Structure d'un Template

Pour créer un nouveau template, par exemple mon-template, vous devez créer un dossier dans nekristo_cli/skeletons/apps/.

La structure doit être la suivante :

nekristo_cli/
└── skeletons/
    └── apps/
        └── mon-template/
            ├── nekristo.yml.tpl
            ├── main.py
            ├── requirements.txt
            └── ... (tous les autres fichiers de base)

Le Manifeste Template (nekristo.yml.tpl)

Le fichier le plus important est nekristo.yml.tpl. Il s'agit d'un manifeste nekristo.yml standard, mais avec la possibilité d'utiliser des variables qui seront remplacées lors de la création de l'application.

La seule variable actuellement disponible est : * {{APP_NAME}} : Sera remplacée par le nom de l'application fourni dans la commande nekristo-cli apps new <nom-de-l-app>.

Exemple de nekristo.yml.tpl :

app_name: {{APP_NAME}}
version: '1.0'

components:
  - name: web
    path: ./
    type: python
    run_command: "uvicorn main:app --host 0.0.0.0 --port 8000"
    public_port: 8000
    local_domain: "{{APP_NAME}}.nekristo.local"
    public_domain: "{{APP_NAME}}.nekristo.com"
    letsencrypt: true
    database:
      name: "{{APP_NAME}}_db"
    deployment: {}

tests:
  run_command: "pytest"

Utilisation

Une fois votre dossier de template créé, il sera automatiquement disponible via la commande new :

nekristo-cli apps new ma-nouvelle-app --template mon-template

Cette commande va copier tous les fichiers de nekristo_cli/skeletons/apps/mon-template dans apps/ma-nouvelle-app/, et configurer le manifeste en remplaçant {{APP_NAME}} par ma-nouvelle-app.