This is a read-only mirror of the HSC engineering wiki, restored from a 2017 archive. Some links are broken and some content is out of date. About this mirror.
Getting Started
From ANTFARM Wiki
This is an old revision of this page, as archived. The mirror serves the archived text for every revision id.
| ⌛ | This page has not been updated since 2014-03-03 and may describe behaviour that no longer exists. |
| Getting Started | |
|---|---|
| For | new HSC engineers |
| Status | stale |
| Archive ref | QUANTARA-SWARMGLASS-R24-57367A |
Contents[hide] |
New to ANTFARM? Read this, then the Colony Glossary, then whichever core page your first task touches. Everything else can wait.
[edit] What it is
ANTFARM runs task graphs — small DAGs of tool calls — across a pool of worker processes. A queen assigns graph nodes to foragers over a message bus; foragers call tools from a registry and write results into a shared memory. That is the whole system. Everything on this wiki is detail.
[edit] The five things to know
- The bus is at-least-once. Your tool will be called twice eventually. Make it idempotent. (Agent Message Bus)
- The queen's clock is the clock. Foragers stamp messages with their own, and it is wrong. (Known Agent Bugs)
- Colony memory has no GC. Prefix your keys and clean up after yourself. (Memory Synchronization)
- Tools are trusted. Anything on the manifest can be called by anything on the bus. Do not put a tool on the manifest that can hurt you. (Tool Registry)
- When it breaks, read the runbook first. (Orchestrator Recovery)
[edit] Your first task graph
# hello.tg
graph hello {
fetch = fetch.http(url: "http://wiki.hm.internal/wiki/Main_Page")
text = convert.doc2text(input: fetch.body)
out = index.write(key: "cm://scratch/hello", value: text.text)
}
antc check hello.tg antc build hello.tg -o hello.bundle queend submit hello.bundle
Watch it on the ops console. Then delete cm://scratch/hello, because see item 3.
[edit] Local setup
The 2014 setup used a single-host colony in a VM. The VM image was on build.hm.internal:/images/colony-dev-2014.qcow2 and is not on the mirror. The Configuration Reference has the single-host config.
[edit] Where things are
| Thing | Where |
|---|---|
| Runtime source | internal git (offline) |
| Wiki | here |
| Ops console | http://queen01.hm.internal:7420/ (offline) |
| Bus stats | http://phero-a.hm.internal:7421/stats (offline) |
| Tool manifest | Tool Registry · 📎 toolreg-manifest-2015-09.json |