Ver Fonte

fix: add missing base64 import and apply ruff formatting

- Added base64 import back to template.py (needed for autogenerated variables)
- Ran ruff check --fix to auto-fix Python linting issues
- Ran ruff format to apply consistent code formatting
- 5 Python files reformatted

Note: YAML files have indentation issues from previous edits that need systematic fixing.
xcad há 4 meses atrás
pai
commit
caeb1d8cae

+ 1 - 0
cli/core/template/template.py

@@ -1,5 +1,6 @@
 from __future__ import annotations
 
+import base64
 import logging
 import os
 import re

+ 0 - 1
cli/modules/ansible/__init__.py

@@ -8,7 +8,6 @@ from ...core.registry import registry
 logger = logging.getLogger(__name__)
 
 
-
 class AnsibleModule(Module):
     """Ansible module."""
 

+ 1 - 1
cli/modules/compose/__init__.py

@@ -1,9 +1,9 @@
 """Docker Compose module."""
 
 import logging
+from typing import Annotated
 
 from typer import Argument, Option
-from typing import Annotated
 
 from ...core.module import Module
 from ...core.module.base_commands import validate_templates

+ 0 - 1
cli/modules/helm/__init__.py

@@ -8,7 +8,6 @@ from ...core.registry import registry
 logger = logging.getLogger(__name__)
 
 
-
 class HelmModule(Module):
     """Helm module."""
 

+ 0 - 1
cli/modules/kubernetes/__init__.py

@@ -8,7 +8,6 @@ from ...core.registry import registry
 logger = logging.getLogger(__name__)
 
 
-
 class KubernetesModule(Module):
     """Kubernetes module."""
 

+ 0 - 1
cli/modules/packer/__init__.py

@@ -8,7 +8,6 @@ from ...core.registry import registry
 logger = logging.getLogger(__name__)
 
 
-
 class PackerModule(Module):
     """Packer module."""
 

+ 0 - 1
cli/modules/terraform/__init__.py

@@ -8,7 +8,6 @@ from ...core.registry import registry
 logger = logging.getLogger(__name__)
 
 
-
 class TerraformModule(Module):
     """Terraform module."""
 

+ 17 - 16
library/compose/gitlab/template.yaml

@@ -1,3 +1,4 @@
+---
 kind: compose
 metadata:
   name: GitLab
@@ -43,8 +44,8 @@ metadata:
   author: Christian Lempa
   date: '2025-12-11'
   tags:
-  - traefik
-  - swarm
+    - traefik
+    - swarm
   next_steps: "## Post-Installation Steps\n1. **Start GitLab**:\n   ```bash\n   docker compose up -d\n   ```\n2. **Wait for\
     \ initialization** (2-5 minutes):\n   ```bash\n   docker compose logs -f gitlab\n   ```\n   Wait for message: `gitlab\
     \ Reconfigured!`\n3. **Access the web interface**:\n   {% if traefik_enabled -%}\n   - Via Traefik: https://{{ traefik_host\
@@ -93,10 +94,10 @@ spec:
       restart_policy:
         type: enum
         options:
-        - unless-stopped
-        - always
-        - on-failure
-        - 'no'
+          - unless-stopped
+          - always
+          - on-failure
+          - 'no'
         default: unless-stopped
         required: true
   ports:
@@ -119,7 +120,7 @@ spec:
         default: gitlab.home.arpa
       traefik_registry_host:
         needs:
-        - registry_enabled=true
+          - registry_enabled=true
         default: registry.home.arpa
         type: str
         description: Hostname for Container Registry in Traefik (if enabled)
@@ -150,34 +151,34 @@ spec:
       volume_mode:
         type: enum
         options:
-        - local
-        - mount
-        - nfs
+          - local
+          - mount
+          - nfs
         default: local
         required: true
       volume_mount_path:
         type: str
         default: /mnt/storage
         needs:
-        - volume_mode=mount
+          - volume_mode=mount
         required: true
       volume_nfs_server:
         type: str
         default: 192.168.1.1
         needs:
-        - volume_mode=nfs
+          - volume_mode=nfs
         required: true
       volume_nfs_path:
         type: str
         default: /export
         needs:
-        - volume_mode=nfs
+          - volume_mode=nfs
         required: true
       volume_nfs_options:
         type: str
         default: rw,nolock,soft
         needs:
-        - volume_mode=nfs
+          - volume_mode=nfs
         required: true
   swarm:
     vars:
@@ -218,8 +219,8 @@ spec:
         type: enum
         description: Performance optimization profile
         options:
-        - homelab
-        - default
+          - homelab
+          - default
         default: homelab
         extra: homelab is optimized for low-resource environments, default is for standard servers
       prometheus_enabled:

+ 20 - 19
library/compose/homepage/template.yaml

@@ -1,3 +1,4 @@
+---
 kind: compose
 metadata:
   name: Homepage
@@ -15,9 +16,9 @@ metadata:
   author: Christian Lempa
   date: '2025-12-12'
   tags:
-  - traefik
-  - swarm
-  - volume_modes
+    - traefik
+    - swarm
+    - volume_modes
   icon:
     provider: simpleicons
     id: homepage
@@ -38,17 +39,17 @@ spec:
       container_loglevel:
         type: enum
         options:
-        - debug
-        - info
-        - warn
-        - error
+          - debug
+          - info
+          - warn
+          - error
       restart_policy:
         type: enum
         options:
-        - unless-stopped
-        - always
-        - on-failure
-        - 'no'
+          - unless-stopped
+          - always
+          - on-failure
+          - 'no'
         default: unless-stopped
         required: true
   ports:
@@ -86,16 +87,16 @@ spec:
       volume_mode:
         type: enum
         options:
-        - local
-        - mount
-        - nfs
+          - local
+          - mount
+          - nfs
         default: local
         required: true
       volume_mount_path:
         type: str
         default: /mnt/storage
         needs:
-        - volume_mode=mount
+          - volume_mode=mount
         required: true
       volume_nfs_options:
         type: str
@@ -122,7 +123,7 @@ spec:
         type: str
         default: 0.25
         needs:
-        - swarm_enabled=true
+          - swarm_enabled=true
         required: true
       resources_memory_limit:
         type: str
@@ -132,7 +133,7 @@ spec:
         type: str
         default: 512M
         needs:
-        - swarm_enabled=true
+          - swarm_enabled=true
         required: true
   swarm:
     vars:
@@ -140,13 +141,13 @@ spec:
         type: int
         default: 1
         needs:
-        - swarm_placement_mode=replicated
+          - swarm_placement_mode=replicated
         required: true
       swarm_placement_host:
         type: str
         default: ''
         needs:
-        - swarm_placement_mode=replicated
+          - swarm_placement_mode=replicated
         extra: Constrains service to run on specific node by hostname
       swarm_enabled:
         type: bool

+ 7 - 6
library/compose/loki/template.yaml

@@ -1,3 +1,4 @@
+---
 kind: compose
 metadata:
   icon:
@@ -19,8 +20,8 @@ metadata:
   author: Christian Lempa
   date: '2025-12-11'
   tags:
-  - traefik
-  - authentik
+    - traefik
+    - authentik
 schema: '1.2'
 spec:
   general:
@@ -30,10 +31,10 @@ spec:
       restart_policy:
         type: enum
         options:
-        - unless-stopped
-        - always
-        - on-failure
-        - 'no'
+          - unless-stopped
+          - always
+          - on-failure
+          - 'no'
         default: unless-stopped
         required: true
       data_retention_days:

+ 8 - 7
library/compose/netbox/template.yaml

@@ -1,3 +1,4 @@
+---
 kind: compose
 metadata:
   name: NetBox
@@ -19,9 +20,9 @@ metadata:
   author: Christian Lempa
   date: '2025-12-12'
   tags:
-  - traefik
-  - database
-  - email
+    - traefik
+    - database
+    - email
   icon:
     provider: selfh
     id: netbox
@@ -101,10 +102,10 @@ spec:
       restart_policy:
         type: enum
         options:
-        - unless-stopped
-        - always
-        - on-failure
-        - 'no'
+          - unless-stopped
+          - always
+          - on-failure
+          - 'no'
         default: unless-stopped
         required: true
   netbox:

+ 9 - 8
library/compose/nextcloud/template.yaml

@@ -1,3 +1,4 @@
+---
 kind: compose
 metadata:
   name: Nextcloud
@@ -20,7 +21,7 @@ metadata:
   author: Christian Lempa
   date: '2025-12-12'
   tags:
-  - traefik
+    - traefik
   draft: true
 schema: '1.2'
 spec:
@@ -31,8 +32,8 @@ spec:
         description: Database type (Nextcloud supports PostgreSQL or MySQL/MariaDB)
         type: enum
         options:
-        - postgres
-        - mysql
+          - postgres
+          - mysql
         default: postgres
       database_name:
         type: str
@@ -55,10 +56,10 @@ spec:
       restart_policy:
         type: enum
         options:
-        - unless-stopped
-        - always
-        - on-failure
-        - 'no'
+          - unless-stopped
+          - always
+          - on-failure
+          - 'no'
         default: unless-stopped
         required: true
   network:
@@ -119,7 +120,7 @@ spec:
         type: int
         default: 1
         needs:
-        - swarm_placement_mode=replicated
+          - swarm_placement_mode=replicated
         required: true
       swarm_enabled:
         type: bool

+ 7 - 6
library/compose/openwebui/template.yaml

@@ -1,3 +1,4 @@
+---
 kind: compose
 metadata:
   icon:
@@ -21,8 +22,8 @@ metadata:
   author: Christian Lempa
   date: '2025-12-11'
   tags:
-  - traefik
-  - authentik
+    - traefik
+    - authentik
   draft: true
 schema: '1.2'
 spec:
@@ -39,10 +40,10 @@ spec:
       restart_policy:
         type: enum
         options:
-        - unless-stopped
-        - always
-        - on-failure
-        - 'no'
+          - unless-stopped
+          - always
+          - on-failure
+          - 'no'
         default: unless-stopped
         required: true
       ollama_base_url:

+ 9 - 8
library/compose/semaphoreui/template.yaml

@@ -1,3 +1,4 @@
+---
 kind: compose
 metadata:
   icon:
@@ -31,8 +32,8 @@ metadata:
   author: Christian Lempa
   date: '2025-12-17'
   tags:
-  - traefik
-  - database
+    - traefik
+    - database
   next_steps: 'Log in with your initial admin user:
 
     ```bash
@@ -53,10 +54,10 @@ spec:
       restart_policy:
         type: enum
         options:
-        - unless-stopped
-        - always
-        - on-failure
-        - 'no'
+          - unless-stopped
+          - always
+          - on-failure
+          - 'no'
         default: unless-stopped
         required: true
       secret_key:
@@ -123,8 +124,8 @@ spec:
     vars:
       database_type:
         options:
-        - postgres
-        - mysql
+          - postgres
+          - mysql
         default: mysql
       database_name:
         default: semaphore