playhouse create
Create or update a playhouse (alpha)
Synopsis
Create a playhouse — an opinionated AME cluster that hosts playrooms.
ALPHA: this command is in active development; flags and behaviour may change between releases.
In one command this provisions a cluster (named "playhouse-<NAME>"), adds a small system node pool plus an autoscaling, isolated pool for playrooms, waits for it to come up, and bootstraps it: the playrooms namespace, an egress policy that keeps the agent off cloud metadata and private networks (internet access stays open), and the SSH connectivity you choose with --exposure. The default is Tailscale (needs a Tailscale organisation and OAuth credentials); pass --exposure nodeport or --exposure portforward to skip Tailscale entirely.
Re-running with the same name is safe: it resumes where a previous run left off.
acloud playhouse create NAME [flags]Examples
# default: Tailscale connectivity (needs a Tailscale organisation + OAuth credentials)
export TS_OAUTH_CLIENT_SECRET=<secret>
acloud playhouse create demo --tailscale-oauth-client-id <id>
# free direct SSH where nodes have public IPs (e.g. Hetzner), no Tailscale
acloud playhouse create demo --exposure nodeport
# no public exposure: reach playrooms only via port-forward (any provider)
acloud playhouse create demo --exposure portforwardOptions
--cloud-account string cloud account to provision in — identity or display name (inferred when the org has exactly one)
--environment string environment to provision in (inferred when the org has exactly one)
--exposure string default playroom connectivity: tailscale (needs a configured Tailscale organisation and OAuth credentials), nodeport (free direct SSH where nodes have public IPs), or portforward (no public exposure, reached via API-server port-forward) (default "tailscale")
-h, --help help for create
--maintenance-schedule-identity string maintenance schedule for auto-upgrade (default: a dedicated one is created for the playhouse)
--max-playroom-nodes int maximum size of the autoscaling playrooms pool (default 3)
--max-privileged-nodes int maximum size of the privileged playrooms pool; each privileged playroom takes a whole node, so this caps concurrent privileged rooms (default 1)
--no-default do not set the new playhouse as the default for playroom commands
--node-count int fixed size of the system node pool (default 1)
--node-type string node type for both pools (overridden by --system-node-type / --playroom-node-type)
--playroom-node-type string node type for the playrooms pool
--privileged-node-type string node type for the dedicated privileged playrooms pool (defaults to the playrooms node type)
--region string region to provision in (inferred when the account offers exactly one)
--system-node-type string node type for the system pool
--tailscale-oauth-client-id string Tailscale OAuth client id for the operator (only needed with --exposure tailscale)
--tailscale-oauth-client-secret string Tailscale OAuth client secret (also read from TS_OAUTH_CLIENT_SECRET; only needed with --exposure tailscale)
--update-channel string update channel to track (default "regular")
--version string AME version to use (defaults to the latest available)
--wait-timeout duration maximum time to wait for the cluster to start (default 20m0s)
-y, --yes skip the confirmation promptOptions inherited from parent commands
-C, --context string sets the context
--debug enable debug mode
--debug-show-authorization-header prints actual authorization header in debug mode, use with caution!
-O, --organisation string sets the organisation
--request-timeout duration request timeout for api calls to the Avisi Cloud API (default 15s)
--trace enable trace modeSEE ALSO
- acloud playhouse - Manage playhouses (alpha)