Compare commits

..

4 Commits
jwt ... master

Author SHA1 Message Date
8a7cf24cd6 correctif doc et ajout dans README sur master 2020-09-03 16:47:29 +02:00
669782cd35 ajout liens pour wiki 2020-09-03 16:22:33 +02:00
4acd5d5a7f ajout schema-tira.jpg 2020-09-03 16:19:55 +02:00
533ad2551f update readme 2019-12-11 16:47:31 +01:00
140 changed files with 1508 additions and 3730 deletions

View File

@ -11,63 +11,20 @@ Accéder à un message :
wget http://localhost:8080/v1/config.session.server.start
```
Démarrer un serveur LemonLDAP de test
```
docker pull coudot/lemonldap-ng
echo "127.0.0.1 auth.example.com manager.example.com test1.example.com test2.example.com" >> /etc/hosts
docker run -d --add-host reload.example.com:127.0.0.1 -p 80:80 coudot/lemonldap-ng
```
[Documentation WIKI cadoles](https://doku.cadoles.com/dokuwiki/doku.php?id=documentation:risotto) n'est qu'un liens vers la doc officiel (pour le moment) [dans la forge](https://forge.cadoles.com/Infra/eole-risotto/wiki)
Démarrer un serveur postgresql de test
```
docker run -dt -p 5432:5432 --name postgres postgres:11-alpine
docker exec -ti postgres bash
**branche :**
psql -U postgres -h localhost -c "CREATE ROLE risotto WITH LOGIN PASSWORD 'risotto';"
psql -U postgres -h localhost -c "CREATE DATABASE risotto;"
psql -U postgres -h localhost -c "GRANT ALL ON DATABASE risotto TO risotto;"
psql -U postgres -h localhost -c "CREATE EXTENSION hstore;"
psql -U postgres -h localhost -c "CREATE EXTENSION pgcrypto;"
```
master
Gestion de la base de données avec Sqitch
develop
```
cpanm --quiet --notest App::Sqitch
sqitch init risotto --uri https://forge.cadoles.com/Infra/risotto --engine pg
```
dist/risotto/risotto-2.7.1/develop : pour faire des paquets
dist/risotto/risotto-2.8.0/develop : pour faire des paquets
Commande :
docker : n'est pas a jour
# Empty database:
su - postgres
psql -U postgres risotto
drop table log; drop table userrole; drop table release; drop table source; drop table server; drop table servermodel; drop table applicationservice; drop table roleuri; drop table risottouser; drop table uri;
feature/service_servermodel :
# Import EOLE
./script/cucchiaiata source.create -n eole -u http://localhost
./script/cucchiaiata source.release.create -s eole -n 2.7.1.1 -d last
./script/cucchiaiata applicationservice.dataset.updated -s eole -r last
./script/cucchiaiata servermodel.dataset.updated -s eole -r last
# Create a server
./script/cucchiaiata server.create -s test -d description -m eolebase -n eole -r last
# Configure the server
./script/cucchiaiata session.server.start -s test
S=xxxxxxxxxxxxxxxxxxxxxx
./script/cucchiaiata session.server.configure -s $S --creole.reseau.unbound_ip_address_cidr 192.168.1.1/24 --creole.reseau.unbound_route_address 192.168.1.2 --creole.serveur_dns.unbound_allowed_client_cidr 192.168.1.0/24 --creole.serveur_dns.unbound_local_zones cadoles.com
./script/cucchiaiata session.server.configure -s $S --creole.reseau.unbound_domain_name test.cadoles.com
./script/cucchiaiata session.server.filter -s $S -n unbound
./script/cucchiaiata session.server.configure -s $S --unbound.unbound_zone_cadoles_com.hostname_cadoles_com.hostname_cadoles_com toto titi --unbound.unbound_zone_cadoles_com.hostname_cadoles_com.ip_cadoles_com 0 192.168.1.25 --unbound.unbound_zone_cadoles_com.hostname_cadoles_com.type_cadoles_com 1 CNAME --unbound.unbound_zone_cadoles_com.hostname_cadoles_com.cname_cadoles_com 1 toto.cadoles.com
./script/cucchiaiata session.server.validate -s $S
./script/cucchiaiata session.server.stop -s $S -a
# Generate configuration
./script/cucchiaiata config.configuration.server.deploy -s test
./script/cucchiaiata template.generate -s test
# Create a new user and set role 'server_rw' for this server
./script/cucchiaiata user.create -l gnunux -n gnunux -s gnunux
./script/cucchiaiata user.role.create -u gnunux -n 'server_rw' -a 'Server.ServerName' -v test
jwt :

View File

@ -1,29 +0,0 @@
FROM python:3.7
# Requirements
ARG TIRAMISU_REPO_URL=https://framagit.org/tiramisu/tiramisu.git
ARG RISOTTO_REPO_URL=https://forge.cadoles.com/Infra/risotto.git
ARG ROUGAIL_REPO_URL=https://forge.cadoles.com/Infra/rougail.git
RUN apt-get update && apt-get install -y \
vim \
curl \
git \
jq \
&& apt-get clean
RUN git clone --branch develop ${TIRAMISU_REPO_URL} /srv/src/tiramisu
RUN git clone --branch docker ${RISOTTO_REPO_URL} /srv/src/risotto
RUN git clone --branch master ${ROUGAIL_REPO_URL} /srv/src/rougail
RUN ln -s /srv/src/tiramisu/tiramisu /usr/local/lib/python3.7
RUN ln -s /srv/src/rougail/src/rougail /usr/local/lib/python3.7
RUN ln -s /srv/src/risotto/src/risotto /usr/local/lib/python3.7
RUN pip install Cheetah3 PyJWT
RUN cd /srv/src/risotto && pip install -r requirements.txt
# Installation
RUN cp -r /srv/src/risotto/messages/ /usr/local/lib/
RUN mkdir -p /var/cache/risotto/servermodel
RUN mkdir -p /var/cache/risotto/database

View File

@ -1,14 +0,0 @@
Docker
```
cd docker
docker build -t cadoles/risotto .
docker run -t -d --name risotto cadoles/risotto
docker exec -ti risotto bash
```
Docker-Compose
```
cd docker
docker-compose up
```

View File

@ -1,29 +0,0 @@
version: '2.2'
services:
risotto:
build:
context: ../
dockerfile: docker/Dockerfile
volumes:
- ../.:/srv/src/risotto
- ../messages:/usr/local/lib/messages
ports:
- "8080:8080"
depends_on:
- postgres
links:
- postgres
#command: tail -F /var/log
command: python -u /srv/src/risotto/script/server.py
restart: on-failure
postgres:
image: postgres:11-alpine
environment:
POSTGRES_USER: ${POSTGRES_USER:-postgres}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-postgres}
PGDATA: /data/postgres
volumes:
- ./postgres-init/:/docker-entrypoint-initdb.d/
ports:
- "5432:5432"
restart: unless-stopped

View File

@ -1,105 +0,0 @@
#!/bin/bash
set -e
psql --username "$POSTGRES_USER" <<-EOSQL
CREATE ROLE risotto WITH LOGIN PASSWORD 'risotto';
CREATE DATABASE risotto;
GRANT ALL ON DATABASE risotto TO risotto;
\c risotto
CREATE EXTENSION hstore;
CREATE EXTENSION pgcrypto;
EOSQL
psql --username "risotto" --password "risotto" <<-EOSQL
-- Création de la table Source
CREATE TABLE Source (
SourceId SERIAL PRIMARY KEY,
SourceName VARCHAR(255) NOT NULL UNIQUE,
SourceURL TEXT
);
-- Création de la table Release
CREATE TABLE Release (
ReleaseId SERIAL PRIMARY KEY,
ReleaseName VARCHAR(255) NOT NULL,
ReleaseSourceId INTEGER NOT NULL,
ReleaseDistribution VARCHAR(20) CONSTRAINT releasedistribution_choice CHECK (ReleaseDistribution IN ('last', 'n-1', 'n-2')),
UNIQUE (ReleaseName, ReleaseSourceId),
UNIQUE (ReleaseDistribution, ReleaseSourceId),
FOREIGN KEY (ReleaseSourceId) REFERENCES Source(SourceId)
);
-- Création de la table Servermodel
CREATE TABLE Servermodel (
ServermodelId SERIAL PRIMARY KEY,
ServermodelName VARCHAR(255) NOT NULL,
ServermodelDescription VARCHAR(255) NOT NULL,
ServermodelParentsId INTEGER [] DEFAULT '{}',
ServermodelReleaseId INTEGER NOT NULL,
ServermodelApplicationServiceId INTEGER NOT NULL,
ServermodelUsers hstore,
UNIQUE (ServermodelName, ServermodelReleaseId)
);
-- Création de la table ApplicationService
CREATE TABLE ApplicationService (
ApplicationServiceId SERIAL PRIMARY KEY,
ApplicationServiceName VARCHAR(255) NOT NULL,
ApplicationServiceDescription VARCHAR(255) NOT NULL,
ApplicationServiceReleaseId INTEGER NOT NULL,
ApplicationServiceDependencies JSON,
UNIQUE (ApplicationServiceName, ApplicationServiceReleaseId)
);
-- Server table creation
CREATE TABLE Server (
ServerId SERIAL PRIMARY KEY,
ServerName VARCHAR(255) NOT NULL UNIQUE,
ServerDescription VARCHAR(255) NOT NULL,
ServerServermodelId INTEGER NOT NULL
);
-- User, Role and ACL table creation
CREATE TABLE RisottoUser (
UserId SERIAL PRIMARY KEY,
UserLogin VARCHAR(100) NOT NULL UNIQUE,
UserPassword TEXT NOT NULL,
UserName VARCHAR(100) NOT NULL,
UserSurname VARCHAR(100) NOT NULL
);
CREATE TABLE UserRole (
RoleId SERIAL PRIMARY KEY,
RoleUserId INTEGER NOT NULL,
RoleName VARCHAR(255) NOT NULL,
RoleAttribute VARCHAR(255),
RoleAttributeValue VARCHAR(255),
FOREIGN KEY (RoleUserId) REFERENCES RisottoUser(UserId)
);
CREATE TABLE URI (
URIId SERIAL PRIMARY KEY,
URIName VARCHAR(255) NOT NULL UNIQUE
);
CREATE TABLE RoleURI (
RoleName VARCHAR(255) NOT NULL,
URIId INTEGER NOT NULL,
FOREIGN KEY (URIId) REFERENCES URI(URIId),
PRIMARY KEY (RoleName, URIId)
);
-- Log table creation
CREATE TABLE log(
Msg VARCHAR(255) NOT NULL,
Level VARCHAR(10) NOT NULL,
Path VARCHAR(255),
Username VARCHAR(100) NOT NULL,
Data JSON,
Date timestamp DEFAULT current_timestamp
);
EOSQL

View File

@ -1,33 +0,0 @@
---
uri: applicationservice.create
description: |
Créé un service applicatif.
pattern: rpc
parameters:
applicationservice_name:
type: String
shortarg: n
description: |
Nom du service applicatif à créer.
applicationservice_description:
type: String
shortarg: d
description: |
Description du service applicatif à créer.
applicationservice_dependencies:
type: '[]Number'
shortarg: a
description: ID des services applicatif donc dépendant le service applicatif.
default: []
release_id:
type: Number
shortarg: r
description: |
Identifiant de la version associée au service applicatif.
response:
type: ApplicationService
description: Informations sur le service applicatif créé.

View File

@ -1,20 +0,0 @@
uri: applicationservice.dataset.updated
description: |
Les services applicatifs sont mis à jour.
pattern: rpc
parameters:
source_name:
type: String
shortarg: s
description: Nom de la source.
release_distribution:
type: String
shortarg: r
description: Distribution de la source.
response:
type: ReturnStatus
description: Code de retour sur linjection des services applicatifs en base.

View File

@ -1,23 +0,0 @@
---
uri: applicationservice.describe
description: |
Décrit un service applicatif.
pattern: rpc
parameters:
applicationservice_name:
type: String
shortarg: n
description: |
Nom du service applicatif à créer.
release_id:
type: Number
shortarg: r
description: |
Identifiant de la version associée au service applicatif.
response:
type: ApplicationService
description: Informations sur le service applicatif.

View File

@ -1,34 +0,0 @@
---
uri: applicationservice.get_by_id
description: |
Retourne un service applicatif suivant l'identifiant.
pattern: rpc
parameters:
applicationservice_id:
type: Number
shortarg: i
description: |
ID du service applicatif à créer.
response:
type: ApplicationService
description: Informations sur le service applicatif créé.
errors:
- uri: servermodel.create.error.database_not_available
- uri: servermodel.create.error.duplicate_servermodel
- uri: servermodel.create.error.invalid_parentservermodel_id
- uri: servermodel.create.error.invalid_source_id
- uri: servermodel.create.error.unknown_parentservermodel_id
- uri: servermodel.create.error.unknown_source_id
- uri: servermodel.create.error.servermodelname_not_provided
related:
- servermodel.list
- servermodel.describe
- servermodel.update
- servermodel.delete
- servermodel.event

View File

@ -1,17 +1,19 @@
---
uri: config.configuration.server.deploy
description: Déployer la configuration d'un serveur.
description: |
Déployer la configuration d'un serveur.
pattern: rpc
sampleuse: ~
pattern: event
public: false
domain: config-domain
parameters:
server_name:
type: String
ref: Server.ServerName
shortarg: s
description: Nom du serveur.
response:
type: Deploy
description: La configuration du serveur est déployée.
server_id:
type: Number
description: |
Identifiant du serveur.

View File

@ -4,13 +4,20 @@ uri: config.configuration.server.get
description: |
Récupère le contenu de la configuration.
sampleuse: ~
pattern: rpc
public: false
domain: config-domain
parameters:
server_name:
type: String
ref: Server.ServerName
description: Nom du serveur.
server_id:
type: Number
ref: Server.ServerId
description: |
Identifiant du serveur.
deployed:
type: Boolean
description: Configuration de type déployée.

View File

@ -4,18 +4,19 @@ uri: config.configuration.server.updated
description: |
Une configuration de serveur a été mise à jour.
sampleuse: ~
pattern: event
public: false
domain: config-domain
parameters:
server_id:
type: Number
description: |
Identifiant du serveur.
server_name:
type: String
ref: Server.ServerName
shortarg: s
description: Nom du serveur.
deployed:
type: Boolean
description: Configuration de type déployée.

View File

@ -5,7 +5,7 @@ description: |
Retourne des informations sur la session HTTP courante de l'utilisateur.
sampleuse: |
cucchiaiata identity.session-user.get
zephir-client identity.session-user.get
pattern: rpc

View File

@ -5,7 +5,7 @@ description: |
Retourne les préférences de l'utilisateur spécifié.
sampleuse: |
cucchiaiata identity.settings.get -u yo
zephir-client identity.settings.get -u yo
pattern: rpc

View File

@ -5,7 +5,7 @@ description: |
Enregistre des préférences pour l'utilisateur spécifié.
sampleuse: |
cucchiaiata identity.settings.set -u yo
zephir-client identity.settings.set -u yo
pattern: rpc

View File

@ -0,0 +1,54 @@
---
uri: server.create
description: |
Crée un serveur.
sampleuse: |
zephir-client server.create -s MonJoliServeur -d "un bien joli serveur" -m 1 -p MyPassPhrase
pattern: rpc
public: true
domain: server-domain
parameters:
servername:
type: String
shortarg: s
description: |
Nom du serveur.
serverdescription:
type: String
shortarg: d
description: |
Description du serveur.
servermodelid:
type: Number
shortarg: m
ref: Servermodel.ServermodelId
description: |
Identifiant du modèle de serveur.
serverpassphrase:
type: String
shortarg: p
description: |
Phrase secrète de la clef privé.
response:
type: Server
description: Description du serveur créé.
errors:
- uri: server.error.database-not-available
- uri: server.error.db-connection
- uri: server.error.invalid-servermodel-id
- uri: server.error.unknown-servermodel-id
- uri: server.error.servername-not-provided
related:
- server.list
- server.describe
- server.update
- server.delete

View File

@ -11,7 +11,7 @@ pattern: rpc
domain: server-domain
sampleuse: |
cucchiaiata server.delete -s 1
zephir-client server.delete -s 1
parameters:
serverid:

View File

@ -0,0 +1,49 @@
---
uri: server.describe
description: |
Retourne les attributs détaillés dun serveur.
sampleuse: |
zephir-client server.describe -s 1
pattern: rpc
public: true
domain: server-domain
parameters:
serverid:
type: Number
ref: Server.ServerId
description: Identifiant du serveur.
shortarg: s
configuration:
type: Boolean
description: Inclure les valeurs de configuration.
default: false
environment:
type: Boolean
description: Inclure les variables d'environement.
default: false
peering:
type: Boolean
description: Inclure la clé d'appairage.
default: false
response:
type: ServerDescribe
description: Description du serveur.
errors:
- uri: server.error.database-not-available
- uri: server.error.db-connection
- uri: server.error.invalid-server-id
- uri: server.error.unknown-server-id
related:
- server.list
- server.create
- server.update
- server.delete

View File

@ -5,7 +5,7 @@ description: |
Transmet une commande à exécuter sur un serveur donné.
sampleuse: |
cucchiaiata server.exec.command -s 1 -c reconfigure
zephir-client server.exec.command -s 1 -c reconfigure
domain: server-domain

View File

@ -5,7 +5,7 @@ description: |
Déploie la configuration sur un serveur donné.
sampleuse: |
cucchiaiata server.exec.deploy -s 1
zephir-client server.exec.deploy -s 1
domain: server-domain

View File

@ -5,7 +5,7 @@ description: |
Liste les commandes exécuté pour un identifiant de tâche.
sampleuse: |
cucchiaiata server.exec.list -j 1
zephir-client server.exec.list -j 1
domain: execution-domain

View File

@ -5,7 +5,7 @@ description: |
Liste les commandes exécutées sur un serveur donné.
sampleuse: |
cucchiaiata server.exec.list -s 1
zephir-client server.exec.list -s 1
domain: execution-domain

View File

@ -5,7 +5,7 @@ description: |
Retourne la liste des sélections de serveurs d'un serveur
sampleuse: |
cucchiaiata server.serverselection.list
zephir-client server.serverselection.list
pattern: rpc

View File

@ -7,7 +7,7 @@ description: |
public: true
sampleuse: |
cucchiaiata server.update -s 1 -n toto -d "server description"
zephir-client server.update -s 1 -n toto -d "server description"
pattern: rpc

View File

@ -5,7 +5,7 @@ description: |
Associe un service applicatif à un modèle de serveur.
sampleuse: |
cucchiaiata servermodel.applicationservice.join -m 1 -s 1
zephir-client servermodel.applicationservice.join -m 1 -s 1
pattern: rpc

View File

@ -5,7 +5,7 @@ description: |
Retourne la liste des applications service.
sampleuse: |
cucchiaiata servermodel.applicationservice.list -s 6
zephir-client servermodel.applicationservice.list -s 6
pattern: rpc

View File

@ -5,7 +5,7 @@ description: |
Crée un modèle de serveur.
sampleuse: |
cucchiaiata servermodel.create -p 1 -n "MonServeurModele" -d "Ma description" -s 1
zephir-client servermodel.create -p 1 -n "MonServeurModele" -d "Ma description" -s 1
pattern: rpc

View File

@ -0,0 +1,18 @@
---
uri: servermodel.source.list
description: |
Retourne la liste des sources.
sampleuse: |
zephir-client servermodel.source.list
pattern: rpc
public: true
domain: servermodel-domain
response:
type: '[]Dict'
description: Liste des sources disponibles.

View File

@ -5,7 +5,7 @@ description: |
Retourne la liste des subreleases.
sampleuse: |
cucchiaiata servermodel.subrelease.list
zephir-client servermodel.subrelease.list
pattern: rpc

View File

@ -5,7 +5,7 @@ description: |
Crée un sélection de serveurs.
sampleuse: |
cucchiaiata serverselection.create -n Select1 -d "Ma description"
zephir-client serverselection.create -n Select1 -d "Ma description"
pattern: rpc

View File

@ -5,7 +5,7 @@ description: |
Supprime une sélection de serveurs.
sampleuse: |
cucchiaiata serverselection.delete -s 1
zephir-client serverselection.delete -s 1
pattern: rpc

View File

@ -6,7 +6,7 @@ description: |
sampleuse: |
cucchiaiata serverselection.describe -s 1
zephir-client serverselection.describe -s 1
pattern: rpc

View File

@ -5,7 +5,7 @@ description: |
Transmet une commande à exécuter sur une sélection de serveurs.
sampleuse: |
cucchiaiata serverselection.exec.command -s 1 -c reconfigure
zephir-client serverselection.exec.command -s 1 -c reconfigure
domain: server-domain

View File

@ -5,7 +5,7 @@ description: |
Déploie la configuration sur les serveurs d'une sélection de serveurs.
sampleuse: |
cucchiaiata serverselection.exec.deploy -s 1
zephir-client serverselection.exec.deploy -s 1
domain: server-domain

View File

@ -5,7 +5,7 @@ description: |
Retourne la liste des sélections de serveurs.
sampleuse: |
cucchiaiata serverselection.list
zephir-client serverselection.list
pattern: rpc

View File

@ -5,7 +5,7 @@ description: |
Ajoute un serveur à une sélection de serveurs.
sampleuse: |
cucchiaiata serverselection.add.server -s 1 -i 1
zephir-client serverselection.add.server -s 1 -i 1
pattern: rpc

View File

@ -5,7 +5,7 @@ description: |
Supprime un serveur d'une sélection de serveurs.
sampleuse: |
cucchiaiata serverselection.remove.server -s 1 -i 1
zephir-client serverselection.remove.server -s 1 -i 1
pattern: rpc

View File

@ -5,7 +5,7 @@ description: |
Renseigne une liste de serveur dans une sélection de serveurs.
sampleuse: |
cucchiaiata serverselection.server.set -s 1 -i 1
zephir-client serverselection.server.set -s 1 -i 1
pattern: rpc

View File

@ -5,7 +5,7 @@ description: |
Modifie une sélection de serveur.
sampleuse: |
cucchiaiata serverselection.update -s 1 -n Select1 -d "Ma description"
zephir-client serverselection.update -s 1 -n Select1 -d "Ma description"
pattern: rpc

View File

@ -5,7 +5,7 @@ description: |
Associe un utilisateur à une sélection de serveurs.
sampleuse: |
cucchiaiata serverselection.add.user -s 1 -u yo -r admin
zephir-client serverselection.add.user -s 1 -u yo -r admin
pattern: rpc

View File

@ -5,7 +5,7 @@ description: |
Retourne la sélection de serveurs par défaut de l'utilisateur.
sampleuse: |
cucchiaiata serverselection.user.default
zephir-client serverselection.user.default
pattern: rpc

View File

@ -5,7 +5,7 @@ description: |
Retourne les sélections de serveurs dont l'utilisateur fait parti.
sampleuse: |
cucchiaiata serverselection.user.list
zephir-client serverselection.user.list
pattern: rpc

View File

@ -5,7 +5,7 @@ description: |
Dissocie un utilisateur d'une sélection de serveurs.
sampleuse: |
cucchiaiata serverselection.remove.user -s 1 -u yo
zephir-client serverselection.remove.user -s 1 -u yo
pattern: rpc

View File

@ -5,7 +5,7 @@ description: |
Retourne le rôle d'utilisateur sur une selection de serveurs.
sampleuse: |
cucchiaiata serverselection.user.role.get -d '{}'
zephir-client serverselection.user.role.get -d '{}'
pattern: rpc

View File

@ -5,7 +5,7 @@ description: |
Retourne le rôle d'un utlisateur sur un serveur.
sampleuse: |
cucchiaiata serverselection.user.role.server.get -d '{}'
zephir-client serverselection.user.role.server.get -d '{}'
pattern: rpc

View File

@ -5,7 +5,7 @@ description: |
Modifie le rôle d'un utilisateur pour une sélection de serveurs.
sampleuse: |
cucchiaiata serverselection.update.user -s 1 -u yo -r admin
zephir-client serverselection.update.user -s 1 -u yo -r admin
pattern: rpc

View File

@ -1,35 +0,0 @@
---
uri: server.create
description: Crée un serveur.
pattern: rpc
parameters:
server_name:
type: String
shortarg: s
description: Nom du serveur.
server_description:
type: String
shortarg: d
description: Description du serveur.
servermodel_name:
type: String
shortarg: m
ref: Servermodel.ServermodelName
description: Nom du modèle de serveur.
source_name:
type: String
shortarg: n
ref: Source.SourceName
description: Nom de la source.
release_distribution:
type: String
shortarg: r
ref: Source.ReleaseDistribution
description: Nom de la sous-version.
response:
type: Server
description: Description du serveur créé.

View File

@ -5,6 +5,10 @@ description: Un serveur a été créé.
pattern: event
public: false
domain: server-domain
parameters:
type: Server
description: Description du serveur.

View File

@ -1,11 +1,17 @@
---
uri: server.deleted
sampleuse: ~
description: |
Un serveur a été supprimé.
pattern: event
public: false
domain: server-domain
parameters:
server_id:
type: Number

View File

@ -1,17 +0,0 @@
---
uri: server.describe
description: Retourne les attributs détaillés dun serveur.
pattern: rpc
parameters:
server_name:
type: String
shortarg: s
ref: Server.ServerName
description: Nom du serveur.
response:
type: Server
description: Description du serveur.

View File

@ -4,8 +4,15 @@ uri: server.list
description: |
Liste les serveurs disponibles.
sampleuse: |
zephir-client server.list
public: true
pattern: rpc
domain: server-domain
response:
type: '[]Server'
description: Retourne la liste des serveurs.

View File

@ -5,6 +5,10 @@ description: Des modèles de serveur ont été créés.
pattern: event
public: false
domain: servermodel-domain
parameters:
type: Servermodel
description: Informations sur les modèles de serveur créés.

View File

@ -1,20 +0,0 @@
uri: servermodel.dataset.updated
description: |
Initialise la table pour les modèles de serveur.
pattern: rpc
parameters:
source_name:
type: String
shortarg: s
description: Nom de la source.
release_distribution:
type: String
shortarg: r
description: Distribution de la version.
response:
type: ReturnStatus
description: Code de retour sur linjection des modèles de serveur en base.

View File

@ -4,25 +4,64 @@ uri: servermodel.describe
description: |
Retourne les attributs détaillés d'un modèle de serveur.
sampleuse: |
zephir-client servermodel.describe -s 1
pattern: rpc
public: true
domain: servermodel-domain
parameters:
servermodel_name:
type: String
servermodelid:
type: Number
shortarg: s
description: Identifiant du modèle de serveur à récupérer.
ref: Servermodel.ServermodelId
source_name:
type: String
shortarg: n
description: Nom de la source.
ref: Source.SourceName
release_distribution:
type: String
inheritance:
type: Boolean
shortarg: i
description: Inclure les données héritées des modèles de serveur parents.
default: true
resolvdepends:
type: Boolean
shortarg: r
description: Nom de la distribution.
ref: Source.ReleaseDistribution
description: Résoudre les dépendances de services.
default: true
schema:
type: Boolean
shortarg: c
description: Inclure le schema de configuration (réaggrège les données provenant du datasource).
default: false
probes:
type: Boolean
shortarg: p
description: Inclure les informations sur les sondes de la configuration.
default: false
creolefuncs:
type: Boolean
shortarg: o
description: Inclure les fonctions Creole.
default: false
conffiles:
type: Boolean
shortarg: f
description: Inclure les fichier creole au format tar encodé en base64
default: false
response:
type: Servermodel
description: Description du modèle de serveur.
errors:
- uri: servermodel.describe.error.database_not_available
- uri: servermodel.describe.error.invalid_servermodel_id
- uri: servermodel.describe.error.unknown_servermodel_id
related:
- servermodel.list
- servermodel.create
- servermodel.update
- servermodel.delete
- servermodel.event

View File

@ -1,17 +0,0 @@
---
uri: servermodel.get_by_id
description: Retourne les attributs détaillés d'un modèle de serveur suivant son identifiant.
pattern: rpc
parameters:
servermodel_id:
type: Number
shortarg: s
description: Identifiant du modèle de serveur à récupérer.
ref: Servermodel.ServermodelId
response:
type: Servermodel
description: Description du modèle de serveur.

View File

@ -4,10 +4,17 @@ uri: servermodel.list
description: |
Retourne la liste des modèles de serveur disponibles.
sampleuse: |
zephir-client servermodel.list
pattern: rpc
public: true
domain: servermodel-domain
parameters:
source_id:
sourceid:
type: Number
shortarg: s
description: |
@ -17,3 +24,13 @@ parameters:
response:
type: '[]Servermodel'
description: Liste des modèles de serveur disponibles.
errors:
- uri: servermodel.list.error.database_not_available
related:
- servermodel.describe
- servermodel.create
- servermodel.update
- servermodel.delete
- servermodel.event

View File

@ -5,6 +5,10 @@ description: Des modèles de serveur ont été modifiés.
pattern: event
public: false
domain: servermodel-domain
parameters:
type: 'Servermodel'
description: Informations sur les modèles de serveur modifiés.

View File

@ -6,6 +6,10 @@ description: |
pattern: rpc
public: true
domain: session-domain
parameters:
session_id:
type: String

View File

@ -6,6 +6,10 @@ description: |
pattern: rpc
public: true
domain: session-domain
parameters:
session_id:
type: String

View File

@ -6,6 +6,10 @@ description: |
pattern: rpc
public: true
domain: session-domain
parameters:
session_id:
type: String

View File

@ -6,6 +6,10 @@ description: |
pattern: rpc
public: true
domain: session-domain
response:
type: '[]Session'
description: |

View File

@ -6,12 +6,17 @@ description: |
pattern: rpc
public: true
domain: session-domain
parameters:
server_name:
type: String
ref: Server.ServerName
shortarg: s
description: Nom du serveur.
id:
type: Number
ref: Server.ServerId
shortarg: c
description: |
Identifiant de la configuration.
response:
type: Session

View File

@ -6,6 +6,10 @@ description: |
pattern: rpc
public: true
domain: session-domain
parameters:
session_id:
ref: Config.SessionId

View File

@ -6,6 +6,10 @@ description: |
pattern: rpc
public: true
domain: session-domain
parameters:
session_id:
ref: Config.SessionId

View File

@ -6,6 +6,10 @@ description: |
pattern: rpc
public: true
domain: session-domain
parameters:
session_id:
type: String

View File

@ -6,6 +6,10 @@ description: |
pattern: rpc
public: true
domain: session-domain
parameters:
session_id:
type: String

View File

@ -6,6 +6,10 @@ description: |
pattern: rpc
public: true
domain: session-domain
parameters:
session_id:
type: String

View File

@ -5,6 +5,10 @@ description: |
pattern: rpc
public: true
domain: session-domain
response:
type: '[]Session'
description: |

View File

@ -5,22 +5,17 @@ description: |
pattern: rpc
public: true
domain: session-domain
parameters:
servermodel_name:
type: String
ref: Servermodel.ServermodelName
shortarg: s
description: Nom du serveurmodel.
source_name:
type: String
shortarg: n
description: Nom de la source.
ref: Source.SourceName
release_distribution:
type: String
shortarg: r
description: Nom de la distribution.
ref: Source.ReleaseDistribution
id:
type: Number
ref: Servermodel.ServermodelId
shortarg: c
description: |
Identifiant de la configuration.
response:
type: Session

View File

@ -5,6 +5,10 @@ description: |
pattern: rpc
public: true
domain: session-domain
parameters:
session_id:
ref: Config.SessionId

View File

@ -6,6 +6,10 @@ description: |
pattern: rpc
public: true
domain: session-domain
parameters:
session_id:
ref: Config.SessionId

View File

@ -1,23 +0,0 @@
---
uri: source.create
description: |
Créer une source.
pattern: rpc
parameters:
source_name:
type: String
shortarg: n
description: |
Nom de la source.
source_url:
type: String
shortarg: u
description: |
URL de téléchargement de la source.
response:
type: 'Source'
description: Information sur la source.

View File

@ -1,20 +0,0 @@
uri: source.dataset.update
description: |
Initialise la table pour les versions.
pattern: rpc
parameters:
source_id:
type: Number
shortarg: s
description: ID de la source.
release_name:
type: String
shortarg: r
description: Nom de la version.
response:
type: Release
description: Informations sur la version injectée en base.

View File

@ -1,18 +0,0 @@
---
uri: source.describe
description: |
Retourne une source.
pattern: rpc
parameters:
source_name:
type: String
shortarg: n
description: |
Nom de la source.
response:
type: 'Source'
description: Information sur la source.

View File

@ -1,11 +0,0 @@
---
uri: source.list
description: |
Retourne la liste des sources.
pattern: rpc
response:
type: '[]Source'
description: Liste des sources disponibles.

View File

@ -1,27 +0,0 @@
---
uri: source.release.create
description: |
Créer une version.
pattern: rpc
parameters:
source_name:
type: String
shortarg: s
description: Nom de la source.
release_name:
type: String
shortarg: n
description: |
Nom de la version.
release_distribution:
type: String
shortarg: d
description: |
Distribution de la version.
response:
type: 'Release'
description: Information sur la version.

View File

@ -1,21 +0,0 @@
---
uri: source.release.describe
description: |
Retourne la sous-version.
pattern: rpc
parameters:
source_name:
type: String
shortarg: s
description: Nom de la source.
release_distribution:
type: String
shortarg: r
description: Nom de la sous-version
response:
type: 'Release'
description: Sous-version.

View File

@ -1,22 +0,0 @@
---
uri: source.release.get_by_distribution
description: |
Retourne version suivant le nom de la distribution.
pattern: rpc
parameters:
source_id:
type: Number
shortarg: s
description: ID de la source.
release_distribution:
type: String
shortarg: r
description: Distribution de la version.
response:
type: 'Release'
description: La version disponibles.

View File

@ -1,17 +0,0 @@
---
uri: source.release.get_by_id
description: |
Retourne version suivant l'identifiant.
pattern: rpc
parameters:
release_id:
type: Number
shortarg: r
description: ID de la version.
response:
type: 'Release'
description: La version disponibles.

View File

@ -1,17 +0,0 @@
---
uri: source.release.list
description: |
Retourne la liste des versions.
pattern: rpc
parameters:
source_name:
type: String
shortarg: s
description: Nom de la source.
response:
type: '[]Release'
description: Liste des versions disponibles.

View File

@ -4,14 +4,21 @@ uri: template.generate
description: |
Génère et récupère les templates générés.
sampleuse: ~
pattern: rpc
public: true
domain: template-domain
parameters:
server_name:
type: String
ref: Server.ServerName
server_id:
type: Number
ref: Server.ServerId
shortarg: s
description: Nom du serveur.
description: |
Identifiant du serveur.
response:
type: Template

View File

@ -1,22 +0,0 @@
---
uri: uri.role.join
description: Crée un rôle utilisateur.
pattern: rpc
parameters:
role_name:
type: String
shortarg: r
description: Nom du rôle.
ref: User.RoleName
uri_name:
type: String
shortarg: u
description: Nom du message.
response:
type: URIRole
description: Association de rôle créé.

View File

@ -1,11 +0,0 @@
---
uri: uri.role.list
description: Liste des associations d'URI et de rôle.
pattern: rpc
response:
type: '[]URIRole'
description: Liste des associations.

View File

@ -1,29 +0,0 @@
---
uri: user.create
description: Crée un utilisateur.
pattern: rpc
parameters:
user_login:
type: String
shortarg: l
description: Login de l'utilisateur.
ref: User.Login
user_password:
type: String
shortarg: p
description: Password de l'utilisateur.
user_name:
type: String
shortarg: n
description: Nom de l'utilisateur.
user_surname:
type: String
shortarg: s
description: Nom de famille de l'utilisateur.
response:
type: User
description: Description de l'utilisateur créé.

View File

@ -1,18 +0,0 @@
---
uri: user.delete
description: Supprimer un utilisateur.
pattern: rpc
parameters:
user_login:
type: String
shortarg: l
description: Login de l'utilisateur.
ref: User.Login
response:
type: User
description: Description de l'utilisateur supprimé.

View File

@ -1,11 +0,0 @@
---
uri: user.list
description: |
Liste les utilisateurs disponibles.
pattern: rpc
response:
type: '[]User'
description: Retourne la liste des utilisateurs.

View File

@ -1,32 +0,0 @@
---
uri: user.role.create
description: Crée un rôle utilisateur.
pattern: rpc
parameters:
user_login:
type: String
shortarg: u
description: Login de l'utilisateur.
ref: User.UserLogin
role_name:
type: String
shortarg: n
description: Nom du rôle.
ref: User.RoleName
role_attribute:
type: String
shortarg: a
description: Attribut contrôlé.
default: null
role_attribute_value:
type: String
shortarg: v
description: Valeur de l'attribut contrôlé.
default: null
response:
type: Role
description: Description du rôle créé.

View File

@ -1,19 +0,0 @@
---
uri: user.role.list
description: |
Liste les rôles disponibles.
pattern: rpc
parameters:
user_login:
type: String
shortarg: l
description: Login de l'utilisateur associé.
ref: User.RoleName
default: null
response:
type: '[]Role'
description: Retourne la liste des rôles.

View File

@ -1,28 +0,0 @@
---
title: ApplicationService
type: object
description: Description d'un modèle de serveur.
properties:
applicationservice_id:
type: number
description: ID du service applicatif.
applicationservice_name:
type: string
description: Nom du service applicatif.
applicationservice_description:
type: string
description: Description du service applicatif.
applicationservice_release_id:
type: number
ref: Version.ReleaseId
description: Version du service applicatif.
applicationservice_dependencies:
type: array
items:
type: number
description: Liste des services applicatifs déclarés en dépendance de ce service applicatif.
required:
- applicationservice_id
- applicationservice_name
- applicationservice_release_id

View File

@ -3,10 +3,10 @@ title: ConfigConfiguration
type: object
description: Description de la configuration.
properties:
server_name:
type: string
description: Nom du serveur.
ref: Server.ServerName
server_id:
type: number
description: Identifiant du serveur.
ref: Server.ServerId
deployed:
type: boolean
description: La configuration est déployée.

View File

@ -1,20 +0,0 @@
---
title: Deploy
type: object
description: État de déploiement de la configuration.
properties:
server_id:
type: number
description: ID du serveur.
ref: Server.ServerID
server_name:
type: string
ref: Server.ServerName
description: Nom du server.
deployed:
type: boolean
description: État de déploiement.
required:
- server_id
- server_name
- deployed

View File

@ -1,14 +0,0 @@
---
title: ReturnStatus
type: object
description: Résultat dune commande.
properties:
retcode:
type: number
description: Code de retour de la commande.
returns:
type: string
description: Retour de la commande.
required:
- retcode
- returns

View File

@ -1,28 +0,0 @@
---
title: Release
type: object
description: Description de la version.
properties:
release_id:
type: number
description: Identifiant de la version.
release_name:
type: string
description: Le nom de la version.
release_distribution:
type: string
description: Le nom de la distribution de la version.
source_url:
type: string
description: URL de la source.
ref: Source.ReleaseId
source_name:
type: string
description: Le nom de la source.
required:
- release_id
- release_name
- release_distribution
- source_name
- source_url

View File

@ -1,26 +0,0 @@
---
title: Role
type: object
description: Description du rôle.
properties:
role_id:
type: number
description: Identifiant de l'utilisateur.
ref: User.RoleUserId
user_login:
type: string
description: Login du l'utilisateur.
ref: User.Login
role_name:
type: string
description: Nom du rôle.
role_attribute:
type: string
description: Nom de l'utilisateur.
role_attribute_value:
type: string
description: Valeur de l'attribut contrôlé.
required:
- role_id
- role_name

View File

@ -0,0 +1,44 @@
---
title: ServerDescribe
type: object
description: Description du serveur.
properties:
serverid:
type: number
description: Identifiant du serveur.
ref: Server.ServerId
servername:
type: string
description: Nom du serveur.
serverdescription:
type: string
description: Description du serveur.
servermodelid:
type: number
description: Identifiant du modèle de serveur.
ref: Servermodel.ServermodelId
zoneid:
type: number
description: Identifiant de la zone.
ref: Zone.ZoneId
machineid:
type: number
description: Identifiant de la machine.
ref: Zone.MachineId
configuration:
type: file
description: Valeurs de configuration.
serverenvironment:
type: object
description: Variables d'environnement du serveur.
peering:
type: object
description: Clé d'appairage.
lastpeerconnection:
type: string
description: Timestamp de la dernière connexion avec le serveur.
required:
- serverid
- servername
- serverdescription
- servermodelid

View File

@ -7,18 +7,33 @@ properties:
type: number
description: Identifiant du serveur.
ref: Server.ServerId
server_name:
servername:
type: string
description: Nom du serveur.
server_description:
serverdescription:
type: string
description: Description du serveur.
server_servermodel_id:
servermodelid:
type: number
description: Identifiant du modèle de serveur.
ref: Servermodel.ServermodelId
zoneid:
type: number
description: Identifiant de la zone.
ref: Zone.ZoneId
machineid:
type: number
description: Identifiant de la machine.
ref: Zone.MachineId
automation:
type: string
description: Moteur d'exécution.
ref: Server.automation
lastpeerconnection:
type: string
description: Timestamp de la dernière connexion avec le serveur.
required:
- server_id
- server_name
- server_description
- server_servermodel_id
- servername
- serverdescription
- servermodelid

View File

@ -3,16 +3,16 @@ title: ServermodelSource
type: object
description: Description de la source.
properties:
source_id:
sourceid:
type: number
description: ID de la source.
source_name:
sourcename:
type: string
description: Nom de la source.
source_url:
sourceurl:
type: string
description: URL de la source.
required:
- source_id
- source_name
- source_url
- sourceid
- sourcename
- sourceurl

View File

@ -3,28 +3,55 @@ title: Servermodel
type: object
description: Description d'un modèle de serveur.
properties:
servermodel_id:
servermodelid:
type: number
description: ID du modèle de serveur.
ref: Servermodel.ServermodelId
servermodel_name:
servermodelname:
type: string
description: Nom du modèle de serveur.
servermodel_description:
servermodeldescription:
type: string
description: Description du modèle de serveur.
servermodel_parents_id:
servermodelparentsid:
type: array
items:
type: number
ref: Servermodel.ServermodelId
description: ID du modèle de serveur parent.
release_id:
subreleaseid:
type: number
ref: Servermodel.SubreleaseId
description: Version du modèle de serveur.
subreleasename:
type: string
ref: SubRelease.SubReleaseName
description: Nom de la sous-version.
sourceid:
type: number
ref: ServermodelId.SourceId
description: ID de la sous-version.
services:
type: array
items:
type: object
description: Liste des services applicatifs déclarés pour ce modèle de serveur.
schema:
type: string
description: Contenu du schema.
probes:
type: string
description: Informations sur les sondes.
creolefuncs:
type: string
description: Fonctions Creole.
conffiles:
type: string
description: Fichiers creole au format tar encodé base64
required:
- servermodel_id
- servermodel_name
- servermodel_description
- release_id
- servermodelid
- servermodelname
- servermodeldescription
- servermodelsubreleaseid
- sourceid
- subreleasename

View File

@ -1,20 +0,0 @@
---
title: Source
type: object
description: Description d'un source.
properties:
source_id:
type: number
description: ID de la source.
ref: Source.SourceId
source_name:
type: string
description: Nom de la source.
source_url:
type: string
description: URL de téléchargement de la source.
required:
- source_id
- source_name
- source_url

View File

@ -3,13 +3,12 @@ title: Template
type: object
description: Les fichiers de configuration générés.
properties:
server_name:
type: String
description: Nom du serveur.
ref: Server.ServerName
server_id:
type: Number
description: Identifiant du serveur.
template_dir:
type: String
description: Nom du répertoire avec les fichiers de configuration générés.
required:
- server_name
- server_id
- template_dir

Some files were not shown because too many files have changed in this diff Show More