Skip to content

fix: remove unreachable code in health checker#69

Merged
mikeappsec merged 8 commits into
mainfrom
v1.2-tier-g
Jul 4, 2026
Merged

fix: remove unreachable code in health checker#69
mikeappsec merged 8 commits into
mainfrom
v1.2-tier-g

Conversation

@mikeappsec

Copy link
Copy Markdown
Owner

No description provided.

…ster

Backend:
- Add multicluster.Manager: per-cluster discovery watchers with
  kubeconfig or apiServer/token/caBundle auth
- Add configmgmt.Store: config push with JSON validation, version
  history, rollback, and diff
- Extend REST API: cluster CRUD (GET/POST/DELETE /clusters), config
  endpoints (GET/POST .../config, GET .../config/history,
  POST .../config/rollback)
- Wire new deps into lwauth-controlplane main

Frontend (SolidJS):
- Add Clusters page: list with instance count, add/remove cluster dialog
- Add ConfigEditor page: JSON editor with inline validation, version
  history timeline sidebar, view/rollback per version
- Extend API client with cluster and config types + functions
- Add /clusters and /instances/:cluster/:name/config routes
- Add 'Edit Config' button on instance detail page

Ref: UIDESIGN.md Phase 2 (tasks 2.1–2.10)
- ProxyRoute reconciler with allowlist enforcement and health probing
- Route REST API (CRUD) with in-memory store and periodic health checks
- MeshGraph page: d3-force topology visualization color-coded by health
- Routes page: route list table with create/delete
- API client route types and functions
- Add node_modules/dist to .gitignore
…cisions tail

- Add metrics aggregator (scrapes /healthz from instances, computes rates/rollups)
- Add WebSocket streaming hub for real-time decisions and metrics push
- Add decision collector polling /v1/admin/audit/recent from instances
- Add REST endpoints: GET /metrics, GET /metrics/{cluster}/{name}
- Add WebSocket endpoints: /stream/decisions (filterable), /stream/metrics (2s push)
- Fix health check to use /healthz (unauthenticated) instead of /v1/admin/status
- Fix WebSocket handlers to block (prevent r.Context() cancellation)
- Fix SolidJS routing (define Route components in index.tsx)
- Remove dead routes export from App.tsx
- Add Dockerfile.controlplane for multi-stage build (UI + Go binary)
- Add Helm chart CRDs template for LwauthInstance/ProxyRoute
- Add deploy/values-tenant-a.yaml with networkPolicy disabled for dev
- Dashboard: live KPI cards via WebSocket (total/healthy/unhealthy, rates)
- Decisions page: live tail with pause/resume, cluster/tenant/verdict filters
- InstanceDetail: sparklines via WebSocket metrics stream
- Update .dockerignore for ui/console/node_modules and dist

Tested E2E in Kind cluster (lwauth-dev):
- Control plane + tenant-a deployed, instances registered via API
- Health checks working, UI rendering all pages correctly
- WebSocket streams delivering live metrics to dashboard
## Node Reverse Proxy (primary feature)
- Add /v1/proxy/{cluster}/{name}[/{path}] endpoint in nodeproxy.go
  - httputil.ReverseProxy with InsecureSkipVerify transport for internal certs
  - Strips CP session cookie from forwarded requests
  - Adds X-Lwauth-Node + Cache-Control: no-store response headers
  - Per-request ErrorHandler returns 502 with node context on failure
  - Fix: X-Forwarded-For correctly appends client IP to existing chain
- Register /v1/proxy/ route OUTSIDE session middleware (nodes handle own auth)
- Add proxyPath field to NodeEndpoints API response
- UI: CP Proxy card in EndpointsPanel (blue callout, base URL, sample curl)
- UI: proxyPath added to NodeEndpoints TypeScript interface

## Console Login Gate
- internal/controlplane/auth/session.go: single-admin bcrypt cookie auth
  - Cookie: HttpOnly, Secure, SameSite=Strict, configurable TTL (default 12h)
  - Config via CP_AUTH_ENABLED / CP_AUTH_USERNAME / CP_AUTH_PASSWORD_HASH(_FILE)
  - Session middleware: guards /v1/controlplane/* except auth/* endpoints
- ui/console/src/auth/AuthGate.tsx: probes session on load, shows Login or App
- ui/console/src/auth/store.ts: shared reactive session signal
- ui/console/src/pages/Login.tsx: dark-themed login form
- ui/console/src/App.tsx: user + Sign Out button in sidebar footer

## JWKS URL Reachability Probe (C.0.5)
- internal/controlplane/api/probe.go: GET /v1/controlplane/probe/url?url=<enc>
  - HTTPS-only, 5s timeout, max 2 redirects, blocks known SSRF pivot hostnames
- CreateInstanceWizard: JwksUrlInput with inline Test URL button; blocks
  step 1→2 if any JWT module JWKS URL is unreachable

## Full Node Delete Teardown
- handleDeleteInstance: DeleteAllOf Deployment/Service/ConfigMap/Secret
  scoped by CP labels; manual instances deregister only; idempotent via
  apierrors.IsNotFound checks
- delete_test.go: 3 tests covering full teardown, manual node, not-found

## Health Checker TLS Fix
- discovery.go: HealthChecker client now uses InsecureSkipVerify=true
  (same rationale as proxy transport: nodes use self-signed in-cluster certs)

## Verification
- go vet ./...: clean
- go test -race ./internal/...: all pass
- go build ./...: clean
- npx tsc --noEmit: clean
- Smoke tested: proxy 200 OK with X-Lwauth-Node header, auth session, endpoints
@github-actions

github-actions Bot commented Jul 2, 2026

Copy link
Copy Markdown

vet Summary Report

This report is generated by vet

Policy Checks

  • ✅ Vulnerability
  • ✅ Malware
  • ✅ License
  • ✅ Popularity
  • ❌ Maintenance
  • ❌ Security Posture
  • ✅ Threats

Malicious Package Analysis

Active malicious package analysis was disabled. Learn more about enabling active package analysis

Malicious Package Analysis Report
Ecosystem Package Version Status Report
ECOSYSTEM_NPM debug 4.4.3 🔗
ECOSYSTEM_NPM picocolors 1.1.1 🔗
ECOSYSTEM_NPM typescript 5.9.3 🔗
ECOSYSTEM_NPM @esbuild/linux-x64 0.25.12 🔗
ECOSYSTEM_NPM lightningcss-android-arm64 1.32.0 🔗
ECOSYSTEM_NPM @esbuild/openbsd-x64 0.25.12 🔗
ECOSYSTEM_NPM lightningcss-linux-arm64-gnu 1.32.0 🔗
ECOSYSTEM_NPM @babel/helper-validator-identifier 7.28.5 🔗
ECOSYSTEM_NPM @esbuild/win32-x64 0.25.12 🔗
ECOSYSTEM_NPM lightningcss 1.32.0 🔗
ECOSYSTEM_NPM @esbuild/freebsd-arm64 0.25.12 🔗
ECOSYSTEM_NPM @babel/helper-globals 7.28.0 🔗
ECOSYSTEM_NPM @esbuild/linux-ia32 0.25.12 🔗
ECOSYSTEM_NPM vite-plugin-solid 2.11.12 🔗
ECOSYSTEM_NPM @babel/helper-compilation-targets 7.28.6 🔗
ECOSYSTEM_NPM @esbuild/darwin-x64 0.25.12 🔗
ECOSYSTEM_NPM @babel/types 7.29.0 🔗
ECOSYSTEM_NPM lightningcss-linux-arm-gnueabihf 1.32.0 🔗
ECOSYSTEM_NPM @babel/helper-module-imports 7.18.6 🔗
ECOSYSTEM_NPM entities 6.0.1 🔗
ECOSYSTEM_NPM lightningcss-darwin-arm64 1.32.0 🔗
ECOSYSTEM_NPM lightningcss-darwin-x64 1.32.0 🔗
ECOSYSTEM_NPM @solidjs/router 0.15.4 🔗
ECOSYSTEM_NPM @esbuild/linux-arm 0.25.12 🔗
ECOSYSTEM_NPM @jridgewell/remapping 2.3.5 🔗
ECOSYSTEM_NPM fsevents 2.3.3 🔗
ECOSYSTEM_NPM lightningcss-linux-arm64-musl 1.32.0 🔗
ECOSYSTEM_NPM @esbuild/aix-ppc64 0.25.12 🔗
ECOSYSTEM_NPM ms 2.1.3 🔗
ECOSYSTEM_NPM @types/estree 1.0.8 🔗
ECOSYSTEM_NPM @babel/helper-plugin-utils 7.28.6 🔗
ECOSYSTEM_NPM lightningcss-freebsd-x64 1.32.0 🔗
ECOSYSTEM_NPM esbuild 0.25.12 🔗
ECOSYSTEM_NPM detect-libc 2.1.2 🔗
ECOSYSTEM_NPM @esbuild/netbsd-x64 0.25.12 🔗
ECOSYSTEM_NPM @esbuild/win32-ia32 0.25.12 🔗
ECOSYSTEM_NPM d3-dispatch 3.0.1 🔗
ECOSYSTEM_NPM @esbuild/linux-arm64 0.25.12 🔗
ECOSYSTEM_NPM @babel/core 7.29.0 🔗
ECOSYSTEM_NPM @esbuild/linux-loong64 0.25.12 🔗
ECOSYSTEM_NPM @babel/helper-module-imports 7.28.6 🔗
ECOSYSTEM_NPM @babel/template 7.28.6 🔗
ECOSYSTEM_NPM @types/babel__traverse 7.28.0 🔗
ECOSYSTEM_NPM lightningcss-win32-x64-msvc 1.32.0 🔗
ECOSYSTEM_NPM @types/babel__generator 7.27.0 🔗
ECOSYSTEM_NPM @babel/generator 7.29.1 🔗
ECOSYSTEM_NPM convert-source-map 2.0.0 🔗
ECOSYSTEM_NPM csstype 3.2.3 🔗
ECOSYSTEM_NPM @esbuild/win32-arm64 0.25.12 🔗
ECOSYSTEM_NPM is-what 4.1.16 🔗
ECOSYSTEM_NPM @babel/helper-string-parser 7.27.1 🔗
ECOSYSTEM_NPM magic-string 0.30.21 🔗
ECOSYSTEM_NPM @esbuild/android-arm 0.25.12 🔗
ECOSYSTEM_NPM merge-anything 5.1.7 🔗
ECOSYSTEM_NPM graceful-fs 4.2.11 🔗
ECOSYSTEM_NPM @types/babel__template 7.4.4 🔗
ECOSYSTEM_NPM fdir 6.5.0 🔗
ECOSYSTEM_NPM @jridgewell/gen-mapping 0.3.13 🔗
ECOSYSTEM_NPM @babel/traverse 7.29.0 🔗
ECOSYSTEM_NPM lightningcss-linux-x64-musl 1.32.0 🔗
ECOSYSTEM_NPM @jridgewell/trace-mapping 0.3.31 🔗
ECOSYSTEM_NPM parse5 7.3.0 🔗
ECOSYSTEM_NPM @esbuild/linux-ppc64 0.25.12 🔗
ECOSYSTEM_NPM html-entities 2.3.3 🔗
ECOSYSTEM_NPM @babel/helper-validator-option 7.27.1 🔗
ECOSYSTEM_NPM @jridgewell/sourcemap-codec 1.5.5 🔗
ECOSYSTEM_NPM update-browserslist-db 1.2.3 🔗
ECOSYSTEM_NPM js-tokens 4.0.0 🔗
ECOSYSTEM_NPM @babel/helper-module-transforms 7.28.6 🔗
ECOSYSTEM_NPM source-map-js 1.2.1 🔗
ECOSYSTEM_NPM jsesc 3.1.0 🔗
ECOSYSTEM_NPM @esbuild/openbsd-arm64 0.25.12 🔗
ECOSYSTEM_NPM @types/d3-force 3.0.10 🔗
ECOSYSTEM_NPM escalade 3.2.0 🔗
ECOSYSTEM_NPM d3-timer 3.0.1 🔗
ECOSYSTEM_NPM @babel/code-frame 7.29.0 🔗
ECOSYSTEM_NPM @babel/plugin-syntax-jsx 7.28.6 🔗
ECOSYSTEM_NPM semver 6.3.1 🔗
ECOSYSTEM_NPM @types/babel__core 7.20.5 🔗
ECOSYSTEM_NPM @esbuild/android-x64 0.25.12 🔗
ECOSYSTEM_NPM d3-quadtree 3.0.1 🔗
ECOSYSTEM_NPM lightningcss-win32-arm64-msvc 1.32.0 🔗
ECOSYSTEM_NPM @esbuild/netbsd-arm64 0.25.12 🔗
ECOSYSTEM_NPM @esbuild/sunos-x64 0.25.12 🔗
ECOSYSTEM_NPM @esbuild/linux-s390x 0.25.12 🔗
ECOSYSTEM_NPM @esbuild/linux-mips64el 0.25.12 🔗
ECOSYSTEM_NPM json5 2.2.3 🔗
ECOSYSTEM_NPM lightningcss-linux-x64-gnu 1.32.0 🔗
ECOSYSTEM_NPM @esbuild/openharmony-arm64 0.25.12 🔗
ECOSYSTEM_NPM yallist 3.1.1 🔗
ECOSYSTEM_NPM @jridgewell/resolve-uri 3.1.2 🔗
ECOSYSTEM_NPM gensync 1.0.0-beta.2 🔗
ECOSYSTEM_NPM @esbuild/android-arm64 0.25.12 🔗
ECOSYSTEM_NPM @esbuild/linux-riscv64 0.25.12 🔗
ECOSYSTEM_NPM @esbuild/freebsd-x64 0.25.12 🔗
ECOSYSTEM_NPM lru-cache 5.1.1 🔗
ECOSYSTEM_NPM tinyglobby 0.2.16 🔗
ECOSYSTEM_NPM d3-force 3.0.0 🔗
  • ℹ️ 98 packages have been actively analyzed for malicious behaviour.
  • ✅ No malicious packages found.

Note: Only known malicious packages were reported. Consider enabling active package analysis to get more accurate results.

Changed Packages

Changed Packages

  • ⚠️ [Npm] d3-dispatch@3.0.1
  • ⚠️ [Npm] d3-timer@3.0.1
  • ⚠️ [Npm] @rollup/rollup-win32-x64-gnu@4.60.4
  • ⚠️ [Npm] ms@2.1.3
  • ✅ [Npm] @types/babel__core@7.20.5
  • ✅ [Npm] @types/estree@1.0.8
  • ✅ [Npm] @esbuild/freebsd-arm64@0.25.12
  • ✅ [Npm] @esbuild/sunos-x64@0.25.12
  • ✅ [Npm] @esbuild/openbsd-arm64@0.25.12
  • ✅ [Npm] @esbuild/win32-x64@0.25.12
  • ✅ [Npm] @babel/helper-string-parser@7.27.1
  • ✅ [Npm] @babel/code-frame@7.29.0
  • ✅ [Npm] baseline-browser-mapping@2.10.32
  • ✅ [Npm] @tailwindcss/oxide-linux-x64-gnu@4.3.0
  • ✅ [Npm] @esbuild/linux-ia32@0.25.12
  • ✅ [Npm] @types/babel__generator@7.27.0
  • ⚠️ [Npm] gensync@1.0.0-beta.2
  • ✅ [Npm] @jridgewell/gen-mapping@0.3.13
  • ✅ [Npm] @esbuild/win32-ia32@0.25.12
  • ✅ [Npm] lightningcss-linux-x64-gnu@1.32.0
  • ✅ [Npm] node-releases@2.0.46
  • ⚠️ [Npm] debug@4.4.3
  • ⚠️ [Npm] jsesc@3.1.0
  • ✅ [Npm] @esbuild/linux-x64@0.25.12
  • ✅ [Npm] entities@6.0.1
  • ✅ [Go] github.com/coder/websocket@1.8.15
  • ⚠️ [Npm] lucide-solid@1.16.0
  • ✅ [Npm] @jridgewell/trace-mapping@0.3.31
  • ✅ [Npm] @esbuild/android-arm64@0.25.12
  • ✅ [Npm] vitefu@1.1.3
  • ✅ [Npm] @babel/parser@7.29.3
  • ✅ [Npm] lightningcss-win32-arm64-msvc@1.32.0
  • ✅ [Npm] lru-cache@5.1.1
  • ⚠️ [Npm] picocolors@1.1.1
  • ⚠️ [Npm] @rollup/rollup-android-arm64@4.60.4
  • ✅ [Npm] @types/babel__template@7.4.4
  • ✅ [Npm] lightningcss-android-arm64@1.32.0
  • ✅ [Npm] @esbuild/linux-arm64@0.25.12
  • ✅ [Npm] @esbuild/openharmony-arm64@0.25.12
  • ✅ [Npm] @esbuild/openbsd-x64@0.25.12
  • ⚠️ [Npm] @rollup/rollup-openharmony-arm64@4.60.4
  • ⚠️ [Npm] fsevents@2.3.3
  • ✅ [Npm] @babel/template@7.28.6
  • ✅ [Npm] @types/babel__traverse@7.28.0
  • ⚠️ [Npm] @rollup/rollup-linux-s390x-gnu@4.60.4
  • ⚠️ [Npm] js-tokens@4.0.0
  • ⚠️ [Npm] d3-force@3.0.0
  • ✅ [Npm] @babel/types@7.29.0
  • ✅ [Npm] tinyglobby@0.2.16
  • ⚠️ [Npm] @rollup/rollup-android-arm-eabi@4.60.4
  • ⚠️ [Npm] @rollup/rollup-darwin-arm64@4.60.4
  • ✅ [Npm] @esbuild/linux-mips64el@0.25.12
  • ✅ [Npm] @tailwindcss/oxide-darwin-x64@4.3.0
  • ✅ [Npm] lightningcss-linux-arm64-gnu@1.32.0
  • ✅ [Npm] seroval-plugins@1.5.4
  • ✅ [Npm] browserslist@4.28.2
  • ✅ [Npm] @tanstack/solid-query@5.100.13
  • ✅ [Npm] source-map-js@1.2.1
  • ✅ [Npm] @tailwindcss/oxide-freebsd-x64@4.3.0
  • ⚠️ [Npm] @rollup/rollup-linux-riscv64-gnu@4.60.4
  • ✅ [Npm] @esbuild/netbsd-x64@0.25.12
  • ✅ [Npm] @esbuild/darwin-x64@0.25.12
  • ✅ [Npm] picomatch@4.0.4
  • ⚠️ [Npm] @rollup/rollup-linux-ppc64-gnu@4.60.4
  • ⚠️ [Npm] @rollup/rollup-win32-ia32-msvc@4.60.4
  • ⚠️ [Npm] @rollup/rollup-darwin-x64@4.60.4
  • ✅ [Npm] lightningcss-darwin-arm64@1.32.0
  • ✅ [Npm] @types/d3-force@3.0.10
  • ✅ [Npm] @babel/plugin-syntax-jsx@7.28.6
  • ✅ [Npm] @esbuild/linux-riscv64@0.25.12
  • ⚠️ [Npm] d3-quadtree@3.0.1
  • ✅ [Npm] @babel/core@7.29.0
  • ✅ [Npm] @solidjs/router@0.15.4
  • ✅ [Npm] lightningcss@1.32.0
  • ✅ [Npm] @tailwindcss/oxide-win32-arm64-msvc@4.3.0
  • ⚠️ [Npm] @rollup/rollup-linux-loong64-musl@4.60.4
  • ✅ [Npm] @tailwindcss/oxide-linux-arm64-gnu@4.3.0
  • ✅ [Npm] typescript@5.9.3
  • ✅ [Npm] @esbuild/netbsd-arm64@0.25.12
  • ✅ [Npm] @tailwindcss/oxide-wasm32-wasi@4.3.0
  • ✅ [Npm] @esbuild/android-x64@0.25.12
  • ✅ [Npm] babel-preset-solid@1.9.12
  • ✅ [Npm] @esbuild/win32-arm64@0.25.12
  • ⚠️ [Npm] csstype@3.2.3
  • ⚠️ [Npm] @jridgewell/resolve-uri@3.1.2
  • ⚠️ [Npm] @rollup/rollup-freebsd-x64@4.60.4
  • ⚠️ [Npm] magic-string@0.30.21
  • ⚠️ [Npm] merge-anything@5.1.7
  • ⚠️ [Npm] fdir@6.5.0
  • ✅ [Npm] lightningcss-darwin-x64@1.32.0
  • ✅ [Npm] @esbuild/aix-ppc64@0.25.12
  • ✅ [Npm] @babel/helper-compilation-targets@7.28.6
  • ⚠️ [Npm] rollup@4.60.4
  • ✅ [Npm] babel-plugin-jsx-dom-expressions@0.40.7
  • ✅ [Npm] @tailwindcss/oxide-linux-x64-musl@4.3.0
  • ✅ [Npm] electron-to-chromium@1.5.361
  • ⚠️ [Npm] @rollup/rollup-win32-arm64-msvc@4.60.4
  • ⚠️ [Npm] @rollup/rollup-linux-arm-gnueabihf@4.60.4
  • ⚠️ [Npm] @rollup/rollup-linux-arm64-gnu@4.60.4
  • ✅ [Npm] @babel/helper-validator-identifier@7.28.5
  • ✅ [Npm] @tailwindcss/oxide-linux-arm-gnueabihf@4.3.0
  • ✅ [Npm] @babel/helper-globals@7.28.0
  • ✅ [Npm] @babel/helper-validator-option@7.27.1
  • ✅ [Npm] lightningcss-linux-arm64-musl@1.32.0
  • ⚠️ [Npm] @rollup/rollup-win32-x64-msvc@4.60.4
  • ⚠️ [Npm] @rollup/rollup-linux-loong64-gnu@4.60.4
  • ✅ [Npm] jiti@2.7.0
  • ✅ [Npm] @tailwindcss/vite@4.3.0
  • ✅ [Npm] @esbuild/linux-arm@0.25.12
  • ✅ [Npm] lightningcss-win32-x64-msvc@1.32.0
  • ⚠️ [Npm] graceful-fs@4.2.11
  • ⚠️ [Npm] @rollup/rollup-linux-arm64-musl@4.60.4
  • ✅ [Npm] @babel/compat-data@7.29.3
  • ✅ [Npm] solid-refresh@0.6.3
  • ✅ [Npm] lightningcss-linux-arm-gnueabihf@1.32.0
  • ✅ [Npm] @jridgewell/remapping@2.3.5
  • ⚠️ [Npm] @rollup/rollup-freebsd-arm64@4.60.4
  • ✅ [Npm] @esbuild/linux-loong64@0.25.12
  • ✅ [Npm] @tailwindcss/oxide-darwin-arm64@4.3.0
  • ✅ [Npm] @tailwindcss/oxide@4.3.0
  • ✅ [Npm] lightningcss-linux-x64-musl@1.32.0
  • ✅ [Npm] enhanced-resolve@5.22.0
  • ✅ [Npm] @tailwindcss/oxide-win32-x64-msvc@4.3.0
  • ✅ [Npm] @esbuild/linux-ppc64@0.25.12
  • ✅ [Npm] update-browserslist-db@1.2.3
  • ✅ [Npm] caniuse-lite@1.0.30001793
  • ⚠️ [Npm] @rollup/rollup-linux-arm-musleabihf@4.60.4
  • ✅ [Npm] @tailwindcss/node@4.3.0
  • ✅ [Npm] @tailwindcss/oxide-linux-arm64-musl@4.3.0
  • ⚠️ [Npm] @rollup/rollup-linux-ppc64-musl@4.60.4
  • ✅ [Npm] tapable@2.3.3
  • ✅ [Npm] parse5@7.3.0
  • ✅ [Npm] @tanstack/query-core@5.100.13
  • ✅ [Npm] seroval@1.5.4
  • ⚠️ [Npm] @rollup/rollup-linux-x64-gnu@4.60.4
  • ⚠️ [Npm] @rollup/rollup-linux-riscv64-musl@4.60.4
  • ✅ [Npm] @babel/helper-module-imports@7.28.6
  • ✅ [Npm] @babel/helpers@7.29.2
  • ✅ [Npm] @esbuild/android-arm@0.25.12
  • ⚠️ [Npm] @rollup/rollup-openbsd-x64@4.60.4
  • ✅ [Npm] vite-plugin-solid@2.11.12
  • ✅ [Npm] @babel/traverse@7.29.0
  • ⚠️ [Npm] html-entities@2.3.3
  • ⚠️ [Npm] json5@2.2.3
  • ✅ [Npm] esbuild@0.25.12
  • ✅ [Npm] @babel/helper-module-imports@7.18.6
  • ✅ [Npm] @babel/generator@7.29.1
  • ✅ [Npm] postcss@8.5.15
  • ✅ [Npm] @tailwindcss/oxide-android-arm64@4.3.0
  • ⚠️ [Npm] convert-source-map@2.0.0
  • ✅ [Npm] tailwindcss@4.3.0
  • ✅ [Npm] @esbuild/linux-s390x@0.25.12
  • ✅ [Npm] nanoid@3.3.12
  • ✅ [Npm] semver@6.3.1
  • ⚠️ [Npm] yallist@3.1.1
  • ⚠️ [Npm] is-what@4.1.16
  • ⚠️ [Npm] escalade@3.2.0
  • ✅ [Npm] @jridgewell/sourcemap-codec@1.5.5
  • ✅ [Npm] @babel/helper-module-transforms@7.28.6
  • ✅ [Npm] @babel/helper-plugin-utils@7.28.6
  • ✅ [Npm] solid-js@1.9.13
  • ✅ [Npm] lightningcss-freebsd-x64@1.32.0
  • ✅ [Npm] vite@6.4.2
  • ✅ [Npm] @esbuild/darwin-arm64@0.25.12
  • ⚠️ [Npm] detect-libc@2.1.2
  • ⚠️ [Npm] @rollup/rollup-linux-x64-musl@4.60.4
  • ✅ [Npm] @esbuild/freebsd-x64@0.25.12
Policy Violations

Packages Violating Policy

[Npm] d3-dispatch@3.0.1 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component appears to be unmaintained

[Npm] d3-timer@3.0.1 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component appears to be unmaintained

[Npm] @rollup/rollup-win32-x64-gnu@4.60.4 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component release pipeline appears to use dangerous workflows

[Npm] ms@2.1.3 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component appears to be unmaintained

[Npm] gensync@1.0.0-beta.2 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component appears to be unmaintained

[Npm] debug@4.4.3 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component appears to be unmaintained

[Npm] jsesc@3.1.0 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component appears to be unmaintained

[Npm] lucide-solid@1.16.0 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component release pipeline appears to use dangerous workflows

[Npm] picocolors@1.1.1 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component appears to be unmaintained

[Npm] @rollup/rollup-android-arm64@4.60.4 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component release pipeline appears to use dangerous workflows

[Npm] @rollup/rollup-openharmony-arm64@4.60.4 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component release pipeline appears to use dangerous workflows

[Npm] fsevents@2.3.3 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component appears to be unmaintained

[Npm] @rollup/rollup-linux-s390x-gnu@4.60.4 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component release pipeline appears to use dangerous workflows

[Npm] js-tokens@4.0.0 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component appears to be unmaintained

[Npm] d3-force@3.0.0 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component appears to be unmaintained

[Npm] @rollup/rollup-android-arm-eabi@4.60.4 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component release pipeline appears to use dangerous workflows

[Npm] @rollup/rollup-darwin-arm64@4.60.4 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component release pipeline appears to use dangerous workflows

[Npm] @rollup/rollup-linux-riscv64-gnu@4.60.4 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component release pipeline appears to use dangerous workflows

[Npm] @rollup/rollup-linux-ppc64-gnu@4.60.4 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component release pipeline appears to use dangerous workflows

[Npm] @rollup/rollup-win32-ia32-msvc@4.60.4 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component release pipeline appears to use dangerous workflows

[Npm] @rollup/rollup-darwin-x64@4.60.4 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component release pipeline appears to use dangerous workflows

[Npm] d3-quadtree@3.0.1 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component appears to be unmaintained

[Npm] @rollup/rollup-linux-loong64-musl@4.60.4 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component release pipeline appears to use dangerous workflows

[Npm] csstype@3.2.3 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component appears to be unmaintained

[Npm] @jridgewell/resolve-uri@3.1.2 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component appears to be unmaintained

[Npm] @rollup/rollup-freebsd-x64@4.60.4 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component release pipeline appears to use dangerous workflows

[Npm] magic-string@0.30.21 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component appears to be unmaintained

[Npm] merge-anything@5.1.7 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component appears to be unmaintained

[Npm] fdir@6.5.0 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component appears to be unmaintained

[Npm] rollup@4.60.4 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component release pipeline appears to use dangerous workflows

[Npm] @rollup/rollup-win32-arm64-msvc@4.60.4 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component release pipeline appears to use dangerous workflows

[Npm] @rollup/rollup-linux-arm-gnueabihf@4.60.4 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component release pipeline appears to use dangerous workflows

[Npm] @rollup/rollup-linux-arm64-gnu@4.60.4 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component release pipeline appears to use dangerous workflows

[Npm] @rollup/rollup-win32-x64-msvc@4.60.4 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component release pipeline appears to use dangerous workflows

[Npm] @rollup/rollup-linux-loong64-gnu@4.60.4 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component release pipeline appears to use dangerous workflows

[Npm] graceful-fs@4.2.11 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component appears to be unmaintained

[Npm] @rollup/rollup-linux-arm64-musl@4.60.4 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component release pipeline appears to use dangerous workflows

[Npm] @rollup/rollup-freebsd-arm64@4.60.4 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component release pipeline appears to use dangerous workflows

[Npm] @rollup/rollup-linux-arm-musleabihf@4.60.4 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component release pipeline appears to use dangerous workflows

[Npm] @rollup/rollup-linux-ppc64-musl@4.60.4 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component release pipeline appears to use dangerous workflows

[Npm] @rollup/rollup-linux-x64-gnu@4.60.4 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component release pipeline appears to use dangerous workflows

[Npm] @rollup/rollup-linux-riscv64-musl@4.60.4 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component release pipeline appears to use dangerous workflows

[Npm] @rollup/rollup-openbsd-x64@4.60.4 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component release pipeline appears to use dangerous workflows

[Npm] html-entities@2.3.3 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component appears to be unmaintained

[Npm] json5@2.2.3 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component appears to be unmaintained

[Npm] convert-source-map@2.0.0 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component appears to be unmaintained

[Npm] yallist@3.1.1 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component appears to be unmaintained

[Npm] is-what@4.1.16 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component appears to be unmaintained

[Npm] escalade@3.2.0 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component appears to be unmaintained

[Npm] detect-libc@2.1.2 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component appears to be unmaintained

[Npm] @rollup/rollup-linux-x64-musl@4.60.4 🔗

  • ➡️ Found in manifest package-lock.json
  • ⚠️ Component release pipeline appears to use dangerous workflows

- build.yaml: add actions/setup-node + npm ci && npm run build before
  go vet/test in both test and fips-test jobs; fixes
  'ui/embed.go: pattern console/dist/*: no matching files found'
- streaming/hub.go: migrate nhooyr.io/websocket -> github.com/coder/websocket
  (maintained fork, identical API, higher popularity score); resolves
  Vet OSS Dependencies popularity policy violation
- go.mod/go.sum: add coder/websocket v1.8.15 direct; remove nhooyr.io/websocket
- mkdocs.yml: add design/node-cluster-auth.md and
  design/ui-controlplane-node-provisioning.md to Architecture nav;
  add operations/oci-phase-c-deploy.md to Operations nav;
  fixes docs/build --strict orphan-file errors
- instance_reconciler.go, provisioner/values.go, server.go,
  CreateInstanceWizard.tsx: replica default 2->1 for 12 GB tier
- docs/operations/oci-phase-c-deploy.md: OCI DNS -> HTTP-01 / external DNS
go mod tidy is platform-sensitive: on Windows it adds OS-specific
indirect deps (github.com/Microsoft/go-winio, pulled in transitively
by go-spiffe on Windows) that Linux tidy removes. Running tidy on
the CI platform before go vet/test keeps the module graph consistent
without requiring developers to use a Linux machine for every tidy.
- Delete pkg/spire/ (source_spire.go, source_nospire.go, spire.go)
- Remove github.com/spiffe/go-spiffe/v2 from go.mod
- Prunes github.com/Microsoft/go-winio (transitive via go-spiffe)
- Remove go mod tidy steps from CI workflow to isolate build failures
@mikeappsec
mikeappsec merged commit 8c772bc into main Jul 4, 2026
5 of 7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant