Publication de directives
Pour créer des modèles, des piles, des images et des fiches descriptives pour Oracle Cloud Infrastructure Marketplace, assurez-vous de vous conformer à toutes les directives pertinentes.
Le portail des partenaires sera migré vers la console Oracle Cloud. Pour plus d'informations, voir Migration du portail des partenaires vers la console Oracle Cloud.
À propos des directives de l'éditeur du marché des applications
OCI permet aux partenaires Oracle de distribuer leurs solutions aux clients OCI au moyen d'Oracle Cloud Marketplace. Les clients d'Oracle sont certains que ces solutions sont conçues et entretenues de manière à garantir que leur sécurité et leur confidentialité sont la priorité absolue.
Les clients s'attendent également à ce que les solutions livrent comme promis, comprennent une excellente documentation et offrent une expérience de soutien efficace et à faible friction. Ce document décrit la barre minimale requise par les partenaires Oracle pour l'inclusion dans Oracle Cloud Marketplace. Vous êtes encouragé à dépasser ces spécifications, dans la mesure du possible. Les solutions qui comprennent des exceptions à ces normes doivent être examinées et approuvées par Oracle.
Mots clés
Ce document utilise des mots clés tels que définis par IETF RFC 2119. Pour plus de renseignements, consultez la page https://www.ietf.org/rfc/rfc2119.txt.
- Must - Ce mot, ou les termes "Required" ou "Shall", signifie que la définition est une exigence absolue de la spécification.
- Ne doit pas - Cette phrase, ou l'expression "ne doit pas", signifie que la définition est une interdiction absolue de la spécification.
- Si - Ce mot, ou l'adjectif "Recommandé", signifie qu'il peut exister des raisons valables dans des circonstances particulières d'ignorer un élément particulier, mais les implications complètes doivent être comprises et soigneusement pesées avant de choisir un autre cours.
- Ne devrait pas - Cette phrase, ou l'expression "Non recommandé" signifie qu'il peut exister des raisons valables dans des circonstances particulières lorsque le comportement particulier est acceptable ou même utile, mais les implications complètes doivent être comprises et le cas soigneusement pesé avant de mettre en œuvre tout comportement décrit avec cette étiquette.
- May - Ce mot, ou l'adjectif "facultatif", signifie qu'un élément est vraiment facultatif. Un fournisseur peut choisir d'inclure l'article parce qu'un marché en particulier l'exige ou parce qu'il estime qu'il améliore le produit alors qu'un autre fournisseur peut omettre le même article. Une implémentation qui n'inclut pas une option particulière doit être prête à interagir avec une autre implémentation qui inclut l'option, mais peut-être avec une fonctionnalité réduite. Dans la même veine, une implémentation qui inclut une option particulière doit être préparée à interagir avec une autre implémentation qui n'inclut pas l'option (sauf, bien sûr, pour la fonctionnalité que l'option fournit).
Niveaux de gravité de vulnérabilité
Lorsqu'il y a une référence à une vulnérabilité de sécurité dans cette section, la référence est au système de notation CVSS (Common Vulnerability Scoring System) v3.0. Pour plus d'informations sur CVSS v3.0, consultez https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator.
Sécurité
L'aperçu de la sécurité d'Oracle Cloud Infrastructure indique ce qui suit :
We [Oracle] believe that a dynamic security-first culture is vital to building a successful security-minded organization. We have cultivated a holistic approach to security culture in which all our team members internalize the role that security plays in our business and are actively engaged in managing and improving our products' security posture. We have also implemented mechanisms that assist us in creating and maintaining a security-aware culture.
Vous devez lire et comprendre l'ensemble de l'approche en matière de sécurité d'Oracle Cloud Infrastructure. Voir Guide de sécurité d'Oracle Cloud Infrastructure dans la documentation d'Oracle Cloud Infrastructure.
Vous devez maintenir une culture de la sécurité d'abord qui comprend et valorise la confiance de nos clients mutuels.
Contrôles
- Vous devez être conscient des alertes de sécurité et des avis qui ont un impact sur vos solutions. Voici quelques sources courantes d'alertes de sécurité :
- SecurityFocus tient à jour les avis récents pour de nombreux produits à code source libre et commerciaux. https://www.securityfocus.com/
- Base de données nationale sur les vulnérabilités. https://nvd.nist.gov/vuln
- US-CERT et le CERT des systèmes de contrôle industriel (ICS-CERT) publient régulièrement des résumés mis à jour des incidents de sécurité les plus fréquents et ayant une incidence élevée. https://www.us-cert.gov/ics
- La divulgation complète à l'adresse SecLists.org est un forum public de grande envergure, indépendant des fournisseurs, qui présente des informations détaillées sur les vulnérabilités et les techniques d'exploitation. https://seclists.org/fulldisclosure/
- Le Centre de coordination de l'équipe de préparation aux urgences informatiques (CERT/CC) contient des informations à jour sur les vulnérabilités des produits les plus populaires. https://www.cert.org
- Surveillez les mises à jour de la plate-forme Oracle Cloud Infrastructure qui peuvent avoir une incidence sur les images que vous avez publiées.
- Vous devez aviser OCI dans les 3 jours ouvrables de toute vulnérabilité nouvellement détectée qui a une incidence sur vos solutions avec une notation CVSS supérieure ou égale à 9.0.
- Vous devez aviser Oracle Cloud Infrastructure dans les 5 jours ouvrables suivant la découverte de toute vulnérabilité ayant une incidence sur vos solutions avec une notation CVSS comprise entre 7.0 et 8.9.
- Vous devez aviser OCI dans les 20 jours ouvrables de toute vulnérabilité nouvellement découverte qui a une incidence sur vos solutions avec une notation CVSS comprise entre 4.0 et 6.9.
- Vous devez publier des solutions mises à jour qui atténuent les vulnérabilités nouvellement découvertes en temps opportun.
- Vous devez permettre aux clients de maintenir leurs solutions à jour pour les protéger contre les vulnérabilités nouvellement découvertes. Voici quelques modèles courants :
- Application automatique des mises à jour de sécurité.
- Permettre à un client d'exécuter une commande pour appliquer des mises à jour de sécurité.
- Fournir un processus qui permet à un client de remplacer tous les déploiements courants par une version mise à jour. Ce processus devrait être suffisamment faible pour qu'un client ne soit pas découragé d'effectuer le travail requis.
- Vous devez publier des solutions mises à jour avec des mises à jour de sécurité générales sur une base trimestrielle.
- Si vous pourriez avoir besoin de signer une entente de non-divulgation avant de divulguer une vulnérabilité à Oracle, vous devez avoir signé une entente de confidentialité d'Oracle (CDA) avant la publication de votre première image. Votre équipe de partenaires Oracle vous aidera dans ce processus.
Lignes directrices pour les inscriptions
Lors de la création de vos listes d'applications, assurez-vous que vous connaissez et respectez les directives pertinentes.
Directives obligatoires
Les directives suivantes sont obligatoires pour les fiches descriptives d'application dans Oracle Cloud Infrastructure Marketplace. Chaque ligne directrice doit être respectée. Avant d'être approuvé, chaque liste de demandes est validée par rapport à chacune de ces directives.
- Le nom de l'application doit comprendre au plus 80 caractères. Il doit comporter 36 caractères ou moins pour une visualisation optimale.
- Le nom de l'application doit être clair, concis et exempt d'erreurs d'orthographe et de grammaire. Il ne doit y avoir aucun saut de ligne.
- Le titre doit indiquer clairement le but de l'application. Il doit être décrit en deux lignes ou moins et être exempt d'erreurs d'orthographe et de grammaire.
- La police/l'espacement de la liste doit être cohérent.
- Tout le texte doit être exempt d'erreurs d'orthographe ou de grammaire.
- La description doit être complète et capturer le public cible / type d'utilisateur et présenter pourquoi la liste est précieuse.
- Tous les liens doivent pointer vers les bons emplacements et s'ouvrir dans un nouvel onglet ou une nouvelle fenêtre.
- Le texte inclus dans les icônes, les bannières, les captures d'écran ou les vidéos doit être lisible.
- Les images ne doivent pas être floues ou étirées.
- Les documents connexes doivent fournir des informations cohérentes pour que les utilisateurs puissent :
- Lancez une instance à partir du marché des applications.
- Vous connecter à l'instance.
- Configurez ou démarrez l'application.
- La section Soutien doit contenir des coordonnées précises pour que le client puisse faire appel au soutien des partenaires. Ces coordonnées doivent contenir un numéro de téléphone ou une adresse de courriel précis.
- Les exigences du système doivent contenir la liste des composants Oracle Cloud Infrastructure requis, notamment les formes de calcul, les règles de sécurité, les politiques IAM, les volumes par blocs, les cartes vNIC secondaires, etc.
- Les conditions d'utilisation doivent être incluses dans le package d'installation de votre application et être exemptes d'erreurs d'orthographe ou de grammaire. Le nom des conditions d'utilisation doit être dans la casse de titre. Les liens dans les conditions d'utilisation doivent pointer vers les emplacements appropriés et s'ouvrir dans un nouvel onglet ou une nouvelle fenêtre.
- La version de l'ensemble d'installation de l'application doit correspondre à la version spécifiée dans toute autre image ou texte connexe pour cet ensemble.
- L'utilisateur doit pouvoir lancer, connecter et configurer l'application et l'infrastructure connexe à l'aide des instructions incluses dans les sections Utilisation et Documents connexes.
- Chaque solution publiée comprend un ensemble de documents destinés aux clients. Cette documentation :
- Doit inclure des instructions proéminentes et détaillées pour la connexion à une instance.
- Vous devez inclure la documentation d'utilisation ou un lien vers la documentation.
- Doit inclure des détails de soutien ou un lien vers ces détails.
- Lister les formes compatibles.
- Doit documenter tous les ports réseau ouverts par défaut sur l'instance.
- Accusé de réception : Vous acceptez de ne pas publier de fiches descriptives d'éditeur payantes sur Oracle Cloud Marketplace si l'achat de produits et de services ou la prestation de services connexes au client peut être financé en tout ou en partie par un régime d'assurance-maladie, un médicament ou tout autre programme de soins de santé financé par l'État ou le gouvernement fédéral.
Directives recommandées
Les directives suivantes peuvent être considérées comme des pratiques exemplaires qui devraient être suivies dans la mesure du possible.
- Les notes de version doivent être indiquées sous forme de points à puces avec des sauts de ligne appropriés.
- Les documents connexes doivent contenir des informations sur la façon d'acheter une licence si nécessaire.
Directives générales
Voici quelques lignes directrices génériques pour les listes de tous types. Pour des directives spécifiques aux listes d'applications ou d'images, consultez la section pertinente.
- Pour s'assurer que le contenu de la fiche descriptive s'adapte correctement au style interplate-forme Oracle Cloud Marketplace, seul le formatage de base est autorisé dans les sections de description. Si le contenu est copié à partir d'une autre source de texte enrichi (telle que Microsoft Word), assurez-vous que tout style supplémentaire est supprimé avant de soumettre la liste pour révision.
- Il est recommandé de coller du contenu en texte brut pour éviter d'inclure les styles et le formatage cachés. En adhérant à ces options de formatage de base, le contenu de la liste s'affiche correctement sur plusieurs appareils et plates-formes.
- L'utilisation des marques de commerce Oracle dans le contenu de la fiche descriptive (telles que les noms de produits Oracle) doit être conforme aux Directives d'utilisation des marques de commerce Oracle.
- L'utilisation des logos Oracle dans le contenu de la fiche descriptive (notamment les infographies et les captures d'écran) doit être conforme aux Directives d'utilisation des logos Oracle.
- Pour toutes les images telles que logos, icônes ou bannières :
- Assurez-vous que les images sont dimensionnées pour correspondre aux dimensions spécifiées.
- Enregistrez les images dans le format de fichier spécifié avec compression.
- Assurez-vous que la taille du fichier image est comprise dans la taille de fichier spécifiée.
- Votre bannière doit être de 1160 pixels (largeur) par 200 pixels (hauteur), un maximum de 10 Mo, et doit être un fichier BMP, GIF, JPEG (JPG) ou PNG.
- Le logo de votre société doit être de 115 pixels par 115 pixels, soit un maximum de 5 Mo, et doit être un fichier BMP, GIF, JPEG (JPG) ou PNG.
- Votre icône doit être de 130 pixels par 130 pixels, soit un maximum de 5 Mo, et doit être un fichier BMP, GIF, JPEG (JPG) ou PNG.
- Les icônes d'application doivent être distinctives et uniques. Ne soumettez pas plusieurs demandes avec la même icône.
- N'utilisez aucun logo ou marque de commerce d'Oracle dans les icônes de l'application. Assurez-vous que vous disposez des droits d'utilisation des images de tiers utilisées.
- Le contenu de la section de description doit fournir un aperçu général de l'application. Il doit décrire la valeur et les avantages pour le client d'exécuter/d'héberger l'application sur Oracle Cloud.
- Une description longue doit être précédée d'une description abrégée. Ne répétez pas la description abrégée dans la section Description longue.
- La description ne doit pas mettre en surbrillance ni faire référence à "Intégration validée par Oracle". Le programme d'intégration validée (OVI) d'Oracle s'applique uniquement aux solutions sur place et ne s'applique pas à Oracle Cloud.
- Dans le champ Informations sur l'utilisation :
- Incluez un lien vers un guide de démarrage qui contient les détails complets requis par les utilisateurs pour commencer.
- Inclure des liens vers toute documentation technique, feuilles de données, guides de l'utilisateur et autres documents connexes (y compris ceux que vous spécifiez dans la section Documents connexes).
- Liste des ports à ouvrir. Ajoutez un lien tel que "Comment configurer des ports ouverts" qui décrit les étapes pour ouvrir des ports à l'aide de la console Oracle Cloud Infrastructure.
- Dans le champ Fiches d'écran et vidéos, pour les captures d'écran :
- Un minimum de deux captures d'écran est recommandé.
- Lorsque vous prenez des captures d'écran, masquez les barres d'outils et les menus du navigateur. Utilisez le mode plein écran du navigateur.
- Les dimensions recommandées pour les captures d'écran sont de 640 pixels (largeur) x 480 pixels (hauteur). Les autres tailles appropriées incluent 1024x768 et 1200x900. Les images plus grandes doivent être recadrées ou redimensionnées.
- Pour de meilleurs résultats, les images doivent être créées avec un format 4:3 natif. Pour toutes les images qui ne correspondent pas au format 4:3, telles que les captures d'écran des applications de téléphone mobile, tapez l'image avec un arrière-plan coloré ou transparent approprié pour s'adapter à la taille d'image requise. Utilisez un éditeur d'image pour ajouter un remplissage.
- Les captures d'écran doivent être d'un maximum de 5 Mo et doivent être un fichier BMP, GIF, JPEG (JPG) ou PNG.
- Les images téléchargées sont automatiquement mises à l'échelle à 240 x 180 pixels miniatures sur la page principale.
- Les images téléchargées sont automatiquement mises à l'échelle pour s'adapter au visualiseur multimédia de 600 x 450 pixels.
- Incluez une vidéo de démonstration comme premier élément de la liste dans le champ Captures d'écran et vidéos.
- Les vidéos promotionnelles qui sont hébergées sur YouTube ou Vimeo peuvent être intégrées directement dans la liste des captures d'écran et le visualiseur de médias.
- L'adresse URL de la vidéo doit commencer par
http://
ouhttps://
- La vidéo de démonstration principale doit être courte et précise, en mettant l'accent sur les principales caractéristiques de l'application et la valeur de l'application/de l'intégration dans Oracle Cloud.
- Des vidéos plus longues et du contenu promotionnel peuvent être inclus en tant que vidéos supplémentaires.
- Dans le champ Documents connexes :
- L'ajout d'une fiche technique propre à l'intégration à Oracle Cloud est une exigence minimale.
- Les fiches techniques doivent être propres à la version d'application activée pour Oracle Cloud.
- Ajoutez un document "Démarrage avec Oracle Cloud Infrastructure" qui fournit des détails complets permettant aux clients de configurer et de configurer le logiciel.
- Dans le champ Exigences du système :
- Répertoriez tous les services Oracle Cloud PaaS requis pour installer et exécuter l'application.
- Répertoriez tous les services Oracle Cloud SaaS auxquels l'application est intégrée.
- Dressez la liste des dépendances de système de tierce partie.
- Incluez les dépendances propres au navigateur ou les plates-formes mobiles prises en charge dans cette section.
- Soyez précis sur les dépendances de version ou d'édition, ou sur les exigences de dimensionnement (le cas échéant).
Directives pour les images
Lorsque vous créez une liste d'images dans Oracle Cloud Infrastructure Marketplace, assurez-vous que les images que vous créez pour la liste sont conformes aux directives pertinentes.
Directives obligatoires pour les images Linux
Le tableau suivant répertorie les directives d'image obligatoires et le code d'erreur correspondant. Chaque ligne directrice doit être respectée. Avant la publication d'une image sur Oracle Cloud Infrastructure Marketplace, chaque image est validée selon chacune des directives obligatoires suivantes.
Code d'erreur | Description |
---|---|
S01 | Les clés d'hôte SSH doivent être uniques à chaque instance. Utilisez l'utilitaire oci-image-cleanup fourni par l'ensemble oci-utils sur GitHub. Toutes les clés d'hôte SSH seront supprimées afin qu'elles soient régénérées au premier démarrage. |
S08 | Les images doivent ingérer une clé publique SSH fournie par un client dans le cadre du processus de lancement de l'instance. Assurez-vous que l'image est activée pour cloud-init . |
S10 | Les fichiers authorized_keys ne doivent contenir que des clés fournies par l'utilisateur lors du lancement de l'instance. Utilisez l'utilitaire oci-image-cleanup fourni par l'ensemble oci-utils sur GitHub. |
S14 | La connexion de l'utilisateur racine doit être désactivée. Au moins 1 des 3 conditions suivantes doit être remplie :
|
S16 | Les images ne doivent pas avoir d'utilisateurs au niveau du système d'exploitation configurés avec un mot de passe et NE DOIVENT PAS avoir un mot de passe vide. |
G01 | L'image doit démarrer pour toutes les formes compatibles. Vérifiez manuellement en lançant les instances pour chaque forme compatible. |
G03 | L'image ne doit pas avoir d'adresses MAC codées en dur. Videz le fichier /etc/udev/rules.d/70-persistent-net.rules . |
G05 | DHCP doit être activé. Assurez-vous qu'il est configuré manuellement. S'assurer que vous pouvez utiliser SSH dans une instance de cette image confirme que DHCP est activé. |
G08 | Assurez-vous que l'image n'utilise pas le service de métadonnées d'instance v1 (IMDSv1). Si l'image utilise des points d'extrémité IMDSv1, Oracle recommande de désactiver IMDSv1 et de procéder à la mise à niveau vers IMDSv2. Voir Mise à niveau vers le service de métadonnées d'instance v2 dans la documentation sur Oracle Cloud Infrastructure. |
Directives obligatoires pour les images Windows
Code d'erreur | Description |
---|---|
W01 | Avant de créer une image Windows personnalisée, vous devez généraliser l'instance Windows à l'aide de Sysprep. Voir Création d'une image généralisée. |
W02 | Le compte opc ne doit pas être conservé lors de l'exécution de la généralisation de Sysprep. Voir Création d'une image généralisée. |
G08 | Assurez-vous que l'image n'utilise pas le service de métadonnées d'instance v1 (IMDSv1). Si l'image utilise des points d'extrémité IMDSv1, Oracle recommande de désactiver IMDSv1 et de procéder à la mise à niveau vers IMDSv2. Voir Mise à niveau vers le service de métadonnées d'instance v2 dans la documentation sur Oracle Cloud Infrastructure. |
Directives recommandées pour les images Linux
Les directives suivantes sont recommandées pour les images répertoriées dans Oracle Cloud Infrastructure Marketplace. Chaque ligne directrice est considérée comme une bonne pratique à suivre si possible.
Code d'erreur | Description |
---|---|
S02 | Le contrôle d'accès obligatoire (MAC) doit être activé. Voir https://www.linux.com/news/securing-linux-mandatory-access-controls. |
S03 | Un pare-feu de système d'exploitation doit être activé et configuré pour bloquer les ports qui ne sont pas spécifiquement requis, comme indiqué dans la documentation de fiche descriptive. |
S04 | Toutes les données sensibles telles que les mots de passe et les clés privées doivent être supprimées. Ce type de données se trouve souvent dans les fichiers journaux, le code source ou les artefacts de compilation. Pour supprimer de tels fichiers, utilisez l'utilitaire oci-image-cleanup fourni par l'ensemble oci-utils sur GitHub. |
S07 | Les ensembles cloud-init doivent être disponibles pour utilisation lors du lancement de l'instance. |
S11 | Configurez le service SSH pour empêcher la connexion basée sur un mot de passe. Configurez manuellement les paramètres suivants :PasswordAuthentication no ChallengeResponseAuthentication no UsePAM no |
S15 | Le logiciel d'image doit être mis à jour dans le cadre du processus d'emballage final. |
S17 | Les mots de passe d'application ne doivent pas être codés de façon permanente. Tout mot de passe doit être généré de manière unique lors du premier lancement de l'instance : |
G02 | Les images doivent s'exécuter en mode paravirtualisé. Les images peuvent s'exécuter en mode natif. Les images ne doivent pas être exécutées en mode émulé. |
G04 | Tout gestionnaire de réseau doit être arrêté. Voir https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux_OpenStack_Platform/3/html/Installation_and_Configuration_Guide/Disabling_Network_Manager.html. |
G06 | Les images doivent utiliser le service NTP fourni par Oracle Cloud Infrastructure. Voir Configuration du service Oracle Cloud Infrastructure NTP pour une instance. |
G07 | Les images doivent avoir des valeurs de temporisation iSCSI définies pour une connectivité de volume de démarrage appropriée. Voir https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/5/html/Online_Storage_Reconfiguration_Guide/iscsi-modifying-link-loss-behavior-root.html. |
Directives pour les piles
Oracle recommande d'adopter les meilleures pratiques Terraform générales pour créer votre modèle Terraform. Toutefois, il existe des normes de pile Marketplace spécifiques à suivre pour publier une pile.
Directives obligatoires
Les directives obligatoires suivantes s'appliquent aux piles répertoriées dans Oracle Cloud Infrastructure Marketplace. Chaque ligne directrice doit être respectée. Avant d'être publié, chaque artefact de pile est validé en fonction de chacune de ces directives.
- L'artefact de pile doit être un fichier zip, y compris les fichiers de configuration Terraform et un fichier de schéma.
- Le fichier zip doit inclure au moins un fichier de configuration
(.tf)
dans le dossier racine. - Le fichier zip doit inclure le fichier de schéma
(.yaml)
dans le dossier racine. - Le fichier zip ne doit pas inclure de fichier d'état Terraform dans le fichier zip. Les fichiers d'état sont gérés par Oracle Resource Manager (ORM). Lorsque les clients lancent une pile, ORM crée et gère les ressources, et le fichier d'état n'est disponible que pour téléchargement.
- Le fichier zip ne doit pas inclure le dossier de configuration de l'exécution Terraform
(.terraform).
- Le fichier zip doit inclure au moins un fichier de configuration
- La configuration Terraform ne doit utiliser que des images d'instance approuvées ou publiées (publiques ou privées) sur le marché des applications. Il doit avoir un abonnement Marketplace à chacune de ces images. Il doit comporter des références codées en dur à ces images du marché des applications. Pour plus de détails, voir Exemple de configuration Terraform pour un abonnement et une utilisation à des images du marché des applications.
- Les fichiers binaires ne doivent pas être téléchargés à partir de référentiels externes. Tous les binaires et dépendances doivent être intégrés dans l'image du marché des applications publiée.
- Le provisionneur d'exécution distant Terraform ne doit être exécuté que dans le domaine Oracle Cloud Infrastructure. Il ne doit pas télécharger de fichiers sur un serveur distant.
- Le code ou les fichiers binaires de tierce partie ne doivent pas être téléchargés à l'aide de
cloud-init.
cloud-init
est un utilitaire de configuration de démarrage couramment utilisé pour les instances de calcul en nuage. Il accepte la configuration au moyen de mécanismes de données d'utilisateur spécifiés dans la définition des métadonnées sur la ressourceoci_core_instance
.- Plusieurs formats de données d'utilisateur sont pris en charge par
cloud-init.
Voir https://cloudinit.readthedocs.io/en/latest/topics/format.html. - Quel que soit le format de données utilisateur,
cloud-init
NE DOIT PAS être utilisé pour télécharger du code ou du binaire de tierce partie. Tous les fichiers binaires requis lors du processus de lancement de l'instance (amorçage), s'ils ne sont pas disponibles dans l'image, doivent être téléchargés par un processus (script) au four dans le cadre de la distribution de l'image, non injectés au moyen decloud-init
(par exemple, en tirant parti dewget).
- Toutefois, un modèle
cloud-init
peut être configuré pour que les clients puissent l'utiliser dans certains scénarios particuliers, par exemple pour importer un fichier de clé de licence ou un fichier de configuration. Dans ce cas, vous devez fournir une variable dans le code de modèle Terraform pour permettre aux clients d'entrer des données dans le bloc de constructioncloud-init
, par exemple en tirant parti de la source de données Terraformtemplate_file
.
- Le fournisseur Terraform doit être Oracle Cloud Infrastructure. Les autres fournisseurs de services en nuage ou les fournisseurs d'applications de tierce partie ne sont pas pris en charge.
- Si un module Terraform est utilisé, il doit être chargé à partir de chemins relatifs locaux. Il ne peut pas être chargé à partir d'un référentiel distant.
- La configuration Terraform doit utiliser l'authentification du principal d'instance.
-
Vous devez spécifier les versions Terraform minimale et maximale prises en charge sur lesquelles vous avez testé votre pile.
- Spécifiez la version Terraform minimale requise dans le format :
~> <major_version>.<minor_version>.<patch_version>
.Où,
patch_version
est toujours réglé à 0. Lorsqu'une pile est lancée, le gestionnaire de ressources vérifie le fichier<major_version>.<minor_version>
que vous avez défini dans votre code et utilise la version de correctif la plus récente disponible. C'est pourquoi vous devez utiliser le signe~>
au lieu du signe=>
tout en spécifiant la version minimale requise de Terraform.Par exemple,
~> 0.14.0
indique que les versions Terraform prises en charge sont 0.14.0 ou ultérieures. - Spécifiez la version Terraform maximale requise dans le format :
< <major_version>.<minor_version>
.Par exemple,
< 0.15
indique que les versions Terraform prises en charge sont antérieures à 0,15.
L'exemple suivant montre comment spécifier les versions Terraform minimale et maximale prises en charge lorsque vous avez testé votre pile uniquement sur Terraform 0.14.
terraform { required_version = "~> 0.14.0, < 0.15" }
- Spécifiez la version Terraform minimale requise dans le format :
Pour plus d'informations sur Terraform, notamment le fournisseur Oracle Cloud Infrastructure, l'authentification du principal d'instance et le provisionneur d'exécution distant, voir la documentation Terraform sur la configuration du fournisseur. Pour plus d'informations sur les versions prises en charge de Terraform, voir Introduction au fournisseur Terraform dans la documentation sur Oracle Cloud Infrastructure.
Directives de codage pour les configurations Terraform
Les directives suivantes sont recommandées pour les piles répertoriées dans Oracle Cloud Infrastructure Marketplace. Chaque ligne directrice est considérée comme une bonne pratique à suivre si possible.
- L'artefact de pile doit permettre aux clients de créer toutes les ressources d'infrastructure ou de pointer vers des ressources existantes (réseau, stockage, etc.).
- Les conventions de dénomination et la mise en forme doivent être respectées :
- Casier - Utilisez
lower_snake_case
pour tous les noms. Cela s'applique aux noms de variable, aux noms de ressource, aux noms de module, aux noms de fichier, aux noms d'affichage, etc. - Spécification du type de ressource - N'incluez pas le type de ressource ou de source de données dans le nom. Dans Terraform, les ressources et les sources de données sont toujours référencées par
<type>.<name>.
En tant que tel, il n'est pas nécessaire d'inclure le type dans le nom lui-même. - ID vs OCID - Dans Oracle Cloud Infrastructure,
id
fait généralement référence à un champ qui prend un OCID. Ainsi, les variables doivent utiliserid
lors de la référence aux valeurs d'OCID, au lieu d'utiliserocid
. - Noms de variable - Les noms de variable des ressources Oracle Cloud Infrastructure doivent généralement utiliser le même nom que celui utilisé pour la ressource Terraform.
- Noms d'affichage - Les noms d'affichage des ressources Oracle Cloud Infrastructure doivent généralement utiliser le même nom que celui utilisé pour la ressource Terraform.
- Nommer les variables et les sorties du module - Lors de l'utilisation d'un module, le nom de l'entrée (variables) et des sorties doit être exposé à l'appelant.
terraform fmt
doit être appliqué à tous les éléments Terraform avant de l'archiver.
- Casier - Utilisez