Lockspire.Admin.Keys (lockspire v1.0.0)

Copy Markdown

Operator-facing query and command boundary for guided signing-key lifecycle work.

Summary

Types

key_view()

@type key_view() :: %{
  key: Lockspire.Domain.SigningKey.t() | map(),
  published: boolean(),
  publishable: boolean(),
  next_actions: [lifecycle_action()]
}

lifecycle_action()

@type lifecycle_action() :: :publish | :activate | :retire

Functions

activate_key(key_id, attrs \\ %{})

@spec activate_key(integer(), map() | keyword()) ::
  {:ok, key_view()} | {:error, term()}

generate_key(use \\ :sig)

@spec generate_key(Lockspire.Domain.SigningKey.use_type()) ::
  {:ok, key_view()} | {:error, term()}

get_key(key_id)

@spec get_key(integer()) :: {:ok, key_view() | nil} | {:error, term()}

list_keys(opts \\ [])

@spec list_keys(keyword()) :: {:ok, [key_view()]} | {:error, term()}

publish_key(key_id, attrs \\ %{})

@spec publish_key(integer(), map() | keyword()) ::
  {:ok, key_view()} | {:error, term()}

retire_key(key_id, attrs \\ %{})

@spec retire_key(integer(), map() | keyword()) :: {:ok, key_view()} | {:error, term()}