OpenTofu Workshop – Επισκόπηση
Επισκόπηση
Αυτό το workshop καλύπτει τη διαδρομή από τις βασικές αρχές έως την προχωρημένη λειτουργία IaC και το Security Hardening. Η δομή του ακολουθεί το Kubernetes Workshop: τεκμηρίωση αναφοράς, τέσσερα επίπεδα workshop, ασκήσεις, Assessments, λύσεις, επίσημες πηγές και 31 πρακτικά παραδείγματα.
Η έμφαση δίνεται στην πραγματική χρήση του OpenTofu:
- Κατανόηση των HCL, Root Modules, Providers, Resources, Data Sources, Variables και Outputs.
- Κατανόηση των Plan, Apply, State, Backend και Locking.
- Ασφαλής χρήση των Modules, Dependencies, Refactoring, Import και Tests.
- Σχεδιασμός CI/CD, TACOS, Policy as Code, Drift και Promotion.
- Αξιολόγηση της ασφάλειας του State, των Secrets, του Provider Pinning, της Supply Chain και του Least Privilege.
- Οργάνωση Incident Response για προβλήματα State, Drift και Credential leaks.
Γρήγορη εκκίνηση
Αφού κατεβάσετε τα αρχεία του πρακτικού module από τη σελίδα του workshop, ελέγξτε πρώτα το provisioning script με --dry-run:
chmod +x scripts/provision_opentofu.sh
./scripts/provision_opentofu.sh --dry-run
Στη συνέχεια, ελέγξτε τα διαθέσιμα τοπικά εργαλεία:
tofu version || true
git --version
python3 --version
Διαδρομή μάθησης
| Επίπεδο | Εστίαση | Workshop | Ασκήσεις | Assessment |
|---|---|---|---|---|
| 01 | Fundamentals | Workshop βασικού επιπέδου | Ασκήσεις βασικού επιπέδου | Αξιολόγηση βασικού επιπέδου |
| 02 | Intermediate | Workshop ενδιάμεσου επιπέδου | Ασκήσεις ενδιάμεσου επιπέδου | Αξιολόγηση ενδιάμεσου επιπέδου |
| 03 | Professional | Workshop επαγγελματικού επιπέδου | Ασκήσεις επαγγελματικού επιπέδου | Αξιολόγηση επαγγελματικού επιπέδου |
| 04 | Advanced Security | Workshop προχωρημένης ασφάλειας | Ασκήσεις προχωρημένης ασφάλειας | Αξιολόγηση προχωρημένης ασφάλειας |
Λύσεις αξιολογήσεων
Πιστοποιήσεις
Η επισκόπηση μαθημάτων και πιστοποιήσεων OpenTofu εξηγεί το επίσημο μάθημα LFEL1009 και αντιστοιχίζει τις δεξιότητες IaC με τις ενότητες του workshop.
Τεκμηρίωση
- Αρχιτεκτονική
- Βέλτιστες πρακτικές
- Εντολές
- Έννοιες
- Πρόγραμμα σπουδών
- Διαγράμματα
- Περιβάλλον cloud
- Περιβάλλον bare metal
- Περιβάλλον VM
- Περιβάλλον WSL
- Λειτουργία
- Ασφάλεια
- Αντιμετώπιση προβλημάτων
Όσα έγγραφα δεν έχουν ακόμη ελληνική έκδοση εμφανίζονται στα αγγλικά. Οι σύνδεσμοι ενημερώνονται καθώς ολοκληρώνονται οι μεταφράσεις.
Παραδείγματα
Τα 31 πρακτικά modules παρατίθενται στην επισκόπηση παραδειγμάτων. Κάθε module περιλαμβάνει κύρια περιγραφή, τεκμηρίωση ανά διαθέσιμη γλώσσα, ελέγξιμα αρχεία HCL, JSON και Policy, καθώς και ένα run.sh που δημιουργεί ένα τοπικό IaC lab κάτω από το work/.
Δομή του workshop
.
├── assessments/
├── docs/
├── examples/
├── exercises/
├── media/
│ └── pics/
├── scripts/
├── workshops/
└── README-EL.md
Σημαντικός κανόνας ασφαλείας
Το OpenTofu State μπορεί να περιέχει ευαίσθητα δεδομένα. Μη χρησιμοποιείτε πραγματικά Cloud Credentials, production Backends ή πραγματικές τιμές Secrets σε αυτό το workshop. Τα παραδείγματα configuration προορίζονται για τοπικές ασκήσεις δομής και Review.
Επίσημες πηγές και πεδίο εφαρμογής
Το υλικό βασίζεται σε δημόσια τεκμηρίωση του OpenTofu. Οι Cloud Providers, οι TACOS πλατφόρμες, τα Policy Engines και τα Secret tools αναφέρονται μόνο όταν βοηθούν στην εξήγηση συνηθισμένων OpenTofu workflows. Τα αρχεία παραδειγμάτων δεν αποτελούν οδηγίες εκτέλεσης σε production Cloud Accounts.
- OpenTofu: https://opentofu.org/
- OpenTofu Language Documentation: https://opentofu.org/docs/language/
- Provider Requirements: https://opentofu.org/docs/language/providers/requirements/
- State: https://opentofu.org/docs/language/state/
- Backend Configuration: https://opentofu.org/docs/language/settings/backends/configuration/
- OpenTofu v1.x Compatibility Promises: https://opentofu.org/docs/language/v1-compatibility-promises/
- OpenTofu στο CNCF: https://www.cncf.io/projects/opentofu/
- Linux Foundation: Getting Started with OpenTofu: https://training.linuxfoundation.org/express-learning/getting-started-with-opentofu-lfel1009/
- Linux Foundation Certification Catalog: https://training.linuxfoundation.org/certification-catalog/
Άδεια χρήσης
Κατεβάστε την άδεια χρήσης της Orthevs Academy.
Πρόσθετες ασκήσεις Review
Χρησιμοποιήστε αυτές τις ασκήσεις όταν ολοκληρώσετε την κύρια εργασία και θέλετε να εξασκηθείτε περισσότερο στην τεκμηρίωση λειτουργικών αποφάσεων. Εστιάζουν σε ελέγξιμα στοιχεία και μπορούν να απαντηθούν με τοπικά OpenTofu artifacts.
Drill 01: Root Module
- Προσδιορίστε ποιο όριο Module, Provider, Backend ή State σχετίζεται με το
Root Module. - Αναφέρετε μία εντολή ή ένα πεδίο HCL που προσφέρει ελέγξιμο στοιχείο.
- Εξηγήστε τι αποδεικνύει αυτό το στοιχείο και τι δεν μπορεί να αποδείξει.
- Περιγράψτε την ασφαλέστερη διαδρομή Recovery για μια κοινόχρηστη IaC πλατφόρμα.
Drill 02: Provider Version
- Προσδιορίστε ποιο όριο Module, Provider, Backend ή State σχετίζεται με το
Provider Version. - Αναφέρετε μία εντολή ή ένα πεδίο HCL που προσφέρει ελέγξιμο στοιχείο.
- Εξηγήστε τι αποδεικνύει αυτό το στοιχείο και τι δεν μπορεί να αποδείξει.
- Περιγράψτε την ασφαλέστερη διαδρομή Recovery για μια κοινόχρηστη IaC πλατφόρμα.
Drill 03: State Snapshot
- Προσδιορίστε ποιο όριο Module, Provider, Backend ή State σχετίζεται με το
State Snapshot. - Αναφέρετε μία εντολή ή ένα πεδίο HCL που προσφέρει ελέγξιμο στοιχείο.
- Εξηγήστε τι αποδεικνύει αυτό το στοιχείο και τι δεν μπορεί να αποδείξει.
- Περιγράψτε την ασφαλέστερη διαδρομή Recovery για μια κοινόχρηστη IaC πλατφόρμα.
Drill 04: Backend Locking
- Προσδιορίστε ποιο όριο Module, Provider, Backend ή State σχετίζεται με το
Backend Locking. - Αναφέρετε μία εντολή ή ένα πεδίο HCL που προσφέρει ελέγξιμο στοιχείο.
- Εξηγήστε τι αποδεικνύει αυτό το στοιχείο και τι δεν μπορεί να αποδείξει.
- Περιγράψτε την ασφαλέστερη διαδρομή Recovery για μια κοινόχρηστη IaC πλατφόρμα.
Drill 05: Plan Diff
- Προσδιορίστε ποιο όριο Module, Provider, Backend ή State σχετίζεται με το
Plan Diff. - Αναφέρετε μία εντολή ή ένα πεδίο HCL που προσφέρει ελέγξιμο στοιχείο.
- Εξηγήστε τι αποδεικνύει αυτό το στοιχείο και τι δεν μπορεί να αποδείξει.
- Περιγράψτε την ασφαλέστερη διαδρομή Recovery για μια κοινόχρηστη IaC πλατφόρμα.
Drill 06: Module Output
- Προσδιορίστε ποιο όριο Module, Provider, Backend ή State σχετίζεται με το
Module Output. - Αναφέρετε μία εντολή ή ένα πεδίο HCL που προσφέρει ελέγξιμο στοιχείο.
- Εξηγήστε τι αποδεικνύει αυτό το στοιχείο και τι δεν μπορεί να αποδείξει.
- Περιγράψτε την ασφαλέστερη διαδρομή Recovery για μια κοινόχρηστη IaC πλατφόρμα.
Drill 07: Sensitive Value
- Προσδιορίστε ποιο όριο Module, Provider, Backend ή State σχετίζεται με το
Sensitive Value. - Αναφέρετε μία εντολή ή ένα πεδίο HCL που προσφέρει ελέγξιμο στοιχείο.
- Εξηγήστε τι αποδεικνύει αυτό το στοιχείο και τι δεν μπορεί να αποδείξει.
- Περιγράψτε την ασφαλέστερη διαδρομή Recovery για μια κοινόχρηστη IaC πλατφόρμα.
Drill 08: Policy Gate
- Προσδιορίστε ποιο όριο Module, Provider, Backend ή State σχετίζεται με το
Policy Gate. - Αναφέρετε μία εντολή ή ένα πεδίο HCL που προσφέρει ελέγξιμο στοιχείο.
- Εξηγήστε τι αποδεικνύει αυτό το στοιχείο και τι δεν μπορεί να αποδείξει.
- Περιγράψτε την ασφαλέστερη διαδρομή Recovery για μια κοινόχρηστη IaC πλατφόρμα.
Drill 09: Import
- Προσδιορίστε ποιο όριο Module, Provider, Backend ή State σχετίζεται με το
Import. - Αναφέρετε μία εντολή ή ένα πεδίο HCL που προσφέρει ελέγξιμο στοιχείο.
- Εξηγήστε τι αποδεικνύει αυτό το στοιχείο και τι δεν μπορεί να αποδείξει.
- Περιγράψτε την ασφαλέστερη διαδρομή Recovery για μια κοινόχρηστη IaC πλατφόρμα.
Drill 10: Moved Block
- Προσδιορίστε ποιο όριο Module, Provider, Backend ή State σχετίζεται με το
Moved Block. - Αναφέρετε μία εντολή ή ένα πεδίο HCL που προσφέρει ελέγξιμο στοιχείο.
- Εξηγήστε τι αποδεικνύει αυτό το στοιχείο και τι δεν μπορεί να αποδείξει.
- Περιγράψτε την ασφαλέστερη διαδρομή Recovery για μια κοινόχρηστη IaC πλατφόρμα.
Drill 11: TACOS Run
- Προσδιορίστε ποιο όριο Module, Provider, Backend ή State σχετίζεται με το
TACOS Run. - Αναφέρετε μία εντολή ή ένα πεδίο HCL που προσφέρει ελέγξιμο στοιχείο.
- Εξηγήστε τι αποδεικνύει αυτό το στοιχείο και τι δεν μπορεί να αποδείξει.
- Περιγράψτε την ασφαλέστερη διαδρομή Recovery για μια κοινόχρηστη IaC πλατφόρμα.
Drill 12: Recovery
- Προσδιορίστε ποιο όριο Module, Provider, Backend ή State σχετίζεται με το
Recovery. - Αναφέρετε μία εντολή ή ένα πεδίο HCL που προσφέρει ελέγξιμο στοιχείο.
- Εξηγήστε τι αποδεικνύει αυτό το στοιχείο και τι δεν μπορεί να αποδείξει.
- Περιγράψτε την ασφαλέστερη διαδρομή Recovery για μια κοινόχρηστη IaC πλατφόρμα.
Drill 13: Root Module
- Προσδιορίστε ποιο όριο Module, Provider, Backend ή State σχετίζεται με το
Root Module. - Αναφέρετε μία εντολή ή ένα πεδίο HCL που προσφέρει ελέγξιμο στοιχείο.
- Εξηγήστε τι αποδεικνύει αυτό το στοιχείο και τι δεν μπορεί να αποδείξει.
- Περιγράψτε την ασφαλέστερη διαδρομή Recovery για μια κοινόχρηστη IaC πλατφόρμα.
Drill 14: Provider Version
- Προσδιορίστε ποιο όριο Module, Provider, Backend ή State σχετίζεται με το
Provider Version. - Αναφέρετε μία εντολή ή ένα πεδίο HCL που προσφέρει ελέγξιμο στοιχείο.
- Εξηγήστε τι αποδεικνύει αυτό το στοιχείο και τι δεν μπορεί να αποδείξει.
- Περιγράψτε την ασφαλέστερη διαδρομή Recovery για μια κοινόχρηστη IaC πλατφόρμα.
Drill 15: State Snapshot
- Προσδιορίστε ποιο όριο Module, Provider, Backend ή State σχετίζεται με το
State Snapshot. - Αναφέρετε μία εντολή ή ένα πεδίο HCL που προσφέρει ελέγξιμο στοιχείο.
- Εξηγήστε τι αποδεικνύει αυτό το στοιχείο και τι δεν μπορεί να αποδείξει.
- Περιγράψτε την ασφαλέστερη διαδρομή Recovery για μια κοινόχρηστη IaC πλατφόρμα.
Drill 16: Backend Locking
- Προσδιορίστε ποιο όριο Module, Provider, Backend ή State σχετίζεται με το
Backend Locking. - Αναφέρετε μία εντολή ή ένα πεδίο HCL που προσφέρει ελέγξιμο στοιχείο.
- Εξηγήστε τι αποδεικνύει αυτό το στοιχείο και τι δεν μπορεί να αποδείξει.
- Περιγράψτε την ασφαλέστερη διαδρομή Recovery για μια κοινόχρηστη IaC πλατφόρμα.