compose.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. from ..core.module import Module
  2. from ..core.variables import Variable
  3. from ..core.registry import registry
  4. class ComposeModule(Module):
  5. """Docker Compose module with variables."""
  6. name = "compose"
  7. description = "Manage Docker Compose configurations"
  8. files = ["docker-compose.yml", "compose.yml", "compose.yaml"]
  9. def _init_variables(self):
  10. """Initialize Compose-specific variables."""
  11. # Register groups
  12. self.variables.register_group(
  13. "general", "General Settings",
  14. "Basic configuration for Docker Compose services"
  15. )
  16. self.variables.register_group(
  17. "traefik", "Traefik Configuration",
  18. "Reverse proxy settings", icon="󰞉", enabler="traefik"
  19. )
  20. # Register variables
  21. self.variables.register_variable(Variable(
  22. name="service_name",
  23. description="Name of the service",
  24. group="general",
  25. required=True
  26. ))
  27. self.variables.register_variable(Variable(
  28. name="container_name",
  29. description="Container name",
  30. group="general"
  31. ))
  32. self.variables.register_variable(Variable(
  33. name="traefik",
  34. description="Enable Traefik",
  35. type="boolean",
  36. default=False,
  37. group="traefik"
  38. ))
  39. self.variables.register_variable(Variable(
  40. name="traefik_host",
  41. description="Traefik hostname",
  42. default=None,
  43. group="traefik"
  44. ))
  45. # Register the module
  46. registry.register(ComposeModule)