Quellcode durchsuchen

fix: correct YAML indentation and remove duplicate keys - yamllint clean

- Fixed metadata-level list items (tags, etc.) to use 4-space indentation
- Fixed variable options lists to use consistent 10-space indentation
- Removed duplicate 'default' key in core-service template
- Removed duplicate 'general' sections in helm templates (longhorn, certmanager, traefik)
- Added missing document start markers (---) to 19 compose templates
- All templates now pass yamllint validation with 0 errors/warnings
xcad vor 1 Monat
Ursprung
Commit
1eb849b66c

+ 21 - 20
library/compose/adguardhome/template.yaml

@@ -1,3 +1,4 @@
+---
 kind: compose
 metadata:
   name: AdGuard Home
@@ -39,9 +40,9 @@ metadata:
   author: Christian Lempa
   date: '2025-12-11'
   tags:
-  - traefik
-  - network
-  - volume
+    - traefik
+    - network
+    - volume
   next_steps: null
 schema: '1.2'
 spec:
@@ -52,10 +53,10 @@ spec:
       restart_policy:
         type: enum
         options:
-        - unless-stopped
-        - always
-        - on-failure
-        - 'no'
+          - unless-stopped
+          - always
+          - on-failure
+          - 'no'
         default: unless-stopped
         required: true
       initial_setup:
@@ -94,25 +95,25 @@ spec:
         type: str
         default: 192.168.1.253
         needs:
-        - network_mode=macvlan
+          - network_mode=macvlan
         required: true
       network_macvlan_parent_interface:
         type: str
         default: eth0
         needs:
-        - network_mode=macvlan
+          - network_mode=macvlan
         required: true
       network_macvlan_subnet:
         type: str
         default: 192.168.1.0/24
         needs:
-        - network_mode=macvlan
+          - network_mode=macvlan
         required: true
       network_macvlan_gateway:
         type: str
         default: 192.168.1.1
         needs:
-        - network_mode=macvlan
+          - network_mode=macvlan
         required: true
       network_external:
         type: bool
@@ -133,8 +134,8 @@ spec:
         type: int
         default: 3000
         needs:
-        - traefik_enabled=false
-        - initial_setup=true
+          - traefik_enabled=false
+          - initial_setup=true
         extra: 'Only used during first-time setup without Traefik. After configuration, port becomes inactive. With Traefik,
           access setup via container IP instead.
 
@@ -164,32 +165,32 @@ 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

+ 14 - 13
library/compose/authentik/template.yaml

@@ -1,3 +1,4 @@
+---
 kind: compose
 metadata:
   name: Authentik
@@ -44,8 +45,8 @@ metadata:
   author: Christian Lempa
   date: '2025-12-16'
   tags:
-  - traefik
-  - volume
+    - traefik
+    - volume
 schema: '1.2'
 spec:
   general:
@@ -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
   database:
@@ -135,34 +136,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
   email:
     vars:

+ 19 - 18
library/compose/bind9/template.yaml

@@ -1,3 +1,4 @@
+---
 kind: compose
 metadata:
   name: BIND9
@@ -16,8 +17,8 @@ metadata:
   author: Christian Lempa
   date: '2025-10-02'
   tags:
-  - network
-  - volume
+    - network
+    - volume
   icon:
     provider: selfh
     id: bind-9
@@ -46,7 +47,7 @@ spec:
         sensitive: true
         autogenerated: true
         needs:
-        - tsig_enabled=true
+          - tsig_enabled=true
   network:
     vars:
       network_name:
@@ -56,25 +57,25 @@ spec:
         type: str
         default: 192.168.1.253
         needs:
-        - network_mode=macvlan
+          - network_mode=macvlan
         required: true
       network_macvlan_parent_interface:
         type: str
         default: eth0
         needs:
-        - network_mode=macvlan
+          - network_mode=macvlan
         required: true
       network_macvlan_subnet:
         type: str
         default: 192.168.1.0/24
         needs:
-        - network_mode=macvlan
+          - network_mode=macvlan
         required: true
       network_macvlan_gateway:
         type: str
         default: 192.168.1.1
         needs:
-        - network_mode=macvlan
+          - network_mode=macvlan
         required: true
       network_external:
         type: bool
@@ -89,34 +90,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
   general:
     vars:
@@ -129,9 +130,9 @@ spec:
       restart_policy:
         type: enum
         options:
-        - unless-stopped
-        - always
-        - on-failure
-        - 'no'
+          - unless-stopped
+          - always
+          - on-failure
+          - 'no'
         default: unless-stopped
         required: true

+ 6 - 5
library/compose/checkmk/template.yaml

@@ -1,3 +1,4 @@
+---
 kind: compose
 metadata:
   icon:
@@ -32,7 +33,7 @@ metadata:
   author: Christian Lempa
   date: '2025-12-10'
   tags:
-  - traefik
+    - traefik
 schema: '1.2'
 spec:
   general:
@@ -50,10 +51,10 @@ spec:
       restart_policy:
         type: enum
         options:
-        - unless-stopped
-        - always
-        - on-failure
-        - 'no'
+          - unless-stopped
+          - always
+          - on-failure
+          - 'no'
         default: unless-stopped
         required: true
       cmk_password:

+ 6 - 5
library/compose/dockge/template.yaml

@@ -1,3 +1,4 @@
+---
 kind: compose
 metadata:
   icon:
@@ -19,7 +20,7 @@ metadata:
   author: Christian Lempa
   date: '2025-09-28'
   tags:
-  - traefik
+    - traefik
 schema: '1.2'
 spec:
   general:
@@ -31,10 +32,10 @@ spec:
       restart_policy:
         type: enum
         options:
-        - unless-stopped
-        - always
-        - on-failure
-        - 'no'
+          - unless-stopped
+          - always
+          - on-failure
+          - 'no'
         default: unless-stopped
         required: true
       stacks_path:

+ 11 - 10
library/compose/gitea/template.yaml

@@ -1,3 +1,4 @@
+---
 kind: compose
 metadata:
   name: Gitea
@@ -29,7 +30,7 @@ metadata:
   author: Christian Lempa
   date: '2025-12-19'
   tags:
-  - traefik
+    - traefik
 schema: '1.2'
 spec:
   general:
@@ -47,32 +48,32 @@ spec:
       restart_policy:
         type: enum
         options:
-        - unless-stopped
-        - always
-        - on-failure
-        - 'no'
+          - unless-stopped
+          - always
+          - on-failure
+          - 'no'
         default: unless-stopped
         required: true
       gitea_url:
         description: Public URL
         type: str
         needs:
-        - traefik_enabled=false
+          - traefik_enabled=false
         default: https://git.example.com
   database:
     vars:
       database_type:
         type: enum
         options:
-        - sqlite
-        - postgres
-        - mysql
+          - sqlite
+          - postgres
+          - mysql
         default: sqlite
         required: true
       database_host:
         type: str
         needs:
-        - database_external=true;database_type=postgres,mysql
+          - database_external=true;database_type=postgres,mysql
         required: true
       database_name:
         default: gitea

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

@@ -1,3 +1,4 @@
+---
 kind: compose
 metadata:
   name: Grafana
@@ -29,8 +30,8 @@ metadata:
   author: Christian Lempa
   date: '2025-12-16'
   tags:
-  - traefik
-  - authentik
+    - traefik
+    - authentik
 schema: '1.2'
 spec:
   general:
@@ -40,10 +41,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:
@@ -98,8 +99,8 @@ spec:
     vars:
       database_type:
         options:
-        - sqlite
-        - postgres
+          - sqlite
+          - postgres
       database_name:
         default: grafana
       database_user:

+ 15 - 14
library/compose/homer/template.yaml

@@ -1,3 +1,4 @@
+---
 kind: compose
 metadata:
   icon:
@@ -17,9 +18,9 @@ metadata:
   author: Christian Lempa
   date: '2025-12-11'
   tags:
-  - traefik
-  - swarm
-  - authentik
+    - traefik
+    - swarm
+    - authentik
   draft: true
   next_steps: "1. Start the Homer dashboard:\n   docker compose up -d\n\n2. Customize your dashboard:\n   - Edit assets/config.yml\
     \ to add your services\n   - Organize services into groups (Applications, Monitoring, etc.)\n   - Add links to the navbar\
@@ -45,10 +46,10 @@ spec:
       restart_policy:
         type: enum
         options:
-        - unless-stopped
-        - always
-        - on-failure
-        - 'no'
+          - unless-stopped
+          - always
+          - on-failure
+          - 'no'
         default: unless-stopped
         required: true
       homer_title:
@@ -108,7 +109,7 @@ spec:
         type: str
         default: 0.25
         needs:
-        - swarm_enabled=true
+          - swarm_enabled=true
         required: true
       resources_memory_limit:
         type: str
@@ -118,28 +119,28 @@ spec:
         type: str
         default: 512M
         needs:
-        - swarm_enabled=true
+          - swarm_enabled=true
         required: true
   swarm:
     vars:
       swarm_placement_mode:
         type: enum
         options:
-        - replicated
-        - global
+          - replicated
+          - global
         default: replicated
         required: true
       swarm_replicas:
         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
@@ -151,7 +152,7 @@ spec:
         type: str
         default: authentik-middleware@file
         needs:
-        - traefik_enabled=true
+          - traefik_enabled=true
         required: true
       authentik_client_id:
         type: str

+ 6 - 5
library/compose/influxdb/template.yaml

@@ -1,3 +1,4 @@
+---
 kind: compose
 metadata:
   icon:
@@ -29,7 +30,7 @@ metadata:
   author: Christian Lempa
   date: '2025-12-11'
   tags:
-  - traefik
+    - traefik
   draft: true
 schema: '1.2'
 spec:
@@ -89,10 +90,10 @@ spec:
       restart_policy:
         type: enum
         options:
-        - unless-stopped
-        - always
-        - on-failure
-        - 'no'
+          - unless-stopped
+          - always
+          - on-failure
+          - 'no'
         default: unless-stopped
         required: true
       influxdb_version:

+ 27 - 26
library/compose/komodo/template.yaml

@@ -1,3 +1,4 @@
+---
 kind: compose
 metadata:
   icon:
@@ -34,10 +35,10 @@ metadata:
   author: Christian Lempa
   date: '2025-11-13'
   tags:
-  - traefik
-  - swarm
-  - deployment
-  - automation
+    - traefik
+    - swarm
+    - deployment
+    - automation
   next_steps: '### 1. Prerequisites
 
     * Deploy MongoDB or FerretDB database
@@ -116,10 +117,10 @@ spec:
       restart_policy:
         type: enum
         options:
-        - unless-stopped
-        - always
-        - on-failure
-        - 'no'
+          - unless-stopped
+          - always
+          - on-failure
+          - 'no'
         default: unless-stopped
         required: true
   traefik:
@@ -156,25 +157,25 @@ spec:
         type: str
         default: 192.168.1.253
         needs:
-        - network_mode=macvlan
+          - network_mode=macvlan
         required: true
       network_macvlan_parent_interface:
         type: str
         default: eth0
         needs:
-        - network_mode=macvlan
+          - network_mode=macvlan
         required: true
       network_macvlan_subnet:
         type: str
         default: 192.168.1.0/24
         needs:
-        - network_mode=macvlan
+          - network_mode=macvlan
         required: true
       network_macvlan_gateway:
         type: str
         default: 192.168.1.1
         needs:
-        - network_mode=macvlan
+          - network_mode=macvlan
         required: true
       network_external:
         type: bool
@@ -191,8 +192,8 @@ spec:
         type: int
         default: 9120
         needs:
-        - traefik_enabled=false
-        - network_mode=bridge
+          - traefik_enabled=false
+          - network_mode=bridge
   volume:
     vars:
       volume_mount_path:
@@ -201,26 +202,26 @@ spec:
         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
       volume_mode:
         type: enum
         options:
-        - local
-        - mount
-        - nfs
+          - local
+          - mount
+          - nfs
         default: local
         description: The volume mode
   resources:
@@ -236,7 +237,7 @@ spec:
         type: str
         default: 0.25
         needs:
-        - swarm_enabled=true
+          - swarm_enabled=true
         required: true
       resources_memory_limit:
         type: str
@@ -246,7 +247,7 @@ spec:
         type: str
         default: 512M
         needs:
-        - swarm_enabled=true
+          - swarm_enabled=true
         required: true
   environment:
     title: Environment Variables
@@ -289,10 +290,10 @@ spec:
         type: enum
         default: info
         options:
-        - debug
-        - info
-        - warn
-        - error
+          - debug
+          - info
+          - warn
+          - error
         description: Log level
         needs: environment_enabled=true
   swarm:

+ 19 - 18
library/compose/n8n/template.yaml

@@ -1,3 +1,4 @@
+---
 kind: compose
 metadata:
   icon:
@@ -43,8 +44,8 @@ metadata:
   author: Christian Lempa
   date: '2025-12-17'
   tags:
-  - traefik
-  - database
+    - traefik
+    - database
   draft: true
 schema: '1.2'
 spec:
@@ -61,17 +62,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
   queue:
@@ -118,8 +119,8 @@ spec:
         type: enum
         description: Database type
         options:
-        - postgres
-        - mysql
+          - postgres
+          - mysql
         default: postgres
         needs: database_enabled
       database_host:
@@ -194,15 +195,15 @@ spec:
         type: enum
         description: Save execution data on error
         options:
-        - all
-        - none
+          - all
+          - none
         default: all
       execution_save_on_success:
         type: enum
         description: Save execution data on success
         options:
-        - all
-        - none
+          - all
+          - none
         default: none
         extra: Set to 'none' to reduce database size
   network:
@@ -248,8 +249,8 @@ spec:
         type: int
         default: 5678
         needs:
-        - traefik_enabled=false
-        - network_mode=bridge
+          - traefik_enabled=false
+          - network_mode=bridge
   swarm:
     vars:
       swarm_enabled:

+ 10 - 9
library/compose/nginx/template.yaml

@@ -1,3 +1,4 @@
+---
 kind: compose
 metadata:
   icon:
@@ -21,8 +22,8 @@ metadata:
   author: Christian Lempa
   date: '2025-12-24'
   tags:
-  - traefik
-  - swarm
+    - traefik
+    - swarm
   draft: true
 schema: '1.2'
 spec:
@@ -33,10 +34,10 @@ spec:
       restart_policy:
         type: enum
         options:
-        - unless-stopped
-        - always
-        - on-failure
-        - 'no'
+          - unless-stopped
+          - always
+          - on-failure
+          - 'no'
         default: unless-stopped
       container_name:
         default: nginx
@@ -77,9 +78,9 @@ spec:
       network_mode:
         type: enum
         options:
-        - bridge
-        - host
-        - macvlan
+          - bridge
+          - host
+          - macvlan
         default: bridge
       network_name:
         default: bridge

+ 27 - 26
library/compose/pangolin/template.yaml

@@ -1,3 +1,4 @@
+---
 kind: compose
 metadata:
   icon:
@@ -25,10 +26,10 @@ metadata:
   author: Christian Lempa
   date: '2025-11-13'
   tags:
-  - traefik
-  - swarm
-  - proxy
-  - wireguard
+    - traefik
+    - swarm
+    - proxy
+    - wireguard
   draft: true
   next_steps: '### 1. Configure Database
 
@@ -100,10 +101,10 @@ spec:
       restart_policy:
         type: enum
         options:
-        - unless-stopped
-        - always
-        - on-failure
-        - 'no'
+          - unless-stopped
+          - always
+          - on-failure
+          - 'no'
         default: unless-stopped
         required: true
   traefik:
@@ -140,25 +141,25 @@ spec:
         type: str
         default: 192.168.1.253
         needs:
-        - network_mode=macvlan
+          - network_mode=macvlan
         required: true
       network_macvlan_parent_interface:
         type: str
         default: eth0
         needs:
-        - network_mode=macvlan
+          - network_mode=macvlan
         required: true
       network_macvlan_subnet:
         type: str
         default: 192.168.1.0/24
         needs:
-        - network_mode=macvlan
+          - network_mode=macvlan
         required: true
       network_macvlan_gateway:
         type: str
         default: 192.168.1.1
         needs:
-        - network_mode=macvlan
+          - network_mode=macvlan
         required: true
       network_external:
         type: bool
@@ -175,8 +176,8 @@ spec:
         type: int
         default: 8080
         needs:
-        - traefik_enabled=false
-        - network_mode=bridge
+          - traefik_enabled=false
+          - network_mode=bridge
   volume:
     vars:
       volume_mount_path:
@@ -185,26 +186,26 @@ spec:
         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
       volume_mode:
         type: enum
         options:
-        - local
-        - mount
-        - nfs
+          - local
+          - mount
+          - nfs
         default: local
         description: The volume mode
   resources:
@@ -220,7 +221,7 @@ spec:
         type: str
         default: 0.25
         needs:
-        - swarm_enabled=true
+          - swarm_enabled=true
         required: true
       resources_memory_limit:
         type: str
@@ -230,7 +231,7 @@ spec:
         type: str
         default: 512M
         needs:
-        - swarm_enabled=true
+          - swarm_enabled=true
         required: true
   postgres:
     title: PostgreSQL Configuration
@@ -264,10 +265,10 @@ spec:
         type: enum
         default: info
         options:
-        - debug
-        - info
-        - warn
-        - error
+          - debug
+          - info
+          - warn
+          - error
         description: Log level
         needs: environment_enabled=true
   swarm:

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

@@ -1,3 +1,4 @@
+---
 kind: compose
 metadata:
   icon:
@@ -29,10 +30,10 @@ metadata:
   author: Christian Lempa
   date: '2025-12-11'
   tags:
-  - traefik
-  - swarm
-  - network
-  - volume
+    - traefik
+    - swarm
+    - network
+    - volume
   next_steps: 'Log in with your initial admin user:
 
     ```bash
@@ -63,10 +64,10 @@ spec:
       restart_policy:
         type: enum
         options:
-        - unless-stopped
-        - always
-        - on-failure
-        - 'no'
+          - unless-stopped
+          - always
+          - on-failure
+          - 'no'
         default: unless-stopped
         required: true
   admin_settings:
@@ -136,25 +137,25 @@ spec:
         type: str
         default: 192.168.1.253
         needs:
-        - network_mode=macvlan
+          - network_mode=macvlan
         required: true
       network_macvlan_parent_interface:
         type: str
         default: eth0
         needs:
-        - network_mode=macvlan
+          - network_mode=macvlan
         required: true
       network_macvlan_subnet:
         type: str
         default: 192.168.1.0/24
         needs:
-        - network_mode=macvlan
+          - network_mode=macvlan
         required: true
       network_macvlan_gateway:
         type: str
         default: 192.168.1.1
         needs:
-        - network_mode=macvlan
+          - network_mode=macvlan
         required: true
       network_external:
         type: bool
@@ -183,32 +184,32 @@ 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

+ 15 - 14
library/compose/portainer/template.yaml

@@ -1,3 +1,4 @@
+---
 kind: compose
 metadata:
   icon:
@@ -21,9 +22,9 @@ metadata:
   author: Christian Lempa
   date: '2025-12-12'
   tags:
-  - traefik
-  - swarm
-  - volumes
+    - traefik
+    - swarm
+    - volumes
 schema: '1.2'
 spec:
   general:
@@ -35,10 +36,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:
@@ -83,34 +84,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:

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

@@ -1,3 +1,4 @@
+---
 kind: compose
 metadata:
   icon:
@@ -19,7 +20,7 @@ metadata:
   author: Christian Lempa
   date: '2025-12-11'
   tags:
-  - swarm
+    - swarm
   draft: true
 schema: '1.2'
 spec:
@@ -36,10 +37,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:
@@ -89,9 +90,9 @@ spec:
         type: str
         default: local
         options:
-        - local
-        - mount
-        - nfs
+          - local
+          - mount
+          - nfs
       volume_mount_path:
         description: Path for bind mounts when volume_mode is 'mount'
         type: str

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

@@ -1,3 +1,4 @@
+---
 kind: compose
 metadata:
   icon:
@@ -32,9 +33,9 @@ metadata:
   author: Christian Lempa
   date: '2025-12-16'
   tags:
-  - traefik
-  - swarm
-  - authentik
+    - traefik
+    - swarm
+    - authentik
   next_steps: "{% if swarm_enabled -%}\n1. Deploy to Docker Swarm:\n   docker stack deploy -c compose.yaml {{ service_name\
     \ }}\n2. Access Prometheus:\n   {%- if traefik_enabled %} https://{{ traefik_host }}\n   {%- else %} http://<swarm-node-ip>:{{\
     \ ports_http }}{%- endif %}\n{% else -%}\n1. Start Prometheus with Docker Compose:\n   docker compose up -d\n2. Access\
@@ -50,10 +51,10 @@ spec:
       restart_policy:
         type: enum
         options:
-        - unless-stopped
-        - always
-        - on-failure
-        - 'no'
+          - unless-stopped
+          - always
+          - on-failure
+          - 'no'
         default: unless-stopped
         required: true
   metrics:

+ 39 - 38
library/compose/traefik/template.yaml

@@ -1,3 +1,4 @@
+---
 kind: compose
 metadata:
   name: Traefik
@@ -16,8 +17,8 @@ metadata:
   author: Christian Lempa
   date: '2025-12-17'
   tags:
-  - swarm
-  - volume
+    - swarm
+    - volume
   icon:
     provider: simpleicons
     id: traefikproxy
@@ -41,17 +42,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:
@@ -62,7 +63,7 @@ spec:
         default: 8080
         required: true
         needs:
-        - dashboard_enabled=true
+          - dashboard_enabled=true
         extra: Only used when dashboard is enabled
       ports_http:
         default: 80
@@ -110,57 +111,57 @@ spec:
         default: us-east-1
         required: true
         needs:
-        - traefik_tls_certresolver=route53
+          - traefik_tls_certresolver=route53
       traefik_tls_acme_resource_group:
         description: Azure Resource Group
         type: str
         required: true
         needs:
-        - traefik_tls_certresolver=azure
+          - traefik_tls_certresolver=azure
       traefik_tls_acme_secret_key:
         description: DNS provider secret key
         type: str
         sensitive: true
         required: true
         needs:
-        - traefik_tls_certresolver=azure,godaddy,porkbun,route53
+          - traefik_tls_certresolver=azure,godaddy,porkbun,route53
         extra: AZURE_CLIENT_SECRET, GODADDY_API_SECRET, PORKBUN_SECRET_API_KEY, or AWS_SECRET_ACCESS_KEY
       traefik_tls_acme_subscription_id:
         description: Azure Subscription ID
         type: str
         required: true
         needs:
-        - traefik_tls_certresolver=azure
+          - traefik_tls_certresolver=azure
       traefik_tls_acme_tenant_id:
         description: Azure Tenant ID
         type: str
         required: true
         needs:
-        - traefik_tls_certresolver=azure
+          - traefik_tls_certresolver=azure
       traefik_tls_acme_token:
         description: DNS provider API token
         type: str
         sensitive: true
         required: true
         needs:
-        - traefik_tls_certresolver=cloudflare,digitalocean,godaddy,namecheap,porkbun
+          - traefik_tls_certresolver=cloudflare,digitalocean,godaddy,namecheap,porkbun
         extra: CF_DNS_API_TOKEN, DO_AUTH_TOKEN, GODADDY_API_KEY, NAMECHEAP_API_KEY, or PORKBUN_API_KEY
       traefik_tls_acme_username:
         description: Namecheap API username
         type: str
         required: true
         needs:
-        - traefik_tls_certresolver=namecheap
+          - traefik_tls_certresolver=namecheap
       traefik_tls_certresolver:
         description: ACME DNS challenge provider
         options:
-        - cloudflare
-        - porkbun
-        - godaddy
-        - digitalocean
-        - route53
-        - azure
-        - namecheap
+          - cloudflare
+          - porkbun
+          - godaddy
+          - digitalocean
+          - route53
+          - azure
+          - namecheap
         extra: DNS provider for domain validation
       traefik_tls_enabled:
         description: Enable HTTPS/TLS with ACME
@@ -169,8 +170,8 @@ spec:
         description: Minimum TLS version
         type: enum
         options:
-        - VersionTLS12
-        - VersionTLS13
+          - VersionTLS12
+          - VersionTLS13
         extra: TLS 1.2 is recommended for compatibility, TLS 1.3 for maximum security
       traefik_tls_redirect:
         description: Redirect all HTTP traffic to HTTPS
@@ -189,56 +190,56 @@ 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:
       swarm_placement_mode:
         type: enum
         options:
-        - replicated
-        - global
+          - replicated
+          - global
         default: replicated
         required: true
       swarm_replicas:
         type: int
         default: 1
         needs:
-        - swarm_placement_mode=replicated
+          - swarm_placement_mode=replicated
         required: true
       swarm_placement_host:
         type: str
         description: Target hostname for placement constraint
         default: ''
         needs:
-        - swarm_placement_mode=replicated
+          - swarm_placement_mode=replicated
         extra: Constrains service to run on specific node by hostname
       swarm_enabled:
         type: bool

+ 9 - 8
library/compose/twingate-connector/template.yaml

@@ -1,3 +1,4 @@
+---
 kind: compose
 metadata:
   icon:
@@ -21,7 +22,7 @@ metadata:
   author: Christian Lempa
   date: '2025-11-11'
   tags:
-  - swarm
+    - swarm
   draft: true
 schema: '1.2'
 spec:
@@ -38,10 +39,10 @@ spec:
       restart_policy:
         type: enum
         options:
-        - unless-stopped
-        - always
-        - on-failure
-        - 'no'
+          - unless-stopped
+          - always
+          - on-failure
+          - 'no'
         default: unless-stopped
         required: true
       twingate_version:
@@ -77,7 +78,7 @@ spec:
         type: str
         default: 0.25
         needs:
-        - swarm_enabled=true
+          - swarm_enabled=true
         required: true
       resources_memory_limit:
         type: str
@@ -87,7 +88,7 @@ spec:
         type: str
         default: 512M
         needs:
-        - swarm_enabled=true
+          - swarm_enabled=true
         required: true
   swarm:
     vars:
@@ -95,7 +96,7 @@ spec:
         type: int
         default: 1
         needs:
-        - swarm_placement_mode=replicated
+          - swarm_placement_mode=replicated
         required: true
       swarm_placement_host:
         type: str

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

@@ -84,8 +84,6 @@ spec:
         description: Use only recursive nameservers for DNS01 challenges
         type: bool
         default: true
-  general:
-    vars:
       namespace:
         type: str
         default: cert-manager

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

@@ -81,8 +81,6 @@ spec:
       backup_target:
         description: Backup target URL (e.g., s3://bucket or nfs://server/path)
         type: str
-  general:
-    vars:
       namespace:
         type: str
         default: longhorn-system

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

@@ -88,8 +88,6 @@ spec:
         description: TLS secret name for dashboard
         type: str
         default: traefik-dashboard-tls
-  general:
-    vars:
       release_name:
         type: str
         default: traefik

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

@@ -95,7 +95,6 @@ spec:
         type: str
         description: TLS certificate resolver
         default: letsencrypt-prod
-        default: TCP
       app_selector:
         type: str
         description: App label selector (e.g., app.kubernetes.io/name value)