Skip to content

feat: bundle XTM One in the default stack#574

Open
azubiolo-filigran wants to merge 1 commit into
OpenCTI-Platform:masterfrom
azubiolo-filigran:feat/xtm-one-default
Open

feat: bundle XTM One in the default stack#574
azubiolo-filigran wants to merge 1 commit into
OpenCTI-Platform:masterfrom
azubiolo-filigran:feat/xtm-one-default

Conversation

@azubiolo-filigran
Copy link
Copy Markdown
Member

Objective

Adds XTM One alongside OpenCTI in the default Docker stack so docker compose up -d brings the full XTM One + OpenCTI experience by default.

Refs XTM-One-Platform/xtm-one#1011. Companion PRs:

Changes

New services

  • pgsql-copilot (pgvector/pgvector:pg17) — Postgres+pgvector instance dedicated to XTM One, with its own credentials.
  • xtm-one — exposes the XTM One UI/API on ${XTM_ONE_PORT} (default 4000), reuses the existing redis and minio.
  • xtm-one-worker — async worker, depends on xtm-one being healthy.

Inter-platform wiring

  • New PLATFORM_REGISTRATION_TOKEN shared secret.
  • opencti service now receives XTM__XTM_ONE_URL / XTM__XTM_ONE_TOKEN.
  • xtm-one service receives OPENCTI_* federation env vars (URL, internal API URL, admin token).

Documentation

  • .env.sample gets a new XTM ONE block documenting admin credentials, image tag, dedicated Postgres credentials, S3 bucket, optional license, and the shared PLATFORM_REGISTRATION_TOKEN.

Scope

  • Only docker-compose.yml is touched. docker-compose.dev.yml and docker-compose.opensearch.yml are intentionally left alone for now and will be handled in follow-ups if needed.

Verification

The same configuration has been validated end-to-end inside the unified xtm-docker stack (companion PR FiligranHQ/xtm-docker#15): all services reach healthy, OpenCTI and XTM One register successfully via PLATFORM_REGISTRATION_TOKEN, and cross-platform features work as expected.

Notes

  • OPENCTI_ENCRYPTION_KEY must be a 32-byte base64 string (openssl rand -base64 32), not a UUID. The placeholder in .env.sample already hints at this; happy to add a more explicit comment if reviewers want.
  • The xtm-one yaml here is a convenience copy of what lives in FiligranHQ/xtm-docker (canonical source). Keeping it minimal so future syncs stay easy.

@github-actions
Copy link
Copy Markdown

Thank you for your contribution, but we need you to sign your commits. Please see https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits

Adds XTM One alongside OpenCTI in the default compose:

- New pgsql-copilot service (pgvector/pgvector:pg17) for XTM One's
  vector store, with dedicated credentials.
- New xtm-one + xtm-one-worker services on port 4000, sharing the
  existing redis and minio.
- PLATFORM_REGISTRATION_TOKEN shared secret plumbed into the opencti
  service (XTM__XTM_ONE_URL / XTM__XTM_ONE_TOKEN) and into XTM One
  (OPENCTI_* federation env vars).
- .env.sample documents the new XTM ONE block.

Refs XTM-One-Platform/xtm-one#1011
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant