{"id":26892131,"url":"https://github.com/ksbrwsk/webflux-localstack","last_synced_at":"2025-10-30T11:45:37.301Z","repository":{"id":88423214,"uuid":"427720352","full_name":"ksbrwsk/webflux-localstack","owner":"ksbrwsk","description":"Webflux sample using Localstack s3 service.","archived":false,"fork":false,"pushed_at":"2025-04-25T04:19:04.000Z","size":209,"stargazers_count":3,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-12T14:11:43.888Z","etag":null,"topics":["amazon-s3","localstack","spring-boot","webflux"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ksbrwsk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-11-13T16:47:08.000Z","updated_at":"2025-04-04T14:40:45.000Z","dependencies_parsed_at":"2023-12-20T15:47:28.553Z","dependency_job_id":"337af15d-63b0-40a6-8104-d14ef3030001","html_url":"https://github.com/ksbrwsk/webflux-localstack","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ksbrwsk%2Fwebflux-localstack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ksbrwsk%2Fwebflux-localstack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ksbrwsk%2Fwebflux-localstack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ksbrwsk%2Fwebflux-localstack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ksbrwsk","download_url":"https://codeload.github.com/ksbrwsk/webflux-localstack/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253754219,"owners_count":21958842,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["amazon-s3","localstack","spring-boot","webflux"],"created_at":"2025-03-31T22:49:14.635Z","updated_at":"2025-10-30T11:45:37.189Z","avatar_url":"https://github.com/ksbrwsk.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"## webflux-localstack\n\n### Example using Spring webflux on localstack s3 service and localstack testcontainer.\n\n### Prerequisites:\n\n* [Java 21](https://adoptium.net/)\n* [Apache Maven](https:http://maven.apache.org/)\n* [Docker](https://www.docker.com/)\n* [Python](https://www.python.org/)\n* [Localstack](https://github.com/localstack/localstack)\n* [awscli-local](https://github.com/localstack/awscli-local)\n\n### Install Localstack and awslocal-cli:\n```bash\npip install localstack   #pip command depends on Python version, can be pip3 \npip install awscli-local\n```\n\nSetting up local region and credentials to run LocalStack\naws requires the region and the credentials to be set in order to run the aws commands. \nCreate the default configuration \u0026 the credentials. \nBelow key will ask for the Access key id, secret Access Key, region \u0026 output format.\n### Configure AWS Credentials and region\n```bash\naws configure --profile default\n```\n### Config \u0026 credential file will be created under ~/.aws folder\nNOTE: Please use test as Access key id and secret Access Key to make S3 presign url work. \nWe have added presign url signature verification algorithm to validate the presign url and its expiration. \nYou can configure credentials into the system environment using export command in the linux/Mac system. \nYou also can add credentials in \n```bash\n~/.aws/credentials \n```\nfile directly.\n```bash\nexport AWS_ACCESS_KEY_ID=test\nexport AWS_SECRET_ACCESS_KEY=test\n```\n### Start Localstack with S3 service\n```bash\nSERVICES=s3 DEFAULT_REGION=eu-central-1 DATA_DIR=~/localstack_data_dir localstack start\n```\n### Create Bucket\n```bash\n$ awslocal s3api create-bucket --bucket sabo-s3-bucket\n$ awslocal s3api list-buckets\n```\n### Edit application configuration to edit localstack properties (src/main/reources/application.yml)\n```yaml\ncloud:\n  aws:\n    region: eu-central-1\n    s3:\n      url: http://127.0.0.1:4566\n      access-key: test\n      secret-key: test\n      bucket-name: sabo-s3-bucket\n```\n### Build \u0026 run the application\n```bash\n./mvnw package\njava -jar ./target/weflux-localstack-2.1.0.jar\n```\n### List files in bucket \n```bash\nhttp :8080/api/s3\n```\n\n### Upload file to bucket\n```bash\nhttp -f post :8080/api/s3/upload files@~/aaa.txt\n```\n\n### Download file from bucket\n```bash\nhttp :8080/api/s3/download/aaa.txt\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fksbrwsk%2Fwebflux-localstack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fksbrwsk%2Fwebflux-localstack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fksbrwsk%2Fwebflux-localstack/lists"}