Skip to content

config.ttl mount to /linkedfactory-pod/config.ttl not applied to workspace at startup #46

@wmehling

Description

@wmehling

Description

Mounting a custom config.ttl to /linkedfactory-pod/config.ttl does not result in that file being copied into /linkedfactory-pod/workspace/config.ttl at container startup as expected. The entrypoint script is supposed to copy the mounted config into workspace/, but the workspace keeps the image-default config. Deleting /linkedfactory-pod/workspace/config.ttl and restarting causes the mounted config to be copied and used.

Entrypoint reference:

cp -nv /linkedfactory-pod/config.ttl /linkedfactory-pod/workspace/

Example (from docker-compose)

services:
  lf-pod-factory:
    image: linkedfactory/linkedfactory-pod:1.2.0-SNAPSHOT
    volumes:
      - ./lf-pod-cli/config.ttl:/linkedfactory-pod/workspace/config.ttl       # WORKS - Custom Config file
      - ./lf-pod-cli/config.ttl:/linkedfactory-pod/config.ttl                 # DOESNT WORK - Custom Config file

How to reproduce / test

  1. Use the compose snippet above (mount custom config.ttl to /linkedfactory-pod/config.ttl).
  2. Start the service: docker compose up -d.
  3. Inspect inside the container:
    • cat /linkedfactory-pod/config.ttl (shows mounted file)
    • cat /linkedfactory-pod/workspace/config.ttl (shows image-default file, not the mounted one)
  4. Remove /linkedfactory-pod/workspace/config.ttl and restart the container; the mounted config is then copied into workspace/ and used.

Observed

  • /linkedfactory-pod/config.ttl is the mounted file, but /linkedfactory-pod/workspace/config.ttl remains the image-default after startup.

Expected

  • The entrypoint should copy the mounted /linkedfactory-pod/config.ttl into /linkedfactory-pod/workspace/config.ttl at startup so the custom config is used without manual deletion.

Workaround

  • Mount the config directly into the workspace path:
- ./lf-pod-cli/config.ttl:/linkedfactory-pod/workspace/config.ttl

Possible cause / hypothesis

  • The image includes a default workspace/config.ttl; the entrypoint may intentionally avoid overwriting an existing workspace config, so the copy is skipped if workspace/config.ttl already exists. Another possibility is bind-mount ordering or entrypoint logic that checks for workspace presence before copying.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions