Αλυσίδες Charts

Αυτός ο τομέας του οδηγού καλύπτει τις βέλτιστες πρακτικές για τις αλυσίδες charts οι οποίες δηλώνονται στο Chart.yaml.

Εκδόσεις

Όπου είναι δυνατό, χρησιμοποιήστε ένα φάσμα εκδόσεων (versions) αντί να καρφώνετε σε κάποια συγκεκριμένη έκδοση. Το συνιστώμενο default είναι να χρησιμοποιείτε μια έκδοση η οποία να κάνει το ταίριασμα στο επίπεδο του patch:

version: ~1.2.3

Αυτό θα ταιριάξει με την έκδοση 1.2.3 και όλα τα patches αυτού του release. Με άλλα λόγια, το ~1.2.3 είναι εφάμιλο με την έκφραση >= 1.2.3, < 1.3.0

Για την πλήρη σύνταξη του πως γίνεται το ταίριασμα των εκδόσεων, παρακαλούμε δείτε το semver documentation.

URLs των Repositories

Όπου είναι δυνατό, χρησιμοποιήστε https:// για τα URLs ενός repository, και ακολούθως http:// URLs.

Αν το repository έχει προστεθεί στο αρχείο index για repository ( κατάλογος για repositories ) , το όνομα του repository μπορεί να χρησιμοποιηθεί ως alias του URL. Χρησιμοποιήστε το alias: ή @ ακολουθούμενο από το όνομα του repository.

Τα file URLs (file://...) θεωρούνται ως "ειδική περίπτωση" για charts τα οποία συντάσσονται από το pipeline ενός φιξαρισμένου deployment. Τα Charts τα οποία χρησιμοποιούν file:// δεν επιτρέπονται στο επίσημο Helm repository.

Συνθήκες και Tags

Οι συνθήκες ή τα tags θα έπρεπε να προστίθενται σε εξαρτώμενα οι οποίες είναι προαιρετικές.

Η προτιμώμενη μορφή μίας συνθήκης (condition) είναι η ακόλουθη:

condition: somechart.enabled

Όπου το somechart είναι το όνομα του chart της αλυσίδας.

Όταν πολλαπλά υποcharts (αλυσίδες - dependencies) παρέχουν ένα προαιρετικό ή ανταλλάξιμο feature μαζί, αυτά τα charts θα έπρεπε να περιέχουν τα ίδια tags.

Για παράδειγμα , αν κα το nginx και το memcached παρέχουν και τα δύο βελτιστοποιήσεις για την απόδοση για το κύριο app του chart, και είναι απαραίτητο και τα δύο να είναι παρόντα όταν αυτό το feature είναι ενεργοποιημένο, τότε θα πρέπει να έχουν και τα δύο έναν τομέα με tags κάπως έτσι:

tags:
  - webaccelerator

Αυτό επιτρέπει στον χρήστη να ανοίγει και να κλείνει αυτό το feature με ένα tag.