Skip to content

DS-4858 4.3.0.0 and MCP 1.0.5 support - #11

Merged
peterswirl merged 2 commits into
mainfrom
ds-4858-mcp-1-0-5
Sep 17, 2025
Merged

peterswirl merged 2 commits into
mainfrom
ds-4858-mcp-1-0-5

Conversation

@peterswirl

@peterswirl peterswirl commented Sep 17, 2025 •

Copy link
Copy Markdown
Contributor

Goal

Public docker compose set to support latest Swirl release for core product and MCP proxy

Approach

Migration from internal repository to public repository

Testing

Initial run

  • service and logging set up properly
./scripts/swirl-service.sh
[2025-09-17T14:36:13 ] Creating base log directory for Linux: /var/log/swirl
[2025-09-17T14:36:13 ] Log directory successfully created.
[2025-09-17T14:36:13 ] Script directory: /app/scripts
[2025-09-17T14:36:13 ] Parent directory: /app
[2025-09-17T14:36:13 ] .env file already exists.
[2025-09-17T14:36:13 ] Setup:Fetching Certbot configuration files...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   774  100   774    0     0   8811      0 --:--:-- --:--:-- --:--:--  8795
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   424  100   424    0     0   6167      0 --:--:-- --:--:-- --:--:--  6235
[2025-09-17T14:36:13 ] Setup: Found local Swirl image swirlai/release-swirl-search-enterprise:v4_3_0_1
[2025-09-17T14:36:13 ] Setup: Setup starting...
[2025-09-17T14:36:13 ] Setup: Enabling Swirl service to start on boot...
[2025-09-17T14:36:13 ] Setup: Running on Linux.
[2025-09-17T14:36:13 ] Setup: swirl.service already exists in /etc/systemd/system/
Created symlink /etc/systemd/system/multi-user.target.wants/swirl.service → /etc/systemd/system/swirl.service.
[2025-09-17T14:36:14 ] Start Service via: systemctl start swirl
[2025-09-17T14:36:14 ] Monitor Service via: journalctl -u swirl
[2025-09-17T14:36:14 ] Setup: Setup complete

Docker pull

Login Succeeded
docker-compose --profile all pull
Pulling postgres   ... done
Pulling redis      ... done
Pulling tika       ... done
Pulling ttm        ... done
Pulling swirl-init ... done
Pulling swirl      ... done
Pulling swirl-job  ... done
Pulling mcp        ... done
Pulling certbot    ... done
Pulling nginx      ... done

Standard Operation Notes

  1. start svc systemctl start swirl
  2. monitor svc journalctl -u swirl -f
  • App sets variables correctly
Sep 17 14:42:22 ds4836mcp1 bash[4282]: swirl_app       | SWIRL_FQDN is set to: REDACTED_HOST_FQDN
Sep 17 14:42:22 ds4836mcp1 bash[4282]: swirl_app       | ALLOWED_HOSTS is set to: localhost,127.0.0.1,swirl,REDACTED_HOST_FQDN,REDACTED_HOST_IP
Sep 17 14:42:22 ds4836mcp1 bash[4282]: swirl_app       | CSRF_TRUSTED_ORIGINS is set to: https://REDACTED_HOST_FQDN
  • swirl_app_job created api user
Sep 17 14:45:51 ds4836mcp1 bash[4282]: swirl_app_job   | MCP Support: Creating Swirl API user: mcp_swirl_api_user
  • MS login and search work with expected content
 python swirl_mcp_client_tcp_interactive.py --host REDACTED_HOST_FQDN --port 9000
INFO:mcp-client-repl:Connected to swirl-search-mcp v1.0.0
INFO:mcp-client-repl:Logging in...
INFO:mcp-client-repl:Login response: ❌ bad credentials
ERROR:mcp-client-repl:Login failed: ❌ bad credentials please use the /login tool to login
Login successful.


Available commands:
/login                         Login with /login <username> <password>
/tools                         List available tools (use to login)
/resources                     List available resources
/prompts                       List available prompts (names & descriptions)
/call <tool> [json]            Call a tool by name, optional JSON args
/prompt <name> [json]          Fetch a single prompt by name, optional JSON args
/read <uri>                    Read a specific resource by URI
/ping                          Send a ping and wait for pong
/quit                          Exit

MCP> /login mcp_access DETACTED
✅ login successful
MCP> /ping
PONG! (round-trip 31.1 ms)
MCP>

…init, derive env variables when we can do so
@peterswirl peterswirl self-assigned this Sep 17, 2025
@peterswirl
peterswirl marked this pull request as ready for review September 17, 2025 14:51
@peterswirl
peterswirl merged commit 11366fd into main Sep 17, 2025
2 checks passed
@peterswirl
peterswirl deleted the ds-4858-mcp-1-0-5 branch September 17, 2025 15:00
dnicodemus added a commit that referenced this pull request Dec 23, 2025
* Initialize develop

* feat(infra): include base files

* chore(infra): update shell and compose files to include phase 1 features

* feat(infra): include github workflow for integration tests

* chore(infra): update nginx docker entrypoint with fswatch

* chore(infra): refactor healthy check step for integration tests

* chore(infra): update health check timeout to 600

* chore(infra): use variables for setting all image tags

* chore(infra): include health checks for tika, ttm and certbot services

* chore(infra): include scripts for health check and image pull

* chore(infra): include image storage as artifacts

* fix(infra): add missing prefix for docker variables

* chore(fix): include path prefix for running shell scripts

* fix(infra): add missing checkout step

* chore(infra): include free space commands before saving images

* chore(infra): save docker images only as tar and remove additional compression

* chore(infra): convert generated images to .tar.gz using maximum compression

* chore(infra): test compression using zstd instead of gzip

* chore(infra): update runner to ubuntu-latest-m

* chore(infra): change compose-test to use ubuntu-latest-m runner

* chore(infra): test removing pull-images step

* chore(infra): include fail-fast condition to false

* fix(infra): include tag variables for swirl release components

* chore(infra): update volume mappings for nginx service

* chore(infra): update scripts to include file creations and posix compliance

* chore(infra): update matrix values

* chore(infra): update pr template to remove typos

* chore(infra): include act pre-push githook

* chore(infra): update branch conditions for integration test workflow

* chore(infra): generate new routes for nginx health checks

* chore(infra): include certbot liveness methods and health checks

* chore(infra): update health check params for certbot and nginx

* feat(infra): include base files

* chore(infra): update shell and compose files to include phase 1 features

* feat(infra): include github workflow for integration tests

* chore(infra): update nginx docker entrypoint with fswatch

* chore(infra): refactor healthy check step for integration tests

* chore(infra): update health check timeout to 600

* chore(infra): use variables for setting all image tags

* chore(infra): include health checks for tika, ttm and certbot services

* chore(infra): include scripts for health check and image pull

* chore(infra): include image storage as artifacts

* fix(infra): add missing prefix for docker variables

* chore(fix): include path prefix for running shell scripts

* fix(infra): add missing checkout step

* chore(infra): include free space commands before saving images

* chore(infra): save docker images only as tar and remove additional compression

* chore(infra): convert generated images to .tar.gz using maximum compression

* chore(infra): test compression using zstd instead of gzip

* chore(infra): update runner to ubuntu-latest-m

* chore(infra): change compose-test to use ubuntu-latest-m runner

* chore(infra): test removing pull-images step

* chore(infra): include fail-fast condition to false

* fix(infra): include tag variables for swirl release components

* chore(infra): update volume mappings for nginx service

* chore(infra): update scripts to include file creations and posix compliance

* chore(infra): update matrix values

* chore(infra): update pr template to remove typos

* chore(infra): include act pre-push githook

* chore(infra): update branch conditions for integration test workflow

* chore(infra): generate new routes for nginx health checks

* chore(infra): include certbot liveness methods and health checks

* chore(infra): update health check params for certbot and nginx

* [DS-3888] Update repository README (#4)

* chore(infra): update repository README file

* chore(infra): remove .github readme file

* WIP Changes

* add chat to AI tablee

* Some changes

* remove detailed doc and leave just the links to additional doc.

* Added link to support ticket

* chore(infra): update swirl service health checks

---------

Co-authored-by: Joao Ferreira <joao.ferreira@ckl.io>
Co-authored-by: dnicodemus-la <dave.nicodemus@gmail.com>
Co-authored-by: dnicodemus <94639381+dnicodemus@users.noreply.github.com>

* [DS-3888] Update health checks (#6)

* chore(infra): update healthchecks params to matching values

* chore(infra): chmod swirl health check script

---------

Co-authored-by: Joao Ferreira <joao.ferreira@ckl.io>

* fix: include missing ( in README.md file (#7)

Co-authored-by: Joao Ferreira <joao.ferreira@ckl.io>

* DS-4074 add mcp (#8)

* Add mcp
* Update env example with correct values and user configuration sections

* [DS-4100/DS-4061] Multiple OIDC & BYOC (#9)

* chore(infra): update example env file to use alphabetical variables

* chore(infra): update swirl-load.sh to support multiple oidc script

* chore(infra): include additional variables for multiple oidc support

* chore(infra): remove unused update_json function

* chore(infra): include missing vars in example file

* chore(infra): move entrypoint out of root directory

* chore(infra): update reference variable for fqdn

* chore(infra): include multiple oidc support and byoc solution

---------

Co-authored-by: Joao Ferreira <joao.ferreira@ckl.io>

* Revert "DS-4074 add mcp (#8)"

This reverts commit 09c45b46e8de80e25972a117a4c0b287742171ed.

---------

Co-authored-by: Joao Ferreira <joao.ferreira@ckl.io>
Co-authored-by: dnicodemus-la <dave.nicodemus@gmail.com>
Co-authored-by: dnicodemus <94639381+dnicodemus@users.noreply.github.com>
Co-authored-by: Peter Kahn <peter@swirl.today>
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.

2 participants