Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 0 additions & 26 deletions .github/workflows/alb-soak.yml

This file was deleted.

2 changes: 2 additions & 0 deletions .github/workflows/ci-build-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
- uses: actions/setup-go@v6
with:
go-version-file: go.mod
Expand Down
2 changes: 1 addition & 1 deletion .golangci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,9 @@ linters:
- mirror
- importas
- perfsprint
- goconst
disable:
- errcheck
- goconst # disable due to spate of findings unrelated to the PR coming through
settings:
dupl:
threshold: 150 # default is 100; have brought current codebase down to 75, but leaving default at 150 for now
Expand Down
2 changes: 2 additions & 0 deletions .spelling
Original file line number Diff line number Diff line change
Expand Up @@ -256,3 +256,5 @@ subextent
subkey
4096
380
aks
AKS
46 changes: 35 additions & 11 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -47,22 +47,42 @@ go-mod-tidy:

.PHONY: test-go-mod
test-go-mod:
@git diff --quiet --exit-code go.mod go.sum || echo "There are changes to go.mod and go.sum which needs to be committed"
@git diff --quiet --exit-code go.mod go.sum || echo "There are changes to go.mod and go.sum that need to be committed"

# Modules whose LICENSE file go-licenses cannot classify. Each is excluded
# from automatic classification only -- its license notice is still copied
# verbatim into the generated distribution below, and its own dependencies
# are still classified -- so this narrows what the classifier is asked to
# recognize without narrowing what ships. Every entry needs a reason:
#
# github.com/segmentio/asm MIT-0 (MIT No Attribution), an OSI-approved
# license the bundled classifier has no template
# for; it is unrecognized at any confidence, and
# `save` takes no threshold flag anyway
#
# Remove an entry as soon as the module leaves the dependency graph -- the
# loop below fails on a stale one rather than skipping it, because a stale
# exception silently keeps a classifier waiver alive for a module that could
# come back under a different license.
UNCLASSIFIED_LICENSE_MODULES := \
github.com/segmentio/asm

# go-jmespath ships an abbreviated Apache-2.0 license notice that go-licenses
# cannot classify. The target excludes it from automatic classification only,
# then copies its original license notice into the generated distribution.
.PHONY: third-party-licenses
third-party-licenses:
$(GO) tool go-licenses save ./cmd/trickster \
--force \
--save_path=$(THIRD_PARTY_LICENSES_DIR) \
--ignore=github.com/trickstercache/trickster/v2 \
--ignore=github.com/jmespath/go-jmespath
@jmespath_dir="$$($(GO) list -mod=mod -m -f '{{.Dir}}' github.com/jmespath/go-jmespath)"; \
mkdir -p "$(THIRD_PARTY_LICENSES_DIR)/github.com/jmespath/go-jmespath"; \
cp "$$jmespath_dir/LICENSE" \
"$(THIRD_PARTY_LICENSES_DIR)/github.com/jmespath/go-jmespath/LICENSE"
$(foreach m,$(UNCLASSIFIED_LICENSE_MODULES),--ignore=$(m))
@set -e; for m in $(UNCLASSIFIED_LICENSE_MODULES); do \
dir="$$($(GO) list -mod=mod -m -f '{{.Dir}}' $$m 2>/dev/null)" || { \
echo "$$m is listed in UNCLASSIFIED_LICENSE_MODULES but is no longer a dependency; remove it" >&2; \
exit 1; }; \
mkdir -p "$(THIRD_PARTY_LICENSES_DIR)/$$m"; \
cp "$$dir/LICENSE" "$(THIRD_PARTY_LICENSES_DIR)/$$m/LICENSE"; \
test -s "$(THIRD_PARTY_LICENSES_DIR)/$$m/LICENSE"; \
echo "copied license notice for $$m"; \
done
@test -s "$(THIRD_PARTY_LICENSES_DIR)/vitess.io/vitess/go/LICENSE"

.PHONY: check-third-party-licenses
Expand All @@ -71,7 +91,7 @@ check-third-party-licenses: third-party-licenses

BUILD_FLAGS ?= -a -v
.PHONY: build
build: go-mod-tidy go-mod-vendor
build: go-mod-tidy
CGO_ENABLED=$(CGO_ENABLED) $(GO) build $(LDFLAGS) $(BUILD_FLAGS) -o ./$(BUILD_SUBDIR)/trickster $(TRICKSTER_MAIN)/*.go

rpm: build third-party-licenses
Expand Down Expand Up @@ -158,6 +178,10 @@ golangci-lint:
.PHONY: lint
lint: check-imports spelling vulncheck gofix-diff golangci-lint

.PHONY: lint-all
lint-all:
@LINT_FLAGS="--new-from-rev= --fix=false" $(MAKE) lint

.PHONY: vulncheck
vulncheck:
@go tool govulncheck ./...
Expand Down Expand Up @@ -363,7 +387,7 @@ spelling:
if [ "$$?" != "0" ]; then \
echo "codespell is not installed" ; \
else \
codespell --skip='vendor,*.git,*.png,*.pdf,*.tiff,*.plist,*.pem,rangesim*.go,*.gz,go.sum,go.mod' --ignore-words='./testdata/ignore_words.txt' ; \
codespell --skip='vendor,bin,*.git,*.png,*.pdf,*.tiff,*.plist,*.pem,rangesim*.go,*.gz,go.sum,go.mod' --ignore-words='./testdata/ignore_words.txt' ; \
fi

.PHONY: serve
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Trickster is a fully-featured HTTP Reverse Proxy Cache for HTTP applications lik

### Proxy Feature Highlights

* A unique and powerful [Application Load Balancer](./docs/alb.md) for Time Series and generic HTTP endpoints, with [pool autodiscovery](./docs/alb-autodiscovery.md) from Kubernetes, DNS or a member file
* A unique and powerful [Application Load Balancer](./docs/alb.md) for Time Series and generic HTTP endpoints, with [pool autodiscovery](./docs/alb-autodiscovery.md) from Kubernetes, AWS, GPC, Azure, Consul, Nomad, DNS, and more
* [Supports TLS](./docs/tls.md), HTTP/2 and [HTTP/3](./docs/http3.md) for frontend termination, and TLS/HTTP/2 for backend origination
* WebSocket and HTTP Upgrade tunneling, response trailers (gRPC), and incremental delivery of streaming responses
* Offers several options for a [caching layer](./docs/caches.md), including in-memory, filesystem, Redis and bbolt
Expand Down
Loading
Loading