Prechádzať zdrojové kódy

schema1.2-traefik_domain

xcad 6 mesiacov pred
rodič
commit
64eebbd13d

+ 1 - 0
CHANGELOG.md

@@ -18,6 +18,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 - Alphabetically sorted commands in help output with grouped panels for better organization
 - Separate help panels for "Template Commands" and "Configuration Commands"
 - Compose Schema 1.2: Authentik Traefik middleware integration with `authentik_traefik_middleware` variable
+- Compose Schema 1.2: `traefik_domain` variable for base domain configuration (#1362) - Set once, use across all services
 - Markdown formatting support for template descriptions and next steps (#1471)
 - Output directory flag `--output`/`-o` for `generate` command (#1534) - Replaces positional directory argument
 

+ 2 - 2
archetypes/compose/service-deploy-v1.j2

@@ -31,7 +31,7 @@
         - traefik.docker.network={{ traefik_network }}
         - traefik.http.services.{{ service_name }}-web.loadBalancer.server.port=__ANYINT__
         - traefik.http.routers.{{ service_name }}-http.service={{ service_name }}-web
-        - traefik.http.routers.{{ service_name }}-http.rule=Host(`{{ traefik_host }}`)
+        - traefik.http.routers.{{ service_name }}-http.rule=Host(`{{ traefik_host }}.{{ traefik_domain }}`)
         - traefik.http.routers.{{ service_name }}-http.entrypoints={{ traefik_entrypoint }}
         {# @optional-start #}
         {% if authentik_enabled %}
@@ -40,7 +40,7 @@
         {# @optional-end #}
         {% if traefik_tls_enabled %}
         - traefik.http.routers.{{ service_name }}-https.service={{ service_name }}-web
-        - traefik.http.routers.{{ service_name }}-https.rule=Host(`{{ traefik_host }}`)
+        - traefik.http.routers.{{ service_name }}-https.rule=Host(`{{ traefik_host }}.{{ traefik_domain }}`)
         - traefik.http.routers.{{ service_name }}-https.entrypoints={{ traefik_tls_entrypoint }}
         - traefik.http.routers.{{ service_name }}-https.tls=true
         - traefik.http.routers.{{ service_name }}-https.tls.certresolver={{ traefik_tls_certresolver }}

+ 2 - 2
archetypes/compose/service-labels-v1.j2

@@ -5,7 +5,7 @@
       - traefik.docker.network={{ traefik_network }}
       - traefik.http.services.{{ service_name }}-web.loadBalancer.server.port=80
       - traefik.http.routers.{{ service_name }}-http.service={{ service_name }}-web
-      - traefik.http.routers.{{ service_name }}-http.rule=Host(`{{ traefik_host }}`)
+      - traefik.http.routers.{{ service_name }}-http.rule=Host(`{{ traefik_host }}.{{ traefik_domain }}`)
       - traefik.http.routers.{{ service_name }}-http.entrypoints={{ traefik_entrypoint }}
       {# @optional-start #}
       {% if authentik_enabled %}
@@ -14,7 +14,7 @@
       {# @optional-end #}
       {% if traefik_tls_enabled %}
       - traefik.http.routers.{{ service_name }}-https.service={{ service_name }}-web
-      - traefik.http.routers.{{ service_name }}-https.rule=Host(`{{ traefik_host }}`)
+      - traefik.http.routers.{{ service_name }}-https.rule=Host(`{{ traefik_host }}.{{ traefik_domain }}`)
       - traefik.http.routers.{{ service_name }}-https.entrypoints={{ traefik_tls_entrypoint }}
       - traefik.http.routers.{{ service_name }}-https.tls=true
       - traefik.http.routers.{{ service_name }}-https.tls.certresolver={{ traefik_tls_certresolver }}

+ 6 - 1
cli/modules/compose/spec_v1_2.py

@@ -137,9 +137,14 @@ spec = OrderedDict(
                     "default": "traefik",
                 },
                 "traefik_host": {
-                    "description": "Domain name for your service (e.g., app.example.com)",
+                    "description": "Service subdomain or full hostname (e.g., 'app' or 'app.example.com')",
                     "type": "str",
                 },
+                "traefik_domain": {
+                    "description": "Base domain (e.g., example.com)",
+                    "type": "str",
+                    "default": "home.arpa",
+                },
                 "traefik_entrypoint": {
                     "description": "HTTP entrypoint (non-TLS)",
                     "type": "str",