Commit Graph

82 Commits

Author SHA1 Message Date
Aditya Manthramurthy
fa62ed599a
Add support for AssumeRole STS API (#188)
This change adds support for requesting temporary object storage
credentials using the STS API. Some breaking changes are introduced to
enable this support:

- `Credentials` type has been removed. Use the `CredentialValue` type
instead. Corresponding to this the type signature for `setCreds` has
changed, though the functionality is the same.
- The type alias `Provider` has been renamed to `CredentialLoader` to
avoid naming confusion.
2023-05-03 17:52:46 -07:00
Aditya Manthramurthy
7ae8a8179d
Add GHC 9.4 to CI (#186) 2023-05-01 13:08:14 -07:00
Aditya Manthramurthy
f4ae55468e
Add Credentials module to use Assume Role API (#184)
This exports a new module for retrieving STS based credentials, however
they are not yet convenient to use in the library - the session token
needs to be included as a custom header and may not be possible with all
APIs.
2022-12-23 07:53:27 -08:00
Aditya Manthramurthy
d87d67b75b
Add dev flag to cabal file and update README (#182)
This turns on the GHC option `-Werror` to ensure that warnings fail the
build in dev mode. The flag is enabled in the CI.

README is updated with cabal based instructions.
2022-10-04 15:07:41 -07:00
Aditya Manthramurthy
0b3a5559fd
Fix deprecation warnings (#181) 2022-10-04 09:56:38 -07:00
Aditya Manthramurthy
e06bb4c949
Enable partial fields warning (#179)
- Updates exported type `EventMessage` - so avoid exporting partial
functions.
2022-10-04 09:25:39 -07:00
Aditya Manthramurthy
d82b093b6b
Bump up version for new release (#172)
- Also add hlint to CI
- Also update CI with latest action versions
2022-05-27 16:22:18 -07:00
Aditya Manthramurthy
d59f45fec4
Hlint fixes (#173)
* Hlint fixes

- Will require major version bump as some types were changed from data
  to newtype

* ormolu fixes after hlint
2022-05-27 14:33:05 -07:00
Tom McLaughlin
baee20dfb6
Support aeson 2 (#169) 2022-05-24 15:34:47 -07:00
Aditya Manthramurthy
bdac380c77
Replace protolude with relude and build with GHC 9.0.2 (#168)
- relude is a better and more commonly used library

- Add compiler warnings and fixes

- Update stack lts to 18.24

- Add explicit deriving strategies
2022-02-11 13:48:08 -08:00
Aditya Manthramurthy
193be59432
Update CI (#166) 2022-02-10 10:43:43 -08:00
Aditya Manthramurthy
aa2382b2e9
Use region specific endpoints for AWS S3 in presigned Urls (#164)
- Also update standard S3 endpoints

- Unify code that determines if path style or virtual style must be used for
regular and presigned requests

Fixes #160
2021-03-08 16:35:52 -08:00
Aditya Manthramurthy
ab2c6b0b02
Bump up version for new release (#158) 2020-10-16 17:08:34 -07:00
Aditya Manthramurthy
23fecbb469
Update code formatting and update dependencies (unliftio, protolude) (#152)
* Format code with ormolu

* Use latest unliftio-core

* Use latest protolude
2020-06-14 10:06:41 -07:00
Aditya Manthramurthy
b9a3cfcd1d
Set upper bound on unliftio-core (#146) 2020-05-20 07:47:55 -07:00
Aditya Manthramurthy
d2a78df4eb
New release (#140)
* Disable live-server tests by default

- They will always be run by our CI
- Also update and fix example in README.

* Update examples and add them to build

- Also drop support for GHC 8.2.2

* Bump up version for new release
2020-01-02 11:23:03 -08:00
Aditya Manthramurthy
1eafa68648
Bump up version for new release (#138) 2019-10-29 13:11:54 -07:00
Aditya Manthramurthy
04d1193201
Switch to more performant map data type (#131) 2019-07-24 12:52:18 -07:00
Aditya Manthramurthy
cc930975c9
Fix listing to also return common prefixes (#126)
- Also bump up to 1.4.0 as this is a breaking change.
2019-07-09 12:20:05 -07:00
Aditya Manthramurthy
4a807fde56 Add streaming signature for PutObject (#123)
Use streaming signature to avoid reading the body twice in PutObject
requests, where the body can be upto 5GIB.

Note that the body is signed only used when the connection is not
using TLS.
2019-05-16 20:49:38 -07:00
Aditya Manthramurthy
909f1c482d
Update for new release (#122) 2019-05-13 12:26:46 -07:00
Aditya Manthramurthy
76e5651d5a Add simple TLS helpers: (#121)
- Check if ConnectInfo is secure

- Option to disable TLS certificate validation (to make testing
  easier).
2019-05-13 11:42:34 -07:00
Aditya Manthramurthy
663015fa9d
Update for new release (#120) 2019-05-10 16:09:07 -07:00
Krishnan Parthasarathi
005c6f8e65 Retry requests that timeout using full-jitter backoff (#119) 2019-05-10 15:41:08 -07:00
ebozduman
af3b75e29e MinIO & min.io replaces Minio & minio.io respectively (#114) 2019-04-13 00:25:25 +05:30
Aditya Manthramurthy
72bf08129c Add support for S3Select API (#108) 2019-03-08 15:54:36 -08:00
Aditya Manthramurthy
c8a32ad217
Update for new release (#104) 2018-07-06 10:42:48 -07:00
Aditya Manthramurthy
53c7926006
Bump up version for new release (#102) 2018-06-30 19:15:44 -07:00
Krishnan Parthasarathi
44bbd66719 Improve initializing ConnectInfo (#101)
- Remove ConnectInfo's Default instance
- Add support for reading from well-known credential files and
  environment variables
2018-06-29 18:28:17 -07:00
Krishnan Parthasarathi
7564cbd514 Infer XML namespace using connectHost (#96)
While GCS is S3 v4 compatible, it uses a different xml namespace url
than AWS (and Minio).
2018-06-07 18:28:59 -07:00
Harshavardhana
d0ddd7f057 Add setConfig/getConfig API (#95) 2018-06-07 16:20:43 -07:00
Krishnan Parthasarathi
952c0b0342 Add getServerInfo admin API (#91)
- Add Admin API helper functions like buildAdminRequest
2018-05-31 18:06:24 -07:00
Aditya Manthramurthy
56856e82e0
Update changelog and version for release 1.0.1 (#89)
- Adds lower-bounds on dependencies.
2018-05-29 17:02:09 -07:00
Aditya Manthramurthy
d25c7ef1dc Drop dependency on exceptions lib (#87) 2018-05-14 06:48:07 +05:30
Aditya Manthramurthy
522d49452f Remove dependency on text-format lib and fix bucket policy test (#86) 2018-05-11 17:48:34 -07:00
Aditya Manthramurthy
0177953986 Bump up version for release 1.0.0 (#85) 2018-04-23 15:54:46 -07:00
Aditya Manthramurthy
51b3e51d46
Switch to unliftio and lts-11.1 (#83)
- Also add .stylish-haskell.yaml
- Re-implements `limitedMapConcurrently` using STM
- Dependencies clean up in cabal file
- Fix shadow warnings and other build warnings
2018-03-26 14:04:25 -07:00
Krishnan Parthasarathi
fe7aef21b7 Make copyObject use SourceInfo, DestinationInfo (#73)
* Make CopyPartSource constructor private

... and make individual record accessors exported. This change allows
adding of additional record members to CopyPartSource without breaking
applications.

* Move high-level copyObject functions to CopyObject module

* Make copyObject use SourceInfo, DestinationInfo

... to allow supporting features like client-side and server-side
encryption subsequently.

- fix warnings in tests/LiveServer.hs
2017-12-04 07:24:48 -08:00
Aditya Manthramurthy
33a27323f3
Add extra files to be added to a release tarball (#77) 2017-11-16 18:11:53 +00:00
Aditya Manthramurthy
8ec18f7ebe
Bump up version for new release 0.3.2 (#76) 2017-11-15 23:54:11 +00:00
Aditya Manthramurthy
ee52b3c51c Remove upper bound on protolude version (#70)
This should allow building the library with GHC 8.2.1 on Stackage
nightly.
2017-10-20 11:07:35 -07:00
Aditya Manthramurthy
d3353bb35a Add presigned Post Policy API (#58)
- Also force tests to run in serial on travis (otherwise it times out)
2017-09-26 09:02:39 -07:00
Aditya Manthramurthy
02170778da Add presigned operations APIs (#56)
This change adds 3 functions to main API: presignedGetObjectURL,
presignedPutObjectURL and presignedHeadObjectURL.

A fourth more generic API is added to `Network.Minio.S3API` -
makePresignedURL.

Additionally, refactors signing code for readability and the ability
to reuse for pre-signing.
2017-09-08 10:39:07 -05:00
Aditya Manthramurthy
ece5a5e3f8 Bump up version for new release 0.3.1 (#55)
* Switch to Stackage LTS 9.1
* Minor update to description in cabal file
* Add Slack badge and update Hackage badge in README.md
2017-08-22 13:54:57 +05:30
Aditya Manthramurthy
8456034d9e Fix concurrency bug in limitedMapConcurrently (#53)
Also simplifies implementation using lifted `bracket_` and async
routines, instead of lifted control operations like `liftBaseOp_`

Adds a test.
2017-08-21 11:52:06 -07:00
Aditya Manthramurthy
4ee1e99df7 Bump up version for new release 2017-07-17 13:58:55 -07:00
Aditya Manthramurthy
e8a75a8fdb Add bucket and object name validation (#45) 2017-03-28 16:27:23 +05:30
Aditya Manthramurthy
3281f2a912 Switch to Stackage LTS 8.5
- Bump up version in cabal for release.
2017-03-17 14:57:50 +05:30
Aditya Manthramurthy
aba4053965 Bump up version in cabal file 2017-03-16 18:16:29 +05:30
Aditya Manthramurthy
e4e2576c74 Add copyObject API: (#5)
* Performs server side copy of an object by creating a new object that
  is a copy of an existing object or part of an existing object.

* The user may specify an object on server of any size, and optionally
  specify a byte range to only copy a part of the object.

* Copy conditions are also supported.
2017-02-23 14:04:08 +05:30