Compétences routeros-app-yaml
📦

routeros-app-yaml

Sûr ⚙️ Commandes externes🌐 Accès réseau

Écrire des configurations YAML pour les conteneurs RouterOS

Créer et valider des configurations YAML pour les applications conteneurisées MikroTik RouterOS. Cette compétence vous aide à définir des services, des ports, des volumes et des réseaux pour le sous-système /app de RouterOS sans avoir besoin de connaissances en docker-compose.

Prend en charge: Claude Codex Code(CC)
🥉 73 Bronze
1

Télécharger le ZIP du skill

2

Importer dans Claude

Allez dans Paramètres → Capacités → Skills → Importer un skill

3

Activez et commencez à utiliser

Tester

Utilisation de "routeros-app-yaml". Créer un YAML /app pour un conteneur Home Assistant avec stockage persistant sur le port 8123

Résultat attendu:

  • Un fichier YAML avec des sections name, services, volumes et networks.
  • Le service web utilise l'image ghcr.io/home-assistant/home-assistant avec le port 8123 mappé.
  • Un volume nommé home-assistant-config est monté sur /config.
  • La politique de redémarrage est définie à always pour la fiabilité.

Utilisation de "routeros-app-yaml". Montrer la différence entre les anciens et nouveaux formats de port dans le YAML RouterOS

Résultat attendu:

  • L'ancien style OCI utilise un slash avant le protocole : 8080:80/tcp
  • Le nouveau style RouterOS 7.23 utilise deux points : 8080:80:web:tcp
  • Les deux formats sont valides. Les nouveaux déploiements à partir de la 7.23beta2 devraient privilégier le style avec deux points.
  • La syntaxe longue sous forme d'objet avec les champs target, published et protocol fonctionne dans toutes les versions.

Audit de sécurité

Sûr
v2 • 4/16/2026

All 159 static analysis findings are false positives. The skill contains only documentation and YAML configuration examples for RouterOS container applications. There is no executable code, no actual shell commands, no network requests, and no credential handling. The static scanner flagged YAML examples in markdown code blocks as security risks (for example, backticks in YAML values, example URLs in documentation, and placeholder IP addresses in configuration samples). After manual review, no genuine security issues were found.

2
Fichiers analysés
453
Lignes analysées
5
résultats
2
Total des audits
Problèmes à risque faible (3)
False positive: External command detection in YAML documentation
The static scanner flagged 132 locations as external command execution. These are YAML configuration examples and markdown documentation, not executable code. Examples include shell commands in YAML entrypoint values (for example, nginx -g daemon off in SKILL.md line 32 and references/examples.md line 31) and backtick-formatted text in markdown. No actual command execution exists.
False positive: Network pattern detection in documentation URLs
The static scanner flagged 13 locations as network risks including hardcoded URLs, hardcoded IP addresses, and fetch API calls. All are documentation examples: example.com URLs in YAML samples (references/examples.md lines 19, 21), example IP addresses like 192.168.1.1 in port mapping examples (SKILL.md line 110, references/examples.md line 145), and TypeScript fetch snippets showing RouterOS REST API usage (SKILL.md lines 216, 222). No actual network requests are made by this skill.
False positive: Blocker patterns misidentified in YAML content
The static scanner flagged weak cryptographic algorithms, Windows SAM database references, LLM role token injection, and system reconnaissance patterns. None of these patterns exist in the actual file content. The scanner likely misidentified YAML property names or markdown formatting as security threats.

Facteurs de risque

⚙️ Commandes externes (132)
references/examples.md:5-12 references/examples.md:12-16 references/examples.md:16-105 references/examples.md:105-109 references/examples.md:109-134 references/examples.md:134-138 references/examples.md:138-161 references/examples.md:161-165 references/examples.md:165-176 references/examples.md:31 SKILL.md:8 SKILL.md:8 SKILL.md:8 SKILL.md:12 SKILL.md:15 SKILL.md:16 SKILL.md:17 SKILL.md:19 SKILL.md:25 SKILL.md:26 SKILL.md:30 SKILL.md:32 SKILL.md:33 SKILL.md:33 SKILL.md:33 SKILL.md:39 SKILL.md:40 SKILL.md:41 SKILL.md:42 SKILL.md:43 SKILL.md:43 SKILL.md:44 SKILL.md:44 SKILL.md:45 SKILL.md:45 SKILL.md:46 SKILL.md:47 SKILL.md:48 SKILL.md:49 SKILL.md:50 SKILL.md:51 SKILL.md:52 SKILL.md:56-61 SKILL.md:61-67 SKILL.md:67 SKILL.md:67-71 SKILL.md:71 SKILL.md:71 SKILL.md:71-72 SKILL.md:72 SKILL.md:72-73 SKILL.md:73-74 SKILL.md:74-75 SKILL.md:75-76 SKILL.md:76-77 SKILL.md:77 SKILL.md:77 SKILL.md:77-78 SKILL.md:78 SKILL.md:78-79 SKILL.md:79 SKILL.md:79-80 SKILL.md:80 SKILL.md:80 SKILL.md:80 SKILL.md:80 SKILL.md:80-81 SKILL.md:81-82 SKILL.md:82-83 SKILL.md:83-84 SKILL.md:84-85 SKILL.md:85-86 SKILL.md:86-87 SKILL.md:87 SKILL.md:87-88 SKILL.md:88-89 SKILL.md:89-90 SKILL.md:90-91 SKILL.md:91-92 SKILL.md:92-93 SKILL.md:93-101 SKILL.md:101-103 SKILL.md:103-106 SKILL.md:106-111 SKILL.md:111-115 SKILL.md:115-117 SKILL.md:117-120 SKILL.md:120-125 SKILL.md:125-129 SKILL.md:129-136 SKILL.md:136-141 SKILL.md:141-145 SKILL.md:145-153 SKILL.md:153-154 SKILL.md:154-155 SKILL.md:155-156 SKILL.md:156-157 SKILL.md:157-163 SKILL.md:163-165 SKILL.md:165-181 SKILL.md:181-185 SKILL.md:185-193 SKILL.md:193-197 SKILL.md:197-199 SKILL.md:199-208 SKILL.md:208-210 SKILL.md:210-214 SKILL.md:214-216 SKILL.md:216-222 SKILL.md:222-227 SKILL.md:227-229 SKILL.md:229-237 SKILL.md:237 SKILL.md:237-238 SKILL.md:238-240 SKILL.md:240-245 SKILL.md:245-252 SKILL.md:252-254 SKILL.md:254-259 SKILL.md:259 SKILL.md:259-260 SKILL.md:260 SKILL.md:260 SKILL.md:260 SKILL.md:260-265 SKILL.md:265-267 SKILL.md:267-268 SKILL.md:268 SKILL.md:268-269 SKILL.md:269 SKILL.md:269-273 SKILL.md:273-274
🌐 Accès réseau (13)

Score de qualité

41
Architecture
100
Maintenabilité
87
Contenu
32
Communauté
99
Sécurité
100
Conformité aux spécifications

Ce que vous pouvez construire

Définir une application conteneurisée pour RouterOS

Un administrateur réseau écrit du YAML pour déployer une stack de monitoring avec Grafana et Prometheus sur un routeur MikroTik via le sous-système /app.

Migrer des projets docker-compose vers RouterOS

Un développeur adapte une configuration docker-compose existante au format YAML RouterOS /app, en ajustant la syntaxe des ports et en supprimant les propriétés non prises en charge.

Créer un app store pour un déploiement d'équipe

Un ingénieur système crée un fichier YAML tikappstore avec des applications pré-configurées pour un déploiement cohérent sur plusieurs appareils RouterOS.

Essayez ces prompts

Créer une définition /app basique
Write a RouterOS /app YAML file that runs an nginx container on port 8080 with a named volume for persistent data.
Convertir docker-compose en YAML RouterOS
Convert this docker-compose file to RouterOS /app YAML format. Highlight any properties that are not supported or behave differently.
Créer une application multi-services
Write a RouterOS /app YAML with a web frontend, a PostgreSQL database, and a Redis cache. Include proper volume mounts, network isolation, and health checks.
Construire un fichier app store
Create a RouterOS app store YAML file containing three applications: a web server, a database manager, and a monitoring dashboard. Each should have appropriate categories and metadata.

Bonnes pratiques

  • Toujours utiliser l'extension de fichier .tikapp.yaml pour les définitions d'applications RouterOS personnalisées afin de les distinguer des fichiers YAML génériques.
  • Utiliser la variante de schéma *.editor.json pendant le développement pour une meilleure autocomplétion, puis valider par rapport à *.latest.json avant le déploiement.
  • Tester votre YAML sur une machine virtuelle RouterOS CHR avant de déployer sur du matériel de production pour détecter les erreurs de schéma tôt.

Éviter

  • Supposer une compatibilité totale avec docker-compose. Le /app de RouterOS ne prend en charge qu'un sous-ensemble des propriétés compose et gère certaines différemment.
  • Utiliser la clé top-level version. RouterOS ignore cette clé et elle n'a aucun utilité dans le YAML /app.
  • Mélanger les styles de format de port au sein d'une même chaîne de port. Chaque entrée de port doit utiliser exclusivement soit l'ancien style OCI, soit le nouveau style avec deux points.

Foire aux questions

Quelle version de RouterOS est nécessaire pour le YAML /app ?
Le chemin /app est intégré à partir de RouterOS 7.21. La création d'applications personnalisées via /app/add nécessite RouterOS 7.22 ou ultérieur. Le package container doit également être installé.
Le YAML RouterOS /app est-il identique à docker-compose ?
Non. Le YAML RouterOS /app ressemble à docker-compose mais prend en charge moins de propriétés. Certaines propriétés comme deploy et resources ne sont pas prises en charge. La syntaxe de mappage des ports diffère également entre les deux.
Quelle extension de fichier utiliser pour les fichiers YAML /app ?
Utilisez .tikapp.yaml pour les définitions d'applications individuelles et .tikappstore.yaml pour les fichiers app store. Ces conventions aident les outils et les éditeurs à appliquer le schéma correct.
Comment fonctionnent les placeholders dans le YAML RouterOS ?
Les placeholders comme [accessIP], [accessPort], [containerIP] et [routerIP] sont résolus au moment du déploiement par RouterOS. Ils apparaissent dans les mappages de ports, les variables d'environnement et le contenu de configuration.
Puis-je utiliser des variables d'environnement avec des noms en minuscules ?
Le schéma de validation strict exige des noms de variables d'environnement en majuscules correspondant au modèle [A-Z_][A-Z0-9_]*. Utilisez la variante de schéma editor si vous avez besoin de noms de variables en casse mixte.
Comment ajouter une application personnalisée à RouterOS ?
Utilisez la commande CLI /app/add avec le paramètre yaml-url pointant vers l'URL de votre fichier YAML. Alternativement, utilisez le point de terminaison REST API PUT sur /app avec le yaml-url dans le corps de la requête.

Détails du développeur

Structure de fichiers