Smartkit CLI è una Command Line Interface per installare, aggiornare e in generale interagire con Smartkit.
Se interessa solo sapere i comandi necessari per installare uno smartkit-app (i.e. smartkit-web) dopo la creazione di una Smartkit VM, usare i seguenti comandi:
# aggiorna smartkit-CLI all'ultima versione
sudo smartkit upgrade
# fa setup di directory usate da smartkit e installa NGINX containerizzato
smartkit setup
# installa smartkit APP
# NB: modificare <smartkit-app> con lo smartkit desiderato, i.e. smartkit-web
smartkit install <smartkit-app>
Per tutto il resto, riferirsi alla seguente documentazione:
Smartkit CLI è già installata di default all'interno di Smartkit VM (ex Smartkit Commons) dalla versione 2.2.0.
Per verificare la presenza di Smartkit CLI, lanciare il comando smartkit version
Se la CLI è presente, si vedrà un messaggio con la sua versione, es:
You're using Smartkit CLI version: v1.1.1
Aggiornare all'ultima versione disponibile della CLI lanciando il comando:
sudo smartkit upgrade
Installare con i seguenti comandi:
# scarica il file della CLI con il comando:
wget https://s3.eu-central-1.wasabisys.com/smeup-public-read/www_download/smartkit/cli/smartkit -O /tmp/smartkit
# abilita l'esecuzione con il comando:
chmod +x /tmp/smartkit
# aggiungi smartkit al PATH:
sudo mv /tmp/smartkit /usr/local/bin/smartkit
# verifica l'installazione con il comando:
smartkit version
# aggiorna all'ultima versione della CLI
sudo smartkit upgrade
Come scritto nel paragrafo precedente, Smartkit CLI è aggiornabile con:
sudo smartkit upgrade
Una volta installata e aggiornata la Smartkit CLI, tramite essa possiamo procedere con il setup del nostro Smartkit.
Per fare il setup di smartkit e reverse proxy NGINX, lanciare il comando
seguente (aggiungere il flag “-d” per avere più informazioni sul setup):
smartkit setup
NB: se è già attivo un servizio NGINX, il comando di setup andrà in errore con un messaggio
“Found existing NGINX service – please stop it and relaunch this command”
Per risolvere, semplicemente lanciare il comandosudo zipper remove nginx
e rilanciare il comando di setup.
Una volta finito il setup, si vedrà un messaggio Setup complete!
Il comando avrà creato le seguenti directories all'interno di /home/smeup/smartkit/
:
backup: è la cartella in cui vengono salvati tutti i backup dei vari smartkit installati, prima di effettuare operazioni che potrebbero compromettere i nostri dati (esempio: prima di un comando di update)
logs: è la cartella in cui vengono memorizzati i log relativi ai comandi di creazione, modifica e distruzione dei vari smartkit installati. Essi sono divisi per data e ad oggi NON dispongono di una politica di rolling per la loro cancellazione.
repository: questa cartella contiene le varie versioni degli smartkit scaricati (in formato .zip) ed installati sulla macchina.
nginx: questa cartella contiene tutti i file relative al reverse proxy NGINX, installato come container dal comando di setup.
Al suo interno troviamo:
certs/
: la directory contenente i certificati SSL usati da NGINX, contiene già dinginx.conf
: il file di configurazione di NGINXconf.d/
: la directory contenente vari file di configurazione di NGINX, contienehtml/
: la directory contenente vari file html usati da NGINX, contiene già un filemain.tf, terraform.tfstate, terraform.tfstate.backup
: file di terraform. L’utenteNB: dopo aver modificato file di configurazione di NGINX, è necessario riavviarlo per
fargli usare le nuove configurazioni.
Per farlo, lanciare il comando:
docker restart nginx
Smartkit CLI ha al suo interno tutta la documentazione necessaria per l'utilizzo.
Per vedere i comandi disponibili, semplicemente lanciare il comando:
smartkit
Per vedere la documentazione di uno specifico comando, lanciare:
smartkit <comando> --help
Smartkit CLI offre un comando logs
che permette di recuperare una serie di informazioni sulle Smartkit APPs al suo interno. Tale informazioni vengono caricate in cloud a disposizione di smeup LAB per debug e supporto.
Tra le informazioni raccolte ci sono:
Esempi:
smartkit logs -c <customer>
smartkit logs -c <customer> -i <wupnet>
smartkit logs -c <customer> --instance <wupnet> --dump-heap <app1> --dump-thread <app1>,<app2>,<app3>
Per avere ulteriori informazioni sul comando logs
, lanciare:
smartkit logs --help
Smartkit CLI offre un commando test
che esegue dei test performance automatizzati sulle smartkit APP e restituisce le informazioni all'utente.
Attualmente le smartkit app supportate sono:
I test performance per Smartkit Web fanno le seguenti azioni:
I test verificano la corretta esecuzione delle 3 azioni e restituiscono informazioni sulle tempistiche dell'esecuzione di ciascuna azione.
Il comando per i test di performance su smartkit web è smartkit test web
I requisiti per l'utilizzo del comando di test web sono i seguenti:
Il comando richiede una serie di informazioni passate tramite i suoi flag. Per avere ulteriori informazioni sul comando test web
, lanciare:
smartkit test web --help
Un requisito per i test è avere un modulo di login "free", ovvero tutti i campi vuoti e da compilare. Si consiglia di chiamare questo modulo TESTPERFORMANCE
: infatti se l'ID del modulo di login non viene specificato nel comando smartkit test web
, la CLI userà TESTPERFORMANCE
come default.
Qui sotto vediamo un esempio di modulo di login "free" configurato correttamente.
Notare che il modulo è visibile solo tramite URL. Grazie a questa impostazione l'utente finale non si troverà questo modulo di login tra quelli disponibili nella pagina di login di webup.
Se non specificata una FUN da lanciare, il test usa una FUN di default. E' possibile vedere la FUN di default lanciando smartkit test web --help
Nel caso si volesse testare una FUN diversa da quella di default è possibile specificarla tramite l'apposito flag.
NB:
Elenco di Smartkit-APPs disponibili:
smartkit available
Installazione Smartkit-APP:
smartkit install <smartkit-app>
Attivazione/Disattivazione modalità di Manutenzione
smartkit maintenance on
smartkit maintenance off