taubyte-resource-flags-reference
Resource Flags Reference
Use this as the canonical flag catalog to avoid duplicating long flag lists in other skills.
Mode policy
- Default: non-interactive (
--defaults --yes+ explicit flags) - Optional: interactive (no
--defaults) by user request
Common create commands (non-interactive)
tau --defaults --yes new domain --name <domain> --fqdn <fqdn> --type auto --description "<desc>"
tau --defaults --yes new database --name <db> --match <matcher> --min 1 --max 2 --size 1GB
tau --defaults --yes new storage --name <storage> --match <matcher> --size 1GB --bucket Object --public
tau --defaults --yes new messaging --name <msg> --match <matcher> --mqtt --ws
MSYS_NO_PATHCONV=1 tau --defaults --yes new service --name <svc> --protocol /api
MSYS_NO_PATHCONV=1 tau --defaults --yes new function --name <fn> --type http --domains <domain> --method GET --paths /api/x --source . --call Handler --template empty --language Go --timeout 30s --memory 64MB
MSYS_NO_PATHCONV=1 tau --defaults --yes new website --name <site> --domains <domain> --paths / --template empty --generate-repository --no-private --no-embed-token --branch main
MSYS_NO_PATHCONV=1 tau --defaults --yes new library --name <lib> --path /libraries/<lib> --template empty --generate-repository --no-private --no-embed-token --branch main
Domain generation guardrails
- Never add
--generated-fqdn-prefixby default. - Only use
--generated-fqdn-prefix <prefix>when the user explicitly requests a specific prefix. - If the user does not request a prefix and generated FQDN is needed, use:
tau --defaults --yes new domain --name <domain> --generated-fqdn --type auto --description "<desc>"
Function post-create guardrail
- Immediately after
new function --template empty, replace scaffold content in<function_path>/empty.goat the function root (same directory asgo.mod— never underlib/) before push/test. - Never create
lib/, never relocateempty.gointolib/, and never hand-authormain.goin the function tree. To test the WASM build locally, use thetaubyte/go-wasiDocker command intaubyte-go-sdk-constraints. See that skill for the full layout rules.
Repository binding guardrails (website/library)
- Never call
new website/new librarywithout explicit repository strategy. - Preferred deterministic creation:
MSYS_NO_PATHCONV=1 tau --defaults --yes new website \
--name <site> \
--domains <domain> \
--paths / \
--template empty \
--generate-repository \
--repository-name tb_code_<project>_<site> \
--private \
--no-embed-token \
--branch main
- If using existing repository, pass explicit
--repository-nameor--repository-id. - After creation, run import before push:
tau import website --name <site>
tau import library --name <lib>
- After creation/import, verify repo fullname/ID in generated config YAML before any push.
Build/runtime config references
- Use
taubyte-build-runtime-configfor.taubyte/build.shand.taubyte/config.yamlmanagement. - Add runtime variables under
environment.variables(or resource-equivalent schema) when server-side config is required. - For websites, build script must place deployable output in
/out.
Config YAML anchors (database, messaging, PubSub)
Illustrative fragments for hand-edited config/applications/<app>/... (prefer tau new ... then adjust). Strings must match Go: database.New("<match>"), pubsubnode.Channel("<channel>"), and PubSub trigger.channel.
Database (databases/<name>.yaml):
match: appdata
useRegex: false
access:
network: all
storage:
size: 1GB
replicas:
min: 1
max: 2
Messaging (messaging/<name>.yaml):
local: false
channel:
regex: false
match: chat
bridges:
mqtt:
enable: false
websocket:
enable: true
PubSub consumer function (snippet):
trigger:
type: pubsub
local: false
channel: chat
execution:
call: handleChatEvents
Legacy-style interactive note
- In interactive mode, prompts are expected for visibility, template choice, embed-token, path/domain/method selections, and confirmation.
More from taubyte/skills
verifying-taubyte-functions
Verifies a Taubyte Go function locally via the `taubyte/go-wasi` Docker recipe (preferred over `tau build`, with tmpfs+bind-mount-ro to avoid root-owned artifacts in the source tree), and verifies a function actually serves on Dream by curling the gateway with the right `Host:` header (plus `/etc/hosts` mapping for `*.localtau`). Use when locally compiling a Go function to WASM, when smoke-testing a function before pushing, or when probing a Dream-hosted HTTP function from the laptop.
12creating-taubyte-resources
Creates Taubyte resources non-interactively via `tau new` for domain, website, library, function, application, database, storage, messaging, and service. Encodes the project-vs-application scope rule, the database `min < max` constraint, the website/library `--generate-repository` + import sequence, and the forbidden `--generated-fqdn-prefix` flag. Use when adding any resource to a Taubyte project's config repo.
12diagnosing-dream-builds
Diagnoses Dream local-cloud builds when `tau list/query builds` is empty or unreliable, by hitting the jobs HTTP endpoint directly (`GET /jobs/<project_id>`, `GET /job/<job_id>`) using the GitHub token from `~/tau.yaml`, then downloading logs with `tau query logs --jid`. Use when Dream builds appear silent, the build table is empty after `dream inject`, or you need raw job ids and logs for a failing build.
11taubyte-resource-creation
Scope-aware resource creation workflow. Uses non-interactive mode by default and references the shared flags catalog.
11taubyte-push-build-verify
Pushes config/code and verifies builds/logs. Includes website/library push handling with tau command first, git fallback.
11taubyte-scope-routing
Routes project-level vs application-scoped work; defaults to a website when a browser UI is logically appropriate; avoids unnecessary applications for simple website/function-only tasks unless needed.
11