So far this series has looked at Bob as a developer's tool: reading RPG, modernizing it, testing it. That's how most IBM i shops will meet it. But a hands-on lab from TechXchange in October, published on GitHub, showed Bob doing something else entirely: running infrastructure.
In that lab, Bob works as an "Infrastructure Engineer," a custom persona that provisions and connects a live application across two clouds.1 The participant states the outcome in a sentence. Bob writes the infrastructure code. None of it touches IBM i, but every ingredient it uses has an IBM i counterpart already in place.
What Bob does elsewhereA persona, some rules, and the right connections.
- A custom mode. The "Infrastructure Engineer" persona is defined in the project's
.bob/folder, with its own rules for infrastructure-as-code standards and a skill file for the provisioning workflow.1 - MCP servers for the tools. Bob connects to Terraform, Ansible and Vault through MCP servers, and works through them rather than around them.1
- Least privilege from the start. Credentials come from least-privilege profiles injected through the environment, never stored in the project or typed into chat, and tokens are short-lived.1
Custom modes are a standard Bob feature. The Premium Package for i adds its own IBM i Developer and Database modes, and any mode can be customized.6 The mechanisms the lab uses (custom modes, rules and connections to outside tools) aren't tied to one platform.
What IBM i already hasThe automation side already exists.
A certified Ansible collection.
IBM's Power IBM i collection for Ansible has been available since 2020 and is Red Hat certified.23 It provides modules, roles and sample playbooks for command execution, work management, fix management and application deployment.4 Ansible is one of the three tools the TechXchange lab connects Bob to.
Bob already reaches the box.
The Premium Package for i adds around thirty tools for things like CL commands, SQL and 5250 sessions, all through Code for IBM i.58 Chapter 02 covered what that means for code. The same reach applies to the system, which is why the design below keeps Bob away from production: point its connection at a non-production partition, or give it a read-only profile, so the design is enforced, not just recommended.
A governance model to match.
Profiles, object authority, the audit journal and an off switch (Chapter 03 and Chapter 04). Operations work needs these even more than development does.
Every piece exists. What's missing is the connection: a Bob persona built for IBM i operations, working through the Ansible collection the platform already supports. The pieces are there. I haven't seen anyone put them together for IBM i operations yet, and what follows is a proposal, not something I've tested.
AI for the people who run the box is arriving from other directions too. Fresche's OpsIQ, launched in October, is a free, read-only assistant that investigates jobs, messages and authority errors in plain language and leaves the action to a person.9 The pattern here is a different one: Bob drafts the change as a playbook, a person approves it, and the platform runs and records it.
What it could look likeBob writes the change. The box runs it.
The key design choice for operations is this: Bob shouldn't run commands against a production system. It should write the playbook. A playbook is a change a person can read, review, version in git, run again, and hand to an auditor. It's also the artifact IBM i operations teams using Ansible already trust.
And the playbook is the part that lasts. It's plain text in your own repository, running on a collection IBM publishes openly. Change assistants next year and every playbook still runs. Bob writes the change, but the change belongs to you.
Bob drafts
An Ansible playbook, from a one-sentence request
A person approves
Reviewed like any change, then merged
Ansible runs it
On IBM i, under its own narrow profile
The box records it
In git and in QAUDJRN
There's a step zero. Ansible reaches IBM i over SSH, so the SSH server needs to be running (STRTCPSVR *SSHD). If you already use Bob with the Premium Package, it is: Code for IBM i connects over SSH too.8 The box also needs licensed programs 5733-SC1 (base and option 1) and 5770-DG1, plus Python with the itoolkit and pyodbc packages and the IBM i Access ODBC driver, installed through yum. Tasks that use SQL also need the database host server running. Ansible itself runs from a control node, which can be a Linux system or the IBM i itself.47 If your shop doesn't run the open-source stack yet, that's a decision in its own right.
Start with reports, where nothing changes on the system. These are tasks every IBM i operations team does by hand today:
Fix currency.
Which PTF groups are installed across your partitions, and how far each one is behind.
System-value drift.
Compare security-relevant system values across partitions and flag the ones that don't match your standard.
Profile hygiene.
Which profiles hold broad special authorities, which are disabled or past expiration, and which Bob profiles exist and who owns them.
Service health.
Which host servers and subsystems are up, and which aren't, across every partition at once.
For a single partition, each of these reports takes a few SQL services queries (the fix currency check reaches out to IBM for current PTF levels, so it needs internet access); Ansible earns its place across many partitions and for repeatable changes. Once the reports are trusted, the same pattern extends to changes: applying fixes in a maintenance window, setting a profile's expiration, restarting a service. Each one is a reviewed playbook rather than a command typed at a prompt.
Why governance matters more hereOperations touches the running system.
A code change goes through compile, test and promotion before it reaches production. An operations change often doesn't. That's why the model in Chapters 03 and 04 matters even more here:
- Separate identities for separate jobs. Bob's profile drafts; the automation's profile runs. Neither should be the other, and neither should be a person's everyday sign-on.
- Grant only what each job needs. Some operations tasks genuinely need special authorities, such as job control or save authority. Give the automation's profile only what its playbooks require, and use authority collection to confirm it. Keep its password or key in a vault, never in plain text on the control node.
- Keep Bob's approvals on. Leave command and edit approvals on for the operations persona and limit its tool groups to read-only. Then connect it with a read-only profile, so the box enforces the limit, not just the mode, until the reports have earned trust.
- Treat SSH as a door. Turning it on adds a way into the system. Put it on your inventory, restrict who can use it, and log it like any other path in.
Bob writes the change. A person approves it. The box runs it and records it.
What to do MondayThree moves to try the pattern.
Create an operations persona.
A Bob custom mode with your operations standards as its rules: read-only first, playbooks instead of live commands, your naming and change-window conventions. Keep the persona's rules in git with the playbooks.
Pick one report.
Fix currency or system-value drift is a good first choice. Have Bob draft the playbook, review it, and run it against one non-production partition.
Put the playbooks in git.
The repository becomes the record of what Bob proposed and what your team approved, next to the audit journal's record of what actually ran.
I'll report back on trying this in Chapter 06.
See how ready your platform is for agents on the operations side as well as the code.
Take the IBM i readiness read