Pour démarrer
Prérequis
- Node.js v18.16.0+
- Docker v20.10.17+ ou un cluster Kubernetes
Pour construire un serveur cyk, le programme create-cyk génère au choix un fichier docker-compose.yml pour Docker Compose ou des fichiers de ressources pour un cluster Kubernetes.
Le cluster Kubernetes peut être un service Cloud ou inclus dans Docker Desktop ou Minikube...
La commande cyk inclut les sous-commandes start et stop pour démarrer et arrêter le serveur cyk
Un nouveau projet peut aussi se rattacher à un serveur cyk existant
Créer un nouveau projet
- Etape 1: Choisir le nom du projet
Avant tout, placez vous à l'endroit ou vous voulez créer un dossier pour le projet, puis :
npx create-cyk@latest
affichera :
npx: installed 38 in 11.348s
CykLang - A Full Stack Programming Language
? Project name: › cyk-project
Le dossier créé portera le même nom que le projet.
- Etape 2: Construire des serveurs locaux avec docker
Une fois que vous avez entré le nom du projet ou accepté la proposition par défaut, indiquez si vous voulez configurer un nouveau serveur local ou vous connecter à un serveur existant.
✔ Project name: … cyk-project
? Cyk Servers : › - Use arrow-keys. Return to submit.
❯ build local Cyk servers with docker compose
build Cyk server with kubernetes resources
connect to existing Cyk servers
Comme il s'agit de notre premier projet, acceptez l'option par défaut qui consiste à créer deux nouveaux containers docker. Le premier pour héberger la base de données Postgresql, et le second pour le serveur NodeJS.
- Etape 3: Configurer le serveur de base de données Postgresql
✔ Postgresql Port: … 5432
✔ Postgresql Admin Login: … postgres
✔ Postgresql Admin Password: … postgres
Le container Postgresql est construit à partir de l'image officielle docker de Postgresql. Même si la plupart des besoins sont couverts par l'outil en ligne de commande cyk fourni, n'hésitez pas à vous connecter au serveur de base de données en utilisant l'outil de votre choix (psql, pgadmin ...)
- Etape 4: Configurer le serveur NodeJS
✔ Node Server Port: … 3000
✔ Cyk Admin User: … cyk
✔ Cyk Admin Password: … cyk
✔ Cyk Admin Email: …
Le conteneur est construit à partir de l'image docker publique
- Etape 5: Construire et démarrer les serveurs
Une fois que vous aurez configuré le serveur Nodejs, l'outil effectuera automatiquement les tâches suivantes:
- écrire les fichiers de configuration: package.json, .env, docker-compose.yml
- installer localement la commande cyk
La sortie console se présente ainsi:
Scaffolding project in /private/tmp/cyk-project...
npm install @cyklang/cli@latest ...
added 108 packages, and audited 109 packages in 18s
38 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
* npm install @cyklang/cli@latest
Done. Now run:
cd cyk-project
npx cyk start # will do: docker compose up
- Etape 6: Démarrer le serveur
Allez dans le dossier du projet et démarrez le serveur avec la commande cyk
cd cyk-project
npx cyk start
La sortie est dépendante de l'orchestrateur choisi, Docker Compose ou Kubernetes
Dans le cas de Kubernetes, la commande exécute des "port-forward" entre l'ordinateur et les ports spécifiés vers les services du cluster Kubernetes
La commande npx cyk stop arrête le serveur cyk
- Etape 7: Tester le serveur nouvellement créé
Avec votre navigateur préféré, ouvrez la page d'accueil du serveur NodeJS :
http://localhost:3000 (remplacez 3000 par le numéro de port fourni à l'étape 4 )
Vous devriez voir:
