Release gohoarder 0.1.148

This commit is contained in:
github-actions[bot]
2026-07-10 08:54:28 +00:00
parent 42366e6d36
commit 2d4ed45f91
5 changed files with 172 additions and 7 deletions
+2 -2
View File
@@ -2,8 +2,8 @@ apiVersion: v2
name: gohoarder
description: A universal package cache proxy supporting npm, PyPI, and Go modules with security scanning
type: application
version: 0.1.147
appVersion: "0.1.147"
version: 0.1.148
appVersion: "0.1.148"
keywords:
- package-manager
- cache
@@ -0,0 +1,129 @@
{{- if and .Values.ingress.enabled (eq .Values.ingress.className "traefik") -}}
---
# Traefik IngressRoute for package registry paths
# This handles package downloads including scoped packages with encoded slashes
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: {{ include "gohoarder.fullname" . }}-packages
labels:
{{- include "gohoarder.labels" . | nindent 4 }}
spec:
entryPoints:
- websecure
routes:
# Package registry routes with high priority
# PathPrefix matching to avoid Go's encoded slash rejection in regex
- match: Host(`{{ .Values.ingress.host | default (printf "%s.%s" "gohoarder" .Values.global.domain) }}`) && PathPrefix(`/npm/`)
kind: Rule
priority: 100
services:
- name: {{ include "gohoarder.fullname" . }}-frontend
port: {{ .Values.frontend.service.port }}
middlewares:
- name: {{ include "gohoarder.fullname" . }}-strip-encoded-slash
namespace: {{ .Release.Namespace }}
{{- if .Values.ingress.traefik }}
{{- if .Values.ingress.traefik.middlewares }}
{{- range .Values.ingress.traefik.middlewares }}
- name: {{ . }}
namespace: traefik
{{- end }}
{{- end }}
{{- end }}
- match: Host(`{{ .Values.ingress.host | default (printf "%s.%s" "gohoarder" .Values.global.domain) }}`) && PathPrefix(`/pypi/`)
kind: Rule
priority: 100
services:
- name: {{ include "gohoarder.fullname" . }}-frontend
port: {{ .Values.frontend.service.port }}
middlewares:
- name: {{ include "gohoarder.fullname" . }}-strip-encoded-slash
namespace: {{ .Release.Namespace }}
{{- if .Values.ingress.traefik }}
{{- if .Values.ingress.traefik.middlewares }}
{{- range .Values.ingress.traefik.middlewares }}
- name: {{ . }}
namespace: traefik
{{- end }}
{{- end }}
{{- end }}
- match: Host(`{{ .Values.ingress.host | default (printf "%s.%s" "gohoarder" .Values.global.domain) }}`) && PathPrefix(`/go/`)
kind: Rule
priority: 100
services:
- name: {{ include "gohoarder.fullname" . }}-frontend
port: {{ .Values.frontend.service.port }}
middlewares:
- name: {{ include "gohoarder.fullname" . }}-strip-encoded-slash
namespace: {{ .Release.Namespace }}
{{- if .Values.ingress.traefik }}
{{- if .Values.ingress.traefik.middlewares }}
{{- range .Values.ingress.traefik.middlewares }}
- name: {{ . }}
namespace: traefik
{{- end }}
{{- end }}
{{- end }}
# All other routes (frontend, API, etc.) with lower priority
- match: Host(`{{ .Values.ingress.host | default (printf "%s.%s" "gohoarder" .Values.global.domain) }}`)
kind: Rule
priority: 50
services:
- name: {{ include "gohoarder.fullname" . }}-frontend
port: {{ .Values.frontend.service.port }}
{{- if .Values.ingress.traefik }}
{{- if .Values.ingress.traefik.middlewares }}
middlewares:
{{- range .Values.ingress.traefik.middlewares }}
- name: {{ . }}
namespace: traefik
{{- end }}
{{- end }}
{{- end }}
{{- if .Values.ingress.tls.enabled }}
tls:
secretName: {{ .Values.ingress.tls.secretName }}
{{- end }}
---
# Middleware to handle encoded slashes in package paths
# Note: This middleware attempts to work around Traefik's encoded slash limitation
# but may not fully resolve the issue due to Go stdlib constraints
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
name: {{ include "gohoarder.fullname" . }}-strip-encoded-slash
labels:
{{- include "gohoarder.labels" . | nindent 4 }}
spec:
# Use headers to pass original path information
# The backend can reconstruct the original URL from these headers
headers:
customRequestHeaders:
X-Original-URI: "{{ .Request.URL.Path }}"
X-Forwarded-Path: "{{ .Request.URL.Path }}"
---
# ServersTransport configuration for backend communication
# This ensures the backend connection doesn't have additional restrictions
apiVersion: traefik.io/v1alpha1
kind: ServersTransport
metadata:
name: {{ include "gohoarder.fullname" . }}-transport
labels:
{{- include "gohoarder.labels" . | nindent 4 }}
spec:
insecureSkipVerify: false
{{- if .Values.ingress.traefik }}
{{- if .Values.ingress.traefik.transport }}
{{- with .Values.ingress.traefik.transport }}
serverName: {{ .serverName | default "" }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}
+14 -4
View File
@@ -51,17 +51,17 @@ image:
server:
repository: ghcr.io/lukaszraczylo/gohoarder-server
pullPolicy: IfNotPresent
tag: "0.1.147"
tag: "0.1.148"
frontend:
repository: ghcr.io/lukaszraczylo/gohoarder-frontend
pullPolicy: IfNotPresent
tag: "0.1.147"
tag: "0.1.148"
scanner:
repository: ghcr.io/lukaszraczylo/gohoarder-scanner
pullPolicy: IfNotPresent
tag: "0.1.147"
tag: "0.1.148"
# Service Account
serviceAccount:
@@ -358,7 +358,7 @@ migration:
image:
repository: ghcr.io/lukaszraczylo/gohoarder-migrate
pullPolicy: IfNotPresent
tag: "0.1.147"
tag: "0.1.148"
# Migration settings
logLevel: "info" # debug, info, warn, error
@@ -514,6 +514,16 @@ ingress:
enabled: false
secretName: "gohoarder-tls"
# Traefik-specific configuration (when className: "traefik")
# Used by IngressRoute template for advanced routing
traefik:
# Middleware references (from traefik namespace)
# Example: ["default-chain", "rate-limit"]
middlewares: []
# ServersTransport configuration
transport:
serverName: ""
# Autoscaling configuration
autoscaling:
enabled: false
Binary file not shown.
+27 -1
View File
@@ -1,6 +1,32 @@
apiVersion: v1
entries:
gohoarder:
- apiVersion: v2
appVersion: 0.1.148
created: "2026-07-10T08:54:28.084273377Z"
description: A universal package cache proxy supporting npm, PyPI, and Go modules
with security scanning
digest: 1368b6557f75474bc13b1ef9777fab7f04f1cf98ef31e4594183cc5f0241dc5a
home: https://github.com/lukaszraczylo/gohoarder
keywords:
- package-manager
- cache
- proxy
- npm
- pypi
- go-modules
- security
- vulnerability-scanning
maintainers:
- email: [email protected]
name: Lukasz Raczylo
name: gohoarder
sources:
- https://github.com/lukaszraczylo/gohoarder
type: application
urls:
- https://github.com/lukaszraczylo/helm-charts/releases/download/gohoarder-0.1.148/gohoarder-0.1.148.tgz
version: 0.1.148
- apiVersion: v2
appVersion: 0.1.147
created: "2026-07-09T04:40:57.513151076Z"
@@ -5268,4 +5294,4 @@ entries:
urls:
- https://github.com/lukaszraczylo/helm-charts/releases/download/kubemirror-0.2.8/kubemirror-0.2.8.tgz
version: 0.2.8
generated: "2026-07-09T04:40:57.511571176Z"
generated: "2026-07-10T08:54:28.083002086Z"