Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
ff7caec
docs(specs): add 022 default telemetry dashboard spec
ValgulNecron Oct 6, 2026
732903f
chore(telemetryschema): add the shared telemetry report module
ValgulNecron Oct 6, 2026
19efcc6
feat(telemetryschema): report contract, strict decode, catalog and si…
ValgulNecron Oct 6, 2026
5976abf
chore: list telemetryschema in docs and repo tooling
ValgulNecron Oct 6, 2026
1ab7ee6
feat(api): telemetry install state, destination and collection
ValgulNecron Oct 6, 2026
dd29e1a
feat(telemetry-receiver): SQLite store, config and shared decoder
ValgulNecron Oct 6, 2026
8f29ead
fix(api): adapt tests to the seeded telemetry default; BIGINT ack use…
ValgulNecron Oct 6, 2026
d7449ae
fix(telemetryschema): require canonical base64url; run the catalog ch…
ValgulNecron Oct 6, 2026
258c28c
fix(chart): no receiver PVC on --reuse-values upgrades; render-time r…
ValgulNecron Oct 6, 2026
a42da21
docs(specs): 022 sync contracts with phase 2 review; mark T009-T033 done
ValgulNecron Oct 6, 2026
4c742e7
feat(telemetry-receiver): persisted aggregates, private dashboard lis…
ValgulNecron Oct 6, 2026
aab6eee
design: telemetry receiver dashboard pages in the pink theme
ValgulNecron Oct 6, 2026
29c9a60
docs(specs): 022 record US1 scout corrections, limiter rules, E2E app…
ValgulNecron Oct 6, 2026
4ae3c1e
feat(api): gated telemetry reporter, consent and notice API
ValgulNecron Oct 6, 2026
b430e39
test(e2e): telemetry bucket with the US1 lifecycle and upgrade checks
ValgulNecron Oct 6, 2026
1bbd2bf
fix(telemetryschema): drop a nil %w in the canonical key error
ValgulNecron Oct 6, 2026
de5d097
fix(telemetry-receiver): close rate-limit bypasses (IPv6 /64 keys, sh…
ValgulNecron Oct 6, 2026
0819cec
fix(telemetry-receiver): evict least-recently-used sources instead of…
ValgulNecron Oct 6, 2026
875873f
docs(telemetry): install, security and provider runbook for spec 022
ValgulNecron Oct 7, 2026
bc18454
feat(chart): telemetry consent flags, receiver dashboard port and ins…
ValgulNecron Oct 7, 2026
fa1dc26
feat(telemetry-receiver): extended ingest, signing checks, summary an…
ValgulNecron Oct 7, 2026
912b8e9
feat(api): telemetry status, install-ID reset and claim rotation, wit…
ValgulNecron Oct 7, 2026
f59f05e
docs(specs): 022 proof-of-work on ingest and a dashboard token minimum
ValgulNecron Oct 7, 2026
4875ec0
feat(telemetryschema): proof-of-work challenge format and solver
ValgulNecron Oct 7, 2026
4d195d2
feat(telemetry-receiver): proof-of-work on ingest and a dashboard tok…
ValgulNecron Oct 7, 2026
766f346
feat(api): telemetry reporter solves proof-of-work challenges
ValgulNecron Oct 7, 2026
1fe738c
feat(chart): proof-of-work settings for the bundled telemetry receiver
ValgulNecron Oct 7, 2026
8f2dc35
test(e2e): proof-of-work telemetry subtests
ValgulNecron Oct 7, 2026
87f1c1a
docs(specs): mark 022 Phase 9b T101-T108 done
ValgulNecron Oct 7, 2026
03fa278
fix(telemetry-receiver): close replay of same-day duplicates
ValgulNecron Oct 7, 2026
fefa75e
docs(telemetry): receiver specs, API spec, proof-of-work and token mi…
ValgulNecron Oct 7, 2026
ce12bd8
feat(web): telemetry status types, install-ID reset client and statem…
ValgulNecron Oct 7, 2026
65d605a
design: telemetry notice banner and Admin Settings telemetry states
ValgulNecron Oct 7, 2026
dc3b8f3
design: wrap long text in the telemetry notice banner
ValgulNecron Oct 7, 2026
17d5a1e
feat(web): telemetry notice banner and Admin Settings telemetry section
ValgulNecron Oct 7, 2026
7000a99
feat(telemetry): default destination telemetry.gameplane.net (OD-1)
ValgulNecron Oct 7, 2026
0b6afc2
docs(specs): record OD-1 as ruled across spec 022
ValgulNecron Oct 7, 2026
26ddb48
fix(web): Reset ID without an icon, and browser mocks for the telemet…
ValgulNecron Oct 7, 2026
3ce7e31
design: Reset ID buttons without the default plus icon
ValgulNecron Oct 7, 2026
45d5794
fix(telemetry-receiver): lint, CodeQL and dashboard tests
ValgulNecron Oct 7, 2026
e452791
fix(api): telemetry handler context and extended-collection test fixt…
ValgulNecron Oct 7, 2026
5f5f239
test(e2e): lint fixes in the telemetry subtests
ValgulNecron Oct 7, 2026
54e062b
docs(telemetry): deploy a provider on Kubernetes behind Cloudflare an…
ValgulNecron Oct 7, 2026
e1127ea
Merge origin/master into feat/default-telemetry-dashboard
ValgulNecron Oct 7, 2026
42a0c50
docs(specs): mark T099 done
ValgulNecron Oct 7, 2026
e8b6a78
test(web): fix telemetry notice tests and stale e2e locators
ValgulNecron Oct 7, 2026
cbaf6a3
fix(e2e): wait on accepted telemetry reports, keep the old receiver a…
ValgulNecron Oct 7, 2026
e4fc290
docs(specs): mark T097 done
ValgulNecron Oct 7, 2026
92313bf
Merge origin/master into feat/default-telemetry-dashboard
ValgulNecron Oct 8, 2026
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
2 changes: 1 addition & 1 deletion .coderabbit.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -261,7 +261,7 @@ reviews:
- label: "area: specs"
instructions: Apply when changes touch specs/ or spec.md files (specs/done_008-hardened-github-actions/, design contracts, decision records).
- label: "area: shared"
instructions: Apply when changes touch shared Go packages (netguard/, gameaction/, gameproto/, svcutil/) used by operator, api, and agent.
instructions: Apply when changes touch shared Go packages (netguard/, gameaction/, gameproto/, svcutil/, telemetryschema/) used by operator, api, agent, and telemetry-receiver.
- label: "area: optional-components"
instructions: Apply when changes touch optional or sidecar components (sentinel/, capture-sidecar/, mcp-server/, tunnel/, audit-syslog-bridge/, telemetry-receiver/).
- label: "breaking"
Expand Down
2 changes: 1 addition & 1 deletion .devcontainer/post-create.sh
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ log "fetching envtest binaries for K8s 1.36.2"
# ---------- Go module cache warmup ----------
# Go modules from go.work. Derived from 'use' entries in go.work.
# Keep in sync with go.work when adding/removing modules.
for m in agent api audit-syslog-bridge capture-sidecar gameaction gameproto mcp-server netguard operator sentinel svcutil telemetry-receiver test/e2e tunnel; do
for m in agent api audit-syslog-bridge capture-sidecar gameaction gameproto mcp-server netguard operator sentinel svcutil telemetry-receiver telemetryschema test/e2e tunnel; do
log "go mod download ($m)"
( cd "$m" && go mod download )
done
Expand Down
9 changes: 6 additions & 3 deletions .github/actions/build-e2e-images/action.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
name: build e2e images
description: >
Build the operator/api/agent/sentinel/capture-sidecar/fakeoidc (+ gameprobe)
Build the operator/api/agent/sentinel/capture-sidecar/telemetry-receiver/fakeoidc (+ gameprobe)
images the kind e2e suites load into the cluster, tagged
gameplane-test/<component>:e2e exactly like make e2e-images, via buildx bake
— then `docker save` all seven into a single tar uploaded as an artifact
— then `docker save` all eight into a single tar uploaded as an artifact
(e2e-images-<arch>). The heavy e2e jobs load that tar instead of each
recompiling the same binaries. This is the ONLY builder, so it always writes
the layer cache back (the old single-writer export dance is gone).
Expand All @@ -16,7 +16,7 @@ runs:
using: composite
steps:
- uses: docker/setup-buildx-action@d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5 # v4.1.0
- name: bake e2e images (operator/api/agent/sentinel/capture-sidecar/fakeoidc)
- name: bake e2e images (operator/api/agent/sentinel/capture-sidecar/telemetry-receiver/fakeoidc)
uses: docker/bake-action@d3418bd7d0e9324001bca92fa8ba175ea7e6dc9b # v7.3.0
with:
files: docker-bake.hcl
Expand All @@ -28,12 +28,14 @@ runs:
e2e-agent.cache-from=type=gha,scope=e2e-agent-${{ inputs.arch }}
e2e-sentinel.cache-from=type=gha,scope=e2e-sentinel-${{ inputs.arch }}
e2e-capture-sidecar.cache-from=type=gha,scope=e2e-capture-sidecar-${{ inputs.arch }}
e2e-telemetry-receiver.cache-from=type=gha,scope=e2e-telemetry-receiver-${{ inputs.arch }}
e2e-fakeoidc.cache-from=type=gha,scope=e2e-fakeoidc-${{ inputs.arch }}
e2e-operator.cache-to=type=gha,mode=max,scope=e2e-operator-${{ inputs.arch }}
e2e-api.cache-to=type=gha,mode=max,scope=e2e-api-${{ inputs.arch }}
e2e-agent.cache-to=type=gha,mode=max,scope=e2e-agent-${{ inputs.arch }}
e2e-sentinel.cache-to=type=gha,mode=max,scope=e2e-sentinel-${{ inputs.arch }}
e2e-capture-sidecar.cache-to=type=gha,mode=max,scope=e2e-capture-sidecar-${{ inputs.arch }}
e2e-telemetry-receiver.cache-to=type=gha,mode=max,scope=e2e-telemetry-receiver-${{ inputs.arch }}
e2e-fakeoidc.cache-to=type=gha,mode=max,scope=e2e-fakeoidc-${{ inputs.arch }}
- name: bake gameprobe image
uses: docker/bake-action@d3418bd7d0e9324001bca92fa8ba175ea7e6dc9b # v7.3.0
Expand All @@ -53,6 +55,7 @@ runs:
gameplane-test/agent:e2e \
gameplane-test/sentinel:e2e \
gameplane-test/capture-sidecar:e2e \
gameplane-test/telemetry-receiver:e2e \
gameplane-test/fakeoidc:e2e \
gameplane-test/gameprobe:e2e \
-o "$RUNNER_TEMP/e2e-images.tar"
Expand Down
14 changes: 14 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,20 @@ updates:
svcutil-minor-patch:
update-types: ["minor", "patch"]

- package-ecosystem: "gomod"
directory: "/telemetryschema"
schedule:
interval: "weekly"
day: "monday"
time: "03:00"
commit-message:
prefix: "chore(deps)"
include: "scope"
open-pull-requests-limit: 5
groups:
telemetryschema-minor-patch:
update-types: ["minor", "patch"]

- package-ecosystem: "gomod"
directory: "/telemetry-receiver"
schedule:
Expand Down
Loading
Loading