Skip to content

Replace LocalStack with Floci in test suite; add pathStyleAccess S3 setting#2606

Draft
Copilot wants to merge 3 commits intomainfrom
copilot/fix-issue-2605
Draft

Replace LocalStack with Floci in test suite; add pathStyleAccess S3 setting#2606
Copilot wants to merge 3 commits intomainfrom
copilot/fix-issue-2605

Conversation

Copy link
Copy Markdown

Copilot AI commented Mar 24, 2026

LocalStack community edition was sunset in March 2026 (auth token required, security updates frozen). Replaces it with Floci — a free MIT-licensed drop-in alternative (~90 MB image, ~24 ms startup).

Changes

  • build.gradle.kts: Remove org.testcontainers:localstack and com.amazonaws:aws-java-sdk-s3 (v1 SDK was only a transitive dep of the localstack testcontainers module)
  • S3StorageProviderSettings: Add pathStyleAccess: Boolean = false — configurable per-repository, backward compatible
  • S3StorageProviderFactory: Honour settings.pathStyleAccess alongside the existing reposilite.s3.pathStyleAccessEnabled JVM property
  • Integration tests: Swap LocalStackContainer for GenericContainer("hectorvent/floci:latest") on port 4566 with pathStyleAccess = true (Floci, like all local S3 emulators, requires path-style access)
// Before
val localstack: LocalStackContainer = LocalStackContainer(DockerImageName.parse("localstack/localstack:latest"))
    .withServices(S3)
// credentials sourced from localstack.accessKey / .secretKey / .region

// After
val floci: GenericContainer<*> = GenericContainer(DockerImageName.parse("hectorvent/floci:latest"))
    .withExposedPorts(4566)
// S3StorageProviderSettings(endpoint = "http://${floci.host}:${floci.getMappedPort(4566)}", pathStyleAccess = true, ...)

The new pathStyleAccess setting also benefits production users running MinIO, Ceph, or similar self-hosted S3-compatible backends that require path-style URLs.


🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. Learn more about Advanced Security.

Co-authored-by: dzikoysk <4235722+dzikoysk@users.noreply.github.com>
Agent-Logs-Url: https://github.com/dzikoysk/reposilite/sessions/ab5235dc-512e-49c0-a80f-9b37f8759fe1
Copilot AI changed the title [WIP] Fix issue with data serialization in Reposilite Replace LocalStack with Floci in test suite Mar 24, 2026
Copilot AI requested a review from dzikoysk March 24, 2026 23:27
@dzikoysk dzikoysk marked this pull request as ready for review March 24, 2026 23:49
@dzikoysk dzikoysk marked this pull request as draft March 25, 2026 00:36
Copilot AI changed the title Replace LocalStack with Floci in test suite Replace LocalStack with Floci in test suite; add pathStyleAccess S3 setting Mar 25, 2026
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