A lightweight web admin UI for Elasticsearch and OpenSearch clusters.
Project details
Medulla is a single-binary web admin UI designed for Elasticsearch and OpenSearch clusters. It offers multi-cluster management, built-in RBAC, and comprehensive audit logging. With an intuitive interface and minimal dependencies, Medulla simplifies the management of vital functions in a compact package.
Medulla is a streamlined web admin interface designed for managing Elasticsearch and OpenSearch clusters. Its lightweight design, encapsulated in a single ~10 MB static binary, facilitates multi-cluster management with essential features like built-in Role-Based Access Control (RBAC), LDAP authentication, and audit logging.
Medulla is built with security and efficiency in mind, deliberately minimizing dependencies to reduce the attack surface. The application does not rely on JavaScript, ensuring server-rendered HTML pages operate under a strict Content Security Policy (CSP). It utilizes Go's standard library for most functions and features a minimal dependency list:
| Dependency | Purpose |
|---|---|
gopkg.in/yaml.v3 | Configuration parsing |
github.com/go-ldap/ldap/v3 | LDAP binding |
golang.org/x/crypto | Password hashing |
This design ensures a reduced vulnerability profile:
FROM scratch container setup, minimizing additional tooling and dependencies.Medulla implements a robust security model, including:
A simple command allows for local testing with a preconfigured setup:
docker-compose up -d --build
Access the demo at http://localhost:8080 and log in with the provided user credentials to explore the feature set.
An example configuration for Medulla can be defined as follows:
clusters:
- name: prod
url: https://es-prod:9200
auth: {type: basic, username: medulla, password: "${ES_PASSWORD}"}
roles:
admin: {clusters: ["*"], permissions: [admin]}
local_users:
- {name: admin, password: "${ADMIN_PASSWORD}", roles: [admin]}
session:
secret: "${SESSION_SECRET}"
For deploying Medulla in a Kubernetes environment, a Helm chart is available for streamlined installation and configuration, complete with best practices for security and management.
Contributions are welcomed, including bug reports and feature requests. When proposing changes, ensure to adhere to the dependency philosophy to maintain Medulla's lightweight structure.
Medulla provides an efficient and secure solution for managing Elasticsearch and OpenSearch clusters, combining rich features with an emphasis on simplicity and security.
Comments
0Start the conversation
Share the first comment.