Modern web interface for Foreman?

,

Hey Foreman community! :wave: it’s been a while :slight_smile:

Over the last couple of weeks, I had some free time, and wanted to experiment more what AI tools can help us do, so…I’ve been working on a modern web interface for Foreman that demonstrates what’s possible with today’s web technologies. Since I have a day job and won’t be able to maintain it long-term, I wanted to share it with the community in case anyone finds it useful or wants to build upon it.

:robot: Built with AI Assistance

This project showcases how AI-powered development can accelerate complex integrations. Most of the heavy lifting - authentication flows, API patterns, plugin architecture -
was built collaboratively with AI tools. This approach could make it much easier for community members to contribute, even without deep React expertise.

:dart: What’s in the Box

Two Distinct User Experiences:

  • :bust_in_silhouette: User Portal: Self-service interface for end users (provision hosts, manage personal resources)
  • :gear: Admin Portal: Full-featured administration interface (planned - foundation ready)

This separation lets organizations provide a simplified, cloud-like experience for regular users while keeping full administrative power available to admins.

:iphone: Features That Work Today

Authentication & Security

  • Personal Access Token support - Secure token-based authentication
  • Proper permission checking throughout the interface
  • Multi-user support with role-based access

Host & Infrastructure Management

  • Host listing with advanced filtering and search
  • Bulk operations on multiple hosts
  • Host details with comprehensive system information
  • Mobile-friendly responsive design

Navigation & Usability

  • Fast, intuitive navigation between features
  • Breadcrumb trails and clear page structure
  • Real-time notifications and status updates
  • System health monitoring dashboard

API Integration

  • Full Foreman API v2 support with type safety
  • GraphQL endpoint support (where available, used by default and fall back to rest)
  • Automatic API documentation integration
  • Optimized for performance with smart caching

Taxonomy Support

  • Organization and location switching
  • Scoped views based on user permissions
  • Inheritance and nested taxonomy handling

:electric_plug: Plugin Architecture & Extensibility

Built-in Plugin Framework:

  • Extension Points: Predefined places where plugins can add functionality
  • Menu Integration: Plugins can add their own navigation items
  • Page Extensions: Add tabs, widgets, or entire pages
  • Bulk Actions: Plugins can register custom bulk operations
  • Dashboard Widgets: Extensible dashboard with plugin-contributed widgets

:rocket: User Portal Features

Self-Service Experience:

  • My Hosts: Personal host management without admin overhead
  • Quick Actions: Common tasks like power management, basic config
  • Resource Requests: Streamlined host provisioning workflows
  • Personal Dashboard: Status overview of user’s infrastructure
  • Profile Management: User settings and preferences

Mobile-First Design:

  • Works seamlessly on phones and tablets
  • Touch-friendly interface elements
  • Offline-capable for basic viewing
  • Fast loading even on slow connections

:building_construction: Technical Foundation (For Developers)

What’s Already Solved:

  • Foreman authentication integration
  • API client generation from Foreman’s API specs
  • Permission checking and role-based UI
  • Plugin loading and extension mechanisms
  • Build tooling and deployment automation
  • Container deployment ready

Modern Stack:

  • React with TypeScript for reliability
  • PatternFly v6 for consistent Red Hat design
  • Automated testing and code quality tools
  • Container deployment with docker-compose
  • Development automation scripts

:rocket: Try It Out

podman run --replace --name foreman-ui \
-p 8080:80 \
-p 8443:443 \
-e FOREMAN_URL=https://your-foreman.example.com/ \
ghcr.io/ohadlevy/foreman-ui:latest

What You Get:

  • User portal running at https://localhost:8443
  • Connected to your existing Foreman instance
  • Ready for customization and extension

:bulb: Potential Uses

For Users:

  • Modern, mobile-friendly interface
  • Self-service capabilities reducing admin burden
  • Familiar cloud-like experience

For Plugin Developers:

  • Clean extension points for adding functionality
  • Modern development tools and patterns
  • Type-safe API integration
  • Component library for consistent UI
  • AI assistance examples for faster development

For Organizations:

  • Separate user/admin experiences
  • Better onboarding for new Foreman users
  • Mobile workforce support
  • Foundation for custom workflows

:handshake: Community Offering

This is simply available if anyone wants it. The hard integration pieces are done - authentication, API patterns, plugin architecture, and mobile responsiveness. If someone
in the community finds this useful as a starting point, great! If not, no worries at all.

The AI-assisted development approach made it possible to tackle complex integrations quickly, and maybe that workflow could help others contribute to Foreman projects more
easily.

What’s here:

  1. Working foundation that could be built upon
  2. Proven patterns for modern Foreman UI development
  3. Complete examples of plugin integration
  4. Mobile-first approach that works today
  5. AI development workflows that might accelerate future contributions

:link: Links

Repository: GitHub - ohadlevy/foreman-ui: Modern React-based user interface for Foreman infrastructure management Comprehensive setup and development guides included


Take it or leave it! Just wanted to share in case it’s useful to anyone. If there’s interest, happy to discuss. If not, it’ll just sit there quietly. :blush:

Built with modern tools and AI assistance - hopefully showing what’s possible for Foreman’s future! :rocket:

3 Likes

some screenshots for attention :slight_smile:











If you have the time (or maybe a large generative model can make it quick), this paragraph feels like it should be more like a one hour talk.

What tools did you use? What does using these tools look like? What payed subscriptions does one need? How long did it take? How much time was saved? What would this have looked like without using generative models? How would this help a beginner contribute?

Given these generative model tools are new, I am sure many of these questions are complete unknowns for most. You have gathered some experience with this project. If you want to share, I am fairly sure there is a demand. :blush:

1 Like

it was done over the course of a couple of weeks, i assume it probably took like 3-4 full days ±. I think before, to build a plugable framework, and start the ui from scratch, including patternfly (5 that later migrated to 6), authentication autorization, taxonomy graphlql etc, would easily take 2-3 months (or in reality, never even start such a project).

I used Claude, and if you look at the commit history and claude.md in the repo you could probably get more context, I did do all kind of experimentation with multiple agents (e.g. one that plans, another that write test, and another that write code) but can’t say it made a huge difference yet.
I also used google copilot to review PR’s (probably other tools can be useful as well)
I was also able to work on multiple PR’s in parallel, and learned about the awesome git worktrees feature.

if you have access to any of the code editors solutions (claude, cursor, google gemini cli etc) i am pretty sure you can clone the repo and just ask it to be fix a bug or create a feature in plain English… IMHO worth a try :slight_smile:

2 Likes