Documentation
¶
Overview ¶
Command valiss issues tenant credentials for gRPC and HTTP services using the issuer/tenant nkey model (NATS operator/user style). It is stateless: seeds are printed once at generation and never stored; the caller preserves them securely.
valiss keygen issuer # one-time: issuer key pair (trust anchor) valiss keygen tenant # per-tenant key pair valiss issue # mint tokens for valiss.yaml entries
issue reads a token manifest (valiss.yaml in the working directory, override with -f) declaring the issuer public key and the tokens to mint (tenant id, public key, scopes, ttl), signs a token per entry with the issuer seed (-seed-file or $VALISS_ISSUER_SEED, which must match the manifest issuer), and writes the results to stdout as YAML. The jti of each token is what the server-side allowlist accepts.
Directories
¶
| Path | Synopsis |
|---|---|
|
examples
|
|
|
grpcauth
command
Example grpcauth shows the full tenant-auth wiring for gRPC: an issuer issues a scoped token, the server installs the auth interceptors, and the client attaches the credential to every call.
|
Example grpcauth shows the full tenant-auth wiring for gRPC: an issuer issues a scoped token, the server installs the auth interceptors, and the client attaches the credential to every call. |
|
httpauth
command
Example httpauth shows the full tenant-auth wiring for net/http: an issuer signs a scoped token, the server wraps its mux with the auth middleware, and the client signs every request via the transport.
|
Example httpauth shows the full tenant-auth wiring for net/http: an issuer signs a scoped token, the server wraps its mux with the auth middleware, and the client signs every request via the transport. |
|
internal
|
|
|
manifest
Package manifest reads the valiss.yaml token manifest: the public, non-secret description of every token to issue (issuer public key, tenant ids and public keys, scopes, ttls).
|
Package manifest reads the valiss.yaml token manifest: the public, non-secret description of every token to issue (issuer public key, tenant ids and public keys, scopes, ttls). |
|
pkg
|
|
|
creds
Package creds implements the client credential bundle file: an issuer-signed token paired with the tenant seed that must sign requests, modeled on the nsc creds format.
|
Package creds implements the client credential bundle file: an issuer-signed token paired with the tenant seed that must sign requests, modeled on the nsc creds format. |
|
grpcauth
Package grpcauth wires the tenant authentication scheme into gRPC: server interceptors that verify the per-request credential and a client per-RPC credential that attaches it.
|
Package grpcauth wires the tenant authentication scheme into gRPC: server interceptors that verify the per-request credential and a client per-RPC credential that attaches it. |
|
httpauth
Package httpauth wires the tenant authentication scheme into net/http: a server middleware that verifies the per-request credential and a client http.RoundTripper that attaches it.
|
Package httpauth wires the tenant authentication scheme into net/http: a server middleware that verifies the per-request credential and a client http.RoundTripper that attaches it. |
|
token
Package token implements the core of the tenant authentication scheme, modeled on NATS operator/user credentials:
|
Package token implements the core of the tenant authentication scheme, modeled on NATS operator/user credentials: |
Click to show internal directories.
Click to hide internal directories.