Showing posts with label IaC. Show all posts
Showing posts with label IaC. Show all posts

A roadmap for accelerators

Mike's Notes

It's getting busy, so I need a roadmap for accelerators now.

Resources

References

  • Reference

Repository

  • Home > Ajabbi Research > Library >
  • Home > Handbook > 

Last Updated

02/06/2026

A roadmap for accelerators

By: Mike Peters
On a Sandy Beach: 27/03/2026

Mike is the inventor and architect of Pipi and the founder of Ajabbi.

Lots of opportunities are coming in.

This is a roadmap for using coaching, workshops, incubators and accelerators to develop, test and validate the Ajabbi Mission Business Model and the Pipi closed-core and Pipi open-source applications.

Ultimately, it's a record of what is learned, so it doesn't include missed opportunities or declined applications. There are a few missing items from some time back that are yet to be added.

Free is good (cloud credits, bro bono, software, training), but no funding or investment is being sought.

The roadmap is sorted by deadline, so that I remember to do them. The first row of the table is a key.


Date Roadmap

deadline

Start-End

Status

Title

Description

What

To come.

  • To come

Learned

  • To come

To do/done

  • To come

Resources


deadline

2017-2020

Completed

Steve Blank

"Steve Blank (born 1953) is an American entrepreneur, educator, author and speaker. He created the customer development method that launched the lean startup movement. His work has influenced modern entrepreneurship through the creation of tools and processes for new ventures, which differ from those used in large companies."

What

Learning from the very best.

  • Reading his books and blog
  • Watching videos
  • Using all the free courses and tools

Learned

  • How to use a Business Model Canvas
  • How to use a Mission Model Canvas
  • How to do customer discovery
  • How to run experiments to validate assumptions

Done

    • Read and tried everything
    • Build Pipi Experiment Engine

    Resources

    deadline

    2020-2023

    Completed

    KiwiSaaS

    "Our community is free to join, and it's where we can safely share our knowledge and experiences with each other. Paying it forward is what drives kiwiSaaS growth."

    What

    Online workshops and random monthly one-on-one meetings with other founders.

      Learned

      • To keep going and when to change course
      • It is OK to make mistakes
      • Will get lots of insights from being open
      • The importance of listening to others

      Done

      • Get stuck in

      Resources

      January 2024

      January - October 2024

      Completed

      Startup Aotearoa

      "Startup Aotearoa ignites New Zealand’s entrepreneurial spirit by providing personalised one-to-one coaching to early-stage startup founders. Delivered nationwide through local regional providers,"

      What

      Mentoring from Mr G led to testing the ICP at Waimumu Southern Field Days 2024 on

      • Developers at Agritech companies
      • Agricultural suppliers

      Learned

      • Developers are the ICP
      • There is a real problem to solve
      • Find a teaching customer

      Done

        • Pivot ajabbi.com to developers
        • Host a teaching customer requiring 3 languages

        Resources

        April 2024

        May - November 2024

        Completed

        Creative HQ's On the Business workshop series

        "This 'On the Business' workshop series gives you the dedicated time and resource to help you grow your business. We'll provide tools, frameworks and hands-on..."

        What

        Remote workshops using Miro canvas.

        Learned

        • To come

        Done

        • To come

        Resources

        February 2025

        February 2025 - March 2025

        Completed

        NZTE Export Essentials SaaS 4-part workshop.

        "Learn what best-practise exporting involves when you sell SaaS offshore."

        What

        Workshops with individual follow-up sessions.

        Learned

        • To use the tools available to test assumptions.

        Done

        • To come

        Resources

        February 2025

        February 2025 - March 2025

        Completed

        NZTE Position for Growth workshop.

        "Our Position for Growth workshops help you define what problem you solve for"

        What

        Workshops with individual follow-up sessions.

        Learned

        • To use the tools available to test assumptions.

        Done

          • To come

          Resources

          25/03/2026

          April 2026 - March 2028

          Application Withdrawn

          Google AI Accelerator

          "With this program, you can get access to startup experts, your Google Cloud and Firebase costs covered up to $200,000 USD (up to $350,000 USD for AI startups) over 2 years, technical training, business support, and Google-wide offers."

          What

          Collaborate with DeepMind to run wild ML integration experiments to go where no developer has gone before.

          • Pipi > IaC > GCP
          • Pipi > VM > BoxLang > Workspaces
          • Pipi > MCP > DeepMind Gemini
          • Pipi > Scientific Workflows > TPU

          Learned

          • Invited to apply by a Google chap who was assisting behind the scenes using an unlisted pathway. I then discovered that free credits begin on the day of application approval, so I will reapply when ready to start in July to make the most of the 24-month window of opportunity.

          To do

          • Increase Pipi DevOps speed (x1000) by completing work on automating the data centre (x10), workspace rendering (x10), and IaC to GCP free tier (x10). This will enable fast, multiple automated experiments.

          Resources

            26/05/2026

            July - November 2026

            Application underway

            Sprout Accelerator

            "The Sprout Accelerator takes a cohort of agrifood innovators on a 3-month adventure to discover, articulate and refine the foundations to grow global startups."

            What

            Test farm management workspace using HTML Mockups on

            • Dairy farmer-led catchment group
            • Agritech wait list from Waimumu

            Learned

            • To come

            To do

            • To come

            Resources

            June 2026

            July 2026 - June 2028

            To apply

            Google AI Accelerator

            "With this program, you can get access to startup experts, your Google Cloud and Firebase costs covered up to $200,000 USD (up to $350,000 USD for AI startups) over 2 years, technical training, business support, and Google-wide offers."

            What

            Collaborate with DeepMind to run wild ML integration experiments to go where no developer has gone before.

            • Pipi > IaC > GCP
            • Pipi > VM > BoxLang > Workspaces
            • Pipi > MCP > DeepMind Gemini
            • Pipi > Scientific Workflows > TPU

            Learned

            • To come

            To do

            • To come

            Resources


             


             

            Having a Data Centre changes the roadmap

            Mike's Notes

            This is the revised Pipi roadmap now that the data centre is running. The recent Ajabbi Research report, "The Workspace Issue," has also been revised to reflect these changes.

            Update 25/03/2026

            A very nice chap from Google contacted me to assist with applying to join one of the Google AI Accelerators. I started the application, then stopped when I realised that the 2 years of support and generous free credits started as soon as it was approved. I need to complete all Stage 1 steps in the roadmap below, and the Stage 2 IaC connection to the GCP free tier to deploy Pipi open-source before applying, to make the best use of the opportunity.

            I'm requesting support from Google DeepMind to experiment with connecting Pipi via MCP to DeepMind Gemini and to find a way for Pipi closed-core to use Google TPU. Stage 3 will be highly experimental with unexpected results.

            Pipi is a non-generative multi-agent system with no tokens. It doesn't need tokens to work and its 27 layers deep so far and counting. I expect it to get very barnacled and crusty over time.

            Update 31/03/2026

            Setting up data centre automation has revealed that workspace deployments need to be performed in this order of account types due to the permissions cascade.

            • Agent Accounts (to admin Pipi)
            • Researcher Accounts (to edit UoM, ontologies and physical laws)
            • Developer Accounts (to create enterprise workspaces)
            • Personal Accounts (to sort out personal profiles - UI fonts, etc)
            • Enterprise Accounts (to test and use the system for work)
            • etc

            Update 17/04/2026

            Containers, named Pipi Nest, were created to deploy Pipi.

            Resources

            References

            • Reference

            Repository

            • Home > Ajabbi Research > Library >
            • Home > Handbook > 

            Last Updated

            17/04/2026

            Having a Data Centre changes the roadmap

            By: Mike Peters
            On a Sandy Beach: 27/02/2026

            Mike is the inventor and architect of Pipi and the founder of Ajabbi.

            Having a separate Pipi Core Data Centre changes everything. This has a direct impact on what is possible and on the best path forward. 

            This is the revised working Deployment Roadmap for Pipi. The sequence is roughly correct; the timing is just a guess.

            Stage 1

            Production foundations to enable automation and rapid use.

            When Task Detail
            February 2026 Migration ✔ Separate networks for the isolated Pipi Core Data Centre and the Ajabbi Office.
            March - April 2026 Pipi Nest ✔ Pipi deployment container
            April 2026 Mission Control ✔ Telemetry on the Data Centre.
            April 2026 AutomationPipi Core running autonomously in a Pipi Nest 24x7x365, with a x10 increase in productivity.
            May 2026 Data Centre Admin Agent Workspace rendered by the CMS Engine with no errors.
            May 2026 Workspace Workspaces containing 15,000 web pages are rendered by the CMS Engine with no errors.
            2026 Workspace Workspace UI Menu rendered without errors.
            2026 Workspace Draft in-context help & learning material generated for each workspace without errors.
            2026 Workspace Module-based UI forms and data grids rendered with sample data without errors.
            2026 Workspace Complete HTML workspace demo with connected initial developer documentation rendered without error
            2026 Workspaces for Agents & Developers Workspaces are deployed in the Data Centre for production use by System Admin and DevOps, with a x10 increase in productivity.
            2026

            2026

            2026
            2026
            2026

            Stage 2

            Automate Pipi deployment across every available cloud platform, with a free tier.

            When Task Detail
            2026 IaC Deploy infrastructure on the AWS Free Tier.
            2026 IaC Deploy infrastructure on the Azure Free Tier.
            2026 IaC Deploy infrastructure on the Digital Ocean Free Tier.
            2026 IaC Deploy infrastructure on the GCP Free Tier.
            2026 IaC Deploy infrastructure on the IBM Free Tier.
            2026 IaC Deploy infrastructure on the Oracle Free Tier.
            2026 IaC Deploy infrastructure on the Wasabi Free Tier.
            2026
            ...

            Stage 3

            Deploy to any platform when admitted to its startup program that offers lots of credits to enable experimentation and scaling with early customers.

            When Task Detail

            IaC Deploy infrastructure on every non-free part of the platform.

            IaC BoxLang VM containing Pipi Open-Source, deployed via IaC.
              MCP, A2A, Skills Pipi > LLM > Pipi
              Working Demo Fully working demo workspaces available for customers and developers to try out.
              Customer Deployments Ajabbi Personal, Developer, and Enterprise account Workspaces are available.
              Customer Deployments Ajabbi Researcher and SME account Workspaces are available.
              Scientific Workflows TPU
             
             

            Stage 4

            At a certain threshold, Pipi 10 will come into being, creating many more possibilities.

            Agent Card

            Mike's Notes

            Earlier this week, I attended the APAC Cloud Technical Series: On Board from Google. It was 10 hours over 2 days of talks and code workshops from Google staff, who were mainly based in Singapore.

            It was excellent and worth the time. I signed up for more sessions planned later in the year. Google Weeklies is a regular in-depth talk available both live and as an archive. Excellent stuff.

            I got an invite to join Google for Startups' Rising Founders program. I hope that this will lead to access to researchers at Google DeepMind. I have questions.

            I initially registered to participate in the Gen AI Academy APAC Edition, which would have been fun, but then I discovered an age restriction. I'm too ancient. 😊

            IaC

            This will help me build Pipi Engines to build, deploy, and manage infrastructure-as-code (IaC) in the cloud.

            A dedicated agent engine has been created for each cloud platform. They have yet to be differentiated.

            • Apple Engine (ale)
            • AWS Engine (aws)
            • AZURE Engine (azu)
            • Digital Ocean Engine (dgo)
            • Google Cloud Engine (ggc)
            • IBM Engine (ibm)
            • Meta Engine (met)
            • Oracle Engine (ora)
            • (More will be added later; all are welcome)

            Agents

            Pipi 9 is a type of world-model AI, not an LLM. Google is offering a platform for LLM-based generative AI agents. My thought is to connect Pipi 9 to these external agents via open protocols, leveraging the strengths of both.

            • MCP
              • PostgreSQL
              • TPU
              • etc
            • A2A
              • Agent Card
            • ADK

            More Pipi engines

            • MCP Engine (mcp)

            Agent card

            Here are some initial notes about the Agent Card protocol, part of A2A. I will start building from there.

            Pipi is an agent built from hundreds of other kinds of deeply nested agents, and is capable of learning, evolving and replicating. So does this mean that Pipi needs its own Agent Card? 😀

            Resources

            References

            • Reference

            Repository

            • Home > Ajabbi Research > Library >
            • Home > Handbook > 

            Last Updated

            13/02/2026

            Agent Card

            By: Mike Peters
            On a Sandy Beach: 1/02/2026

            Mike is the inventor and architect of Pipi and the founder of Ajabbi.

            From A2A Protocol Documentation

            A2A revolves around several key concepts. For detailed explanations, please refer to the Key Concepts guide.

              • A2A Client: An application or agent that initiates requests to an A2A Server on behalf of a user or another system.
              • A2A Server (Remote Agent): An agent or agentic system that exposes an A2A-compliant endpoint, processing tasks and providing responses.
              • Agent Card: A JSON metadata document published by an A2A Server, describing its identity, capabilities, skills, service endpoint, and authentication requirements.
              • Message: A communication turn between a client and a remote agent, having a role ("user" or "agent") and containing one or more Parts.
              • Task: The fundamental unit of work managed by A2A, identified by a unique ID. Tasks are stateful and progress through a defined lifecycle.
              • Part: The smallest unit of content within a Message or Artifact. Parts can contain text, file references, or structured data.
              • Artifact: An output (e.g., a document, image, structured data) generated by the agent as a result of a task, composed of Parts.
              • Streaming: Real-time, incremental updates for tasks (status changes, artifact chunks) delivered via protocol-specific streaming mechanisms.
              • Push Notifications: Asynchronous task updates delivered via server-initiated HTTP POST requests to a client-provided webhook URL, for long-running or disconnected scenarios.
              • Context: An optional, server-generated identifier to logically group related tasks and messages.
              • Extension: A mechanism for agents to provide additional functionality or data beyond the core A2A specification.

            - A2A Protocol Documentation

            Agent Discovery in A2A

            To collaborate using the Agent2Agent (A2A) protocol, AI agents need to first find each other and understand their capabilities. A2A standardizes agent self-descriptions through the Agent Card. However, discovery methods for these Agent Cards vary by environment and requirements. The Agent Card defines what an agent offers. Various strategies exist for a client agent to discover these cards. The choice of strategy depends on the deployment environment and security requirements.

            The Role of the Agent Card

            The Agent Card is a JSON document that serves as a digital "business card" for an A2A Server (the remote agent). It is crucial for agent discovery and interaction. The key information included in an Agent Card is as follows:

            • Identity: Includes name, description, and provider information.
            • Service Endpoint: Specifies the url for the A2A service.
            • A2A Capabilities: Lists supported features such as streaming or pushNotifications.
            • Authentication: Details the required schemes (e.g., "Bearer", "OAuth2").
            • Skills: Describes the agent's tasks using AgentSkill objects, including id, name, description, inputModes, outputModes, and examples.

            Client agents use the Agent Card to determine an agent's suitability, structure requests, and ensure secure communication.

            Sample Agent Card

            {
              "protocolVersions": ["1.0"],
              "name": "GeoSpatial Route Planner Agent",
              "description": "Provides advanced route planning, traffic analysis, and custom map generation services. This agent can calculate optimal routes, estimate travel times considering real-time traffic, and create personalized maps with points of interest.",
              "supportedInterfaces": [
                {"url": "https://georoute-agent.example.com/a2a/v1", "protocolBinding": "JSONRPC"},
                {"url": "https://georoute-agent.example.com/a2a/grpc", "protocolBinding": "GRPC"},
                {"url": "https://georoute-agent.example.com/a2a/json", "protocolBinding": "HTTP+JSON"}
              ],
              "provider": {
                "organization": "Example Geo Services Inc.",
                "url": "https://www.examplegeoservices.com"
              },
              "iconUrl": "https://georoute-agent.example.com/icon.png",
              "version": "1.2.0",
              "documentationUrl": "https://docs.examplegeoservices.com/georoute-agent/api",
              "capabilities": {
                "streaming": true,
                "pushNotifications": true,
                "stateTransitionHistory": false,
                "extendedAgentCard": true
              },
              "securitySchemes": {
                "google": {
                  "openIdConnectSecurityScheme": {
                    "openIdConnectUrl": "https://accounts.google.com/.well-known/openid-configuration"
                  }
                }
              },
              "security": [{ "google": ["openid", "profile", "email"] }],
              "defaultInputModes": ["application/json", "text/plain"],
              "defaultOutputModes": ["application/json", "image/png"],
              "skills": [
                {
                  "id": "route-optimizer-traffic",
                  "name": "Traffic-Aware Route Optimizer",
                  "description": "Calculates the optimal driving route between two or more locations, taking into account real-time traffic conditions, road closures, and user preferences (e.g., avoid tolls, prefer highways).",
                  "tags": ["maps", "routing", "navigation", "directions", "traffic"],
                  "examples": [
                    "Plan a route from '1600 Amphitheatre Parkway, Mountain View, CA' to 'San Francisco International Airport' avoiding tolls.",
                    "{\"origin\": {\"lat\": 37.422, \"lng\": -122.084}, \"destination\": {\"lat\": 37.7749, \"lng\": -122.4194}, \"preferences\": [\"avoid_ferries\"]}"
                  ],
                  "inputModes": ["application/json", "text/plain"],
                  "outputModes": [
                    "application/json",
                    "application/vnd.geo+json",
                    "text/html"
                  ]
                },
                {
                  "id": "custom-map-generator",
                  "name": "Personalized Map Generator",
                  "description": "Creates custom map images or interactive map views based on user-defined points of interest, routes, and style preferences. Can overlay data layers.",
                  "tags": ["maps", "customization", "visualization", "cartography"],
                  "examples": [
                    "Generate a map of my upcoming road trip with all planned stops highlighted.",
                    "Show me a map visualizing all coffee shops within a 1-mile radius of my current location."
                  ],
                  "inputModes": ["application/json"],
                  "outputModes": [
                    "image/png",
                    "image/jpeg",
                    "application/json",
                    "text/html"
                  ]
                }
              ],
              "signatures": [
                {
                  "protected": "eyJhbGciOiJFUzI1NiIsInR5cCI6IkpPU0UiLCJraWQiOiJrZXktMSIsImprdSI6Imh0dHBzOi8vZXhhbXBsZS5jb20vYWdlbnQvandrcy5qc29uIn0",
                  "signature": "QFdkNLNszlGj3z3u0YQGt_T9LixY3qtdQpZmsTdDHDe3fXV9y9-B3m2-XgCpzuhiLt8E0tV6HXoZKHv4GtHgKQ"
                }
              ]
            }

            Potential uses of OpenTofu

            Mike's Notes

            Thoughts on Terraform and OpenTofu in the wake of the HCP Terraform Free Tier being discontinued by IBM.

            Alex asked Gemini about OpenTofu. The output was not verified and is appended below. (I used Google Translate to English)

            Resources

            References

            • Reference

            Repository

            • Home > Ajabbi Research > Library >
            • Home > Handbook > 

            Last Updated

            27/01/2026

            Potential uses of OpenTofu

            By: Mike Peters
            On a Sandy Beach: 27/01/2026

            Mike is the inventor and architect of Pipi and the founder of Ajabbi.

            Background

            The original plan was for Pipi to use Terraform as Infrastructure-as-Code (IaC) to deploy cloud infrastructure across AWS, Azure, GCP, IBM, Oracle, and more. Then IBM announced that the Terraform Free Tier is being discontinued. There is now an open-source fork called OpenTofu, which is part of the Cloud Native Computing Foundation (CNCF). OpenTofu has strong community support. Pipi will now use OpenTofu.

            Pipi as a code generator

            A Pipi Agent could easily generate the highly structured Terraform/OpenTofu code.

            Potential Uses

            • The Pipi messaging system could use OpenTofu syntax as the message format for internal messaging between Pipi Agents. The needs are relatively simple compared to what is available. But more capacity is available if needed.

              Message examples
              • Tell the Namespace Engine (nsp) to shut down.
              • Tell the Factory Engine (fac) to make more Workflow Engines (wfl) and where to deploy them.
              • Tell the Ontology Engine (ont) to import the latest version of SNOMED.
              • The updated SNOMED Ontology availability would then trigger many other engines to run updates to Workspace for Health and User Documentation.
              • Tell the Workspace Engine (wsp) to build a Hebrew-language/script generic model of the Workspace for Screen.
              • Tell the Google Cloud Engine (GCE) to deploy a Vietnamese-language/script customised Health System Workspace for a Hospital in Vietnam to GCP.
              • Tell the Physical Law Engine (pyw) to update with the latest definitions from the Particle Data Group.
            • Dedicated Pipi Agents would use OpenTofu to deploy cloud infrastructure to each cloud platform.
              • Apple Engine (ale)
              • AWS Engine (aws)
              • AZURE Engine (azu)
              • Digital Ocean Engine (dgo)
              • Google Cloud Engine (ggc)
              • IBM Engine (ibm)
              • Meta Engine (met)
              • Oracle Engine (ora)
              • (More will be added later; all are welcome)

            OpenTofu Example

            This code sample is from the OpenTofu Docs.

            terraform {
              required_providers {
                aws = {
                  source  = "hashicorp/aws"
                  version = "~> 1.0.4"
                }
              }
            }

            variable "aws_region" {}

            variable "base_cidr_block" {
              description = "A /16 CIDR range definition, such as 10.1.0.0/16, that the VPC will use"
              default = "10.1.0.0/16"
            }

            variable "availability_zones" {
              description = "A list of availability zones in which to create subnets"
              type = list(string)
            }

            provider "aws" {
              region = var.aws_region
            }

            resource "aws_vpc" "main" {
              # Referencing the base_cidr_block variable allows the network address
              # to be changed without modifying the configuration.
              cidr_block = var.base_cidr_block
            }

            resource "aws_subnet" "az" {
              # Create one subnet for each given availability zone.
              count = length(var.availability_zones)

              # For each subnet, use one of the specified availability zones.
              availability_zone = var.availability_zones[count.index]

              # By referencing the aws_vpc.main object, OpenTofu knows that the subnet
              # must be created only after the VPC is created.
              vpc_id = aws_vpc.main.id

              # Built-in functions and operators can be used for simple transformations of
              # values, such as computing a subnet address. Here we create a /20 prefix for
              # each subnet, using consecutive addresses for each availability zone,
              # such as 10.1.16.0/20 .
              cidr_block = cidrsubnet(aws_vpc.main.cidr_block, 4, count.index+1)
            }

            Yes, Mike! It's cool!

            I talked a little bit with Gemini [1]. OpenTofu is a great tool

            Alex

            [1] https://gemini.google.com/share/4c550e83a230

            OpenTofu: Features and Benefits

            Some responses below were generated according to the creator's saved info and preferences. Learn moreOpens in a new window 27 January 2026 at 21:22

            Published on 27 January 2026 at 21:37

            Prompt

            What features does OpenTofu provide?

            Output

            OpenTofu is an open-source fork of Terraform (created after HashiCorp's license was changed to BSL), developed under the auspices of the Linux Foundation. In 2026, it became a full-fledged competitor to Terraform, offering a number of unique features while maintaining backward compatibility.

            Here are the main features that OpenTofu provides:

            1. Full compatibility with the Terraform ecosystem

            OpenTofu is designed as a drop-in replacement. This means:

            • HCL support: The same configuration file syntax is used.
            • Working with providers and modules: OpenTofu uses its own registry ( OpenTofu Registry ), which mirrors most popular providers (AWS, Azure, GCP, etc.) and modules.
            • Migration: You can migrate from Terraform (versions up to and including 1.6 and many later) with virtually one command without rewriting any code.

            2. Advanced Security (State Encryption)

            One of the main "killer features" introduced in OpenTofu (starting with version 1.7) is native encryption of state files .

            • Unlike standard Terraform, where sensitive data terraform.tfstate is often stored in cleartext, OpenTofu allows you to encrypt it at rest.
            • Various key management methods are supported: AWS KMS, GCP KMS, HashiCorp Vault (OpenBao), as well as environment variables and files.

            3. Improvements in code management

            OpenTofu is actively implementing features that the community has been requesting for years:

            • Dynamic Provider Functions: Ability to use functions defined directly in providers within your HCL code.
            • Improved loops in import blocks: Can now be used for_each inside count blocks import, making it much easier to bulk import existing resources into your code.
            • Early Variable Evaluation: Allows you to use variables in parts of the configuration where they were previously unavailable (for example, in backend settings).

            4. Openness and community

            • MPL v2.0 License: Ensures that the tool will always remain free and open for use for any commercial purposes without legal risks.
            • Community-driven Roadmap: The development plan is formed based on RFCs (Request for Comments) from the community, and not on the commercial interests of a single corporation.

            Comparison of key aspects

            Characteristic OpenTofu Terraform
            License Open Source (MPL 2.0) Business Source License (BSL)
            State encryption Native (client) Depends on the backend (SaaS/Enterprise)
            Management Linux Foundation HashiCorp
            Registry opentofu.org registry.terraform.io

            Is it worth switching? 

            If your organization values ​​open source and vendor lock-in, or client-side encryption of state files is critical to you, OpenTofu is an excellent choice.

            Would you like me to help you create a migration plan or a sample configuration for encrypting the state file?

            Prompt

            What is it intended for? Let's say I'm creating a multi-agent system.

            OpenTofu is designed for managing infrastructure as code (IaC). Simply put, instead of manually clicking through the cloud provider's console (creating servers, databases, and networks), you describe the desired architecture in text files, and OpenTofu automatically "builds" and connects these components.

            If you're building a multi-agent system (MAS), OpenTofu will be responsible for the "foundation" on which those agents will live and communicate.


            The Role of OpenTofu in Creating a Multi-Agent System

            When agents become numerous, they require computing resources and a communication environment. Here's how OpenTofu helps in this scenario:

            1. Deployment of computing nodes

            You can describe a cluster (e.g. Kubernetes or a group of virtual machines) where your agents will run.

            • Example: You need 10 isolated containers for different agent types (scheduler agent, executor agent, etc.). OpenTofu will create them with a single command.

            2. Setting up the communication environment (Message Brokers)

            Agents must exchange messages.

            • OpenTofu will automatically deploy and configure RabbitMQ , Kafka , or Redis Pub/Sub to serve as the "bus" for your agents to communicate.

            3. Database Management (Vector and Regular)

            Agents often need memory (Long-term memory).

            • You can use code to set up a vector database (such as Pinecone , Weaviate , or Milvus ) and a regular one (PostgreSQL) to store conversation history and logs.

            4. Scaling

            If your system needs 500 agents instead of 5 tomorrow, you don't need to manually configure each server. Simply change one number in the configuration: count = 500, and OpenTofu will build the missing infrastructure.


            Example of a logical diagram of work:

            1. Code (HCL): You describe: "I need a 3-node cluster and a database."
            2. OpenTofu (Execution): Compares your code with what's already in the cloud.
            3. Infrastructure: Creates servers -> Installs the runtime environment (Docker/K8s) on them -> Sets up the network between them.
            4. Agents: Now your Python scripts (agents) can run in this ready-to-use and stable environment.


            Why choose OpenTofu over just scripts?

            • Idempotency: If you run the server creation script twice, it can create two servers. OpenTofu will recognize that one already exists and won't do anything extra.
            • Dependency Management: It knows that it needs to create a network first, and only then a server on that network.
            • Collaboration: The state file ( state) allows an entire team of engineers to work on the same infrastructure without chaos.

            Can you suggest which cloud resources or providers would be best suited to host your multi-agent system?

            Prompt

            I'm interested in how to organize the exchange of messages between agents that exchange commands and data.

            To organize communication between agents for exchanging commands and data, you typically use one of three architectural models. The choice depends on how autonomous your agents are and how critical delivery speed is.

            Below is a breakdown of the main approaches you can implement and automate using OpenTofu.

            1. Message Bus (Pub/Sub) — The Most Flexible Approach

            This is a classic model where agents do not communicate directly. Instead, they send messages to "topics" or "exchanges."

            • How it works: Agent A sends a command to the topic commands. Agent B is subscribed to this topic, receives the command, executes it, and sends the result to the data topic.
            • Tools: RabbitMQ, Apache Kafka, NATS, or Redis.
            • Advantage: Agents are fully decoupled. If one agent goes offline, messages accumulate in the queue and are processed once it restarts.

            2. Centralized Orchestrator (Shared Space)

            In this model, there is a central "knowledge base" or dispatcher that distributes tasks and maintains state.

            • How it works: Agents write data to a shared database (e.g., a vector database or Redis) and check the status of tasks in a central table.
            • Tools: Redis (using Streams or Lists), PostgreSQL with queues (Listen/Notify).
            • Advantage: It is easy to track the state of the entire system and the history of all commands in one place.

            3. Direct Interaction (gRPC / HTTP)

            Agents contact each other directly via their network addresses.

            • How it works: Each agent has its own API endpoint.
            • Tools: gRPC (high speed, strict data typing) or FastAPI/Flask (simplicity).
            • Advantage: Minimal latency because there are no intermediate layers.
            • Disadvantage: Harder to scale. If an agent's IP address changes, others must be notified (requires Service Discovery).

            Technical Implementation: The Role of OpenTofu

            Once you decide on the architecture, you need to "spin up" the infrastructure for this communication. OpenTofu automates this process:

            1. Broker Deployment: OpenTofu code deploys a RabbitMQ or NATS cluster.
            2. Queue Configuration: It immediately creates the necessary queues (e.g., task_queue, results_queue).
            3. Security: It generates unique credentials for each agent type, ensuring an "executor" agent cannot accidentally delete messages from the "planner" queue.
            4. Service Discovery: If using gRPC, OpenTofu can configure Consul or internal DNS in Kubernetes so agents find each other by name (e.g., agent-alpha.local) rather than static IPs.

            Where to start?

            If you are just starting to design your system, I recommend the Redis + Python (using libraries like Celery or TaskIQ) or NATS combination. This provides a great balance between simplicity and performance.

            Would you like me to provide a sample OpenTofu configuration to deploy a message broker (like Redis or RabbitMQ) in Docker or a cloud provider?

            Pipi Engines to build, deploy and manage in the cloud

            Mike's Notes

            Finally got onto this job. Should be fun. 😊

            Update 1

            This is Infrastructure as Code (IaC). Get Pipi to generate the Terraform script.

            Update 2

            Don't use HCP Terraform Free Tier; it is being discontinued by IBM. Use an open-source product that Pipi can use internally without restriction to orchestrate cloud infrastructure.

            • OpenTofu + DIY Pipeline (Cloud Native Computing Foundation)
            • Terramate

            The criticisms of Terramate

            "Adopting Infrastructure as Code creates a new world of challenges

            Terraform and OpenTofu lack standard code organization patterns, leading to code complexity, long-running pipelines, poor collaboration, drift, and high blast radii. Most vendors at best only partially mitigate these issues.

              • Poor environment management
              • Large blast radius
              • Config sprawl
              • Complex pipelines
              • Countless drift
              • Lack of observability

            Pipi 9

            The issues raised by Terramate could be handled natively by a yet-to-be-built Pipi Engine. Pipi excels at using standard code organisation patterns.

            Resources

            References

            • Reference

            Repository

            • Home > Ajabbi Research > Library >
            • Home > Handbook > 

            Last Updated

            25/01/2026

            Pipi Engines to build, deploy and manage in the cloud

            By: Mike Peters
            On a Sandy Beach: 30/11/2025

            Mike is the inventor and architect of Pipi and the founder of Ajabbi.

            The problem

            The open-source workspaces under development are designed to be shared on GitHub/GitLab and hosted in production on various Cloud Platforms. Eventually, private cloud and on-premises will be included, provided Pipi 9 can obtain secure access. In that case, hybrid clouds should also be fine.

            Pipi 9 needs to be able to automatically build, deploy, and manage this process, either directly or via third-party tools such as GitHub Actions.

            Agent Engines

            An early Pipi 6 module from 2016 that catalogued cloud services was converted to a Pipi 7 microservice in 2018. Yesterday, this was imported into Pipi 9 and is being used to create these agents, which act as autonomous engines.

            • Platform Engine (plt) - this one is the commander on the battlefield. I will get this finished first.
            A dedicated agent engine has been created for each cloud platform. They have yet to be differentiated.
            • Apple Engine (ale)
            • AWS Engine (aws)
            • AZURE Engine (azu)
            • Digital Ocean Engine (dgo)
            • Google Cloud Engine (ggc)
            • IBM Engine (ibm)
            • Meta Engine (met)
            • Oracle Engine (ora)
            • (More will be added later; all are welcome)
            Then I remembered: Pipi 9 also has some self-deployment capacity, so generalising the existing capacity for building, deploying, and managing to share with the other engines makes sense.
            • Pipi Engine (pip) - for deploying to the closed data centre in a Boxlang/JRE host environment.

            How

            Most agents start like a Stem Cell. They are then modified to perform a specific job and can evolve over time. That's what I'm doing now.

            I started last night in the GCP console, looking into how to reverse-engineer the APIs and build a data model to drive the API calls. Looks straightforward. The Gemini 3 chat is a big help and saves significant time.

            But wait, there's more.

            Each agent engine is complex and can incorporate other agents like LEGO bricks. Example: API Engine (api) and YAML Engine (yml). Just as in a living biological cell, everything is structured, in flux and self-regulating in response to its environment and internal processes. Other agent types, like primitives, are not complex.

            Free-tier experiments

            The Engines will initially play in the free tier of the different cloud providers. The first experiments could use GitHub Actions, leveraging the sample code identified and building on it.

            Known available free tiers (more to come)

            • Alibaba Cloud
            • AWS
            • Azure
            • Cloudflare
            • Container Hosting Service
            • Couchbase
            • DigitalOcean
            • Google Cloud
            • Hetzner Cloud
            • IBM Cloud
            • Linode
            • Netlify
            • OpenShift
            • Oracle Cloud
            • OVHcloud
            • Render
            • Salesforce
            • Tencent Cloud
            • Vercel
            • Wasabi
            • Zeabur

            Cost $$$$$$$ 😎😎

            The free-tier usage limits need to be locked to prevent Pipi from burning through lots of cash.

            Cloud credits

            If Ajabbi can obtain cloud credits, using the more expensive resources would be possible to ensure everything works for future customers. It would enable customers to choose their preferred cloud provider without barriers.

            No Series B

            Ajabbi is a bootstrap start-up for public good (with a future foundation) and will have no investors, so there will be no Series B. Unfortunately, these cloud providers are obsessed with giving more credits only to Series B start-ups. Go figure.

            Stock numbers

            Use more agent engines as the workload increases. So if, for example, IBM Engine (ibm) can handle 1,000 enterprise customers, and 10.000 enterprise customers want IBM cloud setups, then Platform Engine (plt) can get the Factory Engine (fac) to breed more IBM Engine (ibm) to nibble on the work. I won't know the actual stocking ratio until field testing under load. However, it won't be a problem. And some huge customers need a dedicated agent engine or two each. All of this is possible.

            Developer Accounts

            The Workspaces for Developers, currently under development, will enable developers to help configure these agent engines and keep them up to date. This will also allow any platform to add itself by submitting a request for a dedicated agent engine and its developers, who will help with configuration and user documentation.


            From Gemini 3

            A Terraform script, more accurately called a Terraform configuration file, uses the declarative HashiCorp Configuration Language (HCL) or JSON to define infrastructure that Terraform will provision, manage, and version across various cloud and on-premises providers. Terraform is an infrastructure as code (IaC) tool, not a programming or scripting language in the traditional, procedural sense. 

            Core Concepts

            • Declarative Language: You describe the desired end state of your infrastructure, and Terraform automatically determines the steps required to achieve that state, including dependencies between resources.
            • Providers: Terraform interacts with cloud providers (like AWS, Azure, Google Cloud, etc.) and other services through "providers," which are plugins that wrap existing APIs.
            • Resources: These represent infrastructure objects, such as virtual machines, subnets, or DNS entries, and are defined within resource blocks in the configuration file.
            • State: Terraform maintains a terraform.tfstate file to track the current state of your managed infrastructure, which is crucial for determining what changes to make during an apply operation. 

            A Basic Terraform Configuration Example (AWS)

            The configuration below defines a simple AWS EC2 instance. This would typically be saved as a .tf file (e.g., main.tf): 

            hcl
            # Define the required provider and minimum Terraform version
            terraform {
              required_providers {
                aws = {
                  source  = "hashicorp/aws"
                  version = "~> 5.0"
                }
              }
              required_version = ">= 1.7"
            }
            # Configure the AWS provider with a specific region
            provider "aws" {
              region = "us-west-2"
            }
            # Define an AWS VPC resource
            resource "aws_vpc" "example" {
              cidr_block = "10.0.0.0/16"
              tags = {
                Name = "example-vpc"
              }
            }
            # Define an output value to display the VPC ID after creation
            output "vpc_id" {
              description = "The ID of the created VPC"
              value       = aws_vpc.example.id
            }

             

            Key Workflow Commands

            Once you have a configuration file, you use the Terraform CLI to manage your infrastructure: 

            • terraform init: Prepares your working directory, downloading the necessary provider plugins.
            • terraform plan: Shows a detailed execution plan of what changes Terraform will make to your infrastructure to match your configuration.
            • terraform apply: Executes the planned actions to create, update, or delete infrastructure resources.
            • terraform destroy: Deletes all the infrastructure resources managed by your Terraform configuration. 

            For more information, refer to the official HashiCorp Terraform documentation.