
Keep local data in a predictable place
Containers can be replaced without treating their data as disposable. Wildo gives local stateful services a predictable directory under the application, and connects the generated mounts to that location.
Stopping the stack retains that data. Resetting it is a separate, destructive action that identifies the directories it will remove.
Example — Restart a database without starting from empty
A local database container is recreated after a configuration change. Its data directory remains mounted from the application workspace, so replacing the process does not itself discard the records.
For engineers
Inspect the expected layout
Local data belongs to the application workspace. Selecting another environment changes the service selection, not the base local_data directory.
The service list is derived for the selected environment. This illustrates the paths for an environment running these services; other selected services have their own directories.
<application>/.wildo-saas/local_data/
mongodb/
db/
configdb/
mongot/
postgresql/
rabbitmq/
minio/
getDockerComposeLocalDataServices selects stateful services using the same inclusion rules as Compose. EnvironmentPaths.ensureLocalDataServiceDirs creates their host directories before Compose mounts them. MongoDB’s child directories come from INFRA_SERVICE_DATA_SUBDIRS; they must correspond to its actual /data/db and /data/configdb targets.
Understand the local cluster’s relationship
Kind mounts the host data tree into its node and local volumes refer to that mounted storage. This gives the two local runtime lanes a known host location; it is not a promise that switching database versions or runtime layouts requires no compatibility checks. Compose pre-creates individual service paths; local cluster materialization follows its own storage bootstrap.
Choose retention or deletion deliberately
| Action | Data consequence |
|---|---|
| Stop the local stack | Keeps service data |
| Recreate a container with the same valid mount | Reuses the mounted data |
wildo local reset | Stops the environment and removes its selected data directories |
wildo local reinit | Framework developers only: performs the wipe, then initializes again |
The wipe runs after workloads release storage. It targets the selected service directories rather than deleting the parent indiscriminately, and aggregates removal failures instead of reporting success after a partial wipe.
This is local persistence, not backup or replication. An omitted cache, broker or object-store declaration retains its baseline local service; an explicit managed choice suppresses its local directory with its workload. Check the resolved set before any destructive operation.