Parcourir la source

chore(deps): update dependency pyyaml to v6.0.3 (#1335)

* fix(alloy): Add rootfs_path configuration to prometheus.exporter.unix (#1327)

The Alloy boilerplate mounts the host root filesystem at /:/rootfs:ro,
but the prometheus.exporter.unix component was using the default
rootfs_path of '/', causing it to read the container's filesystem
instead of the host's.

This fix adds rootfs_path = "/rootfs" to ensure filesystem metrics
(especially Used Root FS stat) report correctly for the host system.

Fixes #1326

* chore(deps): update n8nio/n8n docker tag to v1.115.2 (#1324)

* chore(deps): update n8nio/n8n docker tag to v1.115.2

* chore: sync template versions with image updates

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* chore(deps): update docker.io/grafana/loki docker tag to v3.5.6 (#1322)

* chore(deps): update docker.io/grafana/loki docker tag to v3.5.6

* chore: sync template versions with image updates

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* chore(deps): update ghcr.io/home-assistant/home-assistant docker tag to v2025.10.2 (#1325)

* chore(deps): update ghcr.io/home-assistant/home-assistant docker tag to v2025.10.2

* chore: sync template versions with image updates

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* chore(deps): update docker.io/semaphoreui/semaphore docker tag to v2.16.34 (#1323)

* chore(deps): update docker.io/semaphoreui/semaphore docker tag to v2.16.34

* chore: sync template versions with image updates

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* chore(deps): update grafana/alloy docker tag to v1.11.1 (#1320)

* chore(deps): update grafana/alloy docker tag to v1.11.1

* chore: sync template versions with image updates

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* chore(deps): update n8nio/n8n docker tag to v1.116.0 (#1330)

* chore(deps): update n8nio/n8n docker tag to v1.116.0

* chore: sync template versions with image updates

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* chore(deps): update docker.io/grafana/loki docker tag to v3.5.7 (#1329)

* chore(deps): update docker.io/grafana/loki docker tag to v3.5.7

* chore: sync template versions with image updates

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* chore(deps): update grafana/alloy docker tag to v1.11.2 (#1328)

* chore(deps): update grafana/alloy docker tag to v1.11.2

* chore: sync template versions with image updates

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix: Python 3.9 compatibility and dependency pinning (v0.0.6)

Fixes #1332 - Remove Context type annotations for Python 3.9 compatibility

- Remove Context type annotations causing RuntimeError on Python 3.9
- Use click.get_current_context() for runtime context access
- Pin all dependencies to specific tested versions
- Add tests directory to gitignore

Tested on Python 3.9.2 with Typer 0.12.5 and 0.19.2

* chore(deps): update dependency pyyaml to v6.0.3

---------

Co-authored-by: Christian Lempa <christian.lempa@clcreative.de>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
renovate[bot] il y a 6 mois
Parent
commit
1777802576

+ 4 - 1
cli/__main__.py

@@ -58,7 +58,6 @@ def setup_logging(log_level: str = "WARNING") -> None:
 
 @app.callback(invoke_without_command=True)
 def main(
-  ctx: Context,
   version: Optional[bool] = Option(
     None,
     "--version",
@@ -84,6 +83,10 @@ def main(
     # Silence all logging (including third-party) unless user explicitly requests it
     logging.disable(logging.CRITICAL)
   
+  # Get context without type annotation (compatible with all Typer versions)
+  import click
+  ctx = click.get_current_context()
+  
   # Store log level in context for potential use by other commands
   ctx.ensure_object(dict)
   ctx.obj['log_level'] = log_level

+ 11 - 4
cli/core/module.py

@@ -224,17 +224,25 @@ class Module(ABC):
       if successful:
         logger.debug(f"Applied config defaults for: {', '.join(successful)}")
 
-  def _apply_cli_overrides(self, template: Template, var: Optional[List[str]], ctx: Context) -> None:
+  def _apply_cli_overrides(self, template: Template, var: Optional[List[str]], ctx=None) -> None:
     """Apply CLI variable overrides to template.
     
     Args:
         template: Template instance to apply overrides to
         var: List of variable override strings from --var flags
-        ctx: Typer context containing extra args
+        ctx: Context object containing extra args (optional, will get current context if None)
     """
     if not template.variables:
       return
     
+    # Get context if not provided (compatible with all Typer versions)
+    if ctx is None:
+      import click
+      try:
+        ctx = click.get_current_context()
+      except RuntimeError:
+        ctx = None
+    
     extra_args = list(ctx.args) if ctx and hasattr(ctx, "args") else []
     cli_overrides = parse_var_inputs(var or [], extra_args)
     
@@ -488,7 +496,6 @@ class Module(ABC):
     dry_run: bool = Option(False, "--dry-run", help="Preview template generation without writing files"),
     show_files: bool = Option(False, "--show-files", help="Display generated file contents in plain text (use with --dry-run)"),
     quiet: bool = Option(False, "--quiet", "-q", help="Suppress all non-error output"),
-    ctx: Context = None,
   ) -> None:
     """Generate from template.
     
@@ -523,7 +530,7 @@ class Module(ABC):
 
     # Apply defaults and overrides
     self._apply_variable_defaults(template)
-    self._apply_cli_overrides(template, var, ctx)
+    self._apply_cli_overrides(template, var)
     
     # Re-sort sections after all overrides (toggle values may have changed)
     if template.variables:

+ 1 - 1
library/compose/alloy/compose.yaml.j2

@@ -1,6 +1,6 @@
 services:
   {{ service_name | default("alloy") }}:
-    image: grafana/alloy:v1.11.0
+    image: grafana/alloy:v1.11.2
     container_name: {{ container_name | default("alloy") }}
     hostname: {{ container_hostname }}
     command:

+ 1 - 0
library/compose/alloy/config/config.alloy.j2

@@ -145,6 +145,7 @@ discovery.relabel "metrics" {
 prometheus.exporter.unix "metrics" {
   disable_collectors = ["ipvs", "btrfs", "infiniband", "xfs", "zfs"]
   enable_collectors = ["meminfo"]
+  rootfs_path = "/rootfs"
   filesystem {
     fs_types_exclude     = "^(autofs|binfmt_misc|bpf|cgroup2?|configfs|debugfs|devpts|devtmpfs|tmpfs|fusectl|hugetlbfs|iso9660|mqueue|nsfs|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|selinuxfs|squashfs|sysfs|tracefs)$"
     mount_points_exclude = "^/(dev|proc|run/credentials/.+|sys|var/lib/docker/.+)($|/)"

+ 2 - 2
library/compose/alloy/template.yaml

@@ -14,9 +14,9 @@ metadata:
     Source: https://github.com/grafana/alloy
 
     Documentation: https://grafana.com/docs/alloy/latest/
-  version: v1.11.0
+  version: v1.11.2
   author: Christian Lempa
-  date: '2025-10-07'
+  date: '2025-10-13'
   tags:
     - monitoring
     - grafana

+ 1 - 1
library/compose/homeassistant/compose.yaml.j2

@@ -1,7 +1,7 @@
 services:
   homeassistant:
     container_name: homeassistant
-    image: ghcr.io/home-assistant/home-assistant:2025.9.4
+    image: ghcr.io/home-assistant/home-assistant:2025.10.2
     volumes:
       - ./config:/config
       - /etc/localtime:/etc/localtime:ro

+ 2 - 2
library/compose/homeassistant/template.yaml

@@ -10,9 +10,9 @@ metadata:
     Project: https://www.home-assistant.io/
 
     Documentation: https://www.home-assistant.io/docs/
-  version: 2025.8.3
+  version: 2025.10.2
   author: Christian Lempa
-  date: '2025-09-28'
+  date: '2025-10-11'
   tags:
     - home-automation
     - iot

+ 1 - 1
library/compose/loki/compose.yaml.j2

@@ -1,7 +1,7 @@
 services:
   loki:
     container_name: loki
-    image: docker.io/grafana/loki:3.5.5
+    image: docker.io/grafana/loki:3.5.7
     command: "-config.file=/etc/loki/config.yaml"
     ports:
       # --> (Optional) Remove when using traefik...

+ 2 - 2
library/compose/loki/template.yaml

@@ -12,9 +12,9 @@ metadata:
     Documentation: https://grafana.com/docs/loki/latest/
 
     GitHub: https://github.com/grafana/loki
-  version: 3.5.3
+  version: 3.5.7
   author: Christian Lempa
-  date: '2025-09-28'
+  date: '2025-10-13'
   tags:
     - grafana
     - monitoring

+ 1 - 1
library/compose/n8n/compose.yaml.j2

@@ -1,6 +1,6 @@
 services:
   {{ service_name | default('n8n') }}:
-    image: n8nio/n8n:1.115.1
+    image: n8nio/n8n:1.116.0
     container_name: {{ container_name | default('n8n') }}
     environment:
       - N8N_LOG_LEVEL={{ container_loglevel | default('info') }}

+ 2 - 2
library/compose/n8n/template.yaml

@@ -14,9 +14,9 @@ metadata:
     Documentation: https://docs.n8n.io/
 
     GitHub: https://github.com/n8n-io/n8n
-  version: 1.115.1
+  version: 1.116.0
   author: Christian Lempa
-  date: '2025-10-08'
+  date: '2025-10-13'
   tags:
     - automation
   draft: true

+ 1 - 1
library/compose/semaphoreui/compose.yaml.j2

@@ -1,6 +1,6 @@
 services:
   {{ service_name }}:
-    image: docker.io/semaphoreui/semaphore:v2.16.18
+    image: docker.io/semaphoreui/semaphore:v2.16.34
     container_name: {{ container_name }}
     user: "{{ user_uid }}:{{ user_gid }}"
     env_file:

+ 2 - 2
library/compose/semaphoreui/template.yaml

@@ -14,9 +14,9 @@ metadata:
     Documentation: https://docs.semaphoreui.com/
 
     GitHub: https://github.com/semaphoreui/semaphore
-  version: 2.16.18
+  version: v2.16.34
   author: Christian Lempa
-  date: '2025-10-02'
+  date: '2025-10-10'
   tags:
     - automation
     - ansible

+ 5 - 5
requirements.txt

@@ -1,5 +1,5 @@
-typer[all]>=0.9.0
-rich>=13.0.0
-PyYAML>=6.0
-python-frontmatter>=1.0.0
-Jinja2>=3.0
+typer==0.19.2
+rich==14.1.0
+PyYAML==6.0.3
+python-frontmatter==1.1.0
+Jinja2==3.1.6