Files
unitforge/frontend/static/templates.json
William Valentin 860f60591c Fix contrast issues with text-muted and bg-dark classes
- Fixed Bootstrap bg-dark class to use better contrasting color
- Added comprehensive text-muted contrast fixes for various contexts
- Improved dark theme colors for better accessibility
- Fixed CSS inheritance issues for code elements in dark contexts
- All color choices meet WCAG AA contrast requirements
2025-09-14 14:58:35 -07:00

516 lines
12 KiB
JSON

[
{
"name": "webapp",
"description": "Web application service (Node.js, Python, etc.)",
"unit_type": "service",
"category": "Web Services",
"parameters": [
{
"name": "name",
"description": "Service name",
"type": "string",
"required": true,
"default": null,
"choices": null,
"example": "myapp"
},
{
"name": "description",
"description": "Service description",
"type": "string",
"required": true,
"default": null,
"choices": null,
"example": "My Web Application"
},
{
"name": "exec_start",
"description": "Command to start the application",
"type": "string",
"required": true,
"default": null,
"choices": null,
"example": "/usr/bin/node /opt/myapp/server.js"
},
{
"name": "user",
"description": "User to run the service as",
"type": "string",
"required": true,
"default": "www-data",
"choices": null,
"example": "myapp"
},
{
"name": "group",
"description": "Group to run the service as",
"type": "string",
"required": true,
"default": "www-data",
"choices": null,
"example": "myapp"
},
{
"name": "working_directory",
"description": "Working directory",
"type": "string",
"required": true,
"default": null,
"choices": null,
"example": "/opt/myapp"
},
{
"name": "environment_file",
"description": "Environment file path",
"type": "string",
"required": false,
"default": null,
"choices": null,
"example": "/etc/myapp/environment"
},
{
"name": "port",
"description": "Port number",
"type": "integer",
"required": false,
"default": null,
"choices": null,
"example": "3000"
},
{
"name": "restart_policy",
"description": "Restart policy",
"type": "choice",
"required": true,
"default": "on-failure",
"choices": [
"no",
"always",
"on-failure",
"on-success"
],
"example": null
},
{
"name": "private_tmp",
"description": "Use private /tmp",
"type": "boolean",
"required": true,
"default": true,
"choices": null,
"example": null
},
{
"name": "protect_system",
"description": "Protect system directories",
"type": "choice",
"required": true,
"default": "strict",
"choices": [
"no",
"yes",
"strict",
"full"
],
"example": null
}
],
"tags": [
"web",
"application",
"nodejs",
"python",
"service"
]
},
{
"name": "database",
"description": "Database service (PostgreSQL, MySQL, MongoDB, etc.)",
"unit_type": "service",
"category": "Database Services",
"parameters": [
{
"name": "name",
"description": "Database service name",
"type": "string",
"required": true,
"default": null,
"choices": null,
"example": "postgresql"
},
{
"name": "description",
"description": "Service description",
"type": "string",
"required": true,
"default": null,
"choices": null,
"example": "PostgreSQL Database Server"
},
{
"name": "exec_start",
"description": "Database start command",
"type": "string",
"required": true,
"default": null,
"choices": null,
"example": "/usr/lib/postgresql/13/bin/postgres -D /var/lib/postgresql/13/main"
},
{
"name": "user",
"description": "Database user",
"type": "string",
"required": true,
"default": null,
"choices": null,
"example": "postgres"
},
{
"name": "group",
"description": "Database group",
"type": "string",
"required": true,
"default": null,
"choices": null,
"example": "postgres"
},
{
"name": "data_directory",
"description": "Data directory",
"type": "string",
"required": true,
"default": null,
"choices": null,
"example": "/var/lib/postgresql/13/main"
},
{
"name": "pid_file",
"description": "PID file path",
"type": "string",
"required": false,
"default": null,
"choices": null,
"example": "/var/run/postgresql/13-main.pid"
},
{
"name": "timeout_sec",
"description": "Startup timeout",
"type": "integer",
"required": true,
"default": 300,
"choices": null,
"example": null
}
],
"tags": [
"database",
"postgresql",
"mysql",
"mongodb",
"service"
]
},
{
"name": "backup-timer",
"description": "Scheduled backup service with timer",
"unit_type": "timer",
"category": "System Maintenance",
"parameters": [
{
"name": "name",
"description": "Backup job name",
"type": "string",
"required": true,
"default": null,
"choices": null,
"example": "daily-backup"
},
{
"name": "description",
"description": "Backup description",
"type": "string",
"required": true,
"default": null,
"choices": null,
"example": "Daily database backup"
},
{
"name": "schedule",
"description": "Backup schedule",
"type": "choice",
"required": true,
"default": "daily",
"choices": [
"daily",
"weekly",
"monthly",
"custom"
],
"example": null
},
{
"name": "custom_schedule",
"description": "Custom schedule (OnCalendar format)",
"type": "string",
"required": false,
"default": null,
"choices": null,
"example": "*-*-* 02:00:00"
},
{
"name": "backup_script",
"description": "Backup script path",
"type": "string",
"required": true,
"default": null,
"choices": null,
"example": "/usr/local/bin/backup.sh"
},
{
"name": "backup_user",
"description": "User to run backup as",
"type": "string",
"required": true,
"default": "backup",
"choices": null,
"example": null
},
{
"name": "persistent",
"description": "Run missed backups on boot",
"type": "boolean",
"required": true,
"default": true,
"choices": null,
"example": null
},
{
"name": "randomized_delay",
"description": "Randomized delay in minutes",
"type": "integer",
"required": false,
"default": 0,
"choices": null,
"example": null
}
],
"tags": [
"backup",
"timer",
"maintenance",
"scheduled"
]
},
{
"name": "proxy-socket",
"description": "Socket-activated proxy service",
"unit_type": "socket",
"category": "Network Services",
"parameters": [
{
"name": "name",
"description": "Socket service name",
"type": "string",
"required": true,
"default": null,
"choices": null,
"example": "myapp-proxy"
},
{
"name": "description",
"description": "Socket description",
"type": "string",
"required": true,
"default": null,
"choices": null,
"example": "Proxy socket for myapp"
},
{
"name": "listen_port",
"description": "Port to listen on",
"type": "integer",
"required": true,
"default": null,
"choices": null,
"example": "8080"
},
{
"name": "listen_address",
"description": "Address to bind to",
"type": "string",
"required": true,
"default": "0.0.0.0",
"choices": null,
"example": "127.0.0.1"
},
{
"name": "socket_user",
"description": "Socket owner user",
"type": "string",
"required": false,
"default": null,
"choices": null,
"example": "www-data"
},
{
"name": "socket_group",
"description": "Socket owner group",
"type": "string",
"required": false,
"default": null,
"choices": null,
"example": "www-data"
},
{
"name": "socket_mode",
"description": "Socket file permissions",
"type": "string",
"required": true,
"default": "0644",
"choices": null,
"example": "0660"
},
{
"name": "accept",
"description": "Accept multiple connections",
"type": "boolean",
"required": true,
"default": false,
"choices": null,
"example": null
},
{
"name": "max_connections",
"description": "Maximum connections",
"type": "integer",
"required": false,
"default": 64,
"choices": null,
"example": null
}
],
"tags": [
"socket",
"proxy",
"network",
"activation"
]
},
{
"name": "container",
"description": "Containerized service (Docker/Podman)",
"unit_type": "service",
"category": "Container Services",
"parameters": [
{
"name": "name",
"description": "Container service name",
"type": "string",
"required": true,
"default": null,
"choices": null,
"example": "webapp-container"
},
{
"name": "description",
"description": "Container description",
"type": "string",
"required": true,
"default": null,
"choices": null,
"example": "My Web App Container"
},
{
"name": "container_runtime",
"description": "Container runtime",
"type": "choice",
"required": true,
"default": "docker",
"choices": [
"docker",
"podman"
],
"example": null
},
{
"name": "image",
"description": "Container image",
"type": "string",
"required": true,
"default": null,
"choices": null,
"example": "nginx:latest"
},
{
"name": "ports",
"description": "Port mappings",
"type": "string",
"required": false,
"default": null,
"choices": null,
"example": "80:8080,443:8443"
},
{
"name": "volumes",
"description": "Volume mounts",
"type": "string",
"required": false,
"default": null,
"choices": null,
"example": "/data:/app/data,/config:/app/config"
},
{
"name": "environment",
"description": "Environment variables",
"type": "string",
"required": false,
"default": null,
"choices": null,
"example": "ENV=production,DEBUG=false"
},
{
"name": "network",
"description": "Container network",
"type": "string",
"required": false,
"default": null,
"choices": null,
"example": "bridge"
},
{
"name": "restart_policy",
"description": "Container restart policy",
"type": "choice",
"required": true,
"default": "unless-stopped",
"choices": [
"no",
"always",
"unless-stopped",
"on-failure"
],
"example": null
},
{
"name": "pull_policy",
"description": "Image pull policy",
"type": "choice",
"required": true,
"default": "missing",
"choices": [
"always",
"missing",
"never"
],
"example": null
}
],
"tags": [
"container",
"docker",
"podman",
"service"
]
}
]