Skip to content

bug: Platform container incompatible with alternative images (e.g., flowai) #25

@wcollins

Description

@wcollins

Description

The Platform container configuration has hardcoded assumptions that prevent compatibility with alternative Platform images like flowai:v0.0.2. Three issues were identified:

  1. Health check uses wget - The flowai image includes curl but not wget, causing Docker to mark the container as "unhealthy" even though the platform is running correctly.

  2. Hardcoded UID 1001 - The platform-init container sets volume ownership to 1001:1001, but flowai runs as UID 1000. This causes "Log directory is not writable" errors.

  3. Gateway Manager API requires gateway_name - The flowai API requires a gateway_name field when creating gateway clusters, which the standard Itential API does not require.

Reproduction Steps

  1. Set PLATFORM_IMAGE=flowai:v0.0.2 in .env
  2. Run make setup
  3. Observe:
    • Container marked "unhealthy" (health check fails)
    • Platform logs show "Log directory /var/log/itential is not a writable location"
    • Gateway Manager cluster creation fails with "Missing gateway_name in parameter"

Expected Behavior

The dev stack should be configurable to work with alternative Platform images that have different:

  • Available CLI tools (curl vs wget)
  • Container UIDs
  • API requirements

Environment

  • OS: Linux
  • Version: Docker Compose with profiles
  • Platform Image: flowai:v0.0.2 (UID 1000, has curl, different API)

Solution

  1. Change health check from wget to curl (more universally available)
  2. Make platform-init UID/GID configurable via PLATFORM_UID and PLATFORM_GID env vars (defaults to 1001 for standard images)
  3. Add gateway_name field to Gateway Manager API call (required by some Platform versions)

Checklist

  • I have checked existing issues to avoid duplicates
  • I have provided a clear description of the issue
  • I have included steps to reproduce (if applicable)
  • I have included relevant environment details

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions