Files
stack/infra/traefik/plugins/src/github.com/packruler/rewrite-body/.golangci.yaml
kert 8bd649d9ab feat: skinny packages, tree reorg, cloud abstraction (refs #182–#201)
P23 — Skinny Packages:
- Break conf→bib circular dependency with lazy guarded import
- Extract aco.table.base → conf.table_base (shared foundation)
- Add try/except ImportError guards on all cross-module imports
- Define per-module optional-dependencies in pyproject.toml
- Slim base deps to just pydantic; all heavy deps in optional groups
- Add gen_config.py --check validation for module/dep sync
- Add skinny-install CI matrix job (tests each extra in isolation)

P24 — Tree Reorganization:
- Move service configs to infra/ (traefik, coredns, grafana, etc.)
- Consolidate Dockerfiles under infra/images/
- Move styles/ → assets/css/ + assets/icons/ + assets/nature.py
- Update compose.yml, stack.toml, gen_config.py, all backend emitters
- Update bootstrap scripts and install_certs.sh

P25 — Cloud Provider Abstraction:
- Add cloud/ directory with self-hosted, aws, gcp, azure stubs
- Add cloud contexts (aws, gcp, azure) to stack.toml
- Add conf/storage.py — get_filesystem() dispatches per context
- Add aws, gcp, azure optional dependency groups
- Document service mapping for each provider

All 11955 tests pass. Zero functionality lost.
2026-03-24 15:00:26 -04:00

74 lines
1.8 KiB
YAML

run:
timeout: 3m
skip-files: []
skip-dirs: []
linters-settings:
govet:
check-shadowing: false
golint:
min-confidence: 0
gocyclo:
min-complexity: 12
maligned:
suggest-new: true
goconst:
min-len: 3
min-occurrences: 4
misspell:
locale: US
funlen:
lines: 60
statements: 40
ireturn:
# ireturn allows using `allow` and `reject` settings at the same time.
# Both settings are lists of the keywords and regular expressions matched to interface or package names.
# keywords:
# - `empty` for `interface{}`
# - `error` for errors
# - `stdlib` for standard library
# - `anon` for anonymous interfaces
# By default, it allows using errors, empty interfaces, anonymous interfaces,
# and interfaces provided by the standard library.
allow:
- anon
- error
- empty
- stdlib
# You can specify idiomatic endings for interface
- (or|er)$
- github.com/packruler/rewrite-body/logger.LogWriter
linters:
enable-all: true
disable:
- scopelint
- golint
- interfacer
- maligned
- bodyclose
- goerr113
- wrapcheck
- maligned
- exhaustivestruct
- testpackage
- paralleltest
- tparallel
issues:
exclude-use-default: false
max-per-linter: 0
max-same-issues: 0
exclude:
- don't use an underscore in package name
- "ST1003: should not use underscores in package names"
- "SA1019: http.CloseNotifier has been deprecated since Go 1.11 and an alternative has been available since Go 1.7: the CloseNotifier interface predates Go's context package. New code should use Request.Context instead."
exclude-rules:
- path: (.+)_test.go
linters:
- goconst
- funlen
- godot
- lll
- path: config.go
linters:
- lll