pub enum Command {
Show 16 variants
Serve {
role: Option<RoleSet>,
},
Migrate,
Init,
Transfer {
to: String,
json: bool,
},
Account {
command: AccountCommand,
},
Order {
command: OrderCommand,
},
Audit {
command: AuditCommand,
},
Jobs {
command: JobsCommand,
},
Nonce {
command: NonceCommand,
},
Profile {
command: ProfileCommand,
},
Eab {
command: EabCommand,
},
Filter {
command: FilterCommand,
},
Upstream {
command: UpstreamCommand,
},
Admin {
command: AdminCommand,
},
Completions {
shell: Shell,
},
Man,
}Variants§
Serve
Run the ACME HTTP(S) server. Default when no subcommand is given.
Fields
role: Option<RoleSet>Which of the server’s three jobs this process does, comma-separated:
acme, admin, worker. Defaults to all three in one process.
A split deployment runs the same binary and the same configuration
several times, each naming its own roles. Only a process running
worker applies migrations, generates first-run material and drains
the job queue; the others check the schema and refuse if it is not
current. An unknown role is refused with usage, exit 2.
Migrate
Apply any database migrations that have not run yet, then exit.
Opening the database no longer migrates it, so this is how a schema is brought up to date without starting a server. Safe to run repeatedly.
Init
Prepare a deployment: migrate, then generate whatever first-run material the configuration calls for (the local CA, an upstream account, a self-signed TLS certificate).
The one place that creates key material. A process that does not run
the worker role refuses to generate any, so a split deployment runs
this once before starting anything.
Transfer
Copy every row into another database, which must already exist, be migrated and be empty.
The configured database.url is the source, and each URL’s scheme
picks its backend — so this is how a SQLite deployment becomes a
PostgreSQL one, and the reverse is the same command with the two
swapped. Stop the server first: a copy taken while something is writing
is a torn snapshot, and nothing here can detect one.
Account
Inspect and manage ACME accounts.
Fields
command: AccountCommandOrder
Inspect and manage ACME orders.
Fields
command: OrderCommandAudit
Read and prune the CA’s audit trail.
Fields
command: AuditCommandJobs
Inspect and manage the background job queue.
Fields
command: JobsCommandNonce
Count and prune the replay-nonce table.
Fields
command: NonceCommandProfile
Inspect the ACME endpoints this configuration mounts.
Fields
command: ProfileCommandEab
Manage External Account Binding (EAB) credentials.
Fields
command: EabCommandFilter
Read and test the access policy of an endpoint.
Fields
command: FilterCommandUpstream
Manage this server’s own account at the upstream ACME server
(signer.backend = "relay").
Fields
command: UpstreamCommandAdmin
Manage the web admin’s operators and their sessions. This is how the panel is bootstrapped: it has no sign-up page.
Fields
command: AdminCommandCompletions
Print a shell completion script on stdout.
Man
Print this binary’s man page, in roff, on stdout.
Trait Implementations§
Source§impl FromArgMatches for Command
impl FromArgMatches for Command
Source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
Source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches,
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>
Source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§fn update_from_arg_matches_mut<'b>(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut<'b>( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§impl Subcommand for Command
impl Subcommand for Command
Source§fn augment_subcommands<'b>(__clap_app: Command) -> Command
fn augment_subcommands<'b>(__clap_app: Command) -> Command
Source§fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command
fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command
Command so it can instantiate self via
FromArgMatches::update_from_arg_matches_mut Read moreSource§fn has_subcommand(__clap_name: &str) -> bool
fn has_subcommand(__clap_name: &str) -> bool
Self can parse a specific subcommandAuto Trait Implementations§
impl Freeze for Command
impl RefUnwindSafe for Command
impl Send for Command
impl Sync for Command
impl Unpin for Command
impl UnsafeUnpin for Command
impl UnwindSafe for Command
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more