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

Jump to: navigation, search
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
Fornew HSC engineers
Statusstale
Archive refQUANTARA-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

  1. The bus is at-least-once. Your tool will be called twice eventually. Make it idempotent. (Agent Message Bus)
  2. The queen's clock is the clock. Foragers stamp messages with their own, and it is wrong. (Known Agent Bugs)
  3. Colony memory has no GC. Prefix your keys and clean up after yourself. (Memory Synchronization)
  4. 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)
  5. 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

ThingWhere
Runtime sourceinternal git (offline)
Wikihere
Ops consolehttp://queen01.hm.internal:7420/ (offline)
Bus statshttp://phero-a.hm.internal:7421/stats (offline)
Tool manifestTool Registry · 📎 toolreg-manifest-2015-09.json

[edit] See also

Revision 17 · dlopes, jbrandt, wikiadmin · history · alternates: txt
Personal tools