<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Itara</title><link>https://itara.dev/</link><description>Recent content on Itara</description><generator>Hugo</generator><language>en</language><atom:link href="https://itara.dev/index.xml" rel="self" type="application/rss+xml"/><item><title>Glossary</title><link>https://itara.dev/docs/reference/glossary/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://itara.dev/docs/reference/glossary/</guid><description>&lt;p&gt;Clear, shared vocabulary matters: if people can talk about the project
fluently, the ideas travel. If the words are missing or inconsistent, the
point gets lost. This is the reference for that vocabulary.&lt;/p&gt;
&lt;h2 id="agent"&gt;Agent&lt;a class="td-heading-self-link" href="#agent" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;See &lt;a href="https://itara.dev/docs/reference/glossary/#wiring-agent"&gt;Wiring Agent&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="authentication"&gt;Authentication&lt;a class="td-heading-self-link" href="#authentication" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Verifying that a caller&amp;rsquo;s claimed identity (see Identity) is genuine, at
the topology layer.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Authentication is connection-level and pluggable: an implementation
receives whatever identity signal is available for a connection and either
produces a verified identity or rejects the call outright. Used without
qualification, this term refers to authenticating a calling node, not an
end user or account.&lt;/p&gt;</description></item><item><title>itara-cli</title><link>https://itara.dev/docs/reference/tools/itara-cli/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://itara.dev/docs/reference/tools/itara-cli/</guid><description>&lt;p&gt;&lt;code&gt;itara&lt;/code&gt; is the command-line tool for working with an Itara
&lt;a href="https://itara.dev/docs/reference/wiring-configuration/"&gt;wiring configuration&lt;/a&gt; — inspecting
a topology at a glance, and validating it for logical mistakes before it&amp;rsquo;s
deployed. It&amp;rsquo;s implemented once, in Rust, and operates purely on the file
formats — the wiring config YAML and &lt;code&gt;.itara&lt;/code&gt; metadata TOML files — so it
works identically regardless of which language (Java or Rust) actually
produced the artifacts being wired together; there&amp;rsquo;s simply nothing
language-specific for it to know about.&lt;/p&gt;</description></item><item><title>Vision</title><link>https://itara.dev/docs/explanation/vision/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://itara.dev/docs/explanation/vision/</guid><description>&lt;p&gt;This document describes where Itara is going, not just where it is. It is
a living document.&lt;/p&gt;
&lt;p&gt;Itara — the open-source specification and its reference implementations —
is the cornerstone of this vision, not the whole of it. Everything else on
this site describes what exists today, working, open source, and usable.
This page describes the future that today&amp;rsquo;s Itara is the first step
toward.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="the-north-star"&gt;The north star&lt;a class="td-heading-self-link" href="#the-north-star" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;A production system should have a declared, validated, and executable
topology — how its components communicate and connect — that is easy to
change without touching business code, without migration ceremony, and
without downtime. And it should be able to do so safely: with the
confidence that the new topology is correct before it is applied, that
every connection is validated, and that nothing can be misconfigured
silently.&lt;/p&gt;</description></item><item><title>API Documentation</title><link>https://itara.dev/docs/reference/api-docs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://itara.dev/docs/reference/api-docs/</guid><description>&lt;p&gt;Full class and method documentation is generated directly from source and
hosted by each language ecosystem&amp;rsquo;s own standard tooling — not duplicated
here, so it never drifts out of sync with what&amp;rsquo;s actually published.&lt;/p&gt;
&lt;h2 id="java"&gt;Java&lt;a class="td-heading-self-link" href="#java" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://javadoc.io/doc/dev.itara"&gt;itara-core and itara-agent on javadoc.io&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="rust"&gt;Rust&lt;a class="td-heading-self-link" href="#rust" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Rust crates are not yet published to crates.io. Once they are, generated
documentation will be available automatically at
&lt;a href="https://docs.rs/"&gt;docs.rs&lt;/a&gt; under the published crate name.&lt;/p&gt;</description></item><item><title>Architecture</title><link>https://itara.dev/docs/explanation/architecture/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://itara.dev/docs/explanation/architecture/</guid><description>&lt;p&gt;This page describes how Itara actually works today — the module
structure, the layering rules, what happens at startup, and what happens
on a call. For where this is going, see &lt;a href="https://itara.dev/docs/explanation/vision/"&gt;Vision&lt;/a&gt;. For the
formal, normative behavior every implementation must satisfy, see the
&lt;a href="https://itara.dev/docs/reference/wiring-configuration/"&gt;wiring configuration&lt;/a&gt; and
&lt;a href="https://itara.dev/docs/reference/metadata-format/"&gt;metadata format&lt;/a&gt; references.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="the-core-idea-in-one-paragraph"&gt;The core idea, in one paragraph&lt;a class="td-heading-self-link" href="#the-core-idea-in-one-paragraph" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The Itara agent runs before application code. It reads a wiring config,
loads the plugins that config actually requires, generates proxies and
listeners for each declared connection, and registers everything in the
component registry — before the application handles its first request.
By the time your entry point executes, the topology is fully wired.
Component code calls other components through plain interface
references and never knows whether the call goes in-process or across a
network — or which language the other component is written in. The
specification itself is language-neutral: a Java component and a Rust
component can participate in the same topology, wired by the same
config, producing a single distributed trace.&lt;/p&gt;</description></item><item><title>Wiring Configuration</title><link>https://itara.dev/docs/reference/wiring-configuration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://itara.dev/docs/reference/wiring-configuration/</guid><description>&lt;p&gt;The wiring configuration is the YAML file that describes the topology of an
Itara deployment: which nodes exist, and how they&amp;rsquo;re connected to one
another (or to the outside world).&lt;/p&gt;
&lt;p&gt;This document describes the file format itself — the schema, the required
and optional fields, and what makes a document valid.&lt;/p&gt;
&lt;h2 id="top-level-structure"&gt;Top-level structure&lt;a class="td-heading-self-link" href="#top-level-structure" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;nodes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;gatewayNode&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;component&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;gateway&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;calculatorNode&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;component&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;calculator&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;connections&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;gateway-to-calculator&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;caller&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;nodeId&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;gatewayNode&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;callee&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;nodeId&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;calculatorNode&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;transport&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;http&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;params&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;host&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;${CALC_HOST:-localhost}&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;port&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;${CALC_PORT:-8081}&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;serializer&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;json&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Field&lt;/th&gt;
					&lt;th&gt;Type&lt;/th&gt;
					&lt;th&gt;Required&lt;/th&gt;
					&lt;th&gt;Description&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;nodes&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;list of &lt;a href="https://itara.dev/docs/reference/wiring-configuration/#nodes"&gt;Node&lt;/a&gt;&lt;/td&gt;
					&lt;td&gt;No (defaults to empty)&lt;/td&gt;
					&lt;td&gt;Every node in the topology.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;connections&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;list of &lt;a href="https://itara.dev/docs/reference/wiring-configuration/#connections"&gt;Connection&lt;/a&gt;&lt;/td&gt;
					&lt;td&gt;No (defaults to empty)&lt;/td&gt;
					&lt;td&gt;Every connection between nodes.&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;An empty or comment-only file is valid and parses to an empty
configuration (no nodes, no connections).&lt;/p&gt;</description></item><item><title>Metadata Format</title><link>https://itara.dev/docs/reference/metadata-format/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://itara.dev/docs/reference/metadata-format/</guid><description>&lt;p&gt;A &lt;code&gt;.itara&lt;/code&gt; file is a small &lt;a href="https://toml.io/"&gt;TOML&lt;/a&gt; document shipped
alongside every build artifact (a component, an API, a transport, a
serializer, an observer, etc). It declares what the artifact &lt;em&gt;is&lt;/em&gt; — its
identity, the versions it was built against, and (depending on its kind) a
handful of kind-specific declarations that other tooling and the agent
itself use to wire things up safely.&lt;/p&gt;
&lt;p&gt;Unlike the &lt;a href="https://itara.dev/docs/reference/wiring-configuration/"&gt;wiring configuration&lt;/a&gt;,
which is one file describing an entire deployment topology, a &lt;code&gt;.itara&lt;/code&gt;
file describes exactly one artifact.&lt;/p&gt;</description></item><item><title>Search Results</title><link>https://itara.dev/search/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://itara.dev/search/</guid><description/></item><item><title>Website information</title><link>https://itara.dev/site/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://itara.dev/site/</guid><description>&lt;p&gt;Site built with &lt;a href="https://github.com/google/docsy/releases/v0.1.0"&gt;&lt;span class="badge bg-primary text-bg-primary fs-6"&gt;Docsy
v0.1.0 &lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="build-information"&gt;Build information&lt;a class="td-heading-self-link" href="#build-information" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Netlify build information:&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Attribute&lt;/th&gt;
					&lt;th&gt;Value&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;Netlify built&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Date/time&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/td&gt;
					&lt;td&gt;2026-09-23 16:33 UTC&lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;ID&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;6ab3ff3ad310250008c94e32&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Deploy log&lt;/td&gt;
					&lt;td&gt;&lt;a href="https://app.netlify.com/teams/docsy-example/builds/6ab3ff3ad310250008c94e34"&gt;6ab3ff3ad310250008c94e34&lt;/a&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Deploy context&lt;/td&gt;
					&lt;td&gt;production&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Commit&lt;/td&gt;
					&lt;td&gt;&lt;a href="https://github.com/itara-project/itara.dev/commit/439131a93b0c371d863977a883ae7d7c8404b111"&gt;@439131a&lt;/a&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Branch&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;main&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;script&gt;
document.addEventListener("DOMContentLoaded", function() {
 var options = { hour: '2-digit', hour12: false, minute: '2-digit', timeZoneName: 'short' };
 var buildDate = new Date("2026-09-23T16:33:17Z");
 document.getElementById("local-time").innerText = buildDate.toLocaleString(undefined, options);
});
&lt;/script&gt;
&lt;div class="footnotes" role="doc-endnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;Approximate build timestamp.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;In your timezone: &lt;span id="local-time"&gt;unknown&lt;/span&gt;.&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description></item></channel></rss>