The swarm gets an appservice identity of its own, separate from each hive's `hyperhive` registration. `swarm-matrix-ctl appservice render` mints its tokens inside the matrix container when they are absent and renders the registration tuwunel loads; `appservice publish` writes its as_token to `swarm/controller/swarm-controller/matrix/appservice-token`, the one kind no hive's policy grants. The homeserver calls move out of swarm-matrix-ctl into swarm-matrix-client, with a `whoami`, so swarm-controller can mint agents' accounts through the same pinned device id instead of a copy of them.
29 lines
902 B
TOML
29 lines
902 B
TOML
[package]
|
|
name = "swarm-matrix-ctl"
|
|
version.workspace = true
|
|
readme = "README.md"
|
|
edition.workspace = true
|
|
|
|
[[bin]]
|
|
name = "swarm-matrix-ctl"
|
|
path = "src/main.rs"
|
|
|
|
[dependencies]
|
|
anyhow.workspace = true
|
|
# One verb today (`mint`), and the reason this crate is a `*ctl` rather than a
|
|
# single-purpose binary: the next thing that has to run in the matrix container
|
|
# is a subcommand here, not a new crate.
|
|
clap.workspace = true
|
|
serde_json.workspace = true
|
|
# The appservice calls, shared with `swarm-controller`, which mints agents'
|
|
# accounts through the same device id.
|
|
swarm-matrix-client.workspace = true
|
|
# The agreement this binary is one end of: where the credential lives, what the
|
|
# object at that path holds, and the `BAO_*` spellings the unit sets.
|
|
swarm-secret-client.workspace = true
|
|
tokio.workspace = true
|
|
tracing.workspace = true
|
|
tracing-subscriber.workspace = true
|
|
|
|
[lints]
|
|
workspace = true
|