GitHub Actions Workflows: - docker-compose-validation.yml: Validates all compose files - Syntax validation - Network configuration checks - Traefik label validation - Port exposure warnings - Domain consistency checks - File naming convention enforcement - security-checks.yml: Security scanning and validation - Gitleaks secret detection - Environment file validation - Placeholder password checks - Container image vulnerability scanning with Trivy - Dependency review for pull requests - Security report generation - yaml-lint.yml: YAML formatting and validation - yamllint with custom configuration - File extension consistency checks - YAML structure validation - Service naming convention checks - Docker Compose version validation - documentation.yml: Documentation quality checks - Markdown linting - Link validation - README completeness verification - Service documentation checks - Domain URL validation - auto-label.yml: Automated PR labeling - Category-based labeling (core/media/services) - File type detection - Size-based labeling - Security-related changes detection Configuration Files: - .yamllint.yml: YAML linting rules for Docker Compose - .markdownlint.json: Markdown formatting rules - .markdown-link-check.json: Link checking configuration - .pre-commit-config.yaml: Pre-commit hooks setup - .github/labeler.yml: Auto-labeler configuration - .github/CODEOWNERS: Code ownership definitions Templates: - pull_request_template.md: Comprehensive PR checklist - ISSUE_TEMPLATE/bug-report.md: Bug report template - ISSUE_TEMPLATE/service-request.md: New service request template Documentation: - SECURITY.md: Security policy and best practices - CONTRIBUTING.md: Contribution guidelines Benefits: - Automated validation of all compose files - Security scanning on every PR - Consistent code formatting - Documentation quality assurance - Automated issue/PR management - Pre-commit hooks for local validation - Comprehensive security policy - Clear contribution guidelines
53 lines
1.1 KiB
YAML
53 lines
1.1 KiB
YAML
---
|
|
# yamllint configuration for Docker Compose files
|
|
|
|
extends: default
|
|
|
|
rules:
|
|
# Line length - Docker Compose files can have long lines (especially for commands)
|
|
line-length:
|
|
max: 200
|
|
level: warning
|
|
|
|
# Allow multiple spaces for alignment
|
|
colons:
|
|
max-spaces-after: 1
|
|
|
|
# Indentation - Docker Compose uses 2 spaces
|
|
indentation:
|
|
spaces: 2
|
|
indent-sequences: true
|
|
|
|
# Comments
|
|
comments:
|
|
min-spaces-from-content: 2
|
|
|
|
# Document start - not required for Docker Compose
|
|
document-start: disable
|
|
|
|
# Allow truthy values for Docker Compose (yes/no, true/false, on/off)
|
|
truthy:
|
|
allowed-values: ['true', 'false', 'yes', 'no', 'on', 'off']
|
|
check-keys: false
|
|
|
|
# Brackets
|
|
brackets:
|
|
min-spaces-inside: 0
|
|
max-spaces-inside: 0
|
|
|
|
# Allow empty values
|
|
empty-values:
|
|
forbid-in-block-mappings: false
|
|
forbid-in-flow-mappings: false
|
|
|
|
# Key ordering - not enforced
|
|
key-ordering: disable
|
|
|
|
# Allow duplicate keys (sometimes needed in Docker labels)
|
|
key-duplicates:
|
|
forbid-duplicated-merge-keys: true
|
|
|
|
ignore: |
|
|
.github/
|
|
node_modules/
|
|
venv/
|