Consignes de publication
Afin de créer des modèles, des piles, des images et des fiches pour Oracle Cloud Infrastructure Marketplace, assurez-vous de respecter toutes les directives applicables.
Le portail des partenaires sera migré vers la console Oracle Cloud. Pour plus d'informations, reportez-vous à Migration du portail des partenaires vers la console Oracle Cloud.
A propos des directives de l'éditeur Marketplace
OCI permet aux partenaires Oracle de distribuer leurs solutions aux clients OCI via Oracle Cloud Marketplace. Les clients Oracle sont convaincus que ces solutions sont conçues et gérées de manière à garantir que leur sécurité et leur confidentialité constituent la priorité absolue.
Les clients s'attendent également à ce que les solutions livrent comme promis, incluent une excellente documentation et fournissent une expérience de support efficace et à faible friction. Ce document décrit la barre minimale requise pour que les partenaires Oracle puissent être inclus dans Oracle Cloud Marketplace. Nous vous encourageons à dépasser ces spécifications, dans la mesure du possible. Les solutions qui incluent 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 d'informations, reportez-vous à https://www.ietf.org/rfc/rfc2119.txt.
- Doit - Ce mot, ou les termes "obligatoire" ou "doit", signifie que la définition est une exigence absolue de la spécification.
- Ne doit pas - Cette expression, ou l'expression "Ne doit pas", signifie que la définition est une interdiction absolue de la spécification.
- Devrait - Ce mot, ou l'adjectif "Recommandé", signifie qu'il peut exister des raisons valables dans des circonstances particulières pour ignorer un élément particulier, mais les implications complètes doivent être comprises et soigneusement pesées avant de choisir un cours différent.
- 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.
- Mai - Ce mot, ou l'adjectif "facultatif", signifie qu'un élément est vraiment facultatif. Un fournisseur peut choisir d'inclure l'article parce qu'une place de marché particulière 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 le même ordre d'idées, une implémentation qui inclut une option particulière doit être prête à interagir avec une autre implémentation qui n'inclut pas l'option (sauf, bien sûr, pour la fonctionnalité fournie par l'option).
Niveau de gravité de vulnérabilité
Lorsqu'il y a une référence à la 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 version 3.0, reportez-vous à https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator.
Sécurité
La présentation 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 toute l'approche Oracle Cloud Infrastructure en matière de sécurité. Reportez-vous au Guide de la sécurité d'Oracle Cloud Infrastructure dans la documentation Oracle Cloud Infrastructure.
Vous devez maintenir une culture de sécurité d'abord qui comprend et valorise la confiance de nos clients communs.
Contrôles
- Vous devez être conscient des alertes et des avis de sécurité qui ont un impact sur vos solutions. Voici quelques sources courantes d'alertes de sécurité :
- SecurityFocus tient à jour les conseils récents pour de nombreux produits open source et commerciaux. https://www.securityfocus.com/
- Base de données nationale sur les vulnérabilités. https://nvd.nist.gov/vuln
- US-CERT et Industrial Control Systems CERT (ICS-CERT) publient des résumés régulièrement mis à jour des incidents de sécurité les plus fréquents et à fort impact. https://www.us-cert.gov/ics
- Full Disclosure à l'adresse SecLists.org est un forum public et indépendant des fournisseurs pour une discussion détaillée 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) dispose d'informations de vulnérabilité à jour pour les produits les plus populaires. https://www.cert.org
- Surveillez les mises à jour de la plate-forme Oracle Cloud Infrastructure qui peuvent avoir un impact sur les images que vous avez publiées.
- Vous devez informer OCI dans les 3 jours ouvrables de toute vulnérabilité nouvellement découverte ayant un impact sur vos solutions avec une note CVSS supérieure ou égale à 9,0.
- Vous devez informer Oracle Cloud Infrastructure sous 5 jours ouvrés de toute vulnérabilité nouvellement découverte ayant un impact sur vos solutions avec une note CVSS comprise entre 7,0 et 8,9.
- Vous devez informer OCI dans les 20 jours ouvrables de toute vulnérabilité nouvellement découverte ayant un impact sur vos solutions avec une note 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 autoriser les clients à mettre à jour leurs solutions pour se 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é.
- Fourniture d'un processus permettant à un client de remplacer tous les déploiements actuels par une version mise à jour. Ce processus doit ê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 pouvez exiger l'exécution d'un accord de non-divulgation avant de divulguer une vulnérabilité à Oracle, vous devez avoir signé un accord de confidentialité Oracle (CDA) avant la publication de votre première image. Votre équipe partenaire Oracle vous aidera à effectuer ce processus.
Directives pour les annonces
Lors de la création de vos listes d'applications, assurez-vous que vous connaissez et respectez les directives pertinentes.
Lignes directrices obligatoires
Les directives suivantes sont obligatoires pour les listes d'applications dans Oracle Cloud Infrastructure Marketplace. Chaque ligne directrice doit être suivie. Avant d'être approuvée, chaque liste d'applications est validée en fonction de chacune de ces directives.
- Le nom de l'application ne doit pas dépasser 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 pas comporter de sauts 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 sur 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 l'audience/le type d'utilisateur cible et présenter pourquoi la liste est précieuse.
- Tous les liens doivent pointer vers les emplacements corrects et s'ouvrir dans un nouvel onglet ou une nouvelle fenêtre.
- Le texte inclus dans les icônes, bannières, captures d'écran ou 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 :
- Lancer une instance à partir de Marketplace.
- Se connecter à l'instance.
- Configurez ou démarrez l'application.
- La section Support doit contenir des coordonnées précises pour permettre au client de contacter le support partenaire. Ces coordonnées doivent contenir un numéro de téléphone ou une adresse électronique précis.
- La configuration système requise doit contenir la liste des composants Oracle Cloud Infrastructure requis, y compris les formes de calcul, les règles de sécurité, les stratégies IAM, les volumes de blocs, les cartes d'interface réseau virtuelles 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 en majuscules. Les liens des conditions d'utilisation doivent pointer vers les emplacements appropriés et s'ouvrir dans un nouvel onglet ou une nouvelle fenêtre.
- La version du package d'installation de l'application doit correspondre à la version spécifiée dans toute autre image ou texte associé à ce package.
- L'utilisateur doit pouvoir lancer, connecter et configurer l'application et l'infrastructure associée à l'aide des instructions incluses dans les sections Utilisation et Documents associés.
- Chaque solution publiée comprend un ensemble de documentation destinée aux clients. Cette documentation :
- Doit inclure des instructions détaillées et proéminentes pour la connexion à une instance.
- Doit inclure une documentation d'utilisation ou un lien vers la documentation.
- Vous devez inclure les détails de l'assistance ou un lien vers ces détails.
- Vous devez répertorier les formes compatibles.
- Vous devez documenter tous les ports réseau ouverts par défaut sur l'instance.
- Accusé de réception : Vous acceptez de ne pas publier de listes d'éditeurs payantes sur Oracle Cloud Marketplace si l'achat de produits et services et/ou la fourniture de services connexes au client peut être financé en tout ou en partie par Medicare, Medicaid ou tout autre programme de santé financé par le gouvernement fédéral ou l'État.
Recommandations
Les directives suivantes peuvent être considérées comme des meilleures pratiques qui devraient être suivies chaque fois que possible.
- Les notes de version doivent être spécifiées sous forme de puces avec des sauts de ligne appropriés.
- Les documents connexes devraient contenir des informations sur la façon d'acheter une licence si nécessaire.
Instructions générales
Voici quelques directives génériques pour les listes de tous types. Pour obtenir des instructions spécifiques aux listes d'applications ou d'images, reportez-vous à la section correspondante.
- Pour garantir que le contenu de l'offre s'adapte correctement au style interplate-forme d'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 (par exemple, Microsoft Word), assurez-vous que tout style supplémentaire est supprimé avant de soumettre l'offre pour révision.
- Le collage de contenu en texte brut est recommandé pour éviter d'inclure les styles et le formatage masqués. Le respect de ces options de formatage de base garantit que le contenu de la liste s'affiche correctement sur plusieurs appareils et plates-formes.
- L'utilisation des marques commerciales Oracle dans le contenu de la liste (telles que les noms de produit Oracle) doit être conforme aux Directives d'utilisation par des tiers pour les marques commerciales Oracle.
- L'utilisation des logos Oracle dans le contenu de la liste (tels que des infographies et des captures d'écran) doit être conforme aux Directives d'utilisation par des tiers pour les logos Oracle.
- Pour toutes les images telles que les logos, icônes ou bannières :
- Assurez-vous que les images sont dimensionnées pour correspondre aux dimensions spécifiées.
- Enregistre 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, 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, 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 candidatures avec la même icône.
- N'utilisez pas de logos ou de marques commerciales Oracle dans les icônes d'application. Assurez-vous que vous disposez des droits d'utilisation sur les images tierces 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 que présente l'exécution/l'hébergement de l'application sur Oracle Cloud pour le client.
- Une description longue doit être précédée d'une description courte. Ne répétez pas la description abrégée dans la section de description longue.
- La description ne doit pas mettre en évidence ou faire référence à "Oracle Validated Integration". Le logiciel Oracle Validated Integration (OVI) est applicable uniquement aux solutions on-premise et ne s'applique pas à Oracle Cloud.
- Dans le champ Informations sur l'utilisation :
- Incluez un lien vers un guide d'initiation qui contient les détails complets requis par les utilisateurs pour commencer.
- Incluez des liens vers la documentation technique, les feuilles de données, les guides de l'utilisateur et d'autres documents connexes (y compris ceux que vous spécifiez dans la section Documents connexes).
- Répertoriez les ports qui doivent être ouverts. Ajoutez un lien tel que "Configuration de ports ouverts" qui décrit les étapes d'ouverture de 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 effectuez 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 sont 1024x768 et 1200x900. Les images de plus grandes dimensions doivent être recadrées ou redimensionnées.
- Pour de meilleurs résultats, les images doivent être créées avec un rapport d'aspect natif de 4:3. Pour les images qui ne correspondent pas au rapport d'aspect 4:3, telles que les captures d'écran des applications de téléphone mobile, remplissez l'image avec un arrière-plan correctement coloré ou transparent pour correspondre à la taille d'image requise. Utilisez un éditeur d'images pour ajouter un remplissage.
- Les captures d'écran doivent comporter au maximum 5 Mo et doivent contenir des fichiers 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 de liste principale.
- Les images téléchargées sont automatiquement mises à l'échelle pour s'adapter à la visionneuse multimédia de 600 x 450 pixels.
- Incluez une vidéo de démonstration comme premier élément de la liste dans le champ Fiches d'écran et vidéos.
- Les vidéos promotionnelles hébergées sur YouTube ou Vimeo peuvent être intégrées directement dans la liste de captures d'écran et la visionneuse multimédia.
- 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 se concentrant sur les principales fonctionnalités de l'application et sur la valeur de l'application/l'intégration sur 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 spécifique à l'intégration Oracle Cloud est une exigence minimale.
- Les fiches techniques doivent être propres à la version de l'application compatible avec Oracle Cloud.
- Ajoutez un document "Introduction à Oracle Cloud Infrastructure" qui fournit des détails complets aux clients pour configurer le logiciel.
- Dans le champ Configuration système requise :
- Répertoriez tous les services PaaS Oracle Cloud requis pour installer et exécuter l'application.
- Répertoriez tous les services Oracle Cloud SaaS avec lesquels l'application est intégrée.
- Répertoriez toutes les dépendances système tierces.
- 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 (si nécessaire).
Lignes directrices 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 applicables.
Directives obligatoires pour les images Linux
Le tableau suivant répertorie les instructions d'image obligatoires et le code d'erreur correspondant. Chaque ligne directrice doit être suivie. Avant de publier une image sur Oracle Cloud Infrastructure Marketplace, chaque image est validée conformément à chacune des directives obligatoires suivantes.
Code d'erreur | Description |
---|---|
S01 | Les clés d'hôte SSH doivent être uniques pour chaque instance. Utilisez l'utilitaire oci-image-cleanup fourni par le package oci-utils sur GitHub. Cela supprimera toutes les clés d'hôte SSH, afin qu'elles soient régénérées lors de la première initialisation. |
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 sur cloud-init . |
S10 | Les fichiers authorized_keys doivent uniquement contenir les clés fournies par l'utilisateur lors du lancement de l'instance. Utilisez l'utilitaire oci-image-cleanup fourni par le package oci-utils sur GitHub. |
S14 | La connexion de l'utilisateur root doit être désactivée. Au moins 1 des 3 conditions suivantes doit être remplie :
|
S16 | Les images ne doivent avoir aucun utilisateur au niveau du système d'exploitation configuré 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. Procédez à une vérification manuelle en lançant des instances pour chaque forme compatible. |
G03 | L'image ne doit avoir aucune adresse MAC codée 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 adresses IMDSv1, Oracle recommande de désactiver IMDSv1 et de procéder à la mise à niveau vers IMDSv2. Reportez-vous à Mise à niveau vers le service de métadonnées d'instance v2 dans la documentation Oracle Cloud Infrastructure. |
Instructions 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. Reportez-vous à 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 Sysprep. Reportez-vous à 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 adresses IMDSv1, Oracle recommande de désactiver IMDSv1 et de procéder à la mise à niveau vers IMDSv2. Reportez-vous à Mise à niveau vers le service de métadonnées d'instance v2 dans la documentation Oracle Cloud Infrastructure. |
Recommandations pour les images Linux
Les directives suivantes sont recommandées pour les images répertoriées dans Oracle Cloud Infrastructure Marketplace. Chaque directive est considérée comme une meilleure pratique qui devrait être suivie si possible.
Code d'erreur | Description |
---|---|
S02 | Le contrôle d'accès obligatoire (MAC) doit être activé. Reportez-vous à https://www.linux.com/news/securing-linux-mandatory-access-controls. |
S03 | Un pare-feu de système d'exploitation (O/S) doit être activé et configuré pour bloquer les ports qui ne sont pas spécifiquement requis, comme indiqué dans la documentation de liste. |
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 build. Pour supprimer ces fichiers, utilisez l'utilitaire oci-image-cleanup fourni par le package oci-utils sur GitHub. |
S07 | Les packages 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 en dur. Tous les mots de passe doivent être générés de manière unique lors du premier lancement de l'instance : |
G02 | Les images doivent être exécutées en mode paravirtualisé. Les images peuvent être exécutées en mode natif. Les images ne doivent pas être exécutées en mode émulé. |
G04 | Tous les gestionnaires réseau doivent être arrêtés. Reportez-vous à 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. Reportez-vous à Configuration du service Oracle Cloud Infrastructure NTP pour une instance. |
G07 | Les valeurs de délai d'expiration iSCSI des images doivent être définies pour une connectivité de volume d'initialisation correcte. Reportez-vous à https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/5/html/Online_Storage_Reconfiguration_Guide/iscsi-modifying-link-loss-behavior-root.html. |
Instructions relatives aux piles
Oracle vous recommande d'adopter les meilleures pratiques générales de Terraform pour la création de votre modèle Terraform. Cependant, il existe des normes de pile Marketplace spécifiques à suivre afin de publier une pile.
Lignes directrices obligatoires
Voici des directives obligatoires pour les piles répertoriées dans Oracle Cloud Infrastructure Marketplace. Chaque ligne directrice doit être suivie. Avant la publication, chaque artefact de pile est validé en fonction de chacune de ces directives.
- L'artefact de pile doit être un fichier ZIP contenant 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 devient disponible pour téléchargement uniquement.
- Le fichier ZIP ne doit pas inclure le dossier de configuration d'exécution Terraform
(.terraform).
- Le fichier ZIP doit inclure au moins un fichier de configuration
- La configuration Terraform doit uniquement utiliser des images d'instance approuvées ou publiées (publiques ou privées) sur le Marketplace. Il doit avoir un abonnement Marketplace à chacune de ces images. Il doit comporter une ou plusieurs références codées en dur à ces images Marketplace. Pour plus d'informations, reportez-vous à Exemple de configuration Terraform pour une utilisation et un abonnement d'image Marketplace.
- 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 cuits dans l'image Marketplace publiée.
- Le programme de provisionnement d'exécution distante Terraform doit uniquement être exécuté dans le domaine Oracle Cloud Infrastructure. Il ne doit pas télécharger de fichiers sur un serveur distant.
- Le code tiers ou les fichiers binaires 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 cloud. Il accepte la configuration via des mécanismes de données utilisateur spécifiés dans le cadre de la définition des métadonnées sur la ressourceoci_core_instance
.- Plusieurs formats de données utilisateur sont pris en charge par
cloud-init.
Reportez-vous à https://cloudinit.readthedocs.io/en/latest/topics/format.html. - Quel que soit le format des données utilisateur,
cloud-init
NE DOIT PAS être utilisé pour télécharger un code ou un binaire tiers. Tous les fichiers binaires requis pendant le processus de lancement de l'instance (bootstrap), s'ils ne sont pas disponibles dans l'image, doivent être téléchargés par un processus (script) cuit dans le cadre de la distribution d'image, non injecté viacloud-init
(par exemple, en utilisantwget).
) - 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és de licence ou un fichier de configuration. Dans ce cas, vous devez fournir une variable dans le code de modèle Terraform afin de permettre aux clients d'entrer certaines données dans le bloc de constructioncloud-init
, par exemple, en tirant parti de la source de donnéestemplate_file
Terraform.
- Le fournisseur Terraform doit être Oracle Cloud Infrastructure. Les autres fournisseurs cloud ou les fournisseurs d'applications tiers 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 de principal d'instance.
-
Vous devez indiquer les versions minimale et maximale prises en charge de Terraform sur lesquelles vous avez testé la pile.
- Indiquez la version minimale requise de Terraform au format suivant :
~> <major_version>.<minor_version>.<patch_version>
.Où,
patch_version
est toujours défini sur 0. Lorsqu'une pile est lancée, Resource Manager vérifie le fichier<major_version>.<minor_version>
que vous avez défini dans votre code et utilise la version de patch la plus récente disponible. C'est pourquoi vous devez utiliser le signe~>
à la place du signe=>
tout en indiquant la version minimale requise de Terraform.Par exemple,
~> 0.14.0
indique que les versions de Terraform prises en charge sont 0.14.0 ou ultérieures. - Indiquez la version maximale requise de Terraform au format suivant :
< <major_version>.<minor_version>
.Par exemple,
< 0.15
indique que les versions de Terraform prises en charge sont antérieures à 0.15.
L'exemple suivant montre comment indiquer les versions minimale et maximale prises en charge de Terraform lorsque vous avez testé la pile uniquement sur Terraform 0.14.
terraform { required_version = "~> 0.14.0, < 0.15" }
- Indiquez la version minimale requise de Terraform au format suivant :
Pour plus d'informations sur Terraform, notamment le fournisseur Oracle Cloud Infrastructure, l'authentification de principal d'instance et le provisionneur d'exécution distante, reportez-vous à la documentation Terraform relative à la configuration de fournisseur. Pour plus d'informations sur les versions prises en charge de Terraform, reportez-vous à Introduction au fournisseur Terraform dans la documentation Oracle Cloud Infrastructure.
Instructions de codage pour les configurations Terraform
Les directives suivantes sont recommandées pour les piles répertoriées dans Oracle Cloud Infrastructure Marketplace. Chaque directive est considérée comme une meilleure pratique qui devrait être suivie 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 le formatage doivent être respectés :
- Boîtier : utilisez
lower_snake_case
pour tous les noms. Cela s'applique aux noms de variable, de ressource, de module, de fichier, 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>.
Ainsi, il n'est pas nécessaire d'inclure le type dans le nom lui-même. - ID et OCID : dans Oracle Cloud Infrastructure,
id
fait généralement référence à un champ qui prend un OCID. En tant que telles, les variables doivent utiliserid
lorsqu'elles font référence à des 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.
- Variables et sorties de module de dénomination - Lors de l'utilisation d'un module, la dénomination de l'entrée (variables) et des sorties doit être exposée à l'appelant.
terraform fmt
doit être appliqué à tous les Terraform avant d'être réinséré.
- Boîtier : utilisez