Fähigkeiten routeros-app-yaml
📦

routeros-app-yaml

Sicher ⚙️ Externe Befehle🌐 Netzwerkzugriff

RouterOS-Container-YAML-Konfigurationen schreiben

Erstellen und Validieren von YAML-Konfigurationen für MikroTik RouterOS-Container-Anwendungen. Diese Skill hilft Ihnen, Dienste, Ports, Volumes und Netzwerke für das RouterOS /app-Subsystem zu definieren, ohne docker-compose-Kenntnisse zu benötigen.

Unterstützt: Claude Codex Code(CC)
🥉 73 Bronze
1

Die Skill-ZIP herunterladen

2

In Claude hochladen

Gehe zu Einstellungen → Fähigkeiten → Skills → Skill hochladen

3

Einschalten und loslegen

Teste es

Verwendung von "routeros-app-yaml". Erstellen Sie ein /app YAML für einen Home-Assistant-Container mit persistentem Speicher auf Port 8123

Erwartetes Ergebnis:

  • Eine YAML-Datei mit Abschnitten für name, services, volumes und networks.
  • Der Web-Dienst verwendet das ghcr.io/home-assistant/home-assistant Image mit Port 8123-Zuordnung.
  • Ein benanntes Volume home-assistant-config wird nach /config eingebunden.
  • Die Restart-Richtlinie ist auf always gesetzt für Zuverlässigkeit.

Verwendung von "routeros-app-yaml". Zeigen Sie den Unterschied zwischen alten und neuen Portformaten in RouterOS YAML

Erwartetes Ergebnis:

  • Das alte OCI-Format verwendet einen Schrägstrich vor dem Protokoll: 8080:80/tcp
  • Das neue RouterOS 7.23-Format verwendet einen Doppelpunkt: 8080:80:web:tcp
  • Beide Formate sind gültig. Neue Bereitstellungen ab 7.23beta2 sollten das Doppelpunkt-Format bevorzugen.
  • Die Langform-Object-Syntax mit target, published und protocol-Feldern funktioniert in allen Versionen.

Sicherheitsaudit

Sicher
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
Gescannte Dateien
453
Analysierte Zeilen
5
befunde
2
Gesamtzahl Audits
Probleme mit niedrigem Risiko (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.

Risikofaktoren

⚙️ Externe Befehle (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
🌐 Netzwerkzugriff (13)
Auditiert von: claude Audit-Verlauf anzeigen →

Qualitätsbewertung

41
Architektur
100
Wartbarkeit
87
Inhalt
32
Community
99
Sicherheit
100
Spezifikationskonformität

Was du bauen kannst

Eine Container-Anwendung für RouterOS definieren

Ein Netzwerkadministrator schreibt YAML, um einen Monitoring-Stack mit Grafana und Prometheus auf einem MikroTik-Router unter Verwendung des /app-Subsystems bereitzustellen.

docker-compose-Projekte auf RouterOS migrieren

Ein Entwickler passt eine bestehende docker-compose-Konfiguration an das RouterOS /app YAML-Format an und passt die Portsyntax an sowie nicht unterstützte Eigenschaften entfernt.

Einen App-Store für die Team-Bereitstellung erstellen

Ein Systemingenieur erstellt eine tikappstore-YAML-Datei mit vorkonfigurierten Anwendungen für eine konsistente Bereitstellung auf mehreren RouterOS-Geräten.

Probiere diese Prompts

Eine grundlegende /app-Definition erstellen
Schreiben Sie eine RouterOS /app YAML-Datei, die einen nginx-Container auf Port 8080 mit einem benannten Volume für persistente Daten ausführt.
docker-compose in RouterOS YAML konvertieren
Konvertieren Sie diese docker-compose-Datei in das RouterOS /app YAML-Format. Heben Sie alle Eigenschaften hervor, die nicht unterstützt werden oder sich anders verhalten.
Eine Multi-Dienst-Anwendung erstellen
Schreiben Sie ein RouterOS /app YAML mit einem Web-Frontend, einer PostgreSQL-Datenbank und einem Redis-Cache. Inkludieren Sie korrekte Volume-Einbindungen, Netzwerkisolation und Health-Checks.
Eine App-Store-Datei erstellen
Erstellen Sie eine RouterOS App-Store-YAML-Datei, die drei Anwendungen enthält: einen Webserver, einen Datenbankmanager und ein Monitoring-Dashboard. Jede sollte entsprechende Kategorien und Metadaten haben.

Bewährte Verfahren

  • Verwenden Sie immer die .tikapp.yaml-Dateierweiterung für benutzerdefinierte RouterOS-App-Definitionen, um sie von generischen YAML-Dateien zu unterscheiden.
  • Verwenden Sie die *.editor.json-Schemavariante während der Entwicklung für bessere Autovervollständigung und validieren Sie dann vor der Bereitstellung gegen *.latest.json.
  • Testen Sie Ihr YAML auf einer RouterOS CHR-Virtual-Machine, bevor Sie es auf Produktionshardware bereitstellen, um Schema-Fehler frühzeitig zu erkennen.

Vermeiden

  • Volle docker-compose-Kompatibilität annehmen. RouterOS /app unterstützt nur eine Teilmenge der Compose-Eigenschaften und behandelt einige anders.
  • Verwenden des version-Top-Level-Schlüssels. RouterOS ignoriert diesen Schlüssel und er hat keinen Zweck in /app YAML.
  • Mischen von Portformatstilen innerhalb eines einzigen Port-Strings. Jeder Port-Eintrag muss entweder das alte OCI-Format oder das neue Doppelpunkt-Format ausschließlich verwenden.

Häufig gestellte Fragen

Welche RouterOS-Version benötige ich für /app YAML?
Der /app-Pfad ist ab RouterOS 7.21 integriert. Die Erstellung von benutzerdefinierten Apps über /app/add erfordert RouterOS 7.22 oder später. Das Container-Extra-Paket muss ebenfalls installiert sein.
Ist RouterOS /app YAML dasselbe wie docker-compose?
Nein. RouterOS /app YAML sieht ähnlich wie docker-compose aus, unterstützt aber weniger Eigenschaften. Einige Eigenschaften wie deploy und resources werden nicht unterstützt. Die Port-Zuordnungssyntax unterscheidet sich ebenfalls zwischen beiden.
Welche Dateierweiterung sollte ich für /app YAML-Dateien verwenden?
Verwenden Sie .tikapp.yaml für einzelne App-Definitionen und .tikappstore.yaml für App-Store-Dateien. Diese Konventionen helfen Tools und Editoren, das korrekte Schema anzuwenden.
Wie funktionieren Platzhalter in RouterOS YAML?
Platzhalter wie [accessIP], [accessPort], [containerIP] und [routerIP] werden zum Bereitstellungszeitpunkt von RouterOS erweitert. Sie erscheinen in Port-Zuordnungen, Umgebungswerten und Konfigurationsinhalten.
Kann ich Umgebungsvariablen mit Kleinbuchstaben verwenden?
Das strenge Validierungsschema erfordert Großbuchstaben-Umgebungsvariablennamen, die dem Muster [A-Z_][A-Z0-9_]* entsprechen. Verwenden Sie die Editor-Schemavariante, wenn Sie gemischte Groß-/Kleinschreibung bei Variablennamen benötigen.
Wie füge ich eine benutzerdefinierte App zu RouterOS hinzu?
Verwenden Sie den CLI-Befehl /app/add mit dem yaml-url-Parameter, der auf Ihre YAML-Datei-URL zeigt. Alternativ verwenden Sie die REST-API PUT-Endpunkt unter /app mit dem yaml-url im Request-Body.

Entwicklerdetails

Dateistruktur