Category: HonestHosting
-

Introducing Caddy Consul Plugin
Turning Consul Into Your Ingress Brain: Introducing Caddy + Consul
Modern infrastructure has a persistent problem: service discovery and ingress rarely speak the same language. You end up stitching together tools like Fabio, Envoy, or custom glue just to get traffic routed correctly.
What if your ingress layer could directly understand your service registry?
That’s exactly what Caddy + Consul delivers.
A Smarter Ingress Layer
At its core, the plugin transforms Caddy into a dynamic, service-aware ingress controller, powered entirely by HashiCorp Consul.
Instead of static configs or periodic polling, it continuously watches Consul’s catalog and health data using blocking queries — meaning:
- No manual config updates
- No reloads
- No lag between deploy and availability
Traffic routing becomes a real-time reflection of your infrastructure state.
Replace Fabio — Without Losing Compatibility
If you’ve used Fabio before, this will feel familiar — but more powerful.
- Supports
urlprefix-tags for drop-in migration - Maintains tag-driven routing semantics
- Adds richer capabilities like weighted routing and path handling
You can migrate gradually, not rewrite everything overnight.
Unified HTTP and TCP/TLS Routing
Most ingress solutions split responsibilities. This doesn’t.
With one system, you get:
- HTTP routing: host-based, path-based, wildcard domains
- TCP/TLS routing: port-based, SNI-based, TLS passthrough
- Layer 4 support via extensions like caddy-l4
This means one ingress layer for everything — web apps, APIs, and raw TCP services.
Health-Aware by Design
Routing isn’t just dynamic — it’s correct.
Only healthy services receive traffic, based on Consul’s health checks. That eliminates a whole class of failures where traffic hits dead or degraded instances.
Built for Consul Connect
If you’re using Consul Connect, the plugin integrates directly with sidecar proxies:
- Honors service mesh intentions
- Routes through secure sidecar paths
- Works alongside your existing mesh model
This bridges the gap between service mesh and ingress, without duplicating complexity.
Zero-Restart Configuration
One of the standout features: no restarts required.
All routing updates are applied live via Caddy’s admin API. That means:
- Instant propagation of new services
- No downtime during deploys
- No config reload race conditions
Conflict-Aware Routing
Dynamic systems can get messy — this one doesn’t.
- Static config always wins
- Duplicate routes resolve deterministically (“first seen wins”)
This gives you predictability without sacrificing flexibility.
Designed for Real Infrastructure
This isn’t just a plugin — it’s an architectural shift:
- Your infrastructure becomes self-describing and self-routing
- Consul becomes the source of truth
- Caddy becomes the execution layer
The Big Idea
Instead of maintaining ingress separately from your services, this approach flips the model:
Your services define the network.
Register a service in Consul, tag it appropriately, and it’s instantly routable — HTTP, TCP, TLS, all included.
Final Thoughts
If you’re running Caddy and Nomad + Consul, this plugin removes an entire layer of operational overhead.
No more syncing configs.
No more ingress drift.
No more restarts.Just declare your services — and let the network configure itself.
Next Steps
We continue to work hard to bring you the best value for all of your WordPress hosting needs. If you have any questions, concerns, or would generally like to chat, feel free to contact us anytime. We want to make sure you get the most out of HonestHosting.io!
- App Login: https://app.honesthosting.io/login
- Step-by-step Documentation: https://docs.honesthosting.io
- Live Chat & Discord Community: https://discord.gg/H5mWqsktj6
- Personalized Help: https://cal.com/kmott/hh-intro
-

Why Abilities-API is the future of MCP in WordPress
Summary
It’s no secret now, I’ve been working the past ~2 years on a new hosting startup, HonestHosting.io. It has been a crazy journey full of ups-and-downs, but one of the biggest challenges (across the board) is AI, MCP, and LLMs, and how it all relates to WordPress.
WordPress has been around forever, and as such, has an amazing amount of options (bloat?). At it’s core, WordPress is a publishing platform that allows the “simple stuff to be easy, and the complicated stuff to be possible”, which means it’s excelled at widespread adoption across a myriad of use-cases.
However, now that AI is obviously here to stay, one of the biggest challenges I faced from the start was “how are you going to integrate LLMs into your SaaS platform?”. I think LLMs are fantastically powerful and useful, but they can lead to a lot of Rube Goldberg contraptions that just add more bloat and costs if not carefully thought-out, planned, and executed.
The main cases I wanted to cover:
- DO NOT expose LLM API keys directly to WordPress (DANGEROUS!)
- Allow setting context (Site 1 vs Site 2) with intelligent discovery of “capabilities”
- Even though it’s new and a bit fragile, use MCP Server and Tooling
The Abilities API allows all 3 goals to be achieved in any WordPress version >= 6.8.0. In fact, the Abilities API is now shipping by default with WordPress >= 6.9.
Example
On any site created on HonestHosting, we install an “umbrella” plugin that provides some base capabilities to make integrating with the environment smoother. One of those is an MCP Server instance:

In this default instance, we have 97 abilities registered. But the real power is when you log in to the HonestHosting console, and start a new chat session with the Site, asking it what capabilities it has, printing out the plugin capabilities in a nice Markdown table, installing a new plugin, re-running discover, and finally listing what new capabilities it has access to:

Next Steps
As you can see, this approach is incredibly powerful because it allows agentic patterns without requiring exposure of LLM API keys directly on WordPress sites (which we all know is a dangerous proposition).
With this approach “the sky is the limit” because it only extends WordPress capabilities as plugin authors pull in the Abilities API registrations. Additional information about Chat integration is also available on our docs site, docs.honesthosting.io.





