Skip to content

fix(s3): let vans start without AWS keys — only central needs them - #202

Merged
vanitha1822 merged 1 commit into
release-3.9.2from
vb/s3-keys-central-only
Oct 22, 2026
Merged

vanitha1822 merged 1 commit into
release-3.9.2from
vb/s3-keys-central-only

Conversation

@vishwab1

Copy link
Copy Markdown
Member

Vans (camp laptops) run the same war as central but never call S3: they push diagnostic documents to central over HTTP. Yet startup failed with "Could not resolve placeholder 'AWS_S3_ACCESS_KEY'", and blank values would still crash in AwsBasicCredentials.create ("Access key ID cannot be blank").

  • common_docker.properties: default the S3 placeholders (keys/bucket empty, region ap-south-1, push batch size 3).
  • S3ClientConfig: with blank keys use DefaultCredentialsProvider, which resolves lazily on first S3 call instead of at startup.

Central keeps setting real AWS_S3_* values and behaves as before.

📋 Description

JIRA ID:

Please provide a summary of the change and the motivation behind it. Include relevant context and details.


✅ Type of Change

  • 🐞 Bug fix (non-breaking change which resolves an issue)
  • ✨ New feature (non-breaking change which adds functionality)
  • 🔥 Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • 🛠 Refactor (change that is neither a fix nor a new feature)
  • ⚙️ Config change (configuration file or build script updates)
  • 📚 Documentation (updates to docs or readme)
  • 🧪 Tests (adding new or updating existing tests)
  • 🎨 UI/UX (changes that affect the user interface)
  • 🚀 Performance (improves performance)
  • 🧹 Chore (miscellaneous changes that don't modify src or test files)

ℹ️ Additional Information

Please describe how the changes were tested, and include any relevant screenshots, logs, or other information that provides additional context.

Vans (camp laptops) run the same war as central but never call S3: they
push diagnostic documents to central over HTTP. Yet startup failed with
"Could not resolve placeholder 'AWS_S3_ACCESS_KEY'", and blank values
would still crash in AwsBasicCredentials.create ("Access key ID cannot be
blank").

- common_docker.properties: default the S3 placeholders (keys/bucket
  empty, region ap-south-1, push batch size 3).
- S3ClientConfig: with blank keys use DefaultCredentialsProvider, which
  resolves lazily on first S3 call instead of at startup.

Central keeps setting real AWS_S3_* values and behaves as before.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 22, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 2eaf7681-b06d-42ea-b0c4-100c92e2e1f0
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@sonarqubecloud

Copy link
Copy Markdown

@vanitha1822
vanitha1822 merged commit 10b8ffa into release-3.9.2 Oct 22, 2026
4 of 5 checks passed
vishwab1 added a commit that referenced this pull request Oct 23, 2026
)

Vans (camp laptops) run the same war as central but never call S3: they
push diagnostic documents to central over HTTP. Yet startup failed with
"Could not resolve placeholder 'AWS_S3_ACCESS_KEY'", and blank values
would still crash in AwsBasicCredentials.create ("Access key ID cannot be
blank").

- common_docker.properties: default the S3 placeholders (keys/bucket
  empty, region ap-south-1, push batch size 3).
- S3ClientConfig: with blank keys use DefaultCredentialsProvider, which
  resolves lazily on first S3 call instead of at startup.

Central keeps setting real AWS_S3_* values and behaves as before.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 10b8ffa)
vanitha1822 pushed a commit that referenced this pull request Oct 23, 2026
* fix(downsync): create worklist rows for down-synced beneficiaries

Down-sync copies the beneficiary tables but not i_ben_flow_outreach, and
FLW-API getBeneficiaryData serves tabs only beneficiaries that have a
worklist row. Beneficiaries registered elsewhere and down-synced to the
laptop therefore never reached the laptop's other tabs, so tab counts
differed.

After each down-sync, insert the missing worklist row for this van's
beneficiaries, filled as TM-API does at registration. Processed = 'P' so
it is not uploaded back (central already has its own row); modified_by =
'downsync' marks these rows. A failure here is logged and does not undo
the down-sync.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(s3): let vans start without AWS keys — only central needs them (#202)

Vans (camp laptops) run the same war as central but never call S3: they
push diagnostic documents to central over HTTP. Yet startup failed with
"Could not resolve placeholder 'AWS_S3_ACCESS_KEY'", and blank values
would still crash in AwsBasicCredentials.create ("Access key ID cannot be
blank").

- common_docker.properties: default the S3 placeholders (keys/bucket
  empty, region ap-south-1, push batch size 3).
- S3ClientConfig: with blank keys use DefaultCredentialsProvider, which
  resolves lazily on first S3 call instead of at startup.

Central keeps setting real AWS_S3_* values and behaves as before.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 10b8ffa)

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
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