Native Development¶
Native mode runs CEDAR directly from the checked-out source and locally built artifacts. It gives backend developers a short build-and-restart loop and lets frontend developers use the normal development servers.
Complete the Developer Install before using this mode. It provides the host tools and services that a native deployment expects.
Start CEDAR¶
Select native mode, build the source, and start the complete system:
cedarcli mode native --profile develop
cedarcli build java
cedarcli build frontends
cedarcli native start all
The profile is required when selecting native mode. Use develop on a workstation and server on
a staging or production host. The choice controls the frontend target, TLS verification policy,
and server-secret validation for every later native child process; selecting the mode itself starts
nothing. cedarcli mode native without --profile develop|server fails without changing mode.
Check that the applications and their supporting services are ready:
cedarcli native status
The grouped status table is the authoritative native view. For microservices and frontends it shows
the managed PID, application port and listener state, health, binary freshness, and cumulative log
error count. Infrastructure rows show their configured ports and availability in the same table.
A healthy service whose Binary value is STALE is still running an older JAR; restart it before
trusting a smoke test, and expect cedarcli test e2e to refuse to run until you do. A PID prefixed with ~ is a verified but unmanaged CEDAR process that restart
can adopt, while ! marks a foreign listener that native control will not touch.
For scripts and CI checks, cedarcli native health provides a simple success or failure result for
the managed application tier. During an interactive startup, cedarcli native watch keeps the
lower-level process view current.
Work on One Part¶
You rarely need to restart the complete system after every edit. Native start and stop commands accept broad targets:
| Target | Scope |
|---|---|
infra |
Infrastructure services |
microservices |
All Java microservices |
backends |
Infrastructure and microservices |
frontends |
All frontend development servers |
keycloak or kk |
Keycloak only |
all |
The complete native system |
The singular forms operate on one frontend or microservice:
cedarcli native start frontend workspace
cedarcli native start microservice resource
After changing one backend repository, the normal loop is:
cd "$CEDAR_HOME/cedar-resource-server"
cedarcli build this
cedarcli native restart resource
cedarcli native logs resource
Frontend development servers usually rebuild source changes automatically. Restart one when its dependencies or process configuration have changed:
cedarcli native restart ui-workspace
Stop CEDAR¶
Stop a group with the same target used to start it, or stop everything:
cedarcli native stop frontends
cedarcli native stop all
Leave native mode selected during ordinary stop and restart cycles. Clear it only when moving to a different deployment mode.