Ver código fonte

refactor: remove schema property from all 68 templates - migrate to self-contained templates

xcad 1 mês atrás
pai
commit
585a1cdac5
70 arquivos alterados com 7 adições e 75 exclusões
  1. 4 6
      cli/core/template/template.py
  2. 3 1
      cli/core/template/variable_collection.py
  3. 0 1
      library/ansible/checkmk-install-agent/template.yaml
  4. 0 1
      library/ansible/checkmk-manage-host/template.yaml
  5. 0 1
      library/ansible/docker-certs-enable/template.yaml
  6. 0 1
      library/ansible/docker-certs/template.yaml
  7. 0 1
      library/ansible/docker-install-ubuntu/template.yaml
  8. 0 1
      library/ansible/docker-prune/template.yaml
  9. 0 1
      library/ansible/ubuntu-add-sshkey/template.yaml
  10. 0 1
      library/ansible/ubuntu-apt-update/template.yaml
  11. 0 1
      library/ansible/ubuntu-vm-core/template.yaml
  12. 0 1
      library/compose/adguardhome/template.yaml
  13. 0 1
      library/compose/authentik/template.yaml
  14. 0 1
      library/compose/bind9/template.yaml
  15. 0 1
      library/compose/checkmk/template.yaml
  16. 0 1
      library/compose/dockge/template.yaml
  17. 0 1
      library/compose/gitea/template.yaml
  18. 0 1
      library/compose/gitlab-runner/template.yaml
  19. 0 1
      library/compose/gitlab/template.yaml
  20. 0 1
      library/compose/grafana/template.yaml
  21. 0 1
      library/compose/homeassistant/template.yaml
  22. 0 1
      library/compose/homepage/template.yaml
  23. 0 1
      library/compose/homer/template.yaml
  24. 0 1
      library/compose/influxdb/template.yaml
  25. 0 1
      library/compose/komodo/template.yaml
  26. 0 1
      library/compose/loki/template.yaml
  27. 0 1
      library/compose/mariadb/template.yaml
  28. 0 1
      library/compose/n8n/template.yaml
  29. 0 1
      library/compose/netbox/template.yaml
  30. 0 1
      library/compose/nextcloud/template.yaml
  31. 0 1
      library/compose/nginx/template.yaml
  32. 0 1
      library/compose/openwebui/template.yaml
  33. 0 1
      library/compose/pangolin/template.yaml
  34. 0 1
      library/compose/passbolt/template.yaml
  35. 0 1
      library/compose/pihole/template.yaml
  36. 0 1
      library/compose/portainer/template.yaml
  37. 0 1
      library/compose/postgres/template.yaml
  38. 0 1
      library/compose/prometheus/template.yaml
  39. 0 1
      library/compose/renovate/template.yaml
  40. 0 1
      library/compose/semaphoreui/template.yaml
  41. 0 1
      library/compose/traefik/template.yaml
  42. 0 1
      library/compose/twingate-connector/template.yaml
  43. 0 1
      library/compose/uptimekuma/template.yaml
  44. 0 1
      library/helm/authentik/template.yaml
  45. 0 1
      library/helm/certmanager/template.yaml
  46. 0 1
      library/helm/longhorn/template.yaml
  47. 0 1
      library/helm/netbox/template.yaml
  48. 0 1
      library/helm/portainer/template.yaml
  49. 0 1
      library/helm/traefik/template.yaml
  50. 0 1
      library/kubernetes/certmanager-certificate/template.yaml
  51. 0 1
      library/kubernetes/certmanager-clusterissuer/template.yaml
  52. 0 1
      library/kubernetes/certmanager-issuer/template.yaml
  53. 0 1
      library/kubernetes/core-configmap/template.yaml
  54. 0 1
      library/kubernetes/core-ingress/template.yaml
  55. 0 1
      library/kubernetes/core-ingressclass/template.yaml
  56. 0 1
      library/kubernetes/core-persistentvolume/template.yaml
  57. 0 1
      library/kubernetes/core-persistentvolumeclaim/template.yaml
  58. 0 1
      library/kubernetes/core-secret/template.yaml
  59. 0 1
      library/kubernetes/core-service/template.yaml
  60. 0 1
      library/kubernetes/core-serviceaccount/template.yaml
  61. 0 1
      library/kubernetes/core-storageclass/template.yaml
  62. 0 1
      library/kubernetes/traefik-ingressroute/template.yaml
  63. 0 1
      library/kubernetes/traefik-ingressroutetcp/template.yaml
  64. 0 1
      library/kubernetes/traefik-middleware/template.yaml
  65. 0 1
      library/kubernetes/twingate-connector/template.yaml
  66. 0 1
      library/packer/proxmox-iso-ubuntu/template.yaml
  67. 0 1
      library/terraform/cloudflare-dns-record/template.yaml
  68. 0 1
      library/terraform/cloudflare-ztna-application/template.yaml
  69. 0 1
      library/terraform/dns-a-record/template.yaml
  70. 0 1
      library/terraform/netbox-vm/template.yaml

+ 4 - 6
cli/core/template/template.py

@@ -364,7 +364,7 @@ class Template:
             else:
                 # No schema property = template is self-contained
                 self.schema_version = None
-                logger.debug(f"Template is self-contained (no schema property)")
+                logger.debug("Template is self-contained (no schema property)")
 
             # Note: Schema version validation is done by the module when loading templates
 
@@ -564,9 +564,7 @@ class Template:
                 f"Template '{self.id}' defines {len(unused_vars)} variable(s) that are not used in template files. "
                 f"Consider removing them from the spec: {', '.join(shown_vars)}{ellipsis}"
             )
-            logger.debug(
-                f"Template '{self.id}' unused variables: {sorted(unused_vars)}"
-            )
+            logger.debug(f"Template '{self.id}' unused variables: {sorted(unused_vars)}")
 
     def _collect_template_files(self) -> None:
         """Collects all TemplateFile objects in the template directory."""
@@ -677,7 +675,7 @@ class Template:
         """Validate that template schema version is supported by the module.
 
         Self-contained templates (with schema=None) don't require validation.
-        
+
         Args:
             module_schema: Schema version supported by the module
             module_name: Name of the module (for error messages)
@@ -979,7 +977,7 @@ class Template:
     @property
     def module_specs(self) -> dict:
         """Get the spec from the module definition for this template's schema version.
-        
+
         Returns empty dict if template doesn't declare a schema (self-contained).
         """
         if self.__module_specs is None:

+ 3 - 1
cli/core/template/variable_collection.py

@@ -775,7 +775,9 @@ class VariableCollection:
             try:
                 variable = self._variable_map.get(var_name)
                 if not variable:
-                    logger.debug(f"Default value for '{var_name}' not applicable to this template (variable not defined)")
+                    logger.debug(
+                        f"Default value for '{var_name}' not applicable to this template (variable not defined)"
+                    )
                     continue
 
                 # Check if variable's needs are satisfied

+ 0 - 1
library/ansible/checkmk-install-agent/template.yaml

@@ -16,7 +16,6 @@ metadata:
     id: checkmk
   draft: false
   next_steps: ""
-schema: "1.0"
 spec:
   checkmk:
     title: Checkmk Configuration

+ 0 - 1
library/ansible/checkmk-manage-host/template.yaml

@@ -16,7 +16,6 @@ metadata:
     id: checkmk
   draft: false
   next_steps: ""
-schema: "1.0"
 spec:
   checkmk:
     title: Checkmk Configuration

+ 0 - 1
library/ansible/docker-certs-enable/template.yaml

@@ -1,6 +1,5 @@
 ---
 kind: ansible
-schema: "1.0"
 metadata:
   icon:
     provider: selfh

+ 0 - 1
library/ansible/docker-certs/template.yaml

@@ -1,6 +1,5 @@
 ---
 kind: ansible
-schema: "1.0"
 metadata:
   icon:
     provider: selfh

+ 0 - 1
library/ansible/docker-install-ubuntu/template.yaml

@@ -1,6 +1,5 @@
 ---
 kind: ansible
-schema: "1.0"
 metadata:
   icon:
     provider: selfh

+ 0 - 1
library/ansible/docker-prune/template.yaml

@@ -1,6 +1,5 @@
 ---
 kind: ansible
-schema: "1.0"
 metadata:
   icon:
     provider: selfh

+ 0 - 1
library/ansible/ubuntu-add-sshkey/template.yaml

@@ -1,6 +1,5 @@
 ---
 kind: ansible
-schema: "1.0"
 metadata:
   icon:
     provider: selfh

+ 0 - 1
library/ansible/ubuntu-apt-update/template.yaml

@@ -1,6 +1,5 @@
 ---
 kind: ansible
-schema: "1.0"
 metadata:
   icon:
     provider: selfh

+ 0 - 1
library/ansible/ubuntu-vm-core/template.yaml

@@ -1,6 +1,5 @@
 ---
 kind: ansible
-schema: "1.0"
 metadata:
   icon:
     provider: selfh

+ 0 - 1
library/compose/adguardhome/template.yaml

@@ -30,7 +30,6 @@ metadata:
     - network
     - volume
   next_steps:
-schema: 1.2
 spec:
   general:
     vars:

+ 0 - 1
library/compose/authentik/template.yaml

@@ -32,7 +32,6 @@ metadata:
   tags:
     - traefik
     - volume
-schema: "1.2"
 spec:
   general:
     vars:

+ 0 - 1
library/compose/bind9/template.yaml

@@ -19,7 +19,6 @@ metadata:
     provider: selfh
     id: bind-9
   draft: true
-schema: "1.2"
 spec:
   dns_security:
     title: dns_security

+ 0 - 1
library/compose/checkmk/template.yaml

@@ -25,7 +25,6 @@ metadata:
   date: '2025-12-10'
   tags:
     - traefik
-schema: 1.2
 spec:
   general:
     vars:

+ 0 - 1
library/compose/dockge/template.yaml

@@ -17,7 +17,6 @@ metadata:
   date: '2025-09-28'
   tags:
     - traefik
-schema: 1.2
 spec:
   general:
     vars:

+ 0 - 1
library/compose/gitea/template.yaml

@@ -22,7 +22,6 @@ metadata:
   date: '2025-12-19'
   tags:
     - traefik
-schema: 1.2
 spec:
   general:
     vars:

+ 0 - 1
library/compose/gitlab-runner/template.yaml

@@ -18,5 +18,4 @@ metadata:
     id: gitlab
   draft: true
   next_steps: ""
-schema: "1.2"
 spec: {}

+ 0 - 1
library/compose/gitlab/template.yaml

@@ -1,6 +1,5 @@
 ---
 kind: compose
-schema: "1.2"
 metadata:
   name: GitLab
   description: |

+ 0 - 1
library/compose/grafana/template.yaml

@@ -24,7 +24,6 @@ metadata:
   tags:
     - traefik
     - authentik
-schema: 1.2
 spec:
   general:
     vars:

+ 0 - 1
library/compose/homeassistant/template.yaml

@@ -17,7 +17,6 @@ metadata:
     id: home-assistant
   draft: true
   next_steps: ""
-schema: "1.2"
 spec:
   general:
     vars:

+ 0 - 1
library/compose/homepage/template.yaml

@@ -21,7 +21,6 @@ metadata:
     id: homepage
   draft: true
   next_steps: ""
-schema: "1.2"
 spec:
   general:
     vars:

+ 0 - 1
library/compose/homer/template.yaml

@@ -1,6 +1,5 @@
 ---
 kind: compose
-schema: "1.2"
 metadata:
   icon:
     provider: selfh

+ 0 - 1
library/compose/influxdb/template.yaml

@@ -24,7 +24,6 @@ metadata:
   tags:
     - traefik
   draft: true
-schema: "1.2"
 spec:
   ports:
     vars:

+ 0 - 1
library/compose/komodo/template.yaml

@@ -1,6 +1,5 @@
 ---
 kind: compose
-schema: "1.2"
 metadata:
   icon:
     provider: selfh

+ 0 - 1
library/compose/loki/template.yaml

@@ -18,7 +18,6 @@ metadata:
   tags:
     - traefik
     - authentik
-schema: 1.2
 spec:
   general:
     vars:

+ 0 - 1
library/compose/mariadb/template.yaml

@@ -23,7 +23,6 @@ metadata:
   date: '2025-09-28'
   tags: []
   draft: true
-schema: 1.2
 spec:
   general:
     vars:

+ 0 - 1
library/compose/n8n/template.yaml

@@ -30,7 +30,6 @@ metadata:
     - traefik
     - database
   draft: true
-schema: 1.2
 spec:
   general:
     vars:

+ 0 - 1
library/compose/netbox/template.yaml

@@ -27,7 +27,6 @@ metadata:
     Username: admin
     Password: admin
     ```
-schema: 1.2
 spec:
   database:
     vars:

+ 0 - 1
library/compose/nextcloud/template.yaml

@@ -1,6 +1,5 @@
 ---
 kind: compose
-schema: "1.2"
 metadata:
   name: Nextcloud
   description: >

+ 0 - 1
library/compose/nginx/template.yaml

@@ -1,6 +1,5 @@
 ---
 kind: compose
-schema: "1.2"
 metadata:
   icon:
     provider: selfh

+ 0 - 1
library/compose/openwebui/template.yaml

@@ -1,6 +1,5 @@
 ---
 kind: compose
-schema: "1.2"
 metadata:
   icon:
     provider: selfh

+ 0 - 1
library/compose/pangolin/template.yaml

@@ -1,6 +1,5 @@
 ---
 kind: compose
-schema: "1.2"
 metadata:
   icon:
     provider: selfh

+ 0 - 1
library/compose/passbolt/template.yaml

@@ -19,7 +19,6 @@ metadata:
     - traefik
     - database
   draft: true
-schema: 1.2
 spec:
   general:
     vars:

+ 0 - 1
library/compose/pihole/template.yaml

@@ -1,6 +1,5 @@
 ---
 kind: compose
-schema: "1.2"
 metadata:
   icon:
     provider: selfh

+ 0 - 1
library/compose/portainer/template.yaml

@@ -20,7 +20,6 @@ metadata:
     - traefik
     - swarm
     - volumes
-schema: 1.2
 spec:
   general:
     vars:

+ 0 - 1
library/compose/postgres/template.yaml

@@ -1,6 +1,5 @@
 ---
 kind: compose
-schema: "1.2"
 metadata:
   icon:
     provider: selfh

+ 0 - 1
library/compose/prometheus/template.yaml

@@ -1,6 +1,5 @@
 ---
 kind: compose
-schema: "1.2"
 metadata:
   icon:
     provider: selfh

+ 0 - 1
library/compose/renovate/template.yaml

@@ -1,6 +1,5 @@
 ---
 kind: compose
-schema: "1.2"
 metadata:
   icon:
     provider: selfh

+ 0 - 1
library/compose/semaphoreui/template.yaml

@@ -30,7 +30,6 @@ metadata:
     Username: {{ admin_user }}
     Password: {{ admin_pass }}
     ```
-schema: 1.2
 spec:
   general:
     vars:

+ 0 - 1
library/compose/traefik/template.yaml

@@ -29,7 +29,6 @@ metadata:
     2. Start Traefik with Docker Compose from the project directory:
       `docker compose up -d`
     {% endif %}
-schema: "1.2"
 spec:
   general:
     vars:

+ 0 - 1
library/compose/twingate-connector/template.yaml

@@ -1,6 +1,5 @@
 ---
 kind: compose
-schema: "1.2"
 metadata:
   icon:
     provider: selfh

+ 0 - 1
library/compose/uptimekuma/template.yaml

@@ -1,6 +1,5 @@
 ---
 kind: compose
-schema: "1.2"
 metadata:
   icon:
     provider: selfh

+ 0 - 1
library/helm/authentik/template.yaml

@@ -1,6 +1,5 @@
 ---
 kind: helm
-schema: "1.0"
 metadata:
   icon:
     provider: selfh

+ 0 - 1
library/helm/certmanager/template.yaml

@@ -20,7 +20,6 @@ metadata:
     id: lets-encrypt
   draft: true
   next_steps: ""
-schema: "1.0"
 spec:
   dns:
     title: DNS Configuration

+ 0 - 1
library/helm/longhorn/template.yaml

@@ -21,7 +21,6 @@ metadata:
     id: rancher-longhorn
   draft: true
   next_steps: ""
-schema: "1.0"
 spec:
   backup:
     title: Backup Configuration

+ 0 - 1
library/helm/netbox/template.yaml

@@ -1,6 +1,5 @@
 ---
 kind: helm
-schema: "1.0"
 metadata:
   icon:
     provider: selfh

+ 0 - 1
library/helm/portainer/template.yaml

@@ -1,6 +1,5 @@
 ---
 kind: helm
-schema: "1.0"
 metadata:
   icon:
     provider: selfh

+ 0 - 1
library/helm/traefik/template.yaml

@@ -20,7 +20,6 @@ metadata:
     id: traefikproxy
   draft: true
   next_steps: ""
-schema: "1.0"
 spec:
   dashboard:
     title: Dashboard IngressRoute

+ 0 - 1
library/kubernetes/certmanager-certificate/template.yaml

@@ -1,6 +1,5 @@
 ---
 kind: kubernetes
-schema: "1.0"
 metadata:
   icon:
     provider: selfh

+ 0 - 1
library/kubernetes/certmanager-clusterissuer/template.yaml

@@ -1,6 +1,5 @@
 ---
 kind: kubernetes
-schema: "1.0"
 metadata:
   icon:
     provider: selfh

+ 0 - 1
library/kubernetes/certmanager-issuer/template.yaml

@@ -1,6 +1,5 @@
 ---
 kind: kubernetes
-schema: "1.0"
 metadata:
   icon:
     provider: selfh

+ 0 - 1
library/kubernetes/core-configmap/template.yaml

@@ -1,6 +1,5 @@
 ---
 kind: kubernetes
-schema: "1.0"
 metadata:
   icon:
     provider: selfh

+ 0 - 1
library/kubernetes/core-ingress/template.yaml

@@ -1,6 +1,5 @@
 ---
 kind: kubernetes
-schema: "1.0"
 metadata:
   icon:
     provider: selfh

+ 0 - 1
library/kubernetes/core-ingressclass/template.yaml

@@ -1,6 +1,5 @@
 ---
 kind: kubernetes
-schema: "1.0"
 metadata:
   icon:
     provider: selfh

+ 0 - 1
library/kubernetes/core-persistentvolume/template.yaml

@@ -1,6 +1,5 @@
 ---
 kind: kubernetes
-schema: "1.0"
 metadata:
   icon:
     provider: selfh

+ 0 - 1
library/kubernetes/core-persistentvolumeclaim/template.yaml

@@ -1,6 +1,5 @@
 ---
 kind: kubernetes
-schema: "1.0"
 metadata:
   icon:
     provider: selfh

+ 0 - 1
library/kubernetes/core-secret/template.yaml

@@ -1,6 +1,5 @@
 ---
 kind: kubernetes
-schema: "1.0"
 metadata:
   icon:
     provider: selfh

+ 0 - 1
library/kubernetes/core-service/template.yaml

@@ -1,6 +1,5 @@
 ---
 kind: kubernetes
-schema: "1.0"
 metadata:
   icon:
     provider: selfh

+ 0 - 1
library/kubernetes/core-serviceaccount/template.yaml

@@ -1,6 +1,5 @@
 ---
 kind: kubernetes
-schema: "1.0"
 metadata:
   icon:
     provider: selfh

+ 0 - 1
library/kubernetes/core-storageclass/template.yaml

@@ -1,6 +1,5 @@
 ---
 kind: kubernetes
-schema: "1.0"
 metadata:
   icon:
     provider: selfh

+ 0 - 1
library/kubernetes/traefik-ingressroute/template.yaml

@@ -1,6 +1,5 @@
 ---
 kind: kubernetes
-schema: "1.0"
 metadata:
   icon:
     provider: selfh

+ 0 - 1
library/kubernetes/traefik-ingressroutetcp/template.yaml

@@ -1,6 +1,5 @@
 ---
 kind: kubernetes
-schema: "1.0"
 metadata:
   icon:
     provider: selfh

+ 0 - 1
library/kubernetes/traefik-middleware/template.yaml

@@ -20,7 +20,6 @@ metadata:
     id: traefik
   draft: false
   next_steps: ""
-schema: "1.0"
 spec:
   general:
     vars:

+ 0 - 1
library/kubernetes/twingate-connector/template.yaml

@@ -18,7 +18,6 @@ metadata:
     id: twingate
   draft: false
   next_steps: ""
-schema: "1.0"
 spec:
   general:
     vars:

+ 0 - 1
library/packer/proxmox-iso-ubuntu/template.yaml

@@ -1,6 +1,5 @@
 ---
 kind: packer
-schema: "1.0"
 metadata:
   icon:
     provider: selfh

+ 0 - 1
library/terraform/cloudflare-dns-record/template.yaml

@@ -18,7 +18,6 @@ metadata:
     id: cloudflare
   draft: false
   next_steps: ""
-schema: "1.0"
 spec:
   comment:
     title: Comment

+ 0 - 1
library/terraform/cloudflare-ztna-application/template.yaml

@@ -18,7 +18,6 @@ metadata:
     id: cloudflare
   draft: false
   next_steps: ""
-schema: "1.0"
 spec:
   application:
     title: Application

+ 0 - 1
library/terraform/dns-a-record/template.yaml

@@ -18,7 +18,6 @@ metadata:
     id: bind-9
   draft: false
   next_steps: ""
-schema: "1.0"
 spec:
   addresses:
     title: IP Addresses

+ 0 - 1
library/terraform/netbox-vm/template.yaml

@@ -1,6 +1,5 @@
 ---
 kind: terraform
-schema: "1.0"
 metadata:
   icon:
     provider: selfh