← The board

B10 Hosting long-running commands

Area
B — Running it
Audience
operator
Kind
feature
Status
accepted
Maturity
shipped
Shipped in
0.15.0
Labels
cli, storage, household
Requires
C5D7G4
Relates to
B2B5B8G1

The feature in the specification · Read at

Requirements

  1. B10-R1acceptedMUST

    A long-running lemonfiber command MUST be installable as a service the operating system runs, and MUST continue after the terminal that installed it is closed.

    locked by
    0.15.0 met
    recorded done
    lemonfibercrates/lemonfiber-ports/src/hosting.rscrates/lemonfiber-adapters/src/hosting/launchd.rscrates/lemonfiber-adapters/src/hosting/systemd.rscrates/lemonfiber-core/src/app/hosting.rs
    cited by
    lemonfiber@e6e430186b
  2. B10-R2acceptedMUST

    Every long-running command MUST be installable this way; the mechanism MUST NOT be particular to one of them.

    locked by
    0.15.0 met
    recorded done
    lemonfibercrates/lemonfiber-ports/src/hosting.rscrates/lemonfiber-adapters/src/hosting/launchd.rscrates/lemonfiber-adapters/src/hosting/systemd.rscrates/lemonfiber-core/src/app/hosting.rs
    cited by
    lemonfiber@e6e430186b
  3. B10-R3acceptedMUST

    lemonfiber MUST use the service manager belonging to the platform it is running on.

    locked by
    0.15.0 met
    recorded done
    lemonfibercrates/lemonfiber-ports/src/hosting.rscrates/lemonfiber-adapters/src/hosting/launchd.rscrates/lemonfiber-adapters/src/hosting/systemd.rscrates/lemonfiber-core/src/app/hosting.rs
    cited by
    lemonfiber@a4c7d2dccelemonfiber@e6e430186b
  4. B10-R4acceptedMUST

    Where the platform has no service manager lemonfiber configures, it MUST say so and MUST instruct, and MUST NOT report an installation it did not make.

    locked by
    0.15.0 met
    recorded done
    lemonfibercrates/lemonfiber-ports/src/hosting.rscrates/lemonfiber-adapters/src/hosting/launchd.rscrates/lemonfiber-adapters/src/hosting/systemd.rscrates/lemonfiber-core/src/app/hosting.rs
    cited by
    lemonfiber@e6e430186b
  5. B10-R5acceptedMUST

    Installing MUST NOT require administrative rights, and MUST NOT install anything outside the operator's own account.

    locked by
    0.15.0 met
    recorded done
    lemonfibercrates/lemonfiber-ports/src/hosting.rscrates/lemonfiber-adapters/src/hosting/launchd.rscrates/lemonfiber-adapters/src/hosting/systemd.rscrates/lemonfiber-core/src/app/hosting.rs
    cited by
    lemonfiber@e6e430186b
  6. B10-R6acceptedMUST

    Installing MUST be an act of its own, and MUST NOT be a side effect of running the command or of any other command.

    locked by
    0.15.0 met
    recorded done
    lemonfibercrates/lemonfiber-ports/src/hosting.rscrates/lemonfiber-adapters/src/hosting/launchd.rscrates/lemonfiber-adapters/src/hosting/systemd.rscrates/lemonfiber-core/src/app/hosting.rs
    cited by
    lemonfiber@e6e430186b
  7. B10-R7acceptedMUST

    Installing MUST state whether the command is now running, and MUST NOT start anything without saying so.

    locked by
    0.15.0 met
    recorded done
    lemonfibercrates/lemonfiber-ports/src/hosting.rscrates/lemonfiber-adapters/src/hosting/launchd.rscrates/lemonfiber-adapters/src/hosting/systemd.rscrates/lemonfiber-core/src/app/hosting.rs
    cited by
    lemonfiber@e6e430186b
  8. B10-R8acceptedMUST

    An installation whose running state cannot be confirmed MUST be reported as installed-unverified, and MUST NOT be reported as running.

    locked by
    0.15.0 met
    recorded done
    lemonfibercrates/lemonfiber-ports/src/hosting.rscrates/lemonfiber-adapters/src/hosting/launchd.rscrates/lemonfiber-adapters/src/hosting/systemd.rscrates/lemonfiber-core/src/app/hosting.rs
    cited by
    lemonfiber@e6e430186b
  9. B10-R9acceptedMUST

    What is hosted MUST be readable — which commands are installed, what each runs, and whether the platform is running it now.

    locked by
    0.15.0 met
    recorded done
    lemonfibercrates/lemonfiber-ports/src/hosting.rscrates/lemonfiber-adapters/src/hosting/launchd.rscrates/lemonfiber-adapters/src/hosting/systemd.rscrates/lemonfiber-core/src/app/hosting.rs
    cited by
    lemonfiber@e6e430186b
  10. B10-R10acceptedMUST

    Removing MUST take back everything the installation made, leaving no orphaned service definition, registration or login item.

    locked by
    0.15.0 met
    recorded done
    lemonfibercrates/lemonfiber-ports/src/hosting.rscrates/lemonfiber-adapters/src/hosting/launchd.rscrates/lemonfiber-adapters/src/hosting/systemd.rscrates/lemonfiber-core/src/app/hosting.rs
    cited by
    lemonfiber@e6e430186b
  11. B10-R11acceptedMUST

    Removing what is not installed MUST report that and MUST NOT fail.

    locked by
    0.15.0 met
    recorded done
    lemonfibercrates/lemonfiber-ports/src/hosting.rscrates/lemonfiber-adapters/src/hosting/launchd.rscrates/lemonfiber-adapters/src/hosting/systemd.rscrates/lemonfiber-core/src/app/hosting.rs
    cited by
    lemonfiber@e6e430186b
  12. B10-R12acceptedMUST

    Installing a command that is already hosted MUST NOT leave two services for it.

    locked by
    0.15.0 met
    recorded done
    lemonfibercrates/lemonfiber-ports/src/hosting.rscrates/lemonfiber-adapters/src/hosting/launchd.rscrates/lemonfiber-adapters/src/hosting/systemd.rscrates/lemonfiber-core/src/app/hosting.rs
    cited by
    lemonfiber@dc2a1878fflemonfiber@e6e430186b
  13. B10-R13acceptedMUST

    A hosted command's words MUST be written where the operator can read them, and installing MUST say where.

    locked by
    0.15.0 met
    recorded done
    lemonfibercrates/lemonfiber-ports/src/hosting.rscrates/lemonfiber-adapters/src/hosting/launchd.rscrates/lemonfiber-adapters/src/hosting/systemd.rscrates/lemonfiber-core/src/app/hosting.rs
    cited by
    lemonfiber@e6e430186b
  14. B10-R14acceptedMUST

    A hosted command that ends MUST NOT be restarted automatically, and its ending MUST be readable.

    locked by
    0.15.0 met
    recorded done
    lemonfibercrates/lemonfiber-ports/src/hosting.rscrates/lemonfiber-adapters/src/hosting/launchd.rscrates/lemonfiber-adapters/src/hosting/systemd.rscrates/lemonfiber-core/src/app/hosting.rs
    cited by
    lemonfiber@e6e430186b
  15. B10-R15acceptedMUST

    A hosted service whose program is no longer present MUST be reported, and MUST NOT be reported as hosting anything.

    locked by
    0.15.0 met
    recorded done
    lemonfibercrates/lemonfiber-ports/src/hosting.rscrates/lemonfiber-adapters/src/hosting/launchd.rscrates/lemonfiber-adapters/src/hosting/systemd.rscrates/lemonfiber-core/src/app/hosting.rs
    cited by
    lemonfiber@e6e430186b
  16. B10-R16acceptedMUST

    Where a guarantee depends on a long-running command, what the operator and the household are told MUST say whether that command is hosted, and MUST NOT describe as continuous what nothing is running.

    locked by
    0.15.0 met
    recorded done
    lemonfibercrates/lemonfiber-ports/src/hosting.rscrates/lemonfiber-adapters/src/hosting/launchd.rscrates/lemonfiber-adapters/src/hosting/systemd.rscrates/lemonfiber-core/src/app/hosting.rs
    cited by
    lemonfiber@e6e430186b