Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Verify direct upload checksums | George Claghorn | 2017-07-24 | 2 | -5/+5 |
| | | | | Closes #74. | ||||
* | Everything under app/ is eager loaded, don't want that for service | David Heinemeier Hansson | 2017-07-24 | 5 | -0/+322 |
| | | | | Since it references all the specific cloud services that are intended only to be loaded on demand. | ||||
* | Move models and jobs to the app setup | David Heinemeier Hansson | 2017-07-22 | 5 | -317/+0 |
| | | | | Follow engine conventions more closely | ||||
* | Accept S3 upload options (e.g. server_side_encryption) | James Baer | 2017-07-20 | 1 | -3/+5 |
| | |||||
* | Add direct upload support to GCS service | Michael Herold | 2017-07-17 | 1 | -0/+11 |
| | |||||
* | Splat options | George Claghorn | 2017-07-16 | 1 | -16/+2 |
| | |||||
* | Fix a typo in S3Service | colorfulfool | 2017-07-16 | 1 | -3/+1 |
| | |||||
* | Swap branches | George Claghorn | 2017-07-15 | 1 | -3/+3 |
| | |||||
* | Merge pull request #48 from seanhandley/hosted_s3 | George Claghorn | 2017-07-15 | 1 | -2/+18 |
|\ | | | | | Allow custom endpoints for S3. | ||||
| * | Allow custom endpoints for S3. | Sean Handley | 2017-07-15 | 1 | -2/+18 |
| | | |||||
* | | Revert back to the original implementaion with varaibles | dixpac | 2017-07-14 | 1 | -2/+8 |
|/ | | | | | | Revert `exist? and url` to the original implementation. Since the new one doesn't provide any benefits and makes implementation harder to follow. | ||||
* | Added rubocop / codeclimate config and fixed current offenses (#45) | Cristian Bica | 2017-07-14 | 2 | -5/+5 |
| | |||||
* | Remove few ivars from gcs_service implementation | dixpac | 2017-07-13 | 1 | -8/+2 |
| | |||||
* | Merge pull request #42 from quartzmo/gcs-site-url | George Claghorn | 2017-07-12 | 1 | -2/+2 |
|\ | | | | | Update GCSService#url | ||||
| * | Update GCSService#url | Chris Smith | 2017-07-12 | 1 | -2/+2 |
| | | | | | | | | | | Update google-cloud-storage dependency to 1.3 Refactor arguments to Google::Cloud::Storage::File#signed_url | ||||
* | | Revert "S3: slim down service implementation (#40)" (#41) | David Heinemeier Hansson | 2017-07-12 | 1 | -24/+36 |
|/ | | | This reverts commit 6d3962461fb8d35fc9538d685fee96267663acf2. | ||||
* | S3: slim down service implementation (#40) | Jeremy Daer | 2017-07-11 | 1 | -36/+24 |
| | | | | | | | * Use simple core API for duck-type compat with other clients * initialize: accept an existing client * initialize: accept arbitrary client args instead of a fixed, required set * download: use native get_object streaming, no need to implement range requests * exists?: use head_object (which returns immediately) rather than waiting for existence | ||||
* | Expose chunked downloads | George Claghorn | 2017-07-10 | 1 | -4/+4 |
| | |||||
* | Direct uploads for S3 | David Heinemeier Hansson | 2017-07-09 | 2 | -1/+12 |
| | |||||
* | Instrument and log the services | David Heinemeier Hansson | 2017-07-09 | 3 | -32/+93 |
| | |||||
* | Merge pull request #27 from dixpac/fix_configuration_keys_symbolization | David Heinemeier Hansson | 2017-07-09 | 1 | -1/+1 |
|\ | | | | | Symbolize all keys inside configuration nested hash | ||||
| * | Symbolize all keys inside configuration nested hash | dixpac | 2017-07-09 | 1 | -1/+1 |
| | | | | | | | | | | Since configuration is a nested hash we need to symbolize all keys of the hash. Othervise fetcing will fail on start | ||||
* | | Ensure binary encoding for downloading | David Heinemeier Hansson | 2017-07-09 | 1 | -1/+1 |
|/ | |||||
* | Clarify how a service can build other composed services | Jeremy Daer | 2017-07-09 | 2 | -29/+22 |
| | | | | | | | | | * Service.build takes the literal YAML config hash for the service and a reference to the Configurator that's doing the building. * Services that compose additional services can use the Configurator to look them up and build them by name. See MirrorService for an example. References #23 | ||||
* | Service: clarify Service.build arguments | Jeremy Daer | 2017-07-09 | 1 | -3/+3 |
| | | | | | | | First arg is config for the service we're instantiating. Second arg is service configurations so we can look up and configure other services by name. | ||||
* | Configure services that reference other services | Jeremy Daer | 2017-07-08 | 2 | -0/+42 |
| | | | | | | | | * Move service configuration from the Engine to Service * Delegate configuration mechanics to internal Service::Configurator * Delegate service building to the concrete Service classes, allowing them to configure composed services. * Implement for the Mirror service. | ||||
* | Mirror: explicit primary service and list of mirrors | Jeremy Daer | 2017-07-08 | 1 | -10/+9 |
| | | | | | | | | | | | | Pass separate primary service and list of mirrors rather than treating the first of the services list as the primary. Nice fit for keyword args, and something we've long wanted in the equivalent Basecamp file repository. Upload returns the results of the underlying service uploads rather than the io.rewind result. Rewind before uploading rather than afterward, and demonstrate that behavior with a test. Test that more than one mirror works. | ||||
* | Merge pull request #21 from jeremy/disk-binary-io | David Heinemeier Hansson | 2017-07-09 | 1 | -8/+4 |
|\ | | | | | Disk service: use binary IO throughout, not UTF-8 | ||||
| * | Disk service: use binary IO throughout, not UTF-8 | Jeremy Daer | 2017-07-08 | 1 | -8/+4 |
| | | |||||
* | | Disk storage: ensure URLs end with the blob filename since some user agents ↵ | Jeremy Daer | 2017-07-08 | 1 | -2/+2 |
|/ | | | | don't respect Content-Disposition filename | ||||
* | Use safe navigation | George Claghorn | 2017-07-06 | 1 | -1/+1 |
| | |||||
* | Remove unnecessary method delegations | George Claghorn | 2017-07-06 | 1 | -1/+1 |
| | |||||
* | Fix test | George Claghorn | 2017-07-06 | 1 | -0/+2 |
| | | | | | | | * S3 fails fast if the Content-MD5 header on an upload request is an invalid checksum. Send a valid but incorrect checksum. * Rescue the service-specific exception and raise the generic one. | ||||
* | Merge branch 'master' into s3_integrity | John Williams | 2017-07-06 | 1 | -2/+3 |
|\ | |||||
| * | Style | George Claghorn | 2017-07-06 | 1 | -5/+3 |
| | | |||||
| * | Adding server side integrity check for GCS Service | Stanislav Gospodinov | 2017-07-06 | 1 | -2/+5 |
| | | |||||
* | | Send checksum to S3 to verify file integrity | John Williams | 2017-07-06 | 1 | -2/+1 |
|/ | |||||
* | Fix hash usage consistency. | Ra'Shaun Stovall | 2017-07-06 | 1 | -1/+1 |
| | | | | | | | Unless this was intentional, being consistent with: https://github.com/rails/activestorage/blob/master/lib/active_storage/service/s3_service.rb#L8 Just showin' a lil' <3 while perusing the repo @dhh | ||||
* | Check integrity after uploads | David Heinemeier Hansson | 2017-07-06 | 4 | -5/+15 |
| | |||||
* | Need the byte helpers | David Heinemeier Hansson | 2017-07-06 | 2 | -0/+2 |
| | |||||
* | Compute checksum and byte_size client side | David Heinemeier Hansson | 2017-07-06 | 3 | -34/+0 |
| | | | | | Then we can add integrity checks on uploads to prevent errors in transport. | ||||
* | Remember to add streaming | David Heinemeier Hansson | 2017-07-06 | 1 | -0/+1 |
| | |||||
* | This is even more explaining and upload/download don't have some inherent ↵ | David Heinemeier Hansson | 2017-07-06 | 1 | -4/+2 |
| | | | | need to synchronize chunk sizes anyway | ||||
* | We have the technology! | David Heinemeier Hansson | 2017-07-06 | 1 | -1/+1 |
| | |||||
* | Convert magic number to constant | David Heinemeier Hansson | 2017-07-06 | 1 | -2/+4 |
| | |||||
* | Mirror: only hit all sites for upload and delete | George Claghorn | 2017-07-06 | 1 | -21/+4 |
| | | | | The mirror service exists for the purpose of migration, where all blobs exist in the primary subservice and a subset of blobs exist in the secondary subservice. Since the primary subservice is the source of truth until a migration is completed, operations like existence checks need not be performed against the secondary subservices. | ||||
* | Rename from Site to Service now that we're called Active Storage | David Heinemeier Hansson | 2017-07-06 | 4 | -0/+238 |