You've already forked ansible-role-act-runner
fix: pass token via cli arg
This commit is contained in:
135
.kiro/steering/development-workflow.md
Normal file
135
.kiro/steering/development-workflow.md
Normal file
@@ -0,0 +1,135 @@
|
||||
---
|
||||
inclusion: always
|
||||
---
|
||||
|
||||
# Entwicklungsworkflow für Act Runner Ansible Role
|
||||
|
||||
## Entwicklungsumgebung
|
||||
|
||||
### Voraussetzungen
|
||||
|
||||
- Ansible >= 2.9
|
||||
- Node.js >= 16.0.0 (für Dokumentations-Tools)
|
||||
- Docker (für Testing)
|
||||
- Molecule (für Role-Testing)
|
||||
|
||||
### Setup
|
||||
|
||||
```bash
|
||||
# Dependencies installieren
|
||||
npm install
|
||||
|
||||
# Ansible Collections installieren
|
||||
ansible-galaxy collection install -r requirements.yml
|
||||
|
||||
# Molecule für Testing
|
||||
pip install molecule[docker]
|
||||
```
|
||||
|
||||
## Code-Änderungen
|
||||
|
||||
### Workflow
|
||||
|
||||
1. **Branch erstellen**: `git checkout -b feature/beschreibung`
|
||||
2. **Änderungen implementieren**
|
||||
3. **Tests ausführen**
|
||||
4. **Dokumentation aktualisieren**
|
||||
5. **Pull Request erstellen**
|
||||
|
||||
### Task-Entwicklung
|
||||
|
||||
```yaml
|
||||
# Neue Tasks in tasks/main.yaml hinzufügen
|
||||
- name: Beschreibender Name der Aktion
|
||||
ansible.builtin.module:
|
||||
parameter: "{{ variable }}"
|
||||
register: result
|
||||
when: condition
|
||||
notify: handler_name
|
||||
```
|
||||
|
||||
### Variablen hinzufügen
|
||||
|
||||
1. In `defaults/main.yaml` mit `@param` Dokumentation
|
||||
2. OS-spezifische Werte in `vars/OS.yaml`
|
||||
3. README automatisch regenerieren: `npm run readme:parameters`
|
||||
|
||||
## Testing
|
||||
|
||||
### Lokales Testing
|
||||
|
||||
```bash
|
||||
# Syntax Check
|
||||
ansible-playbook --syntax-check tests/test.yml
|
||||
|
||||
# Lint Check
|
||||
ansible-lint .
|
||||
|
||||
# YAML Lint
|
||||
yamllint .
|
||||
|
||||
# Markdown Lint
|
||||
npm run readme:lint
|
||||
```
|
||||
|
||||
### Molecule Testing
|
||||
|
||||
```bash
|
||||
# Alle Tests
|
||||
molecule test
|
||||
|
||||
# Nur Syntax
|
||||
molecule syntax
|
||||
|
||||
# Converge (ohne Destroy)
|
||||
molecule converge
|
||||
```
|
||||
|
||||
## Qualitätssicherung
|
||||
|
||||
### Pre-Commit Checks
|
||||
|
||||
- Ansible Lint muss ohne Fehler durchlaufen
|
||||
- YAML Syntax muss korrekt sein
|
||||
- Markdown Dokumentation muss valide sein
|
||||
- Alle neuen Variablen müssen dokumentiert sein
|
||||
|
||||
### Code Review Kriterien
|
||||
|
||||
- Idempotenz gewährleistet
|
||||
- Fehlerbehandlung implementiert
|
||||
- Plattform-Kompatibilität beachtet
|
||||
- Sicherheits-Best-Practices befolgt
|
||||
- Tests für neue Funktionalität
|
||||
|
||||
## Release-Prozess
|
||||
|
||||
### Versionierung
|
||||
|
||||
- Semantic Versioning (MAJOR.MINOR.PATCH)
|
||||
- Tags für Releases
|
||||
- Changelog pflegen
|
||||
|
||||
### Ansible Galaxy
|
||||
|
||||
```bash
|
||||
# Role zu Galaxy hochladen
|
||||
ansible-galaxy role import volker-raschek act-runner-ansible-role
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Häufige Probleme
|
||||
|
||||
- **Service startet nicht**: Logs prüfen mit `journalctl -u act_runner`
|
||||
- **Registrierung fehlgeschlagen**: Token und URL validieren
|
||||
- **Permission Denied**: Benutzer/Gruppen-Konfiguration prüfen
|
||||
|
||||
### Debug-Modus
|
||||
|
||||
```yaml
|
||||
# Mehr Ausgaben für Debugging
|
||||
- debug:
|
||||
var: variable_name
|
||||
when: ansible_verbosity >= 2
|
||||
```
|
||||
Reference in New Issue
Block a user