anyproto / anyproto/any-sync-dockercompose

[NoCredentialProviders: no valid providers in chain] when using custom AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY

Open
#166 4 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Shell
Stars
941
Forks
134
Avg merge
2d 21h
Merged PRs (30d)
3

Description

Have you read a contributing guide?
  • I have read CONTRIBUTING.md
  • I have searched the existing issues and didn't find any that were similar
  • I have considered creating a pull request with fixes instead of a bug report and want to proceed
Current Behavior

Login works fine, Sync Server status is green, notes can sync (except images, spins).
When sharing space, get error: NoCredentialProviders: no valid providers in chain.
This only happens if AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY are not the default upon first "make start".
If default is used, the invite link creation is instant.

Expected Behavior

Expect invite link to be created.

Steps To Reproduce
  1. Edit .env.override to customize AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY for security. (still using minio, not amazon s3)
  2. Follow steps here to create storage folder, chown to user, add docker.override.yml : https://github.com/anyproto/any-sync-dockercompose/wiki/Configuration#running-as-a-non-privileged-user-only-for-linux
  3. make start
  4. Switch to client, add client.yml, create account login. See initial space sync.
  5. Create new space.
  6. Share the space.
Image
Environment
- OS:RHEL10
- Version:Server is at github commit bbdb10753a178b10fd38866a0236376ae9966978 (HEAD), client is stable 0.55.5
Anything else?
  • If the server is failing to share, when I remove the AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY from the .env.override, it continues to fail.

  • To make it work again, I have to remove the ./storage folder completely, remove the custom AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY, then "make start", and recreate user on client.

  • Note: 40.png in the demo space keeps syncing (spinner spins) if I use custom keyid and key. When default keyid and key is used, the upload is almost instant. Sharing space is similar, default is instant while custom spins then errors out. I feel like maybe somewhere the key/keyid is hardcoded?

  • Syntax for password and user id is fine.
    I tried to create another bucket with the same user and password.
    mc alias set myminio http://minio:9000 non_default_user non_default_password

And it returned
Added myminio successfully.

Checking with: "mc admin info myminio" showed details regarding the bucket uptime and storage.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with .env.override, docker.override.yml, and the make start flow described in the reproduction steps. Trace how custom AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY reach the storage and sharing services, then verify that invite links and image uploads work after restarting with non-default credentials.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, docker-compose
Domain
cloud, infrastructure
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.