# Commandes anakeen-control

L'outil en invite de commande de anakeen-control permet d'effectuer diverses commandes suivants une syntaxe précise et exécutant une suite d'actions.

La création de ces commandes est facilitée par l'utilisation du framework Symfony console.
Les commandes créées héritent des options de commande de Symfony suivantes:

  • help

    Indique à la commande d'afficher l'aide sur le terminal.
    Par défaut, help est valué à false.
    Note: Si cette option est présente, alors elle annule tous les autres arguments et options présent lors de l'exécution de la commande.

  • quiet

    Indique à la commande de n'inscrire aucun message. Par défaut, quiet est valué à false.
    Note: Si cet argument est présent, alors il annule tous les autres arguments présent lors de l'exécution de la commande.

  • version

    Indique à la commande d'afficher la version de Anakeen-control.
    Par défaut, version est valué à false.

  • ansi

    Indique à la commande de forcer le format ANSI.
    Par défaut, ansi est valué à false.

  • no-ansi

    Indique à la commande de désactiver le format ANSI.
    Par défaut, no-ansi est valué à false.

  • no-interaction

    Indique à la commande de ne pas interagir avec l'utilisateur.
    Par défaut, no-interaction est valué à false.

  • verbose

    Ajoute des informations de log lors de l'exécution de la commande.
    Par défaut, verbose est valué à false.
    Alias : -v|-vv|-vvv.
    Note : Il est possible d'augment de le niveau de retour d'informations en utilisant leur alias, pour un retour d'informations de niveau normal (-v), un retour de niveau avancé (-vv), et pour debug (-vvv).

# archive

La commande archive permet d'archiver Anakeen Platform.

# Arguments

Chemin d'acccès vers le fichier de sortie de l'archive (.zip).
Cet argument est obligatoire.
L'archive doit être accessible en écriture.
Note : Une erreur est retourné à l'utilisateur si l'argument n'est pas défini ou si le chemin n'est pas accessible en écriture.

# Options

  • without-vault

    Indique à la commande de ne pas sauvegarder le coffre dans l'archive.
    Par défaut, without-vault est valué à false.

  • dry-run

    Indique à la commande de s'exécuter entièrement sans créer d'archive.
    Par défaut, dry-run est valué à false.

# Exemple

# Commande

  • Création d'une archive du contexte et du coffre :
./control/anakeen-control archive /tmp/share/test.zip

# Résultat

  • Les conditions de créations de l'archive sont validées.
Job is processing
Archive file will be saved to "/tmp/share/test.zip"
  • Les conditions de créations de l'archive ne sont pas validées (fichier non accessible en écriture).
./control/anakeen-control archive /nowhere/backup.zip


  Output archive file '/nowhere/backup.zip' not writable


archive [--without-vault] [--dry-run] [-h|--help] [-q|--quiet] [-v|vv|vvv|--verbose] [-V|--version] [--ansi] [--no-ansi] [-n|--no-interaction] [--] <command> <file>

# get

La commande get permet de récupérer la valeur d'un paramètre de contrôle.

# Arguments

  • parameterName

    Nom du paramètre.

# Options

  • format

    Indique à la commande le type de format de retour.
    Par défaut, format est valué à false.

  • all

    Indique à la commande d'afficher tous les paramètres de contrôle.
    Par défaut, all est valué à false.

  • module

    Indique à la commande d'afficher les paramètres du module.
    Par défaut, module est valué à false.
    Note : l'option all est requise.

# Exemple

  • Récupération de la valeur du paramètre ac-update-file :

./control/anakeen-control get ac-update-file

  • Résultat :

  • Lorsque le paramètre existe :

anakeen-control-current.tar.gz
- Lorsque le paramètre n'est pas trouvé ou n'existe pas :
  Argument "TEST_GET" not found


get [--format [FORMAT]] [--all] [--module] [-h|--help] [-q|--quiet] [-v|vv|vvv|--verbose] [-V|--version] [--ansi] [--no-ansi] [-n|--no-interaction] [--] <command> [<parameterName>]
  • Récupération de tous les paramètres du module :

./control/anakeen-control get --all --module

  • Résultat :
Name Value
client_name new
core_db platform
core_tmpdir ./var/tmp
mod_deflate yes
COUNT_PERSON 200
COUNT_CLIENT 100
COUNT_ACCOUNTS 0

# info

La commande info permet d'obtenir les informations de l'installation.

# Arguments

Aucun.

# Options

  • format

    Indique à la commande le type de format de retour.
    Par défaut, format est valué à false.

# Exemple

  • Récupération des informations sur l'installation :

./control/anakeen-control info

  • Résultat :
version 3.0.0
availableVersion
activeUserCount 1484
inactiveUserCount 13

# init

La commande init permet d'initialiser Anakeen Control

# Arguments

Aucun.

# Options

  • pg-service

    Indique à la commande le service PostgreSQL pour Anakeen Platform (obligatoire).

  • password

    Indique le mot de passe pour l'accès web (Anakeen control et Anakeen Platform).
    Par défaut, password est valué à false.

# Exemple

# install

La commande install permet d'installer les modules, mais auparavant il faut déclarer un dépôt pour télécharger les modules.
Par défaut, la commande install installe tous les modules disponibles dans les dépôts enregistrés. Par défaut, une confirmation est demandé avant le lancement de l'installation.

L'option --no-interaction permet de prendre les réponses préconfigurées.

Il est aussi possible d'ajouter un fichier de type json "askes.json" dans le répertoire "control/conf/" avec les paramètres souhaités afin de préconfiguer les réponses. Dans ce fichier, le json a pour clé, le paramètre name de la balise param qui se trouve dans les fichiers info.xml de chaque module, et comme valeur, celle qui lui sera attribuée dans ce fichier.

Attention

  • Il faudra renseigner en mode interactif les réponses aux paramètres non présents dans le fichier control/conf/askes.json.
  • Le fichier sera supprimé à la suite de l'installation

# Exemple

Le info.xml du module contient :

  <parameters>
    <param name="KEY_1" label="Label_1" default="Value_1" type="text" needed="Y"/>
    <param name="KEY_2" label="Label_2" default="Value_2" type="text" needed="Y"/>
    <param name="KEY_3" label="Label_3" default="Value_3" type="text" needed="N"/>
  </parameters>

Une fois les paramètres saisis, la commande d'installation ne demandera plus les paramètres et pourra se dérouler sans interaction.

Attention

Le processus d'installation est lancé via un programme lancé en tâche de fond. La commande install attend la fin de ce processus pour rendre la main. Si la commande est arrêtée via un ctrl-c par exemple, le processus d'installation n'est pas interrompu. Pour interrompre un processus, il faut utiliser la commande kill .

Le mode verbose (-v) affiche l'avancement de l'installation sur la console sous forme de grille. Le mode very verbose (-vv) affiche les logs liés à l'installation.

# Arguments

  • module

    Nom du module à installer.
    Si l'argument n'est pas indiqué tous les modules qui ne sont pas encore installés seront installés.

# Options

  • file

    Chemin d'accès vers le fichier .app à installer.
    Par défaut, file est valué à false.

  • dry-run

    Indique de ne pas lancer le processus d'installation'.
    Par défaut, dry-run est valué à false.

  • background-job

    (bool) indique si la commande doit immédiatement rendre la main ou attendre la fin du processus d'installation. Par défaut, background-job est valué à false.

# Exemple

# Commande

Installation de tous les modules disponibles dans les dépôts enregistrés :

./control/anakeen-control install

# Résultat

  • Lorsque des modules peuvent être installés
# Will (i)nstall, (u)pgrade, (d)elete, or (r)eplace the following modules:
# - (i) smart-data-engine 2.0.1
# - (i) user-interfaces 2.0.1-dev20190619093944
# - (i) security 2.0.0-dev20190531103342
# - (i) workflow 2.0.0
# - (i) anakeen-hub 1.0.1-dev20190619073348
# - (i) admin-center 2.0.1-dev20190619124157
# - (i) development-center 2.0.1-dev20190619073917
# - (i) transformation 2.0.1-dev20190531104740
# Continue the update [Y/n]?
# client name? My Company
# Installing modules...
# ..................
# Install complete.
  • Lorsqu'aucun module ne peut être installé/mis à jour :
No modules to install. All is up-to-date.

# status

La commande status permet d'avoir l'avancement de l'installation.

# Arguments

Aucun.

# Options

  • format

    Indique à la commande le type de format de retour.
    Par défaut, format est valué à false.

  • watch

    Indique à la commande d'observer les logs et de rafraîchir la commande toutes les n secondes.
    Par défaut, watch est valué à false.
    Note : Si le format spécifié en option est JSON, alors l'option watch est ignorée.

# Exemple

./control/anakeen-control status

  • Installation en cours
Module Phase Process
smart-data-engine RUNNING
download DONE
pre-install RUNNING
Check database empty RUNNING
check-files TODO
unpack TODO
post-install TODO
purge-unreferenced-parameters-value TODO
user-interfaces TODO
security TODO
workflow TODO
anakeen-hub TODO
admin-center TODO
development-center TODO
transformation TODO
  • Fin de l'installation :
./control/anakeen-control status
# Ready.

# update

La commande update permet de mettre à jour tous les modules installés.

Attention

Le processus de mise à jour est lancé via un programme lancé en tâche de fond. La commande update attend la fin de ce processus pour rendre la main. Si la commande est arrêtée via un ctrl-c par exemple, le processus de mise à jour n'est pas interrompu. Pour interrompre un processus, il faut utiliser la commande kill .

Le mode verbose (-v) affiche l'avancement de la mise à jour sur la console sous forme de grille. Le mode very verbose (-vv) affiche les logs liés à la mise à jour.

# Arguments

  • module

    Nom du module à mettre à jour.
    Si l'argument n'est pas indiqué tous les modules qui ont une mise à jour détectée seront mis à jour

# Options

  • force

    Indique à la commande de forcer la mis à jour du module, même si la version est inférieure. Par défaut, force est valué à false.

  • dry-run

    Indique de ne pas lancer le processus de mise à jour.
    Par défaut, dry-run est valué à false.

  • background-job

    (bool) indique si la commande doit immédiatement rendre la main ou attendre la fin du processus de mise à jour. Si c'est vrai, la commande rend la main immédiatement. Par défaut, background-job est valué à false.

# Exemple

./control/anakeen-control update

  • Résultat : Aucune mise à jour n'est disponible
No modules to update. All is up-to-date.
  • Une ou plusieurs mise à jour sont disponibles
Will (i)nstall, (u)pgrade, (d)elete, or (r)eplace the following modules:
- (u) smart-data-engine 2.0.2-dev20190917141746
- (u) user-interfaces 2.0.2-dev20190917142002
- (u) security 2.0.1-dev20190917141748
- (u) workflow 2.0.0-dev20190917141749
- (u) anakeen-hub 1.0.2-dev20190917142026
- (u) admin-center 2.0.2-dev20190917142135
- (u) anakeen-hub-business-app 1.0.2-dev20190917142152
- (u) transformation 2.0.1-dev20190917142218
- (u) migration-tools 2.0.1-dev20190917142219
- (u) anakeen-dev-data 2.0.1-dev20190917142220
- (u) development-center 2.1.2-dev20190917142206
Continue the update [Y/n]?

Note

Il est demandé une confirmation lorsqu'au moins une mise à jour est disponible.

# kill

La commande kill permet d'arrêter les processus en cours d'exécution. Elle envoie un signal SIGTERM au process.

# Arguments

Aucun.

# Options

Aucune.

# Exemple

  • Arrêt des processus en cours :
./control/anakeen-control kill
  • Lorsqu'un processus est en cours :
#> Process 1193 is killed.
  • Lorsqu'aucun processus n'est en cours :
In ModuleJob.php line 194:

  No job detected.


kill [-h|--help] [-q|--quiet] [-v|vv|vvv|--verbose] [-V|--version] [--ansi] [--no-ansi] [-n|--no-interaction] [--] <command>

# log

La commande log permet d'afficher les messages de log des processus exécutés.

# Arguments

Aucun.

# Options

  • format

    Indique à la commande le type de format de retour.
    Par défaut, format est valué à false.

  • lines

    Indique à la commande le nombre de lignes à afficher.
    Par défaut, lines est valué à 200 si l'option est sélectionnée.
    Alias : -l.

# Exemple

# Commande

Récupération du log des commandes exécutées :

./control/anakeen-control log --format=json --lines=3

# Résultat

[
  {
    "module": "transformation",
    "phase": "purge-unreferenced-parameters-value",
    "task": "status",
    "value": "DONE",
    "date": "2019-06-27T17:10:35.645872"
  },
  {
    "module": "transformation",
    "phase": "",
    "task": "status",
    "value": "INSTALLED",
    "date": "2019-06-27T17:10:35.648548"
  },
  {
    "module": "",
    "phase": "",
    "task": "status",
    "value": "done",
    "date": "2019-06-27T17:10:37.232512"
  }
]

# outdated

La commande outdated permet d'afficher les modules qui ne sont pas à jour.

# Arguments

Aucun.

# Options

  • format

    Indique à la commande le type de format de retour.
    Par défaut, format est valué à false.

# Exemple

  • Récupération des modules non à jour :

./control/anakeen-control outdated

  • Résultat :
Module Description Version Available version
admin-center Admin Center 2.0.2-dev20190918135257 2.0.2-dev20190919084417
anakeen-dev-data Data set for development test 2.0.1-dev20190918135351 2.0.1-dev20190919084458
anakeen-hub 1.0.2-dev20190918135225 1.0.2-dev20190919084354
anakeen-hub-business-app 1.0.2-dev20190918135313 1.0.2-dev20190919084431
development-center development Center 2.1.2-dev20190918135328 2.1.2-dev20190919084444
migration-tools Migration tools 2.0.1-dev20190918135348 2.0.1-dev20190919084457
security Security Package 2.0.1-dev20190918135020 2.0.1-dev20190919084206
smart-data-engine Smart Data Engine 2.0.2-dev20190918135006 2.0.2-dev20190919084204
transformation Transformation Engine Client Library 2.0.1-dev20190918135345 2.0.1-dev20190919084456
user-interfaces Anakeen Platform : User interfaces 2.0.2-dev20190918135151 2.0.2-dev20190919084330
workflow Workflow Package 2.0.0-dev20190918135025 2.0.0-dev20190919084207

# registry

La commande registry permet de gérer les registres de Anakeen Platform

# Arguments

  • action

    Indique l'action à exécuter (add|remove|show).

  • name

    Nom d'identification du répertoire.

  • url

    URL du répertoire.

# Options

  • format

    Indique à la commande le type de format de retour.
    Par défaut, format est valué à false.

# Exemple

# Afficher un dépôt

./control/anakeen-control show

  • Résultat :
Name Url Ping Activated
local file:///var/www/html/localRepo Valid Activated
  • Au format JSON :

./control/anakeen-control registry show --format=json

[
  {
    "use": "",
    "name": "local",
    "baseurl": "",
    "description": "local",
    "label": "",
    "protocol": "file",
    "host": "",
    "path": "/var/www/html/localRepo",
    "authenticated": "no",
    "login": "",
    "password": "",
    "default": "yes",
    "status": "activated",
    "url": "file:///var/www/html/localRepo",
    "displayUrl": "file:///var/www/html/localRepo",
    "errorMessage": "",
    "isValid": true,
    "needAuth": null,
    "contexts_filepath": null
  }
]

# Ajouter un dépôt

Un dépôt est identifié par un nom name.

La référence à un dépôt peut être une URL ou un répertoire local. Le serveur doit avoir accès à l'URL.
Les paramètres de proxy d'Anakeen Control peuvent être configurés pour accéder aux dépôts distants.

# Dépôt local
./control/anakeen-control registry add local /var/myrepo/
# Dépôt distant
./control/anakeen-control registry add remote http://www.example.net/anakeen/repo/4.0/apps/

La commande install ou update recherche les modules dans tous les dépôts enregistrés.

# Supprimer un dépôt

./control/anakeen-control registry remove remote

# remove

La commande remove permet de retirer un module.

# Arguments

  • module

    Nom du module à retirer.

# Options

Aucune.

# Exemple

  • Retirement du module anakeen-dev-data :

./control/anakeen-control remove anakeen-dev-data

  • Résultat :
Will (i)nstall, (u)pgrade, (d)elete, or (r)eplace the following modules:
- (d) anakeen-dev-data 2.0.1-dev20190918135351
Confirm remove module [Y/n]?y
...
Deletion complete.

# restore

La commande restore permet de restaurer un contexte Anakeen Platform complet depuis une archive .zip. Celle-ci se fait avec les étapes suivantes :

  • Création d'un répertoire vierge,
  • Décompression de l'archive dans ce répertoire,
  • Modifier les droits de ce répertoire,
  • Créer une base données vierge avec son pg-service,
  • Lancer la commande de restauration.

# Arguments

Aucun.

# Options

  • pg-service

    Indique à la commande le service PostgreSQL pour Anakeen Platform (obligatoire).

  • vaults-path

    Chemin d'accès vers le coffre pour restaurer le coffre de l'archive.
    Par défaut, vaults-path est valué à /var/www/html/vaults si l'option est active.

  • force-clean

    Indique à la commande d'utiliser une base de donnée existante.
    Par défaut, force-clean est valué à false.

  • dry-run

    Indique à la commande de s'exécuter entièrement sans restaurer le contexte.
    Par défaut, dry-run est valué à false.

# Exemple

  • Restauration du contexte Anakeen Platform :
./control/anakeen-control --pg-service="platform" --vaults-path="/var/www/html/vaults"
  • Résultat :
Restore job is recorded

./control/anakeen-control status
Module Phase Process
restoring Running
restore-database Running
reconfigure-parameters Todo

# run

La commande run permet de lancer une commande sous l'environnement d'Anakeen Platform.

# Arguments

  • shell

    Nom de la commande à exécuter.
    Par défaut, shell est valué à /bin/bash --login.

# Options

Aucune.

# Exemple

# Lancer un shell sous l'environnement d'Anakeen Platform

La commande est lancée sour l'UID du serveur Apache. Le répertoire de travail est le répertoire d'installation d'Anakeen Platform.

root@341dc9280601:/var/www/html# ./control/anakeen-control run
www-data@341dc9280601:~$ pwd
/var/www/html/platforM

# Lancer une commande sous l'environnement d'Anakeen Platform

  • Lancer une commande avec des arguments et une redirection :
./control/anakeen-control run "ls -l > /tmp/ls"
  • Exécuter une script d'Anakeen Platform
./control/anakeen-control run "./ank.php --script=cleanContext"

La commande search permet d'effectuer une recherche de module.

# Arguments

Aucun.

# Options

  • format

    Indique à la commande le type de format de retour.
    Par défaut, format est valué à false et seul le format JSON est accepté.

# Exemple

./control/anakeen-platform search

  • Résultat :
Module Description Version Status
admin-center Admin Center 2.0.2-dev20190918135257 Outdated
anakeen-dev-data Data set for development test 2.0.1-dev20190919084458 Installed
anakeen-hub 1.0.2-dev20190918135225 Outdated
anakeen-hub-business-app 1.0.2-dev20190918135313 Outdated
development-center development Center 2.1.2-dev20190918135328 Outdated
migration-tools Migration tools 2.0.1-dev20190918135348 Outdated
security Security Package 2.0.1-dev20190918135020 Outdated
smart-data-engine Smart Data Engine 2.0.2-dev20190918135006 Outdated
smart-data-engine-test Test case for Smart Data Engine. 2.0.1-dev20190828092356 Installed
transformation Transformation Engine Client Library 2.0.1-dev20190918135345 Outdated
user-interfaces Anakeen Platform : User interfaces 2.0.2-dev20190918135151 Outdated
user-interfaces-test Tests for Anakeen Uis 2.0.1-dev20190828092451 Installed
workflow Workflow Package 2.0.0-dev20190918135025 Outdated
workflow-test Test case for Anakeen Platform Workflow. 2.0.0-dev20190828092400 Installed

# set

La commande set permet de fixer la valeur d'un paramètre interne.

# Arguments

  • parameterName

    Nom du paramètre interne.

  • value

    Valeur à fixer au paramètre interne.

# Options

  • module

    Indique à la commande de fixer le paramètre d'un module.
    Par défaut, module est valué à false.

# Gestion des paramètres internes

# Liste des paramètres internes

./anakeen-control get --all

Name Value
ac-update-file anakeen-control-current.tar.gz
ac-update-host http://eec-integration.corp.anakeen.com
ac-update-login <undefined>
ac-update-password <undefined>
ac-update-path /anakeen/repo/4.0/control/
auto-configuration-sender-interval 30
connect-timeout 3
proxy-host <undefined>
proxy-password <undefined>
proxy-port <undefined>
proxy-username <undefined>
use-proxy no

# Exemple

  • Modification du paramètre connect-timeout :
./control/anakeen-control set connect-timeout 7
  • Résultat :
# Internal parameter "connect-timeout" set to "7".

# Gestion des paramètres des modules

# Liste des paramètres des modules

Les valeurs indiquées ici sont les valeurs utilisées lors de l'installation d'un module.

Name Value
client_name new
core_db platform
core_tmpdir ./var/tmp
mod_deflate yes
COUNT_PERSON 20
COUNT_CLIENT 20
COUNT_ACCOUNTS 20
vault_root /var/www/html/vaults

# show

La commande show permet d'afficher les modules installés.

# Arguments

Aucun.

# Options

  • format

    Indique à la commande le type de format de retour.
    Par défaut, format est valué à false.

# Exemple

./control/anakeen-control show
  • Résultat :
Module Description Version
admin-center Admin Center 2.0.2-dev20190918135257
anakeen-dev-data Data set for development test 2.0.1-dev20190919084458
anakeen-hub 1.0.2-dev20190918135225
anakeen-hub-business-app 1.0.2-dev20190918135313
development-center Development Center 2.1.2-dev20190918135328
migration-tools Migration tools 2.0.1-dev20190918135348
security Security Package 2.0.1-dev20190918135020
smart-data-engine Smart Data Engine 2.0.2-dev20190918135006
smart-data-engine-test Test case for Smart Data Engine. 2.0.1-dev20190828092356
transformation Transformation Engine Client Library 2.0.1-dev20190918135345
user-interfaces Anakeen Platform : User interfaces 2.0.2-dev20190918135151
user-interfaces-test Tests for Anakeen Uis 2.0.1-dev20190828092451
workflow Workflow Package 2.0.0-dev20190918135025
workflow-test Test case for Anakeen Platform Workflow. 2.0.0-dev20190828092400