liquidmetal-dev / liquidmetal-dev/brigade

M4 follow-up: warn when north-edge gRPC auth token unset (permissive default)

Open Beginner friendly
#20 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Elixir
Stars
2
Forks
0
PR merge metrics
No merged PRs in 30d

Description

## Context

The north-edge `AuthInterceptor` requires `authorization: Bearer ` on every RPC
**only when a token is configured**. With `auth_token: nil` (the default) the
interceptor is a pass-through — safe for local dev, but a silent risk if it ships to
prod unset. There's no startup signal that the gRPC server came up with auth disabled.

## Evidence

- `lib/brigade/grpc/auth_interceptor.ex:5-6` — moduledoc: *"When the token is unset
(default), auth is disabled — the permissive local-dev posture."*
- `lib/brigade/grpc/auth_interceptor.ex:20-22` — the `nil` branch calls `next` with no
check.
- `config/config.exs:18` — `auth_token: nil` ("nil = auth disabled").
- `config/config.exs:15` — `start_server: true` (the server is on by default).

## Scope

- Emit a **single warning at gRPC server start** when `start_server` is true and
`auth_token` is `nil`, e.g. *"north-edge gRPC auth disabled (auth_token unset) —
all clients accepted."*
- Mirror the quorum-warning pattern (m3-03) for a consistent operator-posture signal.

## Acceptance

- Token set → silent.
- Token `nil` with the server enabled → single clear warning at boot.
- `AuthInterceptor` request-time behaviour is unchanged.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with lib/brigade/grpc/auth_interceptor.ex and config/config.exs, then follow the gRPC server startup path and the quorum-warning pattern from m3-03. Confirm that a configured token stays silent, while auth_token: nil with start_server: true emits one clear boot warning and request-time interceptor behavior is unchanged.

Written by the indexing model from the issue text.

Assessment

Tech stack
elixir, grpc
Domain
authentication, backend
Issue type
Feature
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
78/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.