-
Notifications
You must be signed in to change notification settings - Fork 0
Deployment Without Docker
Elastic MDS is designed to run as container images, but this is not required. For this purpose each deployment is released as an installation package: an extracted image with a host launcher script, ready to download, configure, and run.
Audience: operators who run software natively rather than in containers. It assumes you have read Deployment: Basics - the deployment model, configuration, and the gateway DNS setup all apply here unchanged.
A container image is a filesystem plus a startup script and the environment it expects. Docker is one way to run that - a convenient one - but nothing about the software requires it. The installation package is that filesystem, extracted at build time, with a launcher that supplies the environment. You download it, supply your configuration, and run the launcher; there is no Docker daemon involved.
Each deployment publishes its installation package as a release asset on its deploy-mf-* repository (for example, deploy-mf-session). Download the release zip and unpack it:
<install-dir>/
run the host launcher
app/ the extracted image internals; you do not edit these
deployment-config/ your configuration: deployment.properties, settings/, resources/
logs/ log output and the configuration reports
The internals live under app/. What you edit and read - deployment-config/ and logs/ - is at the top level.
Configuration is identical to any other deployment: you edit deployment-config/ before starting. deployment.properties and the per-component settings/ files are exactly as described in Configuration: Basics - the package ships the deployment's default configuration, and you change only what your environment requires.
The gateway host and port default to mf-api-gateway:9090. As with every deployment, add a DNS or /etc/hosts entry mapping mf-api-gateway to the host running the gateway (see Deployment: Basics); the launcher prints a notice at startup if you have not set METAFLUENT_API_GATEWAY_HOST/METAFLUENT_API_GATEWAY_PORT, so the default in effect is visible.
The launcher requires a JDK. Set JAVA_HOME and run ./run:
export JAVA_HOME=/usr/lib/jvm/java-17
./run
run runs as the invoking account - a service user of your choosing - and launches the application in the foreground, which is what a service manager expects. If JAVA_HOME is not set, it stops with a clear error rather than guessing. logs/ must be writable by the account you run as.
Once you have configured and tested a setup for your environment, you can package the way you normally would:
-
RPM (or
.deb) - package the unpacked tree, your configuration, and a service definition as an installable OS package. Lay it under a fixed prefix, for example/opt/elastic-mds/<image>. -
systemdunit - becauserunruns in the foreground, a simple service works well:Type=simple,Environment=JAVA_HOME=...,ExecStart=/opt/elastic-mds/<image>/run, running as your service account.systemctlthen manages start, stop, restart, and boot.
Either gives you a Docker-free, conventionally managed install, controlled with the same tools as everything else you run.
- Deployment: Basics - the deployment model, configuration, and gateway DNS that this page builds on.
- Configuration: Basics - what the configuration you supply actually contains.
- Deployment: Advanced - production-grade topologies and scaling.
Elastic MDS documentation - (c) MetaFluent LLC - Confidential. Tracked in IssueTracking#586.
Getting Started
Deployment Cookbook
Concepts
- Architecture: Basics
- Access Control
- Architecture: Advanced
- Security: Basics
- Security: Advanced
- Glossary
Configuration
Configuration Cookbook
Deployment
Operations
- Monitoring & Diagnostics
- Logging
- Dashboard
- Troubleshooting & FAQ
- AI-Assisted Troubleshooting
- API Token Administration
Diagnostic Cookbook
Developing Applications
Reference