opencode-skills-collection 3.1.23 → 4.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled-skills/.antigravity-install-manifest.json +24 -1
- package/bundled-skills/007/SKILL.md +2 -2
- package/bundled-skills/10-andruia-skill-smith/SKILL.md +1 -1
- package/bundled-skills/agent-squad/SKILL.md +5 -0
- package/bundled-skills/agent-squad/alex/SKILL.md +3 -0
- package/bundled-skills/agent-squad/aria/SKILL.md +3 -0
- package/bundled-skills/agent-squad/dep/SKILL.md +3 -0
- package/bundled-skills/agent-squad/luna/SKILL.md +4 -1
- package/bundled-skills/agent-squad/mason/SKILL.md +3 -0
- package/bundled-skills/agent-squad/max/SKILL.md +3 -0
- package/bundled-skills/agent-squad/quinn/SKILL.md +3 -0
- package/bundled-skills/agent-squad/rex/SKILL.md +3 -0
- package/bundled-skills/angular/metadata.json +1 -1
- package/bundled-skills/angular-best-practices/metadata.json +1 -1
- package/bundled-skills/angular-state-management/metadata.json +1 -1
- package/bundled-skills/angular-ui-patterns/metadata.json +1 -1
- package/bundled-skills/antigravity-skill-orchestrator/SKILL.md +2 -2
- package/bundled-skills/apify-actor-development/SKILL.md +2 -2
- package/bundled-skills/apple-container/SKILL.md +165 -0
- package/bundled-skills/apple-container/references/commands.md +1593 -0
- package/bundled-skills/apple-container/references/concepts.md +294 -0
- package/bundled-skills/apple-container/references/configuration.md +499 -0
- package/bundled-skills/apple-container/references/workflows.md +498 -0
- package/bundled-skills/ask-copilot/SKILL.md +112 -0
- package/bundled-skills/auto-research/SKILL.md +126 -0
- package/bundled-skills/brooks-lint/SKILL.md +1 -1
- package/bundled-skills/browser-harness/references/install.md +3 -1
- package/bundled-skills/chrome-extension-developer/SKILL.md +1 -1
- package/bundled-skills/clean-code-guard/SKILL.md +184 -0
- package/bundled-skills/clean-code-guard/references/ai-failure-modes.md +345 -0
- package/bundled-skills/clean-code-guard/references/comments-and-formatting.md +115 -0
- package/bundled-skills/clean-code-guard/references/dry-kiss-yagni.md +133 -0
- package/bundled-skills/clean-code-guard/references/naming-and-functions.md +187 -0
- package/bundled-skills/clean-code-guard/references/review-checklist.md +150 -0
- package/bundled-skills/clean-code-guard/references/solid.md +280 -0
- package/bundled-skills/clean-code-guard/references/sources.md +47 -0
- package/bundled-skills/cloudflare-security-audit/SKILL.md +137 -0
- package/bundled-skills/cloudflare-security-audit/references/AI-AND-LLM.md +67 -0
- package/bundled-skills/cloudflare-security-audit/references/ATTACK-CLASSES.md +116 -0
- package/bundled-skills/cloudflare-security-audit/references/CLIENT-SIDE.md +67 -0
- package/bundled-skills/cloudflare-security-audit/references/HUNTING.md +110 -0
- package/bundled-skills/cloudflare-security-audit/references/MEMORY-SAFETY-AND-BINARY.md +58 -0
- package/bundled-skills/cloudflare-security-audit/references/RECONNAISSANCE.md +46 -0
- package/bundled-skills/cloudflare-security-audit/references/VALIDATION-AND-REPORTING.md +109 -0
- package/bundled-skills/cloudflare-security-audit/references/WEB-PROTOCOL-AND-AUTH.md +85 -0
- package/bundled-skills/cloudflare-security-audit/resources/report-schema.json +210 -0
- package/bundled-skills/comfyui-gateway/references/troubleshooting.md +1 -1
- package/bundled-skills/commit/SKILL.md +2 -1
- package/bundled-skills/deepapi/SKILL.md +6 -6
- package/bundled-skills/docs/README.md +1 -1
- package/bundled-skills/docs/contributors/quality-bar.md +1 -1
- package/bundled-skills/docs/contributors/security-guardrails.md +1 -1
- package/bundled-skills/docs/integrations/jetski-cortex.md +5 -5
- package/bundled-skills/docs/integrations/jetski-gemini-loader/README.md +3 -3
- package/bundled-skills/docs/maintainers/ci-drift-fix.md +7 -5
- package/bundled-skills/docs/maintainers/merge-batch.md +24 -7
- package/bundled-skills/docs/maintainers/pr-autonomy.md +89 -0
- package/bundled-skills/docs/maintainers/release-notes-7.2.0.md +1 -1
- package/bundled-skills/docs/maintainers/release-process.md +9 -9
- package/bundled-skills/docs/maintainers/repo-growth-seo.md +5 -5
- package/bundled-skills/docs/maintainers/skills-date-tracking.md +1 -1
- package/bundled-skills/docs/maintainers/skills-update-guide.md +2 -2
- package/bundled-skills/docs/users/{antigravity-awesome-skills-vs-awesome-claude-skills.md → agentic-awesome-skills-vs-awesome-claude-skills.md} +5 -5
- package/bundled-skills/docs/users/ai-agent-skills.md +4 -4
- package/bundled-skills/docs/users/best-claude-code-skills-github.md +3 -3
- package/bundled-skills/docs/users/best-cursor-skills-github.md +3 -3
- package/bundled-skills/docs/users/bundles.md +56 -57
- package/bundled-skills/docs/users/claude-code-skills.md +6 -6
- package/bundled-skills/docs/users/codex-cli-skills.md +5 -5
- package/bundled-skills/docs/users/cursor-skills.md +3 -3
- package/bundled-skills/docs/users/faq.md +27 -15
- package/bundled-skills/docs/users/gemini-cli-skills.md +4 -4
- package/bundled-skills/docs/users/getting-started.md +22 -12
- package/bundled-skills/docs/users/kiro-integration.md +7 -7
- package/bundled-skills/docs/users/plugins.md +8 -9
- package/bundled-skills/docs/users/security-skills.md +1 -1
- package/bundled-skills/docs/users/skills-vs-mcp-tools.md +1 -1
- package/bundled-skills/docs/users/specialized-plugin-roadmap.md +3 -4
- package/bundled-skills/docs/users/usage.md +9 -9
- package/bundled-skills/docs/users/visual-guide.md +7 -7
- package/bundled-skills/docs/users/windows-truncation-recovery.md +1 -1
- package/bundled-skills/docs/users/workflows.md +1 -1
- package/bundled-skills/docs/vietnamese/BUNDLES.vi.md +1 -1
- package/bundled-skills/docs/vietnamese/FAQ.vi.md +15 -8
- package/bundled-skills/docs/vietnamese/GETTING_STARTED.vi.md +12 -5
- package/bundled-skills/docs/vietnamese/QUALITY_BAR.vi.md +1 -1
- package/bundled-skills/docs/vietnamese/README.vi.md +21 -17
- package/bundled-skills/docs/vietnamese/SECURITY_GUARDRAILS.vi.md +1 -1
- package/bundled-skills/docs/vietnamese/SKILLS_README.vi.md +2 -2
- package/bundled-skills/docs/vietnamese/TRANSLATION_PLAN.vi.md +1 -1
- package/bundled-skills/docs/vietnamese/VISUAL_GUIDE.vi.md +8 -8
- package/bundled-skills/docs-guard/SKILL.md +109 -0
- package/bundled-skills/docs-guard/references/code-samples.md +46 -0
- package/bundled-skills/docs-guard/references/docstrings.md +60 -0
- package/bundled-skills/docs-guard/references/review-checklist.md +45 -0
- package/bundled-skills/docs-guard/references/sources.md +22 -0
- package/bundled-skills/docs-guard/references/verification.md +51 -0
- package/bundled-skills/efficient-web-research/SKILL.md +4 -0
- package/bundled-skills/electron-development/SKILL.md +1 -1
- package/bundled-skills/event-staffing-compliance/SKILL.md +3 -0
- package/bundled-skills/event-staffing-ordering/SKILL.md +3 -0
- package/bundled-skills/feature-tracking/SKILL.md +222 -0
- package/bundled-skills/flutter-expert/SKILL.md +6 -1
- package/bundled-skills/flutter-expert/resources/implementation-playbook.md +214 -0
- package/bundled-skills/gemini-deep-research/README.md +246 -0
- package/bundled-skills/gemini-deep-research/SKILL.md +136 -0
- package/bundled-skills/gemini-deep-research/requirements.txt +2 -0
- package/bundled-skills/gemini-deep-research/scripts/research.py +692 -0
- package/bundled-skills/git-pushing/SKILL.md +21 -4
- package/bundled-skills/git-pushing/scripts/smart_commit.sh +206 -11
- package/bundled-skills/go-in-depth/scripts/workflow-script.js +4 -1
- package/bundled-skills/grok-build/SKILL.md +167 -0
- package/bundled-skills/grok-build/references/cli.md +99 -0
- package/bundled-skills/huggingface-tool-builder/references/find_models_by_paper.sh +1 -1
- package/bundled-skills/idea-autopsy/SKILL.md +147 -0
- package/bundled-skills/it-manager-hospital/README.md +1 -1
- package/bundled-skills/it-manager-pro/README.md +1 -1
- package/bundled-skills/itil-expert/README.md +1 -1
- package/bundled-skills/langgraph/SKILL.md +1 -1
- package/bundled-skills/linkedin-content-generator/SKILL.md +1 -1
- package/bundled-skills/lint-and-validate/scripts/lint_runner.py +23 -23
- package/bundled-skills/lint-and-validate/scripts/type_coverage.py +30 -30
- package/bundled-skills/logic-lens/SKILL.md +1 -1
- package/bundled-skills/lore/LICENSE +21 -0
- package/bundled-skills/lore/README.md +386 -0
- package/bundled-skills/lore/README.zh-CN.md +386 -0
- package/bundled-skills/lore/SKILL.md +453 -0
- package/bundled-skills/lore/WORKFLOWS.md +216 -0
- package/bundled-skills/lore/WORKFLOWS.zh-CN.md +216 -0
- package/bundled-skills/lore/references/audit-template.md +60 -0
- package/bundled-skills/lore/references/compatibility.md +228 -0
- package/bundled-skills/lore/references/config.md +125 -0
- package/bundled-skills/lore/references/entry-format.md +70 -0
- package/bundled-skills/lore/references/history-command.md +106 -0
- package/bundled-skills/lore/references/monorepo-detection.md +78 -0
- package/bundled-skills/lore/references/platform-mirrors.md +377 -0
- package/bundled-skills/lore/references/stale-new-markers.md +62 -0
- package/bundled-skills/lore/references/summary-template.md +98 -0
- package/bundled-skills/lore/scripts/README.md +54 -0
- package/bundled-skills/lore/scripts/README.zh-CN.md +54 -0
- package/bundled-skills/lore/scripts/find_duplicates.py +211 -0
- package/bundled-skills/lore/scripts/find_stale.py +116 -0
- package/bundled-skills/lore/scripts/history.py +527 -0
- package/bundled-skills/lore/scripts/id_hash.py +32 -0
- package/bundled-skills/lore/scripts/list_entries.py +183 -0
- package/bundled-skills/lovable-cleanup/SKILL.md +3 -3
- package/bundled-skills/makepad-splash/SKILL.md +1 -1
- package/bundled-skills/mmx-cli/SKILL.md +14 -1
- package/bundled-skills/monopoly/SKILL.md +5 -0
- package/bundled-skills/monopoly/patterns/SKILL.md +4 -0
- package/bundled-skills/monopoly/scale-benchmarks/SKILL.md +4 -0
- package/bundled-skills/monopoly/security-checklist/SKILL.md +4 -0
- package/bundled-skills/monopoly/tech-matrix/SKILL.md +4 -0
- package/bundled-skills/mtls-configuration/SKILL.md +1 -1
- package/bundled-skills/network-101/SKILL.md +4 -5
- package/bundled-skills/nika/SKILL.md +270 -0
- package/bundled-skills/not-a-vibe-coder/SKILL.md +4 -0
- package/bundled-skills/ontoly-software-graph/SKILL.md +160 -0
- package/bundled-skills/openclaw-github-repo-commander/SKILL.md +1 -1
- package/bundled-skills/pilot-protocol/SKILL.md +6 -3
- package/bundled-skills/postgres-readonly-queries/README.md +77 -0
- package/bundled-skills/postgres-readonly-queries/SKILL.md +152 -0
- package/bundled-skills/postgres-readonly-queries/connections.example.json +34 -0
- package/bundled-skills/postgres-readonly-queries/requirements.txt +1 -0
- package/bundled-skills/postgres-readonly-queries/scripts/query.py +262 -0
- package/bundled-skills/pptx-deck-creation/SKILL.md +275 -0
- package/bundled-skills/pptx-deck-creation/references/audit-checklist.md +156 -0
- package/bundled-skills/pptx-deck-creation/references/design-profiles.md +96 -0
- package/bundled-skills/pptx-deck-creation/references/python-snippets.md +150 -0
- package/bundled-skills/pptx-deck-creation/references/reference-deck-analysis.md +91 -0
- package/bundled-skills/pptx-deck-creation/references/visual-asset-adapters.md +158 -0
- package/bundled-skills/privilege-escalation-methods/SKILL.md +1 -1
- package/bundled-skills/product-decision-agent/SKILL.md +94 -0
- package/bundled-skills/product-decision-agent/agents/openai.yaml +7 -0
- package/bundled-skills/product-decision-agent/references/methodology-basis.md +232 -0
- package/bundled-skills/product-decision-agent/references/product-playbooks.md +813 -0
- package/bundled-skills/product-decision-agent/references/reasoning-engine.md +289 -0
- package/bundled-skills/product-decision-agent/references/response-examples.md +279 -0
- package/bundled-skills/product-decision-agent/scripts/quality_gate.py +221 -0
- package/bundled-skills/product-decision-agent/scripts/test_quality_gate.py +94 -0
- package/bundled-skills/pytest-skill/reference/playbook.md +358 -0
- package/bundled-skills/quit-sponsor/SKILL.md +96 -0
- package/bundled-skills/rclone-cli/references/providers/s3.md +1 -1
- package/bundled-skills/security-and-hardening/SKILL.md +1 -1
- package/bundled-skills/semgrep-rule-creator/SKILL.md +6 -6
- package/bundled-skills/skill-creator/README.md +3 -3
- package/bundled-skills/skill-creator/SKILL.md +8 -4
- package/bundled-skills/skill-creator/scripts/quick_validate.py +1 -1
- package/bundled-skills/sql-injection-testing/SKILL.md +4 -4
- package/bundled-skills/subagent-orchestrator/README.md +1 -1
- package/bundled-skills/super-code/bash/SKILL.md +3 -0
- package/bundled-skills/super-code/c/SKILL.md +3 -0
- package/bundled-skills/super-code/cpp/SKILL.md +3 -0
- package/bundled-skills/super-code/csharp/SKILL.md +3 -0
- package/bundled-skills/super-code/dart/SKILL.md +3 -0
- package/bundled-skills/super-code/elixir/SKILL.md +3 -0
- package/bundled-skills/super-code/go/SKILL.md +3 -0
- package/bundled-skills/super-code/java/SKILL.md +3 -0
- package/bundled-skills/super-code/kotlin/SKILL.md +3 -0
- package/bundled-skills/super-code/php/SKILL.md +3 -0
- package/bundled-skills/super-code/python/SKILL.md +3 -0
- package/bundled-skills/super-code/ruby/SKILL.md +3 -0
- package/bundled-skills/super-code/rust/SKILL.md +3 -0
- package/bundled-skills/super-code/scala/SKILL.md +3 -0
- package/bundled-skills/super-code/swift/SKILL.md +3 -0
- package/bundled-skills/super-code/typescript/SKILL.md +3 -0
- package/bundled-skills/telegram-bot-messaging/README.md +185 -0
- package/bundled-skills/telegram-bot-messaging/SKILL.md +101 -0
- package/bundled-skills/telegram-bot-messaging/scripts/telegram.sh +420 -0
- package/bundled-skills/test-guard/SKILL.md +132 -0
- package/bundled-skills/test-guard/references/jest.md +50 -0
- package/bundled-skills/test-guard/references/llm-app-testing.md +40 -0
- package/bundled-skills/test-guard/references/phpunit.md +56 -0
- package/bundled-skills/test-guard/references/pytest.md +65 -0
- package/bundled-skills/trading-ledger/SKILL.md +11 -3
- package/bundled-skills/uizze-ui-research/SKILL.md +93 -0
- package/bundled-skills/vibe-code-auditor/SKILL.md +1 -1
- package/bundled-skills/vibecode-production-qa-validator/SKILL.md +1 -1
- package/bundled-skills/videodb/scripts/ws_listener.py +29 -15
- package/bundled-skills/voice-ai-engine-development/README.md +1 -1
- package/bundled-skills/vulnerability-scanner/SKILL.md +1 -1
- package/bundled-skills/warehouse/SKILL.md +154 -0
- package/bundled-skills/woo-guard/SKILL.md +113 -0
- package/bundled-skills/woo-guard/references/checkout-and-money.md +64 -0
- package/bundled-skills/woo-guard/references/hpos-and-crud.md +87 -0
- package/bundled-skills/woo-guard/references/review-checklist.md +44 -0
- package/bundled-skills/woo-guard/references/sources.md +17 -0
- package/bundled-skills/wp-guard/SKILL.md +119 -0
- package/bundled-skills/wp-guard/references/i18n.md +88 -0
- package/bundled-skills/wp-guard/references/performance.md +70 -0
- package/bundled-skills/wp-guard/references/review-checklist.md +57 -0
- package/bundled-skills/wp-guard/references/security.md +100 -0
- package/bundled-skills/wp-guard/references/sources.md +27 -0
- package/bundled-skills/writing-skills/gotchas.md +1 -1
- package/bundled-skills/writing-skills/references/standards/metadata-standard.md +1 -1
- package/bundled-skills/x-twitter-scraper/SKILL.md +14 -32
- package/bundled-skills/xss-html-injection/SKILL.md +3 -3
- package/bundled-skills/youtube-seo-optimizer/SKILL.md +1 -1
- package/bundled-skills/youtube-summarizer/CHANGELOG.md +2 -2
- package/package.json +1 -1
- package/skills_index.json +273 -0
|
@@ -0,0 +1,499 @@
|
|
|
1
|
+
# Configuration & administration
|
|
2
|
+
|
|
3
|
+
Admin guide for Apple's `container` CLI runtime (Apple silicon macOS). This is **not Docker** —
|
|
4
|
+
the CLI is Docker-like but the runtime is a per-container lightweight VM. For exhaustive
|
|
5
|
+
flags/subcommands see `commands.md`; this file covers the operator surface only.
|
|
6
|
+
|
|
7
|
+
The runtime is a set of launchd-managed services (`container-apiserver` + machine API server +
|
|
8
|
+
background helpers). Almost everything below drives those services. Every command accepts
|
|
9
|
+
`--debug` (env `CONTAINER_DEBUG`). Most `list`/`status` commands accept `--format` — commonly
|
|
10
|
+
`json`, `table`, `yaml`, and `toml` (the exact value set and default vary by command, e.g. `table`
|
|
11
|
+
for `container list` but `toml` for `system property list`; check `<command> --help`).
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## 1. System service: start / stop / status / logs
|
|
16
|
+
|
|
17
|
+
The `container` services must be running before any container/image/build command works.
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
container system start # register services in launchd, launch apiserver + machine API
|
|
21
|
+
container system status # health-check; prints running state + data/install roots
|
|
22
|
+
container system stop # stop all services and deregister from launchd
|
|
23
|
+
container system logs # recent service logs (default last 5m)
|
|
24
|
+
container system logs -f # live tail
|
|
25
|
+
container system logs --last 1h
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
`system start` behavior worth knowing:
|
|
29
|
+
- Launches `container-apiserver` via launchd, then **pings it** and fails if unresponsive
|
|
30
|
+
(bump `--timeout <seconds>` on slow machines).
|
|
31
|
+
- On first run it **installs the base filesystem (`vminit`) image** and prompts to install the
|
|
32
|
+
**default kernel** unless you pass `--enable-kernel-install` / `--disable-kernel-install`.
|
|
33
|
+
- Loads `config.toml` (see §2) once, at startup. **Restart after any config/property change:**
|
|
34
|
+
`container system stop && container system start`.
|
|
35
|
+
|
|
36
|
+
| `system start` flag | Purpose | Default |
|
|
37
|
+
|---------------------|---------|---------|
|
|
38
|
+
| `-a, --app-root <path>` | Application data root | `~/Library/Application Support/com.apple.container/` |
|
|
39
|
+
| `--install-root <path>` | Executables/plugins root | `/usr/local/` |
|
|
40
|
+
| `--log-root <path>` | Log dir; unset → macOS unified log | unset |
|
|
41
|
+
| `--enable-kernel-install` / `--disable-kernel-install` | Install default kernel or not (mutually exclusive) | prompt |
|
|
42
|
+
| `--timeout <seconds>` | Wait for apiserver readiness | XPC default |
|
|
43
|
+
|
|
44
|
+
`system stop` takes `-p, --prefix <prefix>` (launchd prefix, default `com.apple.container.`);
|
|
45
|
+
`system status` takes the same `--prefix` plus `--format`.
|
|
46
|
+
|
|
47
|
+
`system df` shows reclaimable disk usage for images/containers/volumes:
|
|
48
|
+
```bash
|
|
49
|
+
container system df --format json
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
**Data locations** (reported by `system status`):
|
|
53
|
+
|
|
54
|
+
| Location | Default path |
|
|
55
|
+
|----------|--------------|
|
|
56
|
+
| App data root | `~/Library/Application Support/com.apple.container/` |
|
|
57
|
+
| Install root | `/usr/local/` |
|
|
58
|
+
| User config | `~/.config/container/config.toml` |
|
|
59
|
+
| Package config | `<installRoot>/etc/container/config.toml` (e.g. `/usr/local/etc/...`) |
|
|
60
|
+
|
|
61
|
+
Data root holds `apiserver/`, `builder/`, `containers/`, `content/`, `kernels/`, `networks/`,
|
|
62
|
+
`volumes/`, `snapshots/`, `plugin-state/`, `user-plugins/`, and `state.json`.
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## 2. System properties / config.toml
|
|
67
|
+
|
|
68
|
+
One `ContainerSystemConfig` drives the runtime. **Configure it by editing `config.toml`**;
|
|
69
|
+
`container system property list` is a read-only view of the effective (merged) values.
|
|
70
|
+
|
|
71
|
+
- **`config.toml`** section tables (`[build]`, `[container]`, …) are loaded at service startup,
|
|
72
|
+
first-match-wins across `~/.config/container/config.toml` then
|
|
73
|
+
`<installRoot>/etc/container/config.toml`. Missing keys fall back to hardcoded defaults.
|
|
74
|
+
- **Flat property IDs** (e.g. `build.rosetta`, `dns.domain`) are how the same values are named
|
|
75
|
+
and reported. `container system property` has only the `list` subcommand — there is **no**
|
|
76
|
+
per-key `get`, `set`, or `clear`. To change a value edit `config.toml`; to revert one, remove
|
|
77
|
+
its key.
|
|
78
|
+
|
|
79
|
+
Property ID ⇄ TOML mapping is direct: `build.rosetta` ⇄ `[build] rosetta`, etc. (exceptions:
|
|
80
|
+
the builder/vminit image IDs — see table).
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
# View effective values (read-only)
|
|
84
|
+
container system property list # all IDs, types, current values (default: toml)
|
|
85
|
+
container system property list --format json
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
```toml
|
|
89
|
+
# Change values by editing ~/.config/container/config.toml, then restart services
|
|
90
|
+
[container]
|
|
91
|
+
cpus = 8
|
|
92
|
+
[registry]
|
|
93
|
+
domain = "ghcr.io"
|
|
94
|
+
```
|
|
95
|
+
```bash
|
|
96
|
+
container system stop && container system start # apply; remove a key to revert it
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
**Every configurable key:**
|
|
100
|
+
|
|
101
|
+
| Property ID | TOML | Type | Default | Meaning |
|
|
102
|
+
|-------------|------|------|---------|---------|
|
|
103
|
+
| `build.rosetta` | `[build] rosetta` | Bool | `true` | Build amd64 images on arm64 via Rosetta (else QEMU) |
|
|
104
|
+
| `build.cpus` | `[build] cpus` | Int | `2` | Builder VM CPU count |
|
|
105
|
+
| `build.memory` | `[build] memory` | MemorySize | `"2048mb"` | Builder VM RAM |
|
|
106
|
+
| `image.builder` | `[build] image` | String | `ghcr.io/apple/container-builder-shim/builder:<ver>` | Builder (BuildKit) image reference |
|
|
107
|
+
| `container.cpus` | `[container] cpus` | Int | `4` | Default CPUs per container (when `run`/`create` omit `--cpus`) |
|
|
108
|
+
| `container.memory` | `[container] memory` | MemorySize | `"1g"` | Default RAM per container |
|
|
109
|
+
| `dns.domain` | `[dns] domain` | String? | unset | Local domain appended to unqualified container names (§4) |
|
|
110
|
+
| `registry.domain` | `[registry] domain` | String | `"docker.io"` | Default registry for bare image refs (§5) |
|
|
111
|
+
| `kernel.url` | `[kernel] url` | URL | kata-static release URL | Kernel file or archive to install (§3) |
|
|
112
|
+
| `kernel.binaryPath` | `[kernel] binaryPath` | String | `opt/kata/share/kata-containers/vmlinux-<ver>` | Archive-member path of the kernel |
|
|
113
|
+
| `network.subnet` | `[network] subnet` | CIDRv4? | unset | Default IPv4 subnet for networks; auto-allocates when unset (§7) |
|
|
114
|
+
| — | `[network] subnetv6` | CIDRv6? | unset | Default IPv6 prefix for networks; auto-allocates when unset (§7) |
|
|
115
|
+
| `image.init` | `[vminit] image` | String | `ghcr.io/apple/containerization/vminit:<ver>` | `vminitd` image booting container VMs |
|
|
116
|
+
| — | `[plugin.<id>]` | — | — | Plugin-scoped config; each plugin reads only its own section |
|
|
117
|
+
|
|
118
|
+
> Exact defaults (kernel version, image tags) drift per release. Confirm with
|
|
119
|
+
> `container system property list`; do not assume a specific version.
|
|
120
|
+
|
|
121
|
+
**MemorySize** = quoted string, integer + binary unit (`b/kb/mb/gb/tb/pb`, powers of 1024, case-insensitive);
|
|
122
|
+
bare integer = bytes. `"2g"` re-emits as `"2gb"`. **CIDR** = quoted, e.g. `"192.168.100.0/24"`.
|
|
123
|
+
|
|
124
|
+
Minimal `config.toml` example:
|
|
125
|
+
```toml
|
|
126
|
+
[container]
|
|
127
|
+
cpus = 8
|
|
128
|
+
memory = "4g"
|
|
129
|
+
[dns]
|
|
130
|
+
domain = "test"
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
The full per-section `config.toml` schema (keys, types, defaults, meaning), the flat property
|
|
134
|
+
list as emitted by the CLI, type-format details, and data locations are in the
|
|
135
|
+
[appendix](#appendix-configtoml-schema--data-locations).
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## 3. Default kernel
|
|
140
|
+
|
|
141
|
+
The default guest kernel is the Linux kernel every container VM boots. Managed via
|
|
142
|
+
`container system kernel set` (writes the default) plus the `kernel.url` / `kernel.binaryPath`
|
|
143
|
+
properties (the download source `--recommended` uses).
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
container system kernel set --recommended # download + install Apple's recommended kernel
|
|
147
|
+
container system kernel set --binary ./vmlinux --force # install a local binary, overwrite
|
|
148
|
+
container system kernel set --tar https://ex.com/kata-static.tar.xz \
|
|
149
|
+
--binary opt/kata/share/kata-containers/vmlinux-6.12.28-153 --arch arm64
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
| Flag | Purpose | Default |
|
|
153
|
+
|------|---------|---------|
|
|
154
|
+
| `--recommended` | Download+install recommended kernel. **Overrides `--arch`/`--binary`/`--tar`** | — |
|
|
155
|
+
| `--arch <amd64\|arm64>` | Kernel architecture | `arm64` |
|
|
156
|
+
| `--binary <path>` | Kernel file, or archive-member name when used with `--tar` | — |
|
|
157
|
+
| `--tar <path\|url>` | Tar archive (local or remote) containing the kernel | — |
|
|
158
|
+
| `--force` | Overwrite an existing kernel of the same name | — |
|
|
159
|
+
|
|
160
|
+
- Persist a custom source by editing `config.toml`:
|
|
161
|
+
```toml
|
|
162
|
+
[kernel]
|
|
163
|
+
url = "<url>"
|
|
164
|
+
binaryPath = "<member>"
|
|
165
|
+
```
|
|
166
|
+
- Kernel install is also toggled at startup via `system start --enable/--disable-kernel-install`.
|
|
167
|
+
- Per-machine kernel override is separate — see §7 (`machine set kernel=<path>`).
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
## 4. DNS / local domain resolution
|
|
172
|
+
|
|
173
|
+
Register a **local DNS domain** so unqualified container names resolve host-side (e.g.
|
|
174
|
+
`my-web` → `my-web.test`). Creating/deleting a domain **modifies the host resolver and
|
|
175
|
+
requires admin** (`sudo`); it restarts `mDNSResponder`.
|
|
176
|
+
|
|
177
|
+
```bash
|
|
178
|
+
sudo container system dns create test # register domain "test"
|
|
179
|
+
sudo container system dns create test --localhost 127.0.0.1 # redirect an IPv4 to localhost
|
|
180
|
+
container system dns list # list domains (no sudo)
|
|
181
|
+
sudo container system dns delete test # alias: rm
|
|
182
|
+
```
|
|
183
|
+
```toml
|
|
184
|
+
# Activate "test" as the default domain in ~/.config/container/config.toml
|
|
185
|
+
[dns]
|
|
186
|
+
domain = "test"
|
|
187
|
+
```
|
|
188
|
+
```bash
|
|
189
|
+
container system stop && container system start
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
- `--localhost` must be a valid **IPv4** address; it installs a pf redirect rule to `127.0.0.1`.
|
|
193
|
+
- Registering a domain is not enough — set `[dns] domain` in `config.toml` to activate it for
|
|
194
|
+
unqualified names.
|
|
195
|
+
- If domain deactivation misbehaves: `sudo killall -HUP mDNSResponder`.
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
## 5. Default registry & authentication
|
|
200
|
+
|
|
201
|
+
Bare image refs resolve against the default registry (`registry.domain`, default `docker.io` →
|
|
202
|
+
`alpine` becomes `docker.io/library/alpine`).
|
|
203
|
+
|
|
204
|
+
```toml
|
|
205
|
+
# Change the default registry in ~/.config/container/config.toml (restart to apply);
|
|
206
|
+
# remove the key to revert to docker.io
|
|
207
|
+
[registry]
|
|
208
|
+
domain = "ghcr.io"
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
**Auth** (`container registry`, alias `r`) — credentials are stored in the macOS keychain:
|
|
212
|
+
|
|
213
|
+
```bash
|
|
214
|
+
container registry login registry.example.com # prompts user + password
|
|
215
|
+
container registry login -u alice ghcr.io # prompt password only
|
|
216
|
+
echo "$TOKEN" | container registry login -u alice --password-stdin ghcr.io # non-interactive
|
|
217
|
+
container registry list # HOSTNAME/USERNAME/MODIFIED/CREATED (1.0.0+)
|
|
218
|
+
container registry logout ghcr.io
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
| Command | Key flags | Notes |
|
|
222
|
+
|---------|-----------|-------|
|
|
223
|
+
| `login <server>` | `-u/--username`, `--password-stdin`, `--scheme <http\|https\|auto>` | `--password-stdin` **requires** `--username`. On success pings the registry then saves to keychain |
|
|
224
|
+
| `logout <registry>` | — | Deletes keychain creds for the resolved host |
|
|
225
|
+
| `list` (`ls`) | `--format`, `-q/--quiet` | `-q` prints hostnames only |
|
|
226
|
+
|
|
227
|
+
**Insecure / HTTP registries** — `--scheme` (default `auto`):
|
|
228
|
+
- `auto` → `http` for internal/private hosts (`localhost`, the internal DNS domain, and RFC-1918
|
|
229
|
+
ranges `10/8`, `127/8`, `192.168/16`, `172.16/12`); `https` for everything else.
|
|
230
|
+
- Force plaintext against a local registry: `container registry login --scheme http localhost:5000`.
|
|
231
|
+
- `--scheme` also applies to image `pull`/`push` and `machine create` (same enum).
|
|
232
|
+
|
|
233
|
+
> `registry list` only lists saved logins. There is no `default-registry get/set` subcommand —
|
|
234
|
+
> the default registry lives in the `registry.domain` property (above).
|
|
235
|
+
|
|
236
|
+
---
|
|
237
|
+
|
|
238
|
+
## 6. BuildKit builder VM
|
|
239
|
+
|
|
240
|
+
`container build` runs inside a utility container named **`buildkit`** (a lightweight VM). It
|
|
241
|
+
auto-starts on first build; manage it explicitly with `container builder` when you need more
|
|
242
|
+
resources or a clean slate.
|
|
243
|
+
|
|
244
|
+
```bash
|
|
245
|
+
container builder start --cpus 8 --memory 32g # start with more resources
|
|
246
|
+
container builder status # ID/IMAGE/STATE/IP/CPUS/MEMORY
|
|
247
|
+
container builder stop
|
|
248
|
+
container builder delete # alias: rm (add --force if running)
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
To resize a running builder, recreate it:
|
|
252
|
+
```bash
|
|
253
|
+
container builder stop && container builder delete && container builder start --cpus 8 --memory 32g
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
| Command | Flags | Notes |
|
|
257
|
+
|---------|-------|-------|
|
|
258
|
+
| `start` | `-c/--cpus <n>`, `-m/--memory <size>` (K/M/G/T/P suffix) | Falls back to `build.cpus`/`build.memory` (defaults 2 CPUs / 2048 MiB). Reuses an existing matching builder; recreates if image/cpu/mem/env/DNS changed |
|
|
259
|
+
| `status` | `--format`, `-q/--quiet` | Prints `builder is not running` when absent |
|
|
260
|
+
| `stop` | — | No-op warning if not running |
|
|
261
|
+
| `delete` (`rm`) | `-f/--force` | Errors unless stopped; `--force` stops then deletes |
|
|
262
|
+
|
|
263
|
+
- Image comes from `image.builder` / `[build] image`; Rosetta-vs-QEMU for amd64 builds is
|
|
264
|
+
`build.rosetta`.
|
|
265
|
+
- Persistent builder defaults (not just this session) go in `[build] cpus` / `[build] memory`
|
|
266
|
+
in `config.toml`.
|
|
267
|
+
|
|
268
|
+
---
|
|
269
|
+
|
|
270
|
+
## 7. Machines, custom networks, volumes
|
|
271
|
+
|
|
272
|
+
### Machines (`container machine`, alias `m`)
|
|
273
|
+
|
|
274
|
+
> **⚠️ Requires 1.0.0+ — the `container machine` group was added in 1.0.0 (not in 0.7.1).**
|
|
275
|
+
|
|
276
|
+
A **container machine** is a persistent, bootable Linux **environment** (not a one-shot
|
|
277
|
+
container) — it runs the image's init system, auto-mounts your macOS `$HOME` and username, and
|
|
278
|
+
persists across restarts. Ideal for "edit on Mac, build inside Linux" and running long-lived
|
|
279
|
+
services. Distinct from the transient per-container VMs that back `container run`.
|
|
280
|
+
|
|
281
|
+
```bash
|
|
282
|
+
container machine create alpine:3.22 --name dev --set-default
|
|
283
|
+
container machine run # interactive shell in the default machine (matches host user)
|
|
284
|
+
container machine run -n dev uname
|
|
285
|
+
container machine run -n dev -- cat /proc/cpuinfo # everything after -- passed through verbatim
|
|
286
|
+
container machine list # ls: NAME/CREATED/IP/CPUS/MEMORY/DISK/STATE/DEFAULT(*)
|
|
287
|
+
container machine inspect dev # JSON detail
|
|
288
|
+
container machine set -n dev cpus=4 memory=8G home-mount=ro # takes effect after stop/start
|
|
289
|
+
container machine set-default dev
|
|
290
|
+
container machine stop dev
|
|
291
|
+
container machine delete dev # rm: also deletes persistent storage
|
|
292
|
+
container machine logs -f -n 100 dev # --boot for boot log
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
| Subcommand | Key flags / settable keys | Notes |
|
|
296
|
+
|------------|---------------------------|-------|
|
|
297
|
+
| `create <image>` | `-n/--name`, `--set-default`, `--no-boot`, `--cpus`, `--memory`, `--home-mount <ro\|rw\|none>`, `--virtualization`, `--kernel <path>` | Memory default = half host RAM; home-mount default `rw`. Name defaults to `<image>-<tag>` |
|
|
298
|
+
| `set [-n]` | `cpus=`, `memory=`, `home-mount=`, `virtualization=<bool>`, `kernel=<path>` (empty `kernel=` resets to default) | `key=value`; last dupe wins; unknown key errors. Changes apply after stop/start |
|
|
299
|
+
| `run` | `-d/--detach`, `--root`, `-e/--env`, `-i`, `-t`, `-u/--user`, `-w/--workdir`, `--ulimit` | Boots machine if stopped; forwards `SSH_AUTH_SOCK` |
|
|
300
|
+
| `logs` | `--boot`, `-f/--follow`, `-n <lines>` | `-n` is short-only |
|
|
301
|
+
| `list`/`inspect`/`stop`/`delete`(`rm`)/`set-default` | ID optional (uses default) except `set-default`/`delete` | — |
|
|
302
|
+
|
|
303
|
+
**Nested virtualization / custom kernel** (per-machine): requires Apple Silicon **M3+** on
|
|
304
|
+
**macOS 15+** and a kernel with `CONFIG_KVM=y` (the default kernel does not qualify).
|
|
305
|
+
```bash
|
|
306
|
+
container machine create --virtualization --kernel /path/to/vmlinux-kvm -n kvm-dev alpine:latest
|
|
307
|
+
container machine run -n kvm-dev -- ls -l /dev/kvm # verify /dev/kvm exposed
|
|
308
|
+
```
|
|
309
|
+
Any Linux image with `/sbin/init` works. Override first-boot user provisioning by adding an
|
|
310
|
+
executable `/etc/machine/create-user.sh` (runs once as root; env `CONTAINER_{UID,GID,USER,HOME,MACHINE_ID}`).
|
|
311
|
+
|
|
312
|
+
### Custom networks (`container network`, alias `n`) — **macOS 26+**
|
|
313
|
+
|
|
314
|
+
`system start` always creates a builtin vmnet network `default`. On **macOS 26+** you can create
|
|
315
|
+
additional **isolated** networks (no cross-network connectivity). Builtin networks cannot be deleted.
|
|
316
|
+
|
|
317
|
+
```bash
|
|
318
|
+
container network create foo # prints network ID
|
|
319
|
+
container network create foo --subnet 192.168.100.0/24 --subnet-v6 fd00:1234::/64
|
|
320
|
+
container network list # ls: NETWORK/SUBNET
|
|
321
|
+
container network inspect foo # pretty JSON
|
|
322
|
+
container run -d --name web --network foo web-test # attach a container
|
|
323
|
+
container network delete foo # rm; add --all for all non-builtin
|
|
324
|
+
container network prune # remove networks with no attached containers
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
| Flag (`create`) | Purpose | Default |
|
|
328
|
+
|-----------------|---------|---------|
|
|
329
|
+
| `--subnet <cidr4>` / `--subnet-v6 <cidr6>` | Custom subnets (validated non-overlapping) | auto-allocate / `network.subnet(v6)` |
|
|
330
|
+
| `--internal` | Host-only network (no NAT) | NAT |
|
|
331
|
+
| `--label k=v` / `--option k=v` | Metadata / plugin option (repeatable) | — |
|
|
332
|
+
| `--plugin <name>` | Network plugin | `container-network-vmnet` |
|
|
333
|
+
|
|
334
|
+
`delete --all` skips builtin networks; deleting a network fails if any IP is still in use.
|
|
335
|
+
Persistent default subnets → `network.subnet` / `[network] subnetv6`. Their effect is
|
|
336
|
+
version-dependent: on **macOS 15** they set the subnet of the single builtin `default` network;
|
|
337
|
+
on **macOS 26+** they additionally seed the default subnet for custom networks created without an
|
|
338
|
+
explicit `--subnet`/`--subnet-v6`. In both cases, if left unset the system auto-allocates a
|
|
339
|
+
non-overlapping subnet.
|
|
340
|
+
|
|
341
|
+
### Volumes (`container volume`, alias `v`)
|
|
342
|
+
|
|
343
|
+
A **volume** is host-backed storage you mount into containers to persist/share data across runs
|
|
344
|
+
(`container run --volume <name>:/path` or a host `path:path`). Driver is always `local`.
|
|
345
|
+
|
|
346
|
+
```bash
|
|
347
|
+
container volume create mydata -s 10G # prints volume name (-s takes K/M/G/T/P)
|
|
348
|
+
container volume create mydata --label env=dev --opt key=val
|
|
349
|
+
container volume list # ls: NAME/TYPE/DRIVER/OPTIONS
|
|
350
|
+
container volume inspect mydata # pretty JSON
|
|
351
|
+
container volume delete mydata # rm; --all for all volumes
|
|
352
|
+
container volume prune # remove volumes with no container refs; reports reclaimed space
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
| Flag (`create`) | Purpose |
|
|
356
|
+
|-----------------|---------|
|
|
357
|
+
| `-s <size>` | Size in bytes, K/M/G/T/P suffix (stored as driver opt `size`) |
|
|
358
|
+
| `--label k=v` | Metadata (repeatable) |
|
|
359
|
+
| `--opt k=v` | Driver-specific option (repeatable) |
|
|
360
|
+
|
|
361
|
+
`delete`/`network delete` require either names **or** `--all` (not both); a missing named
|
|
362
|
+
resource errors, while `--all` tolerates an empty set.
|
|
363
|
+
|
|
364
|
+
---
|
|
365
|
+
|
|
366
|
+
## Appendix: `config.toml` schema & data locations
|
|
367
|
+
|
|
368
|
+
One underlying `ContainerSystemConfig` is configured by editing a **`config.toml`** file with
|
|
369
|
+
`[section]` tables loaded once at service startup. The same values are also named as flat
|
|
370
|
+
**property IDs** (`build.rosetta`, `dns.domain`, …) — view them read-only with
|
|
371
|
+
`container system property list` (its only subcommand; there is no `get`/`set`/`clear`). Property
|
|
372
|
+
IDs map onto TOML sections directly (`build.rosetta` ⇄ `[build] rosetta`), with two naming
|
|
373
|
+
exceptions: the builder image is `image.builder` ⇄ `[build] image`, and the vminitd image is
|
|
374
|
+
`image.init` ⇄ `[vminit] image`. For the CLI commands themselves see `commands.md`.
|
|
375
|
+
|
|
376
|
+
### Sources & precedence
|
|
377
|
+
|
|
378
|
+
TOML is loaded **first-match-wins**, then any key absent from both files falls back to a
|
|
379
|
+
hardcoded default:
|
|
380
|
+
|
|
381
|
+
1. User file — `~/.config/container/config.toml`
|
|
382
|
+
2. Package file (optional) — `<installRoot>/etc/container/config.toml`
|
|
383
|
+
(e.g. `/usr/local/etc/container/config.toml`)
|
|
384
|
+
|
|
385
|
+
The file is read **once at startup**; restart after edits
|
|
386
|
+
(`container system stop && container system start`).
|
|
387
|
+
|
|
388
|
+
### Top-level sections
|
|
389
|
+
|
|
390
|
+
```toml
|
|
391
|
+
[build] # builder VM resources and image
|
|
392
|
+
[container] # default per-container resources
|
|
393
|
+
[dns] # default DNS domain for host DNS resolution
|
|
394
|
+
[kernel] # guest kernel binary path and download URL
|
|
395
|
+
[network] # default subnets for networks
|
|
396
|
+
[registry] # default registry domain
|
|
397
|
+
[vminit] # default vminitd image
|
|
398
|
+
[plugin.<id>] # zero or more plugin-scoped sections
|
|
399
|
+
```
|
|
400
|
+
|
|
401
|
+
All sections are optional; an omitted section falls back to its defaults wholesale. (The Swift
|
|
402
|
+
source also defines an internal `[machine]` section, not part of the documented user schema.)
|
|
403
|
+
|
|
404
|
+
### `[build]` — builder VM (runs `container build`)
|
|
405
|
+
|
|
406
|
+
| Key | Property ID | Type | Default | Description |
|
|
407
|
+
|-----|-------------|------|---------|-------------|
|
|
408
|
+
| `rosetta` | `build.rosetta` | Bool | `true` | Build amd64 images on arm64 using Rosetta translation, instead of QEMU. |
|
|
409
|
+
| `cpus` | `build.cpus` | Int | `2` | CPU count for the builder VM. |
|
|
410
|
+
| `memory` | `build.memory` | MemorySize | `"2048mb"` | RAM allocation for the builder VM. |
|
|
411
|
+
| `image` | `image.builder` | String | `ghcr.io/apple/container-builder-shim/builder:<tag>` | Reference for the builder image; `<tag>` tracks the bundled `container-builder-shim` version. (Property ID is `image.builder`, not `build.image` — see the naming exception above.) |
|
|
412
|
+
|
|
413
|
+
### `[container]` — default per-container resources
|
|
414
|
+
|
|
415
|
+
Applied when `container run` / `container create` runs without `--cpus` / `--memory`.
|
|
416
|
+
|
|
417
|
+
| Key | Property ID | Type | Default | Description |
|
|
418
|
+
|-----|-------------|------|---------|-------------|
|
|
419
|
+
| `cpus` | `container.cpus` | Int | `4` | Default CPU count per container. |
|
|
420
|
+
| `memory` | `container.memory` | MemorySize | `"1g"` | Default RAM per container. |
|
|
421
|
+
|
|
422
|
+
### `[dns]` — local DNS domain
|
|
423
|
+
|
|
424
|
+
| Key | Property ID | Type | Default | Description |
|
|
425
|
+
|-----|-------------|------|---------|-------------|
|
|
426
|
+
| `domain` | `dns.domain` | String? | unset | Local DNS domain appended to unqualified container hostnames. `"test"` makes `my-web` resolvable as `my-web.test`. Unset → no domain appended. See §4 for the register-then-activate workflow. |
|
|
427
|
+
|
|
428
|
+
### `[kernel]` — default guest kernel
|
|
429
|
+
|
|
430
|
+
Defaults change per release as kernels are bumped; confirm with
|
|
431
|
+
`container system property list`.
|
|
432
|
+
|
|
433
|
+
| Key | Property ID | Type | Default | Description |
|
|
434
|
+
|-----|-------------|------|---------|-------------|
|
|
435
|
+
| `binaryPath` | `kernel.binaryPath` | String | `opt/kata/share/kata-containers/vmlinux-<ver>` | Archive-member pathname of the kernel, when the URL points at an archive. |
|
|
436
|
+
| `url` | `kernel.url` | URL | kata-static release `.tar.xz`/`.tar.zst` | URL of the kernel file to install, or of an archive containing it. |
|
|
437
|
+
|
|
438
|
+
### `[network]` — default subnets
|
|
439
|
+
|
|
440
|
+
Used when creating networks without explicit `--subnet` / `--subnet-v6`. See §7 for the
|
|
441
|
+
macOS 15 vs macOS 26+ behavior.
|
|
442
|
+
|
|
443
|
+
| Key | Property ID | Type | Default | Description |
|
|
444
|
+
|-----|-------------|------|---------|-------------|
|
|
445
|
+
| `subnet` | `network.subnet` | CIDRv4? | unset | IPv4 CIDR, e.g. `"192.168.100.0/24"`. Unset → system auto-allocates a non-overlapping subnet. |
|
|
446
|
+
| `subnetv6` | — | CIDRv6? | unset | IPv6 CIDR, e.g. `"fd00:abcd::/64"`. Unset → system auto-allocates. |
|
|
447
|
+
|
|
448
|
+
### `[registry]` — default registry
|
|
449
|
+
|
|
450
|
+
| Key | Property ID | Type | Default | Description |
|
|
451
|
+
|-----|-------------|------|---------|-------------|
|
|
452
|
+
| `domain` | `registry.domain` | String | `"docker.io"` | Default registry for image references that omit a registry host (`alpine` → `docker.io/library/alpine`). See §5. |
|
|
453
|
+
|
|
454
|
+
### `[vminit]` — default vminitd image
|
|
455
|
+
|
|
456
|
+
| Key | Property ID | Type | Default | Description |
|
|
457
|
+
|-----|-------------|------|---------|-------------|
|
|
458
|
+
| `image` | `image.init` | String | `ghcr.io/apple/containerization/vminit:<tag>` | Reference for the `vminitd` image used to boot container VMs; `<tag>` tracks the bundled `containerization` version. |
|
|
459
|
+
|
|
460
|
+
### `[plugin.<id>]` — plugin-scoped config
|
|
461
|
+
|
|
462
|
+
Plugins ship their own schemas under `[plugin.<id>]` (`<id>` = plugin identifier). Each plugin
|
|
463
|
+
defines and reads only its own section; values cannot leak across plugins. Consult the specific
|
|
464
|
+
plugin's documentation for its keys.
|
|
465
|
+
|
|
466
|
+
### Type formats
|
|
467
|
+
|
|
468
|
+
**MemorySize** — a quoted string: numeric prefix + binary unit suffix (case-insensitive). All
|
|
469
|
+
units are **binary** (powers of 1024) even when written `kb`/`mb`/`gb`. A bare integer (`"2048"`)
|
|
470
|
+
parses as bytes. Encoded form uses lowercase `b`/`kb`/`mb`/`gb`/`tb`/`pb` (so `"2g"` re-emits as
|
|
471
|
+
`"2gb"`).
|
|
472
|
+
|
|
473
|
+
| Suffix family | Unit | Examples |
|
|
474
|
+
|---------------|------|----------|
|
|
475
|
+
| `b` | bytes | `"1024b"` |
|
|
476
|
+
| `k`, `kb`, `kib` | kibibytes (1024 B) | `"512k"`, `"512kb"` |
|
|
477
|
+
| `m`, `mb`, `mib` | mebibytes | `"2048mb"` |
|
|
478
|
+
| `g`, `gb`, `gib` | gibibytes | `"4g"`, `"4gb"` |
|
|
479
|
+
| `t`, `tb`, `tib` | tebibytes | `"1t"` |
|
|
480
|
+
| `p`, `pb`, `pib` | pebibytes | `"1p"` |
|
|
481
|
+
|
|
482
|
+
**CIDRv4 / CIDRv6** — quoted strings, e.g. `"192.168.100.0/24"` and `"fd00:abcd::/64"`. Invalid
|
|
483
|
+
CIDR strings are rejected at decode time.
|
|
484
|
+
|
|
485
|
+
### Data locations
|
|
486
|
+
|
|
487
|
+
Reported by `container system status`:
|
|
488
|
+
|
|
489
|
+
| Location | Path (default) | Overridable with |
|
|
490
|
+
|----------|----------------|------------------|
|
|
491
|
+
| Application data root | `~/Library/Application Support/com.apple.container/` | `container system start --app-root <path>` |
|
|
492
|
+
| Application install root | `/usr/local/` | `container system start --install-root <path>` |
|
|
493
|
+
| Log root | macOS unified log facility (if unset) | `container system start --log-root <path>` |
|
|
494
|
+
| User config file | `~/.config/container/config.toml` | — |
|
|
495
|
+
| Package config file | `<installRoot>/etc/container/config.toml` (e.g. `/usr/local/etc/container/config.toml`) | — |
|
|
496
|
+
|
|
497
|
+
The data root contains subdirectories such as `apiserver/`, `builder/`, `containers/`,
|
|
498
|
+
`content/`, `kernels/`, `networks/`, `plugin-state/`, `snapshots/`, `user-plugins/`, `volumes/`,
|
|
499
|
+
and a top-level `state.json`.
|