Skip to main content

Crate ordinary

Crate ordinary 

Source
Expand description

§Command-Line Help for ordinary

This document contains the help content for the ordinary command-line program.

Command Overview:

§ordinary

Ordinary CLI

Usage: ordinary [OPTIONS] <COMMAND>

§Subcommands:
  • new — create a new Ordinary project
  • ssg — manage static site configuration
  • build — build your Ordinary project
  • start — start the app, locally
  • publish — combines build, content update, assets write, templates upload, actions install
  • templates — manage templates in your Ordinary project
  • content — manage content in your Ordinary project
  • assets — manage assets in your Ordinary project
  • models — manage models in your Ordinary project
  • actions — manage actions in your Ordinary project
  • integrations — manage integrations in your Ordinary project
  • accounts — manage accounts connected to ordinaryd
  • app — manage applications running on ordinaryd
  • secrets — manage secrets in your Ordinary application
  • root
  • doctor — ensure that all the correct system components are installed
  • utils — utility functions for aiding project development
§Options:
  • -p, --project <PROJECT> — project path

    Default value: .

  • --api-domain <API_DOMAIN> — should only be necessary with localhost or when addressing by IP

  • --insecure — use HTTP instead of HTTPS

    Default value: false

  • --danger-accept-invalid-certs — DANGER: only use when working with self-signed localhost certs

    Default value: false

  • -v, --verbose — Increase logging verbosity

  • -q, --quiet — Decrease logging verbosity

  • --pretty — whether to pretty print events to stdio

    Default value: false

§ordinary new

create a new Ordinary project

Usage: ordinary new [OPTIONS] <DOMAIN>

§Arguments:
  • <DOMAIN> — project domain
§Options:
  • --path <PATH> — project path

    Default value: .

§ordinary ssg

manage static site configuration

Usage: ordinary ssg <COMMAND>

§Subcommands:
  • init — generate an ordinary.json config to deploy your SSG to a running instance of ordinaryd

§ordinary ssg init

generate an ordinary.json config to deploy your SSG to a running instance of ordinaryd

Usage: ordinary ssg init [OPTIONS] <DOMAIN> <DIR_PATH>

§Arguments:
  • <DOMAIN> — project domain
  • <DIR_PATH> — assets dir_path
§Options:
  • -c, --contacts <CONTACTS> — contacts for Let’s Encrypt (auto-TLS) source

  • -e, --error-page — include generated 404.html as error page

    Default value: false

  • -s, --inline-styles — accommodate inline styles in the generated files

    Default value: false

  • -r, --inline-scripts — accommodate inline scripts in the generated files

    Default value: false

  • -m, --inline-images — accommodate inline images in the generated files

    Default value: false

§ordinary build

build your Ordinary project

Note: will load environment variables from .env

Usage: ordinary build [OPTIONS]

§Options:
  • -i, --ignore-cache — build project without checking the cache

    Default value: false

§ordinary start

start the app, locally

Usage: ordinary start [OPTIONS]

§Options:
  • --provision <PROVISION> — what mode TLS certs should be provisioned in

    Default value: localhost

    Possible values: staging, production, localhost

  • --port <PORT> — specify HTTP(s) port for server

  • --redirect-port <REDIRECT_PORT> — specify HTTP port for server when running in secure mode

  • --insecure — run without HTTPS

    Default value: false

  • --insecure-cookies — run with insecure cookies

    Default value: false

  • --log-ttl-hours <LOG_TTL_HOURS> — max period of time logs are stored

    Default value: 72

  • --log-rotation-file-size <LOG_ROTATION_FILE_SIZE> — max size (in bytes) per log file

    Default value: 10000000

  • --log-rotation-mins <LOG_ROTATION_MINS> — max amount of time a log file is appended to before being compressed and stored

    Default value: 60

  • --log-headers — whether HTTP request and response headers are logged

    Default value: false

  • --log-ips — whether IP Addresses are logged with HTTP requests

    Default value: false

  • --redacted-header-hash <REDACTED_HEADER_HASH> — “none” | “blake2” | “blake3”

    Default value: none

  • --data-dir <DATA_DIR> — specify the data directory

    Default value: ~/.ordinary

  • --stored-logs — persists JSON formatted log lines to /logs//

    Default value: false

  • --stdio-logs — logs events to stdio

    Default value: false

  • --stdio-logs-fmt <STDIO_LOGS_FMT> — how to format stdio logs

    Default value: json

    Possible values: concise, pretty, json

  • --journald-logs — logs events to journald (only works on Linux distros that use systemd)

    Default value: false

  • --log-level <LOG_LEVEL> — base log level for every component

    Default value: info

    Possible values: error, warn, info, debug, trace

  • --log-sizes — whether storage and certain payload sizes are logged

    Default value: false

  • --stdio-logs-timing — whether span timing is logged

    Default value: false

  • -d, --disable-defaults — disables these defaults set for development: --stdio-logs --stdio-logs-fmt concise --insecure --insecure-cookies

    Default value: false

§ordinary publish

combines build, content update, assets write, templates upload, actions install

Usage: ordinary publish

§ordinary templates

manage templates in your Ordinary project

Usage: ordinary templates <COMMAND>

§Subcommands:
  • add — add a new template to the Ordinary project
  • upload — upload templates to application running on ordinaryd instance

§ordinary templates add

add a new template to the Ordinary project

Usage: ordinary templates add [OPTIONS] <NAME> <ROUTE> <MIME>

§Arguments:
  • <NAME> — template name
  • <ROUTE> — HTTP route (must start with leading “/”)
  • <MIME> — MIME type for template output: reference
§Options:
  • -e, --error <ERROR> — whether the template is an error template

    Possible values: true, false

§ordinary templates upload

upload templates to application running on ordinaryd instance

Usage: ordinary templates upload [OPTIONS]

§Options:
  • -n, --name <NAME> — name of a specific template to upload (optional). will upload all when the --name flag is not passed

§ordinary content

manage content in your Ordinary project

Usage: ordinary content <COMMAND>

§Subcommands:
  • definition — manage content definitions for Ordinary project
  • object — manage content objects for Ordinary project
  • update — update content for application running on ordinaryd instance

§ordinary content definition

manage content definitions for Ordinary project

Usage: ordinary content definition <COMMAND>

§Subcommands:
  • add — add a content definition to your Ordinary project
  • edit — edit a content definition to your Ordinary project

§ordinary content definition add

add a content definition to your Ordinary project

Usage: ordinary content definition add <NAME> <FIELDS>

§Arguments:
  • <NAME> — content definition / instance name

  • <FIELDS> — JSON formatted list of fields

    EXAMPLE: '[{ "idx": 0, "name": "some", "kind": "String" }, { "idx": 1, "name": "thing", "kind": "I32" }]'

§ordinary content definition edit

edit a content definition to your Ordinary project

Usage: ordinary content definition edit <IDX> <NAME> <FIELDS>

§Arguments:
  • <IDX> — numerical identifier / index for the content definition

  • <NAME> — content definition / instance name

  • <FIELDS> — JSON formatted list of fields

    EXAMPLE: '[{ "idx": 0, "name": "some", "kind": "String" }, { "idx": 1, "name": "thing", "kind": "I32" }]'

§ordinary content object

manage content objects for Ordinary project

Usage: ordinary content object <COMMAND>

§Subcommands:
  • add — add a content object to your Ordinary project
  • edit — edit a content object to your Ordinary project
  • delete — delete a content object to your Ordinary project

§ordinary content object add

add a content object to your Ordinary project

Usage: ordinary content object add <JSON>

§Arguments:
  • <JSON> — json value of content object

§ordinary content object edit

edit a content object to your Ordinary project

Usage: ordinary content object edit <JSON>

§Arguments:
  • <JSON> — json value of content object

§ordinary content object delete

delete a content object to your Ordinary project

Usage: ordinary content object delete <INSTANCE_OF> <UUID>

§Arguments:
  • <INSTANCE_OF> — instance name that matches the content definition
  • <UUID> — unique identifier for the object to be deleted

§ordinary content update

update content for application running on ordinaryd instance

Usage: ordinary content update

§ordinary assets

manage assets in your Ordinary project

Usage: ordinary assets <COMMAND>

§Subcommands:
  • write — write assets to application running on ordinaryd instance

§ordinary assets write

write assets to application running on ordinaryd instance

Usage: ordinary assets write [OPTIONS]

§Options:
  • -n, --name <NAME> — name of a specific asset to write (optional). will write all when the --name flag is not passed

§ordinary models

manage models in your Ordinary project

Usage: ordinary models <COMMAND>

§Subcommands:
  • add — add a new model to your Ordinary project
  • items — manage model items for the application running on an ordinaryd instance

§ordinary models add

add a new model to your Ordinary project

Usage: ordinary models add <NAME> [UUID_VERSION]

§Arguments:
  • <NAME> — name of the model

  • <UUID_VERSION> — UUID version

    Possible values: v4, v7

§ordinary models items

manage model items for the application running on an ordinaryd instance

Usage: ordinary models items <COMMAND>

§Subcommands:
  • list — list model items for the application running on an ordinaryd instance

§ordinary models items list

list model items for the application running on an ordinaryd instance

Usage: ordinary models items list [OPTIONS] <NAME>

§Arguments:
  • <NAME> — name of the model
§Options:
  • --json — for applications that need to consume stdio or pipe to jq

    Default value: false

§ordinary actions

manage actions in your Ordinary project

Usage: ordinary actions <COMMAND>

§Subcommands:
  • add — add a new action to your Ordinary project
  • install — install actions to application running on ordinaryd instance

§ordinary actions add

add a new action to your Ordinary project

Usage: ordinary actions add <NAME> <LANG> [TRANSACTIONAL]

§Arguments:
  • <NAME> — action name

  • <LANG> — language the action runs

  • <TRANSACTIONAL> — whether the action is transactional

    Possible values: true, false

§ordinary actions install

install actions to application running on ordinaryd instance

Usage: ordinary actions install [OPTIONS]

§Options:
  • -n, --name <NAME> — name of a specific action to install (optional). will install all when the --name flag is not passed

§ordinary integrations

manage integrations in your Ordinary project

Usage: ordinary integrations <COMMAND>

§Subcommands:
  • add — add a new integration to your Ordinary project

§ordinary integrations add

add a new integration to your Ordinary project

Usage: ordinary integrations add <NAME> <ENDPOINT> <PROTOCOL>

§Arguments:
  • <NAME> — name of the integration

  • <ENDPOINT> — url endpoint for integration

  • <PROTOCOL> — protocol for the integration

    Possible values: JSON

§ordinary accounts

manage accounts connected to ordinaryd

Usage: ordinary accounts <COMMAND>

§Subcommands:
  • register — register a new account
  • login — log in to an existing account
  • logout — log out of a logged in account
  • access — access management subcommands
  • password — password management
  • mfa — MFA management
  • recovery-codes — recovery code management
  • delete — delete account
  • invite — invite another user to a project
  • current — display info for current account
  • list — list all logged in accounts
  • switch — switch to a different logged in account

§ordinary accounts register

register a new account

Usage: ordinary accounts register [OPTIONS] <HOST> <ACCOUNT>

§Arguments:
  • <HOST> — url where orindaryd is running
  • <ACCOUNT> — name of your account with the host
§Options:
  • --password <PASSWORD> — password for your new account
  • --invite <INVITE> — base64 encoded invite token

§ordinary accounts login

log in to an existing account

Usage: ordinary accounts login [OPTIONS] <HOST> <ACCOUNT>

§Arguments:
  • <HOST> — url where orindaryd is running
  • <ACCOUNT> — name of your account with the host
§Options:
  • --password <PASSWORD> — password for your existing account
  • --mfa <MFA> — 6 digit TOTP MFA code

§ordinary accounts logout

log out of a logged in account

Usage: ordinary accounts logout

§ordinary accounts access

access management subcommands

Usage: ordinary accounts access <COMMAND>

§Subcommands:
  • get — get access

§ordinary accounts access get

get access

Usage: ordinary accounts access get [OPTIONS]

§Options:
  • -m, --min <MIN> — how long the client signature is valid for

§ordinary accounts password

password management

Usage: ordinary accounts password <COMMAND>

§Subcommands:
  • reset — reset your password
  • forgot — recover your password

§ordinary accounts password reset

reset your password

Usage: ordinary accounts password reset [OPTIONS]

§Options:
  • --password <PASSWORD> — existing password
  • --new-password <NEW_PASSWORD> — new password to be set
  • --mfa <MFA> — 6 digit TOTP MFA code

§ordinary accounts password forgot

recover your password

Usage: ordinary accounts password forgot [OPTIONS]

§Options:
  • --new-password <NEW_PASSWORD> — new password to be set
  • --recovery-code <RECOVERY_CODE> — 11 character recovery code

§ordinary accounts mfa

MFA management

Usage: ordinary accounts mfa <COMMAND>

§Subcommands:
  • reset — reset MFA TOTP secret
  • lost — recovery MFA TOTP secret

§ordinary accounts mfa reset

reset MFA TOTP secret

Usage: ordinary accounts mfa reset [OPTIONS]

§Options:
  • --password <PASSWORD> — account password
  • --mfa <MFA> — 6 digit TOTP MFA code

§ordinary accounts mfa lost

recovery MFA TOTP secret

Usage: ordinary accounts mfa lost [OPTIONS]

§Options:
  • --password <PASSWORD> — account password
  • --recovery-code <RECOVERY_CODE> — 11 character recovery code

§ordinary accounts recovery-codes

recovery code management

Usage: ordinary accounts recovery-codes <COMMAND>

§Subcommands:
  • reset — reset recovery codes

§ordinary accounts recovery-codes reset

reset recovery codes

Usage: ordinary accounts recovery-codes reset [OPTIONS]

§Options:
  • --password <PASSWORD> — account password
  • --mfa <MFA> — 6 digit TOTP MFA code

§ordinary accounts delete

delete account

Usage: ordinary accounts delete [OPTIONS] <HOST> <ACCOUNT>

§Arguments:
  • <HOST> — url where orindaryd is running
  • <ACCOUNT> — name of your account with the host
§Options:
  • --password <PASSWORD> — password for your existing account
  • --mfa <MFA> — 6 digit TOTP MFA code

§ordinary accounts invite

invite another user to a project

Usage: ordinary accounts invite <ACCOUNT> <DOMAIN> [PERMISSIONS]...

§Arguments:
  • <ACCOUNT> — name of the account to be invited & registered

  • <DOMAIN> — domain for the invited application

  • <PERMISSIONS> — which permissions to include in their set

    Possible values: admin, read, write, update, upload, install, deploy, bridge, kill, erase

§ordinary accounts current

display info for current account

format:

Usage: ordinary accounts current

§ordinary accounts list

list all logged in accounts

Usage: ordinary accounts list

§ordinary accounts switch

switch to a different logged in account

Usage: ordinary accounts switch <DOMAIN> <ACCOUNT>

§Arguments:
  • <DOMAIN> — API domain where orindaryd is running
  • <ACCOUNT> — name of the account you’d like to switch to

§ordinary app

manage applications running on ordinaryd

Usage: ordinary app <COMMAND>

§Subcommands:
  • deploy — deploy a changes to ordinary.json
  • migrate — push a configuration change which will modify the shape of your data stores
  • kill — kill a running instance of the application
  • restart — restart a running instance of the application
  • erase — fully erase all content of the application from the host
  • download — download an application as static files
  • logs — query application logs
  • accounts — manage application accounts
  • routes — list all HTTP routes

§ordinary app deploy

deploy a changes to ordinary.json

Usage: ordinary app deploy

§ordinary app migrate

push a configuration change which will modify the shape of your data stores

(i.e. a structural change to model or content definitions)

Usage: ordinary app migrate

§ordinary app kill

kill a running instance of the application

Usage: ordinary app kill

§ordinary app restart

restart a running instance of the application

Usage: ordinary app restart

§ordinary app erase

fully erase all content of the application from the host

Usage: ordinary app erase

§ordinary app download

download an application as static files

Usage: ordinary app download [OPTIONS]

§Options:
  • -u, --url <URL> — url override. will use project domain by default

  • -o, --out <OUT> — where to store downloaded files

    Default value: out

§ordinary app logs

query application logs

Usage: ordinary app logs <COMMAND>

§Subcommands:
  • sync — sync files, indexes and tables
  • search — search the tantivy index

§ordinary app logs sync

sync files, indexes and tables

Usage: ordinary app logs sync <COMMAND>

§Subcommands:
  • info — get information about remote and local log files
  • file — sync a single file
  • all — repair local state for all out of sync (⚠️) and remote files not yet downloaded (❌)

§ordinary app logs sync info

get information about remote and local log files.

  • “✅” remote and local are synced - “❌” not found on remote or local - “⚠️” present on both but local is out of sync

Usage: ordinary app logs sync info

§ordinary app logs sync file

sync a single file

Usage: ordinary app logs sync file <NAME>

§Arguments:
  • <NAME> — file name

§ordinary app logs sync all

repair local state for all out of sync (⚠️) and remote files not yet downloaded (❌)

Usage: ordinary app logs sync all [OPTIONS]

§Options:
  • -f, --force <FORCE> — download all files from the server, overwriting everything you have locally.

    Note: will preserve the state of any files the server no longer has a record of.

    Possible values: true, false

search the tantivy index

Usage: ordinary app logs search [OPTIONS] <FORMAT> <QUERY>

§Arguments:
  • <FORMAT> — format

    Possible values: all, top, count

  • <QUERY>reference

§Options:
  • --limit <LIMIT> — limit (when using ‘top’ format)

  • -s, --sync <SYNC> — whether to sync from remote

    Possible values: true, false

§ordinary app accounts

manage application accounts

Usage: ordinary app accounts <COMMAND>

§Subcommands:
  • list — list application accounts

§ordinary app accounts list

list application accounts

Usage: ordinary app accounts list

§ordinary app routes

list all HTTP routes

Usage: ordinary app routes

§ordinary secrets

manage secrets in your Ordinary application

Usage: ordinary secrets <COMMAND>

§Subcommands:
  • store — store an application secret

§ordinary secrets store

store an application secret

Note: currently requires a restart via ordinary app restart after being stored.

Usage: ordinary secrets store <NAME> <SECRET>

§Arguments:
  • <NAME> — secret name
  • <SECRET> — secret value

§ordinary root

Usage: ordinary root <COMMAND>

§Subcommands:
  • info — get system and process info for the Ordinary API server
  • logs — query system and application logs
  • lock — lock resources to prevent abuse
  • unlock — unlock resources upon resolution

§ordinary root info

get system and process info for the Ordinary API server

Usage: ordinary root info

§ordinary root logs

query system and application logs

Usage: ordinary root logs <COMMAND>

§Subcommands:
  • sync — sync files, indexes and tables
  • search — search the tantivy index

§ordinary root logs sync

sync files, indexes and tables

Usage: ordinary root logs sync <COMMAND>

§Subcommands:
  • info — get information about remote and local log files
  • file — sync a single file
  • all — repair local state for all out of sync (⚠️) and remote files not yet downloaded (❌)

§ordinary root logs sync info

get information about remote and local log files.

  • “✅” remote and local are synced - “❌” not found on remote or local - “⚠️” present on both but local is out of sync

Usage: ordinary root logs sync info

§ordinary root logs sync file

sync a single file

Usage: ordinary root logs sync file <NAME>

§Arguments:
  • <NAME> — file name

§ordinary root logs sync all

repair local state for all out of sync (⚠️) and remote files not yet downloaded (❌)

Usage: ordinary root logs sync all [OPTIONS]

§Options:
  • -f, --force <FORCE> — download all files from the server, overwriting everything you have locally.

    Note: will preserve the state of any files the server no longer has a record of.

    Possible values: true, false

search the tantivy index

Usage: ordinary root logs search [OPTIONS] <FORMAT> <QUERY>

§Arguments:
  • <FORMAT> — format

    Possible values: all, top, count

  • <QUERY>reference

§Options:
  • --limit <LIMIT> — limit (when using ‘top’ format)

  • -s, --sync <SYNC> — whether to sync from remote

    Possible values: true, false

§ordinary root lock

lock resources to prevent abuse

Usage: ordinary root lock --account <ACCOUNT>

§Options:
  • -a, --account <ACCOUNT> — account to be locked

§ordinary root unlock

unlock resources upon resolution

Usage: ordinary root unlock --account <ACCOUNT>

§Options:
  • -a, --account <ACCOUNT> — account to be unlocked

§ordinary doctor

ensure that all the correct system components are installed

Usage: ordinary doctor [OPTIONS]

§Options:
  • -f, --fix <FIX> — auto fix installs

    Possible values: all, rust, wasm, wasm-opt, exiftool

§ordinary utils

utility functions for aiding project development

Usage: ordinary utils <COMMAND>

§Subcommands:
  • uuid — generate a UUID
  • timestamp — generate a UNIX timestamp for the current time (i.e. date +%s)
  • html — utilities for managing HTML files
  • css — utilities for managing CSS files
  • js — utilities for managing JavaScript files
  • markdown — utilities for manipulating Markdown files
  • exif — utilities for manipulating exif data
  • wasm-optwasm-opt command

§ordinary utils uuid

generate a UUID

Usage: ordinary utils uuid [OPTIONS]

§Options:
  • --v <V> — uuid version

    Default value: 4

    Possible values: 4

§ordinary utils timestamp

generate a UNIX timestamp for the current time (i.e. date +%s)

Usage: ordinary utils timestamp [OPTIONS]

§Options:

§ordinary utils html

utilities for managing HTML files

Usage: ordinary utils html <COMMAND>

§Subcommands:
  • minify — minify HTML files

§ordinary utils html minify

minify HTML files

Usage: ordinary utils html minify [OPTIONS] <PATH>

§Arguments:
  • <PATH> — path to the HTML file
§Options:
  • -i, --in-place — whether it should overwrite the existing file

    Default value: false

§ordinary utils css

utilities for managing CSS files

Usage: ordinary utils css <COMMAND>

§Subcommands:
  • minify — minify CSS files

§ordinary utils css minify

minify CSS files

Usage: ordinary utils css minify [OPTIONS] <PATH>

§Arguments:
  • <PATH> — path to the CSS file
§Options:
  • -i, --in-place — whether it should overwrite the existing file

    Default value: false

§ordinary utils js

utilities for managing JavaScript files

Usage: ordinary utils js <COMMAND>

§Subcommands:
  • minify — minify JavaScript files

§ordinary utils js minify

minify JavaScript files

Usage: ordinary utils js minify [OPTIONS] <PATH>

§Arguments:
  • <PATH> — path to the JavaScript file
§Options:
  • -i, --in-place — whether it should overwrite the existing file

    Default value: false

§ordinary utils markdown

utilities for manipulating Markdown files

Usage: ordinary utils markdown <COMMAND>

§Subcommands:
  • to-html — process and place an .html file next to the referenced .md file

§ordinary utils markdown to-html

process and place an .html file next to the referenced .md file

Usage: ordinary utils markdown to-html [OPTIONS] <PATH>

§Arguments:
  • <PATH> — path to the Markdown file
§Options:
  • -s, --safe — if true escape all HTML in the Markdown file

    Default value: false

§ordinary utils exif

utilities for manipulating exif data

Usage: ordinary utils exif <COMMAND>

§Subcommands:

§ordinary utils exif tool

exiftool command

Usage: ordinary utils exif tool [ARGS]...

§Arguments:

§ordinary utils wasm-opt

wasm-opt command

Usage: ordinary utils wasm-opt [ARGS]...

§Arguments:
  • <ARGS>wasm-opt args: ordinary utils wasm-opt -- --help

This document was generated automatically by clap-markdown.

Structs§

Cli

Enums§

Accounts
account management subcommands
Actions
App
Assets
Commands
Content
Integrations
Models
Permission
permission for app operations on the Ordinary Server
Templates

Functions§

run
setup