d8ab5bdc3e
New buckets for 0.6.0: fix model and migration
2022-01-04 12:47:28 +01:00
b1cfd16913
New buckets for 0.6.0: small fixes, including:
...
- ensure bucket names are correct aws s3 names
- when making aliases, ensure timestamps of links in both ways are the
same
- fix small remarks by trinity
- don't have a separate website_access field
2022-01-04 12:46:41 +01:00
5db600e231
More complete output to bucket info and key info
2022-01-04 12:46:41 +01:00
4d30e62db4
New buckets for 0.6.0: migration code and build files
2022-01-04 12:46:13 +01:00
0bbb6673e7
Model changes
2022-01-04 12:45:52 +01:00
53f71b3a57
Implement bucket alias and bucket unalias
2022-01-04 12:45:51 +01:00
5b1117e582
New model for buckets
2022-01-04 12:45:46 +01:00
8f6026de5e
Make table name a const in trait
2021-12-15 15:39:10 +01:00
c94406f428
Improve how node roles are assigned in Garage
...
continuous-integration/drone/pr Build is passing
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is passing
continuous-integration/drone Build is passing
- change the terminology: the network configuration becomes the role
table, the configuration of a nodes becomes a node's role
- the modification of the role table takes place in two steps: first,
changes are staged in a CRDT data structure. Then, once the user is
happy with the changes, they can commit them all at once (or revert
them).
- update documentation
- fix tests
- implement smarter partition assignation algorithm
This patch breaks the format of the network configuration: when
migrating, the cluster will be in a state where no roles are assigned.
All roles must be re-assigned and commited at once. This migration
should not pose an issue.
2021-11-16 16:05:53 +01:00
74a7a550eb
Safety: never voluntarily delete block in 10min interval after RC reaches zero
2021-11-08 15:47:47 +01:00
2090a6187f
Add tranquilizer mechanism to improve on token bucket mechanism
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2021-11-04 13:26:59 +01:00
bef6d627b0
Add environment variables equivalents for some CLI options.
continuous-integration/drone/push Build is passing
2021-11-03 16:00:57 +01:00
6b47c294f5
Refactoring on repair commands
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2021-10-27 11:14:55 +02:00
28c015d9ff
add cli parameter to verify local bloc integrity
...
continuous-integration/drone/push Build is passing
reuse code for listing local blocks
add disk i/o speed limit on integrity check
2021-10-27 10:31:03 +02:00
3e7f766d95
CLI: default rpc_host
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
continuous-integration/drone Build is passing
2021-10-26 11:36:30 +02:00
43e13a501d
Use published netapp crate instead of git repo
continuous-integration/drone/push Build is passing
2021-10-26 10:36:57 +02:00
ada7899b24
Fix clippy lints ( fix #121 )
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2021-10-26 10:20:05 +02:00
de4276202a
Improve CLI, adapt tests, update documentation
2021-10-25 14:21:48 +02:00
1b450c4b49
Improvements to CLI and various fixes for netapp version
...
Discovery via consul, persist peer list to file
2021-10-22 16:55:24 +02:00
4067797d01
First port of Garage to Netapp
2021-10-22 15:55:18 +02:00
dc017a0cab
Build Garage with Nix
continuous-integration/drone/pr Build is passing
continuous-integration/drone Build is passing
continuous-integration/drone/push Build is passing
2021-10-19 16:56:07 +02:00
1acf7e4c66
Fix git_version!() when not in git repo ( fix #100 )
continuous-integration/drone/push Build was killed
continuous-integration/drone Build is passing
2021-10-11 14:26:54 +02:00
b568765c75
try parsing rpc-host command-line parameter
continuous-integration/drone/push Build is passing
2021-06-01 23:53:58 +02:00
e9c265e9dc
format garage status output better
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2021-06-01 19:12:27 +02:00
289521886b
make most changes suggested during install-party
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2021-05-29 21:37:49 +02:00
b9127dd6f8
Prepare for v0.3.0 and add migration path from v0.2.1.x
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build was killed
2021-05-28 15:29:58 +02:00
ddb2b29bfd
Rename datacenters into zones (doc not yet updated)
2021-05-28 14:07:36 +02:00
b490ebc7f6
Many improvements on ring/replication and its configuration:
...
- Explicit "replication_mode" configuration parameters that takes
either "none", "2" or "3" as values, instead of letting user configure
replication factor themselves. These are presets whose corresponding
replication/quorum values can be found in replication/mode.rs
- Explicit support for single-node and two-node deployments
(number of nodes must be at least "replication_mode", with "none"
we can have only one node)
- Ring is now stored much more compactly with 256*8 + n*32 bytes,
instead of 256*32 bytes
- Support for gateway-only nodes that do not store data
(these nodes still need a metadata_directory to store the list
of bucket and keys since those are stored on all nodes; it also
technically needs a data_directory to start but it will stay
empty unless we have bugs)
2021-05-28 14:07:36 +02:00
e4b9e4e24d
rename types to CamelCase
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2021-05-03 22:15:09 +02:00
6644df6b96
fix clippy warnings on garage
2021-05-03 22:11:42 +02:00
575726358c
Tune Sled configuration
...
- Make sled cache size and flush interval configurable
- Set less agressive default values:
- cache size 128MB instead of 1GB
- Flush interval 2 seconds instead of .5 seconds
2021-05-03 17:27:43 +02:00
74373aebcf
make most requested changes
2021-04-27 16:47:08 +02:00
5c4b2cec3c
document garage crate
2021-04-27 16:37:10 +02:00
1e3df189d0
document api crate
2021-04-27 16:37:10 +02:00
a2e1617d84
document web crate
2021-04-27 16:37:10 +02:00
8e0524ae15
document rpc crate
2021-04-27 16:37:10 +02:00
9ced9f78dc
Improve bootstraping: do it regularly; persist peer list
2021-04-27 16:37:08 +02:00
f859d15062
update to v0.2.1
continuous-integration/drone/push Build is pending
2021-03-19 13:39:18 +01:00
4c26a0b9c1
Update Cargo.toml files with AGPL license info
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2021-03-18 21:59:17 +01:00
a1014224d3
garage node configure --replace <old_node_id> <new_node_id>
continuous-integration/drone/push Build is passing
2021-03-18 21:49:12 +01:00
dead945c8f
Prepare for release 0.2
continuous-integration/drone/push Build is passing
2021-03-18 19:33:15 +01:00
4eb16e8863
Allow to import keys from previous Garage instance
continuous-integration/drone/push Build is passing
2021-03-18 19:24:59 +01:00
3fadc5cbbd
Small changes
2021-03-16 16:35:10 +01:00
f4346cc5f4
Update dependencies
continuous-integration/drone/push Build is passing
2021-03-16 15:58:40 +01:00
515029d026
Refactor code
continuous-integration/drone/push Build was killed
2021-03-16 11:43:58 +01:00
6a8439fd13
Some improvements in background worker but we terminate late
continuous-integration/drone/push Build is passing
2021-03-15 23:14:12 +01:00
0cd5b2ae19
WIP migrate to tokio 1
continuous-integration/drone/push Build is passing
2021-03-15 22:36:41 +01:00
4d4117f2b4
Refactor block resync loop; make workers infaillible
continuous-integration/drone/push Build is passing
2021-03-15 20:09:44 +01:00
667e4e72a8
Small fixes
2021-03-15 19:51:16 +01:00
5ee1d956b6
Allow manipulation of keys by their shorthand in the CLI
continuous-integration/drone/push Build is passing
2021-03-15 19:14:26 +01:00