TenkaCloud Docs

First pack tutorial Preview

Problem Packs let organizers distribute and host company exercises or problems intended for publication after an event without adding them to the public catalog. Installation stores an immutable revision; Cloud reads activated AWS/CloudFormation packs on the next deployment. Local reads supported problems in its local problems/ tree rather than the Pack store. Publication remains a separate author decision.

Just want to run an existing pack? → Use an existing pack.

Prerequisites

Run from the TenkaCloud repository root with Bun 1.3.11 and installed dependencies. Local-directory operations need no cloud credentials. Installing from Git contacts the given HTTPS repository.

Scaffold a pack

make pack-init ARGS="./my-first-pack"

This writes a manifest, one starter problem, an artifact placeholder and README. The placeholder is not a completed runnable exercise.

Validate the contract

make pack-validate ARGS="./my-first-pack"

Validation checks metadata, runtime declarations and files. It does not deploy, score or prove participant playability. Complete the problem and its own tests before making those claims.

Install and inspect locally

make pack-install ARGS="./my-first-pack"
make pack-list
bun run pack inspect com.example.starter@0.1.0

For a Git install use an HTTPS URL and full immutable 40-hex commit SHA. Keep source provenance and content digest. Do not use a moving branch as the revision.

Connect to hosting

Run from the repository root for Cloud, replacing <id@version> with the manifest ID and version:

bun run pack activate <id@version> --tenant local

local is the fixed selector consumed by the Cloud catalog loader; it does not select Local hosting. Use the default .tenkacloud/pack-store. There is no make pack-activate target. Activation itself performs no AWS operations. Normal Cloud source preparation includes this store in the private source archive and deployment reads the active problem catalog and execution assets. Update between events with make deploy, then select the problem in a new event. Existing events keep their saved catalog. Review runtime and scoring support and rehearse participant solving, scoring and teardown before hosting.

Local does not connect the Pack store to its event catalog. Author supported private Docker/Compose problems in the local problems/ tree, validate them and start with make local. AWS problems run on Cloud. For a private Git repository, obtain an authorized local checkout separately and install that directory. The Pack CLI Git fetcher does not use credentials.

Common failures and diagnostic codes

PACK_DIR_MISSING, MANIFEST_INVALID, duplicate IDs and missing artifacts need corrections in the pack, not a cloud deployment. See validation errors.

Remove a stored revision

bun run pack remove com.example.starter@0.1.0

Removal may refuse a retained activation/reference; inspect it first. Removing a pack is not exercise or cloud teardown.