Commit bc091391b537f4cddba516ebd132aaf3c991f23e
1 parent
061a7e29
help + README
Showing
5 changed files
with
166 additions
and
16 deletions
Show diff stats
@@ -0,0 +1,94 @@ | @@ -0,0 +1,94 @@ | ||
1 | +# Introduction | ||
2 | +Ceci est un outil simple de gestion de conteneurs (Comme Docker). Il permet de créer et gérer des conteneurs tout en personnalisant leur configuration. | ||
3 | +Il est possible de créer une image, lui attribuer un nom, choisir sa taille et son emplacement. | ||
4 | + | ||
5 | +À partir de cette dernière, vous pourrez créer un conteneur : choisir son nom, l'image sur laquelle il reposera, son chemin, ses bridges, les adresses IPV4 associées ainsi que le programme qui sera exécuté dessus. | ||
6 | + | ||
7 | +De plus, vous avez la possibilité de créer un bridge, lui attribuer un nom et lui associer une adresse IPV4. | ||
8 | + | ||
9 | +Pour connaître toutes les commandes possibles, un utilitaire help est mis à votre disposition grâce à la commande : <baleine.sh help> | ||
10 | + | ||
11 | +# Structure du code | ||
12 | +Les scripts shell de ce projet sont structurés comme suit : | ||
13 | + | ||
14 | +Image | Bridge | Container | ||
15 | +------------ | -------------| ------------- | ||
16 | +create_image | create_bridge| create_container | ||
17 | +list_images | list_bridges | list_containers | ||
18 | +remove_images | remove_bridges | remove_containers | ||
19 | + | | up_bridge| stop_container | ||
20 | + | | down_bridge | exec_container | ||
21 | + | ||
22 | +## Images | ||
23 | +* create_image : permet de créer une image <br> | ||
24 | +Exemple : | ||
25 | + | ||
26 | +```bash | ||
27 | +baleine.sh image create -i myimage -s 10240 -r /var/lib/baleine/images -p http_proxy=http://proxy.polytech-lille.fr:3128 | ||
28 | +``` | ||
29 | +* list_image : permet de lister les images existantes <br> | ||
30 | +Exemple : | ||
31 | +```bash | ||
32 | +baleine.sh image list | ||
33 | +``` | ||
34 | +* remove_images : permet la suppression de l'image donnée en argument. <br> | ||
35 | +Exemple : | ||
36 | +```bash | ||
37 | +baleine.sh image remove -i myimage | ||
38 | +``` | ||
39 | +## Bridges | ||
40 | + | ||
41 | +* create_bridge : permet de créer un bridge <br> | ||
42 | +Exemple : | ||
43 | + | ||
44 | +```bash | ||
45 | +baleine.sh bridge create -b mybridge -a 192.168.42.1/24 | ||
46 | +``` | ||
47 | +* list_bridge : permet de lister les bridges existantes <br> | ||
48 | +Exemple : | ||
49 | +```bash | ||
50 | +baleine.sh bridge list | ||
51 | +``` | ||
52 | +* remove_bridges : permet la suppression de du bridge donné en argument. <br> | ||
53 | +Exemple : | ||
54 | +```bash | ||
55 | +baleine.sh bridge remove -b mybridge | ||
56 | +``` | ||
57 | +* up_bridge : permet de rendre fonctionnel un bridge. | ||
58 | +```bash <br> | ||
59 | +Exemple : | ||
60 | +baleine.sh bridge up -b mybridge | ||
61 | +``` | ||
62 | +* down_bridge : permet de désactiver un bridge. <br> | ||
63 | +Exemple : | ||
64 | +```bash | ||
65 | +baleine.sh bridge down -b mybridge | ||
66 | +``` | ||
67 | +## Containers | ||
68 | + | ||
69 | +* create_container : permet de créer un container <br> | ||
70 | +Exemple : | ||
71 | + | ||
72 | +```bash | ||
73 | +baleine.sh container create -c mycontainer -i myimage -b mybridge -r /var/lib/baleine/containers -a 192.168.42.1/24 -p "/usr/sbin/apache2ctl start" | ||
74 | +``` | ||
75 | +* list_container : permet de lister les containers existantes <br> | ||
76 | +Exemple : | ||
77 | +```bash | ||
78 | +baleine.sh container list | ||
79 | +``` | ||
80 | +* remove_containers : permet la suppression de du container donné en argument. <br> | ||
81 | +Exemple : | ||
82 | +```bash | ||
83 | +baleine.sh container remove -c mycontainer | ||
84 | +``` | ||
85 | +* stop_container : <br> | ||
86 | +Exemple : | ||
87 | +```bash | ||
88 | +baleine.sh container stop -c mycontainer | ||
89 | +``` | ||
90 | +* exec_container : <br> | ||
91 | +Exemple : | ||
92 | +```bash | ||
93 | +baleine.sh container exec -c mycontainer | ||
94 | +``` | ||
0 | \ No newline at end of file | 95 | \ No newline at end of file |
bridge.sh
1 | #!/bin/bash | 1 | #!/bin/bash |
2 | if [ $# -lt 1 ]; then | 2 | if [ $# -lt 1 ]; then |
3 | - printf "Nom \n" | ||
4 | - printf "\t \t Bridge\n" | 3 | + printf "NOM \n" |
4 | + printf "\t Bridge\n" | ||
5 | printf "SYNOPSIS \n" | 5 | printf "SYNOPSIS \n" |
6 | - printf "\t \t baleine bridge <COMMANDES> [arguments]\n" | 6 | + printf "\t baleine bridge <COMMANDES> [arguments]\n" |
7 | printf "Description: \n \n" | 7 | printf "Description: \n \n" |
8 | - printf "La commande 'bridge' permet de créer des bridges Linux, en supprimer et lister les bridges existants (Nom) " | 8 | + printf "\t La commande 'bridge' permet de créer des bridges Linux, en supprimer et lister les bridges existants (Nom) \n" |
9 | printf "Les commandes sont :\n \n" | 9 | printf "Les commandes sont :\n \n" |
10 | printf "\t %-10s %-10s \n" "<create>" "crée un bridge." | 10 | printf "\t %-10s %-10s \n" "<create>" "crée un bridge." |
11 | printf "\t \t [-b], [NOM_BRIDGE]\n \n" | 11 | printf "\t \t [-b], [NOM_BRIDGE]\n \n" |
@@ -17,7 +17,6 @@ if [ $# -lt 1 ]; then | @@ -17,7 +17,6 @@ if [ $# -lt 1 ]; then | ||
17 | printf "\t \t [-b], --bridge [NOM_BRIDGE]\n \n" | 17 | printf "\t \t [-b], --bridge [NOM_BRIDGE]\n \n" |
18 | printf " \t %-10s %-10s \n" "<down>" "Met down le bridge donné en argument." | 18 | printf " \t %-10s %-10s \n" "<down>" "Met down le bridge donné en argument." |
19 | printf "\t \t [-b], --bridge [NOM_BRIDGE]\n \n" | 19 | printf "\t \t [-b], --bridge [NOM_BRIDGE]\n \n" |
20 | - | ||
21 | printf "Utilisez baleine <commande> help pour plus d'informations à propos d'une commande.\n" | 20 | printf "Utilisez baleine <commande> help pour plus d'informations à propos d'une commande.\n" |
22 | fi | 21 | fi |
23 | case $1 in | 22 | case $1 in |
container.sh
1 | #!/bin/bash | 1 | #!/bin/bash |
2 | if [ $# -lt 1 ]; then | 2 | if [ $# -lt 1 ]; then |
3 | - printf "Nom \n" | ||
4 | - printf "\t \t Container\n" | 3 | + printf "NOM\n" |
4 | + printf "\t Container\n" | ||
5 | printf "SYNOPSIS \n" | 5 | printf "SYNOPSIS \n" |
6 | - printf "\t \t baleine container <COMMANDES> [arguments]\n" | 6 | + printf "\t baleine container <COMMANDES> [arguments]\n" |
7 | printf "Description: \n \n" | 7 | printf "Description: \n \n" |
8 | - printf "La commande 'Container' permet de créer des conteneurs, en supprimer, lister les conteneurs existants (Son nom, son image, son bridge, son PID, son starting time ) " | 8 | + printf "\t La commande 'Container' permet de créer des conteneurs, en supprimer, lister les conteneurs existants (Son nom, son image, son bridge, son PID, son starting time ) \n" |
9 | printf "Les commandes sont :\n \n" | 9 | printf "Les commandes sont :\n \n" |
10 | printf "\t %-10s %-10s \n" "<create>" "crée un conteneur." | 10 | printf "\t %-10s %-10s \n" "<create>" "crée un conteneur." |
11 | printf "\t \t [-i], [NOM_IMAGE]\n \n" | 11 | printf "\t \t [-i], [NOM_IMAGE]\n \n" |
@@ -21,8 +21,6 @@ if [ $# -lt 1 ]; then | @@ -21,8 +21,6 @@ if [ $# -lt 1 ]; then | ||
21 | printf "\t \t [-c], --container [NOM_CONTAINER]\n \n" | 21 | printf "\t \t [-c], --container [NOM_CONTAINER]\n \n" |
22 | printf "\t %-10s %-10s \n" "<stop> " "Stop le conteneur donné en argument." | 22 | printf "\t %-10s %-10s \n" "<stop> " "Stop le conteneur donné en argument." |
23 | printf "\t \t [-c], --container [NOM_CONTAINER]\n \n" | 23 | printf "\t \t [-c], --container [NOM_CONTAINER]\n \n" |
24 | - printf " \t %-10s %-10s \n" "<restart> " "redémarre le conteneur donné en argument." | ||
25 | - printf "\t \t [-c], --container [NOM_CONTAINER]\n \n" | ||
26 | printf "Utilisez baleine <commande> help pour plus d'informations à propos d'une commande.\n" | 24 | printf "Utilisez baleine <commande> help pour plus d'informations à propos d'une commande.\n" |
27 | fi | 25 | fi |
28 | 26 |
help.sh
1 | #!/bin/bash | 1 | #!/bin/bash |
2 | printf "Baleine est un outil simple de gestion de conteneur.\n" | 2 | printf "Baleine est un outil simple de gestion de conteneur.\n" |
3 | printf "Utilisation: \n \n" | 3 | printf "Utilisation: \n \n" |
4 | - | ||
5 | \ No newline at end of file | 4 | \ No newline at end of file |
5 | + | ||
6 | + printf "NOM \n" | ||
7 | + printf "\t Image\n" | ||
8 | + printf "SYNOPSIS \n" | ||
9 | + printf "\t baleine image <COMMANDES> [arguments]\n" | ||
10 | + printf "Description: \n \n" | ||
11 | + printf "\t La commande 'image' permet de créer une image, en supprimer, lister les images existantes (Son nom, sa taille, son chemin ) \n" | ||
12 | + printf "Les commandes sont :\n \n" | ||
13 | + printf "\t %-10s %-10s \n" "<create>" "crée une image." | ||
14 | + printf "\t \t [-i], [NOM_IMAGE]\n \n" | ||
15 | + printf "\t \t [-s], [TAILLE]\n \n" | ||
16 | + printf "\t \t [-r], [REPERTOIRE]\n \n" | ||
17 | + printf "\t \t [-P], [PROXY]\n \n" | ||
18 | + printf " \t %-10s %-10s \n" "<list>" "liste les images existantes ainsi que leurs manifestes." | ||
19 | + printf " \t %-10s %-10s \n" "<remove>" "Supprime l'image donnée en argument." | ||
20 | + printf "\t \t [-c], --container [NOM_CONTAINER]\n \n" | ||
21 | + | ||
22 | + printf "NOM \n" | ||
23 | + printf "\t Bridge\n" | ||
24 | + printf "SYNOPSIS \n" | ||
25 | + printf "\t baleine bridge <COMMANDES> [arguments]\n" | ||
26 | + printf "Description: \n \n" | ||
27 | + printf "\t La commande 'bridge' permet de créer des bridges Linux, en supprimer et lister les bridges existants (Nom) \n" | ||
28 | + printf "Les commandes sont :\n \n" | ||
29 | + printf "\t %-10s %-10s \n" "<create>" "crée un bridge." | ||
30 | + printf "\t \t [-b], [NOM_BRIDGE]\n \n" | ||
31 | + printf "\t \t [-a], [ADDR_IPV4]\n \n" | ||
32 | + printf " \t %-10s %-10s \n" "<list>" "liste les bridges existants ainsi que leurs manifestes." | ||
33 | + printf " \t %-10s %-10s \n" "<remove>" "Supprime le bridge donné en argument." | ||
34 | + printf "\t \t [-b], --bridge [NOM_BRIDGE]\n \n" | ||
35 | + printf " \t %-10s %-10s \n" "<up>" "Met up le bridge donné en argument." | ||
36 | + printf "\t \t [-b], --bridge [NOM_BRIDGE]\n \n" | ||
37 | + printf " \t %-10s %-10s \n" "<down>" "Met down le bridge donné en argument." | ||
38 | + printf "\t \t [-b], --bridge [NOM_BRIDGE]\n \n" | ||
39 | + | ||
40 | + printf "NOM\n" | ||
41 | + printf "\t Container\n" | ||
42 | + printf "SYNOPSIS \n" | ||
43 | + printf "\t baleine container <COMMANDES> [arguments]\n" | ||
44 | + printf "Description: \n \n" | ||
45 | + printf "\t La commande 'Container' permet de créer des conteneurs, en supprimer, lister les conteneurs existants (Son nom, son image, son bridge, son PID, son starting time ) \n" | ||
46 | + printf "Les commandes sont :\n \n" | ||
47 | + printf "\t %-10s %-10s \n" "<create>" "crée un conteneur." | ||
48 | + printf "\t \t [-i], [NOM_IMAGE]\n \n" | ||
49 | + printf "\t \t [-c], [NOM_CONTAINER]\n \n" | ||
50 | + printf "\t \t [-b], [NOM_BRIDGE]\n \n" | ||
51 | + printf "\t \t [-r], [REPERTOIRE]\n \n" | ||
52 | + printf "\t \t [-a], [ADDRE_IPV4]\n \n" | ||
53 | + printf "\t \t [-p], [NOM_PROGRAMME]\n \n" | ||
54 | + printf " \t %-10s %-10s \n" "<list> " "liste les conteneurs existants ainsi que leurs manifestes." | ||
55 | + printf " \t %-10s %-10s \n" "<remove> " "Supprime le conteneur donné en argument." | ||
56 | + printf "\t \t [-c], --container [NOM_CONTAINER]\n \n" | ||
57 | + printf "\t \t %-10s %-10s \n" "<exec> " "Exécute au lancement du conteneur un bash." | ||
58 | + printf "\t \t [-c], --container [NOM_CONTAINER]\n \n" | ||
59 | + printf "\t %-10s %-10s \n" "<stop> " "Stop le conteneur donné en argument." | ||
60 | + printf "\t \t [-c], --container [NOM_CONTAINER]\n \n" | ||
61 | + | ||
62 | + | ||
63 | + | ||
64 | + |
image.sh
1 | #!/bin/bash | 1 | #!/bin/bash |
2 | if [ $# -lt 1 ]; then | 2 | if [ $# -lt 1 ]; then |
3 | - printf "Nom \n" | ||
4 | - printf "\t \t Image\n" | 3 | + printf "NOM \n" |
4 | + printf "\t Image\n" | ||
5 | printf "SYNOPSIS \n" | 5 | printf "SYNOPSIS \n" |
6 | - printf "\t \t baleine image <COMMANDES> [arguments]\n" | 6 | + printf "\t baleine image <COMMANDES> [arguments]\n" |
7 | printf "Description: \n \n" | 7 | printf "Description: \n \n" |
8 | - printf "La commande 'image' permet de créer une image, en supprimer, lister les images existantes (Son nom, sa taille, son chemin ) " | 8 | + printf "\t La commande 'image' permet de créer une image, en supprimer, lister les images existantes (Son nom, sa taille, son chemin ) \n" |
9 | printf "Les commandes sont :\n \n" | 9 | printf "Les commandes sont :\n \n" |
10 | printf "\t %-10s %-10s \n" "<create>" "crée une image." | 10 | printf "\t %-10s %-10s \n" "<create>" "crée une image." |
11 | printf "\t \t [-i], [NOM_IMAGE]\n \n" | 11 | printf "\t \t [-i], [NOM_IMAGE]\n \n" |