Let's Chat Agentic & Knowledge Sharing

Martin Povolny
Red Hat — Cost Management

2026-07-18

Agenda

  1. RHT Certifications — free courses, OpenShift track
  2. K3S — cheap Kubernetes for CI, dev, and testing
  3. gabi-cli — query prod/stage like psql
  4. Custom slash commands — encode workflows as markdown
  5. Slack search — progress update

RHT Certifications

All courses and exams are free for Red Hat associates.

How to Access

Three options:

  1. ROLE — self-paced videos + labs (anytime)
  2. Instructor-led (internal) — RH instructors, exams follow class
  3. Instructor-led (external) — public classes, free but customers take precedence

OpenShift Track — My Recommendation

Admin track (SREs, operators team):

Course Exam What you learn
DO180 EX180 OCP Admin I — operating a production cluster
DO280 EX280 OCP Admin II — install, configure, manage
DO380 EX380 OCP Admin III — scaling, automation

Developer track (backend devs):

Course Exam What you learn
DO188 EX188 Containers with Podman — intro
DO288 EX288 OCP Developer II — cloud-native apps

Start here: DO180 (new to OCP) or DO280 (comfortable with oc)

Certification Restructure (May 2026)

Five tracks: Enterprise Linux · Ansible · OpenShift · Cloud-native · AI

Five levels: Technologist → Admin → Engineer → Specialist → Architect (RHCA)

RHCA = 5 creds within one track (no more mixing)

K3S — Cheap Kubernetes

Lightweight, certified K8s distribution. Single binary (~100MB).
Full K8s API — Helm charts, kubectl, manifests work unchanged.

Where We Use It

Environment How Time to deploy
GitHub Actions CI K3S on free ubuntu-latest runner ~2 min
GitHub Codespaces Docker-in-Docker + K3S in devcontainer ~3 min
Testing Farm Fedora VM + deploy-full-k3s.sh ~5 min
Local k3d cluster create ~30 sec

Same stack everywhere: OSAC fulfillment-service + cost consumer + 2x PostgreSQL

CI Example — OSAC PoC

# .github/workflows/integration.yml
name: Integration Test (k3s)
runs-on: ubuntu-latest
timeout-minutes: 15

Push to main → K3S spins up → deploys full stack → runs integration tests → tears down

Free. No dedicated cluster. No shared state. No cleanup debt.

Codespaces + Testing Farm

Codespaces (.devcontainer/devcontainer.json):

  • Docker-in-Docker, kubectl, Helm, Claude Code
  • Port-forward dashboard (:8020), metrics (:9000), OSAC API (:8011)
  • Develop + test without any local setup

Testing Farm (~/Projects/koku/testfarm/):

  • testing-farm reserve --compose Fedora-42
  • SCP deploy script → SSH → full stack running
  • SSH tunnel for local access to dashboard and API

gabi-cli — Query Prod/Stage Like psql

Read-only SQL against koku databases.
No direct DB access. No port-forwarding. No VPN to the DB.

Three Tools, One Winner

Tool How it works Verdict
curl Token + URL + JSON body Scriptable, ugly
gabitabi CLI wrapper, token + URL as args Pipe-friendly
gabi-cli Uses oc session, auto-detects route One tool for everything
go install github.com/vkrizan/gabi-cli@latest
gabi-cli -n hccm-prod
gabi> SELECT org_id, schema_name FROM public.api_customer LIMIT 5;

Key Features

  • Auto-route detection — finds the Gabi backend from active OCP namespace
  • psql-like UX\d (list tables), \d table (describe), \h (help)
  • Automatic pager — long output doesn't flood your terminal
  • Expanded display\x for wide tables
  • Persistent history — 500 entries, survives restarts
  • Batch modegabi-cli -n hccm-prod "SELECT count(*) FROM ..."

One tool for interactive exploration AND scripting

When You'd Use It

  • Alert duty — customer lookup, provider status, RTU row counts
  • PR review — verify assumptions against real data
    (Jordi's deadlock — how many tenants have rates_to_usage rows?)
  • Debugging — connection counts, lock contention, manifest status

Demo: live query against stage

Custom Slash Commands

.claude/commands/<name>.md = /<name> in Claude Code

Just markdown. No code, no build, no deployment.

How They Differ

Mechanism What When loaded
CLAUDE.md Project instructions Always — every session
Slash commands On-demand workflows When you type /<name>
Skills Shareable plugins From marketplaces

A command is a repeatable workflow encoded as prose.

My Commands — This Wiki

Command What it does
/alert-duty 10-step alert duty workflow
/process-meetings Gemini docs → wiki meeting pages
/investigate-alert GlitchTip alert investigation
/investigate-database SQL via gabi-cli
/ingest Source → summary → concept pages
/lint Wiki health check
/publish Marp → GitHub Pages

My Commands — dictpert

dictpert (Czech dictionary RAG):

Command What it does
/automated-eval Full eval batch with DEV/TEST split
/run-*-scraper Dictionary scrapers (4 sources)
/analyze-conversation Analyze query conversation for quality

Key Takeaway

One .md file replaces:

  • a shell script
  • a runbook
  • tribal knowledge

The agent becomes as good at your workflow as you are at describing it.

Demo: /alert-duty in action → then open the .md file

Slack Search — Progress Update

Previously presented at AI Show & Tell (Jun 26)

What's New

  • Powers /alert-duty Slack trend analysis
  • Integrated as MCP skill for Claude Code sessions
  • Evaluating official Slack MCP for live access (vs our offline SQLite approach)
  • Private channels now downloadable with curl-file auth

Next: Compare with official Slack/GitLab/ServiceNow MCPs from the RHT AI Skills Workshop

Questions?

Links:

Build: marp --html --allow-local-files wiki/presentations/agentic-friday-2026-07-17.md -o /tmp/agentic-friday.html

Preview: marp --html --allow-local-files wiki/presentations/agentic-friday-2026-07-17.md -p

═══════════════════════════════════════════

SECTION 1: RHT Certifications

═══════════════════════════════════════════

═══════════════════════════════════════════

SECTION 2: K3S

═══════════════════════════════════════════

═══════════════════════════════════════════

SECTION 3: gabi-cli

═══════════════════════════════════════════

═══════════════════════════════════════════

SECTION 4: Custom Slash Commands

═══════════════════════════════════════════

═══════════════════════════════════════════

SECTION 5: Slack Search

═══════════════════════════════════════════