diff --git a/Thesis_Defense_Cholidis.tex b/Thesis_Defense_Cholidis.tex index 0eb566c..14e78e4 100644 --- a/Thesis_Defense_Cholidis.tex +++ b/Thesis_Defense_Cholidis.tex @@ -946,130 +946,62 @@ Eγκατάσταση του watchtower. \\ \begin{columns} \column{.5\textwidth} - \begin{itemize} - \item Λειτουργικές απαιτήσεις + \begin{itemize} + \item Λειτουργικές απαιτήσεις - \begin{itemize} + \begin{itemize} - \item Εμφάνιση λίστας μεγεθών εικονικών μηχανών + \item Εμφάνιση μεγεθών εικονικών μηχανών + \item Εμφάνιση διαθέσιμων τοποθεσιών + \item Εμφάνιση διαθέσιμων διανομών + \item Προτροπή για ελλειπή παράμετρο + \item Έλεγχος εγκυρότητας των παραμέτρων + \item Δημιουργία εικονικής μηχανής + \item Παύση εικονικής μηχανής + \item Εκκίνηση εικονικής μηχανής + \item Επανεκκίνηση εικονικής μηχανής + \item Διαγραφή εικονικής μηχανής + \item Σύνδεση με SSH + \item Εμφάνιση εικονικών μηχανών + \item Εμφάνιση σφαλμάτων + \item Διαδραστική διαμόρφωση αρχείου ρυθμίσεων + \item Σκλήρυνση εικονικών μηχανών + \item Εγκατάσταση/Σκλήρυνση του Docker + \item Περιοδική ενημέρωση πακέτων + \item Κλείσιμο αχρησιμοποίητων θυρών + \item Εγκατάσταση δοχείων στις προς δημιουργία εικονικές μηχανές + \item Εκτέλεση docker-compose.yml αρχείων στις προς δημιουργία εικονικές μηχανές + \item Εμφάνιση διαθέσιμων εντολών + \item Εμφάνιση συμπληρώσεων κελύφους + \item Εμφάνιση έκδοσης προγράμματος + \item Παράμετρος προσπέρασης επιβεβαίωσης + \item Ύπαρξη μηχανισμού συγκεκριμενοποίησης περιοχής για την AWS + \item Ύπαρξη μηχανισμού επιλογής θύρας SSH συνδέσεων + \item Ύπαρξη μηχανισμού αρχικοποίησης ρυθμίσεων ενός μόνο παρόχου - \item Εμφάνιση λίστας διαθέσιμων τοποθεσιών + \end{itemize} - \item Εμφάνιση λίστας διαθέσιμων διανομών + \end{itemize} - \item Προτροπή για ελλειπή παράμετρο + \column{.5\textwidth} + \begin{itemize} + \item Μη λειτουργικές απαιτήσεις - \item Έλεγχος εγκυρότητας των παραμέτρων + \begin{itemize} - \item Δημιουργία εικονικής μηχανής - - \item Παύση εικονικής μηχανής - - \item Εκκίνηση εικονικής μηχανής - - \item Επανεκκίνηση εικονικής μηχανής - - \item Διαγραφή εικονικής μηχανής - - \item Το εργαλείο πρέπει να υποστηρίζει την σύνδεση με SSH ακόμα και χωρίς - να διαθέτει ο χρήστης πελάτη SSH - - \item Το εργαλείο πρέπει να υποστηρίζει την λειτουργία εμφάνισης όλων των - εικονικών μηχανών που διαχειρίζεται - - \item Το εργαλείο πρέπει να εμφανίζει μηνύματα λάθους σε περίπτωση που κάτι - πάει στραβά κατά την εκτέλεση - - \item Το εργαλείο πρέπει να υποστηρίζει την διαδραστική διαμόρφωση του - αρχείου ρυθμίσεών του - - \item Το εργαλείο πρέπει να υποστηρίζει την εκτέλεση εξωτερικού εκτελέσιμου - αρχείου στις εικονικές μηχανές με σκοπό την σκλήρυνσή τους - - \item Το εργαλείο πρέπει να εγκαθιστά και να σκληραίνει και το Docker πέρα - από το λειτουργικό σύστημα - - \item Το εργαλείο θα ενημερώνει περιοδικά τα πακέτα της εικονικής μηχανής - και θα κλείνει αχρησιμοποίητες θύρες - - \item Το εργαλείο πρέπει να υποστηρίζει την εγκατάσταση δοχείων στις - εικονικές μηχανές που δημιουργεί, κατά την διάρκεια της σκλήρυνσής - τους, μέσω ενός αρχείου docker-compose.yml που θα βρίσκεται στον ίδιο - φάκελο με το εκτελέσιμο αρχείο του - - \item Το εργαλείο πρέπει να μπορεί να εγκαθιστά δοχεία στις εικονικές - μηχανές, κατά την διάρκεια σκλήρυνσής τους, μέσω παραμέτρων που έχει - εισάγει ο χρήστης - - \item Το εργαλείο πρέπει να διαθέτει λειτουργία εμφάνισης όλων των - διαθέσιμων εντολών του - - \item Το εργαλείο πρέπει να διαθέτει λειτουργία εμφάνισης συμπλήρωσης - εντολών και για τα 3 πιο δημοφιλή κελύφη εντολών (Bash, Zsh, tcsh) - - \item Το εργαλείο πρέπει να διαθέτει λειτουργία εμφάνισης της έκδοσής του - - \item Το εργαλείο πρέπει να διαθέτει παράμετρο για την προσπέραση - (bypassing) του βήματος επιβεβαίωσης κατά την δημιουργία εικονικών - μηχανών - - \item Το εργαλείο πρέπει να διαθέτει μηχανισμό συγκεκριμενοποίησης περιοχής - για τον πάροχο AWS - - \item Το εργαλείο πρέπει να διαθέτει μηχανισμό επιλογής θύρας για την - λειτουργία σύνδεσης μέσω SSH - - \item Το εργαλείο πρέπει να υποστηρίζει την αρχικοποίηση μονάχα ενός - παρόχου δίχως την συμπλήρωση κενών πεδίων για τους υπόλοιπους από τον - χρήστη + \item Υποστήριξη νεφών από Amazon, Google, Microsoft + \item Υποστήριξη των διανομών Debian, Ubuntu, Red Hat Enterprise Linux, Fedora, CentOS, openSUSE Leap + \item Λειτουργία μέσω της γραμμής εντολών + \item Ευκολία στην χρήση + \item Αξιοπιστία + \item Δημιουργία αρχείου ρυθμίσεων + \item Δημιουργία αρχείου με τις IP διευθύνσεις των εικονικών μηχανών + \item Δημιουργία κλειδιών SSH + \item Εγκατάσταση των watchtower και portainer + \end{itemize} \end{itemize} - -\end{itemize} - -\column{.5\textwidth} -\begin{itemize} - \item Μη λειτουργικές απαιτήσεις - - \begin{itemize} - - \item Το εργαλείο πρέπει να υποστηρίζει την χρήση των 3 μεγαλύτερων - ονομάτων στον κλάδο της νεφο-υπολογιστικής (Amazon, Google, Microsoft) - - \item Το εργαλείο πρέπει να υποστηρίζει την χρήση των 6 δημοφιλέστερων - διανομών για περιβάλλον διακομιστή (Debian, Ubuntu, Red Hat Enterprise - Linux, Fedora, CentOS, openSUSE Leap) - - \item Το εργαλείο πρέπει να λειτουργεί μέσω της γραμμής εντολών ώστε να - μπορεί να αυτοματοποιηθεί περαιτέρω η εκτέλεση των εντολών του - - \item Το εργαλείο πρέπει να είναι εύκολο στην χρήση για έναν χρήστη που - έχει χρησιμοποιήσει προγράμματα γραμμής εντολών στο παρελθόν - - \item Το εργαλείο θα πρέπει να είναι αξιόπιστο, δηλαδή κάθε εκτέλεση να - επιφέρει τα αναμενόμενα αποτελέσματα - - \item Το εργαλείο πρέπει να δημιουργεί ξεχωριστό αρχείο για τις ρυθμίσεις - του στον ίδιο φάκελο που βρίσκεται και το εκτελέσιμο αρχείο του - - \item Το εργαλείο πρέπει να κρατάει αρχείο των διευθύνσεων IP των εικονικών - μηχανών που δημιουργεί ώστε να μπορούν να διαμορφωθούν περαιτέρω εάν ο - χρήστης επιθυμεί να χρησιμοποιήσει άλλα προγράμματα, όπως το Ansible - - \item Το εργαλείο πρέπει να διαθέτει ένα μοτίβο εντολών που να μπορεί ο - χρήστης να καταλαβαίνει και να διαμορφώνει ανάλογα με τις ανάγκες του - - \item Το εργαλείο πρέπει να δημιουργεί κλειδιά SSH σε περίπτωση που δεν - υπάρχουν, στον ίδιο φάκελο με το εκτελέσιμο αρχείο του - - \item Το εργαλείο θα πρέπει να εγκαθιστά τις υπηρεσίες watchtower και - portainer για την περαιτέρω σκλήρυνση του - Docker και την διευκόλυνση του χρήστη κατά την εγκατάσταση δοχείων - αντίστοιχα - - \end{itemize} -\end{itemize} -\end{columns} + \end{columns} \end{frame} %-------------------------------------------------------------% diff --git a/lib/figures/development/1secdep-flowchart-diagram.png b/lib/figures/development/1secdep-flowchart-diagram.png new file mode 100644 index 0000000..4dd89fc Binary files /dev/null and b/lib/figures/development/1secdep-flowchart-diagram.png differ diff --git a/lib/figures/development/2secdep-flowchart-diagramSimpleFunctions.png b/lib/figures/development/2secdep-flowchart-diagramSimpleFunctions.png new file mode 100644 index 0000000..5a77b7a Binary files /dev/null and b/lib/figures/development/2secdep-flowchart-diagramSimpleFunctions.png differ diff --git a/lib/figures/development/3secdep-flowchart-ListVMs.png b/lib/figures/development/3secdep-flowchart-ListVMs.png new file mode 100644 index 0000000..8333937 Binary files /dev/null and b/lib/figures/development/3secdep-flowchart-ListVMs.png differ diff --git a/lib/figures/development/4secdep-flowchart-ActionOnVM.png b/lib/figures/development/4secdep-flowchart-ActionOnVM.png new file mode 100644 index 0000000..047eed3 Binary files /dev/null and b/lib/figures/development/4secdep-flowchart-ActionOnVM.png differ diff --git a/lib/figures/development/5secdep-flowchart-SSHToVM.png b/lib/figures/development/5secdep-flowchart-SSHToVM.png new file mode 100644 index 0000000..c1243d6 Binary files /dev/null and b/lib/figures/development/5secdep-flowchart-SSHToVM.png differ diff --git a/lib/figures/development/6secdep-flowchart-ResourceInfo.png b/lib/figures/development/6secdep-flowchart-ResourceInfo.png new file mode 100644 index 0000000..79c8318 Binary files /dev/null and b/lib/figures/development/6secdep-flowchart-ResourceInfo.png differ diff --git a/lib/figures/development/7secdep-flowchart-CreateVM.png b/lib/figures/development/7secdep-flowchart-CreateVM.png new file mode 100644 index 0000000..97f85e8 Binary files /dev/null and b/lib/figures/development/7secdep-flowchart-CreateVM.png differ diff --git a/lib/figures/development/getAwsImage.png b/lib/figures/development/getAwsImage.png new file mode 100644 index 0000000..425e362 Binary files /dev/null and b/lib/figures/development/getAwsImage.png differ diff --git a/lib/figures/development/harden-function-relationships.png b/lib/figures/development/harden-function-relationships.png new file mode 100644 index 0000000..72b6c50 Binary files /dev/null and b/lib/figures/development/harden-function-relationships.png differ diff --git a/lib/figures/development/listAllRegionalAwsNodes.png b/lib/figures/development/listAllRegionalAwsNodes.png new file mode 100644 index 0000000..b2d3313 Binary files /dev/null and b/lib/figures/development/listAllRegionalAwsNodes.png differ diff --git a/lib/figures/development/secdep-function-relationships.png b/lib/figures/development/secdep-function-relationships.png new file mode 100644 index 0000000..7c494b3 Binary files /dev/null and b/lib/figures/development/secdep-function-relationships.png differ diff --git a/lib/figures/development/secdep-module-dependencies-organized.png b/lib/figures/development/secdep-module-dependencies-organized.png new file mode 100644 index 0000000..1453b41 Binary files /dev/null and b/lib/figures/development/secdep-module-dependencies-organized.png differ diff --git a/lib/figures/development/secdep-sequence-diagram.png b/lib/figures/development/secdep-sequence-diagram.png new file mode 100644 index 0000000..31c7b72 Binary files /dev/null and b/lib/figures/development/secdep-sequence-diagram.png differ diff --git a/lib/figures/development/secdep-use-case-diagram.jpg b/lib/figures/development/secdep-use-case-diagram.jpg new file mode 100644 index 0000000..421bb1a Binary files /dev/null and b/lib/figures/development/secdep-use-case-diagram.jpg differ