Create the first operator session, connect a local Vary project, test it, push a deploy, and inspect deploy output.
Mint a one-time admin token and create the app record that will receive source pushes.
# Create a one-time admin token for the first operator.
via admin create alice
# Create the server-side app record and bare Git repo.
via app ensure my-api --owner alice
Run: via app ensure my-api --owner alice
Expected output:
(?i)created|exists|ensured|my-api
Exchange the one-time admin token for workstation credentials.
# Exchange the one-time admin token for workstation credentials.
vary login https://vary.example.com --name alice --token-stdin
Run: vary login https://vary.example.com --name alice --token-stdin
Expected output:
(?i)session|credentials|logged in|expires
Record the Via server and app id in the project's vary.toml.
# Work from the local Vary project you want to deploy.
cd my-api
# Record the Via server URL and app name in vary.toml.
vary app init --server https://vary.example.com --app my-api
# Confirm only the deployment config changed.
git status --short
# Commit the config so deploys can push a clean tree.
git add vary.toml
git commit -m "Configure Via deployment"
Run: vary app init --server https://vary.example.com --app my-api
Expected output:
(?m)^.*vary\.toml.*$
Run the project's tests, push the current Git commit to Via, and wait for the deploy result.
# Run local tests before pushing source to Via.
vary test
# Via deploys expect committed source by default.
git status --short
# Push the current commit and wait for the deploy result.
vary app deploy
# Confirm the app's current deploy and runtime state.
vary app status
Run: vary app deploy
Expected output:
(?i)\brunning\b
Find the build id, inspect the build detail, and stream test logs for the deploy.
# List recent server builds for the app.
vary app builds --app my-api
# Inspect one build record in detail.
vary app build <build-id> --app my-api
# Stream the test logs when a result needs detail.
vary app logs --tests <build-id> --app my-api
Run: vary app builds --app my-api
Expected output:
(?i)build|running|passed|failed
Confirm the server saw the same test result by reading Via's local state directory.
# Read the server-side test result directly from the Via state directory.
vary app tests <build-id> --app my-api --local --state-dir /var/lib/via
Run: vary app tests <build-id> --app my-api --local --state-dir /var/lib/via
Expected output:
(?i)passed|failed|tests
Request a hostname, verify ownership, add a route, and stream runtime logs.
# Ask Via to create a domain ownership challenge.
vary app domain request my-api my-api.apps.example.com --target prod
# Confirm the required DNS record is visible.
vary app domain verify my-api my-api.apps.example.com --target prod
# Attach the verified hostname to the running app target.
vary app route add my-api my-api.apps.example.com --target prod --port 8080
# Stream runtime logs from the active container.
vary app logs --runtime
Run: vary app logs --runtime
Expected output:
(?m)^.*my-api.*$