godown
Distributed, fault-tolerant key-value storage written in go.
File Explorer
Download Latest Version (.zip)- client.go
- client_del_test.go
- client_expire_test.go
- client_get_test.go
- client_getbit_test.go
- client_hdel_test.go
- client_hget_test.go
- client_hkeys_test.go
- client_hset_test.go
- client_hvals_test.go
- client_keys_test.go
- client_lindex_test.go
- client_llen_test.go
- client_lpop_test.go
- client_lpush_test.go
- client_lrange_test.go
- client_lrem_test.go
- client_ping_test.go
- client_rpop_test.go
- client_rpush_test.go
- client_set_test.go
- client_setbit_test.go
- client_strlen_test.go
- client_ttl_test.go
- client_type_test.go
- executor_mock_test.go
- helpers_test.go
- result.go
- result_test.go
- Dockerfile
- main.go
- Dockerfile
- main.go
- api.pb.go
- api.proto
- Makefile
- cli.go
- printer.go
- clock.go
- command.go
- command_clock_mock_test.go
- command_mock_test.go
- command_parser_mock_test.go
- command_test.go
- data_store_mock_test.go
- del.go
- del_test.go
- expire.go
- expire_test.go
- get.go
- get_test.go
- getbit.go
- getbit_test.go
- hdel.go
- hdel_test.go
- help.go
- help_test.go
- hget.go
- hget_test.go
- hkeys.go
- hkeys_test.go
- hset.go
- hset_test.go
- hvals.go
- hvals_test.go
- keys.go
- keys_test.go
- lindex.go
- lindex_test.go
- llen.go
- llen_test.go
- lpop.go
- lpop_test.go
- lpush.go
- lpush_test.go
- lrange.go
- lrange_test.go
- lrem.go
- lrem_test.go
- parser.go
- ping.go
- ping_test.go
- reply.go
- reply_test.go
- rpop.go
- rpop_test.go
- rpush.go
- rpush_test.go
- set.go
- set_test.go
- setbit.go
- setbit_test.go
- strlen.go
- strlen_test.go
- ttl.go
- ttl_test.go
- type.go
- type_test.go
- resp.go
- data_store_mock_test.go
- fsm.go
- fsm_snapshot.go
- gc.go
- server.go
- server_clock_mock_test.go
- memory.go
- memory_test.go
- marshaler.go
- marshaler_test.go
- storage.go
- storage_test.go
- .gitignore
- const_unix.go
- const_windows.go
- inmem.go
- inmem_endpoint.go
- inmem_signal.go
- LICENSE
- metrics.go
- README.md
- sink.go
- start.go
- statsd.go
- statsite.go
- .gitignore
- appveyor.yml
- bolt_386.go
- bolt_amd64.go
- bolt_arm.go
- bolt_arm64.go
- bolt_linux.go
- bolt_openbsd.go
- bolt_ppc.go
- bolt_ppc64.go
- bolt_ppc64le.go
- bolt_s390x.go
- bolt_unix.go
- bolt_unix_solaris.go
- bolt_windows.go
- boltsync_unix.go
- bucket.go
- cursor.go
- db.go
- doc.go
- errors.go
- freelist.go
- LICENSE
- Makefile
- node.go
- page.go
- README.md
- tx.go
- ansi_unix.go
- ansi_windows.go
- buffer.go
- buffer_unix.go
- buffer_windows.go
- CONTRIBUTORS.md
- ioctl_bsd.go
- ioctl_linux.go
- ioctl_solaris.go
- ioctl_unix.go
- keys.go
- keys_unix.go
- keys_windows.go
- LICENSE
- prompt.go
- README.md
- term.go
- term_unix.go
- term_windows.go
- raw.go
- LICENSE
- bypass.go
- bypasssafe.go
- common.go
- config.go
- doc.go
- dump.go
- format.go
- spew.go
- LICENSE
- .travis.yml
- color.go
- doc.go
- Gopkg.lock
- Gopkg.toml
- LICENSE.md
- README.md
- doc.go
- gogo.pb.go
- gogo.pb.golden
- gogo.proto
- helper.go
- Makefile
- clone.go
- custom_gogo.go
- decode.go
- discard.go
- duration.go
- duration_gogo.go
- encode.go
- encode_gogo.go
- equal.go
- extensions.go
- extensions_gogo.go
- lib.go
- lib_gogo.go
- Makefile
- message_set.go
- pointer_reflect.go
- pointer_reflect_gogo.go
- pointer_unsafe.go
- pointer_unsafe_gogo.go
- properties.go
- properties_gogo.go
- skip_gogo.go
- table_marshal.go
- table_marshal_gogo.go
- table_merge.go
- table_unmarshal.go
- table_unmarshal_gogo.go
- text.go
- text_gogo.go
- text_parser.go
- timestamp.go
- timestamp_gogo.go
- descriptor.go
- descriptor.pb.go
- descriptor_gostring.gen.go
- helper.go
- Makefile
- AUTHORS
- CONTRIBUTORS
- GOLANG_CONTRIBUTORS
- LICENSE
- .gitignore
- .travis.yml
- camel_to_snake.go
- doc.go
- LICENSE
- logo.svg
- Makefile
- mock_controller.go
- README.md
- clone.go
- decode.go
- discard.go
- encode.go
- equal.go
- extensions.go
- lib.go
- message_set.go
- pointer_reflect.go
- pointer_unsafe.go
- properties.go
- table_marshal.go
- table_merge.go
- table_unmarshal.go
- text.go
- text_parser.go
- any.pb.go
- any.proto
- duration.pb.go
- duration.proto
- timestamp.pb.go
- timestamp.proto
- any.go
- doc.go
- duration.go
- timestamp.go
- AUTHORS
- CONTRIBUTORS
- LICENSE
- errwrap.go
- go.mod
- LICENSE
- README.md
- .gitignore
- .travis.yml
- edges.go
- iradix.go
- iter.go
- LICENSE
- node.go
- raw_iter.go
- README.md
- 0doc.go
- binc.go
- decode.go
- encode.go
- helper.go
- helper_internal.go
- msgpack.go
- msgpack_test.py
- README.md
- rpc.go
- simple.go
- time.go
- LICENSE
- .travis.yml
- append.go
- flatten.go
- format.go
- go.mod
- go.sum
- LICENSE
- Makefile
- multierror.go
- prefix.go
- README.md
- sort.go
- lru.go
- lru_interface.go
- LICENSE
- .gitignore
- .travis.yml
- api.go
- commands.go
- commitment.go
- config.go
- configuration.go
- discard_snapshot.go
- file_snapshot.go
- fsm.go
- future.go
- inmem_snapshot.go
- inmem_store.go
- inmem_transport.go
- LICENSE
- log.go
- log_cache.go
- Makefile
- membership.md
- net_transport.go
- observer.go
- peersjson.go
- raft.go
- README.md
- replication.go
- snapshot.go
- stable.go
- state.go
- tag.sh
- tcp_transport.go
- transport.go
- util.go
- .travis.yml
- bolt_store.go
- LICENSE
- Makefile
- README.md
- util.go
- .travis.yml
- colorable_appengine.go
- colorable_others.go
- colorable_windows.go
- LICENSE
- noncolorable.go
- README.md
- .travis.yml
- doc.go
- isatty_appengine.go
- isatty_bsd.go
- isatty_linux.go
- isatty_linux_ppc64x.go
- isatty_others.go
- isatty_solaris.go
- isatty_windows.go
- LICENSE
- README.md
- .gitignore
- .travis.yml
- appveyor.yml
- errors.go
- LICENSE
- README.md
- stack.go
- difflib.go
- LICENSE
- assertion_format.go
- assertion_format.go.tmpl
- assertion_forward.go
- assertion_forward.go.tmpl
- assertions.go
- doc.go
- errors.go
- forward_assertions.go
- http_assertions.go
- LICENSE
- .travis.yml
- append.go
- LICENSE
- logo.png
- README.md
- redcon.go
- context.go
- go17.go
- go19.go
- pre_go17.go
- pre_go19.go
- guts.go
- httplex.go
- encode.go
- hpack.go
- huffman.go
- tables.go
- .gitignore
- ciphers.go
- client_conn_pool.go
- configure_transport.go
- databuffer.go
- Dockerfile
- errors.go
- flow.go
- frame.go
- go111.go
- go16.go
- go17.go
- go17_not18.go
- go18.go
- go19.go
- gotrack.go
- headermap.go
- http2.go
- Makefile
- not_go111.go
- not_go16.go
- not_go17.go
- not_go18.go
- not_go19.go
- pipe.go
- README
- server.go
- transport.go
- write.go
- writesched.go
- writesched_priority.go
- writesched_random.go
- idna.go
- punycode.go
- tables.go
- trie.go
- trieval.go
- timeseries.go
- events.go
- histogram.go
- trace.go
- trace_go16.go
- trace_go17.go
- AUTHORS
- CONTRIBUTORS
- LICENSE
- PATENTS
- .gitignore
- affinity_linux.go
- aliases.go
- asm_darwin_386.s
- asm_darwin_amd64.s
- asm_darwin_arm.s
- asm_darwin_arm64.s
- asm_dragonfly_amd64.s
- asm_freebsd_386.s
- asm_freebsd_amd64.s
- asm_freebsd_arm.s
- asm_linux_386.s
- asm_linux_amd64.s
- asm_linux_arm.s
- asm_linux_arm64.s
- asm_linux_mips64x.s
- asm_linux_mipsx.s
- asm_linux_ppc64x.s
- asm_linux_s390x.s
- asm_netbsd_386.s
- asm_netbsd_amd64.s
- asm_netbsd_arm.s
- asm_openbsd_386.s
- asm_openbsd_amd64.s
- asm_openbsd_arm.s
- asm_solaris_amd64.s
- bluetooth_linux.go
- cap_freebsd.go
- constants.go
- dev_darwin.go
- dev_dragonfly.go
- dev_freebsd.go
- dev_linux.go
- dev_netbsd.go
- dev_openbsd.go
- dirent.go
- endian_big.go
- endian_little.go
- env_unix.go
- errors_freebsd_386.go
- errors_freebsd_amd64.go
- errors_freebsd_arm.go
- fcntl.go
- fcntl_linux_32bit.go
- gccgo.go
- gccgo_c.c
- gccgo_linux_amd64.go
- ioctl.go
- mkall.sh
- mkerrors.sh
- mkpost.go
- mksyscall.pl
- mksyscall_solaris.pl
- mksysctl_openbsd.pl
- mksysnum_darwin.pl
- mksysnum_dragonfly.pl
- mksysnum_freebsd.pl
- mksysnum_netbsd.pl
- mksysnum_openbsd.pl
- openbsd_pledge.go
- pagesize_unix.go
- race.go
- race0.go
- README.md
- sockcmsg_linux.go
- sockcmsg_unix.go
- str.go
- syscall.go
- syscall_bsd.go
- syscall_darwin.go
- syscall_darwin_386.go
- syscall_darwin_amd64.go
- syscall_darwin_arm.go
- syscall_darwin_arm64.go
- syscall_dragonfly.go
- syscall_dragonfly_amd64.go
- syscall_freebsd.go
- syscall_freebsd_386.go
- syscall_freebsd_amd64.go
- syscall_freebsd_arm.go
- syscall_linux.go
- syscall_linux_386.go
- syscall_linux_amd64.go
- syscall_linux_amd64_gc.go
- syscall_linux_arm.go
- syscall_linux_arm64.go
- syscall_linux_gc.go
- syscall_linux_gc_386.go
- syscall_linux_gccgo_386.go
- syscall_linux_gccgo_arm.go
- syscall_linux_mips64x.go
- syscall_linux_mipsx.go
- syscall_linux_ppc64x.go
- syscall_linux_s390x.go
- syscall_linux_sparc64.go
- syscall_netbsd.go
- syscall_netbsd_386.go
- syscall_netbsd_amd64.go
- syscall_netbsd_arm.go
- syscall_openbsd.go
- syscall_openbsd_386.go
- syscall_openbsd_amd64.go
- syscall_openbsd_arm.go
- syscall_solaris.go
- syscall_solaris_amd64.go
- syscall_unix.go
- syscall_unix_gc.go
- timestruct.go
- types_darwin.go
- types_dragonfly.go
- types_freebsd.go
- types_netbsd.go
- types_openbsd.go
- types_solaris.go
- xattr_bsd.go
- zerrors_darwin_386.go
- zerrors_darwin_amd64.go
- zerrors_darwin_arm.go
- zerrors_darwin_arm64.go
- zerrors_dragonfly_amd64.go
- zerrors_freebsd_386.go
- zerrors_freebsd_amd64.go
- zerrors_freebsd_arm.go
- zerrors_linux_386.go
- zerrors_linux_amd64.go
- zerrors_linux_arm.go
- zerrors_linux_arm64.go
- zerrors_linux_mips.go
- zerrors_linux_mips64.go
- zerrors_linux_mips64le.go
- zerrors_linux_mipsle.go
- zerrors_linux_ppc64.go
- zerrors_linux_ppc64le.go
- zerrors_linux_s390x.go
- zerrors_linux_sparc64.go
- zerrors_netbsd_386.go
- zerrors_netbsd_amd64.go
- zerrors_netbsd_arm.go
- zerrors_openbsd_386.go
- zerrors_openbsd_amd64.go
- zerrors_openbsd_arm.go
- zerrors_solaris_amd64.go
- zptrace386_linux.go
- zptracearm_linux.go
- zptracemips_linux.go
- zptracemipsle_linux.go
- zsyscall_darwin_386.go
- zsyscall_darwin_amd64.go
- zsyscall_darwin_arm.go
- zsyscall_darwin_arm64.go
- zsyscall_dragonfly_amd64.go
- zsyscall_freebsd_386.go
- zsyscall_freebsd_amd64.go
- zsyscall_freebsd_arm.go
- zsyscall_linux_386.go
- zsyscall_linux_amd64.go
- zsyscall_linux_arm.go
- zsyscall_linux_arm64.go
- zsyscall_linux_mips.go
- zsyscall_linux_mips64.go
- zsyscall_linux_mips64le.go
- zsyscall_linux_mipsle.go
- zsyscall_linux_ppc64.go
- zsyscall_linux_ppc64le.go
- zsyscall_linux_s390x.go
- zsyscall_linux_sparc64.go
- zsyscall_netbsd_386.go
- zsyscall_netbsd_amd64.go
- zsyscall_netbsd_arm.go
- zsyscall_openbsd_386.go
- zsyscall_openbsd_amd64.go
- zsyscall_openbsd_arm.go
- zsyscall_solaris_amd64.go
- zsysctl_openbsd_386.go
- zsysctl_openbsd_amd64.go
- zsysctl_openbsd_arm.go
- zsysnum_darwin_386.go
- zsysnum_darwin_amd64.go
- zsysnum_darwin_arm.go
- zsysnum_darwin_arm64.go
- zsysnum_dragonfly_amd64.go
- zsysnum_freebsd_386.go
- zsysnum_freebsd_amd64.go
- zsysnum_freebsd_arm.go
- zsysnum_linux_386.go
- zsysnum_linux_amd64.go
- zsysnum_linux_arm.go
- zsysnum_linux_arm64.go
- zsysnum_linux_mips.go
- zsysnum_linux_mips64.go
- zsysnum_linux_mips64le.go
- zsysnum_linux_mipsle.go
- zsysnum_linux_ppc64.go
- zsysnum_linux_ppc64le.go
- zsysnum_linux_s390x.go
- zsysnum_linux_sparc64.go
- zsysnum_netbsd_386.go
- zsysnum_netbsd_amd64.go
- zsysnum_netbsd_arm.go
- zsysnum_openbsd_386.go
- zsysnum_openbsd_amd64.go
- zsysnum_openbsd_arm.go
- ztypes_darwin_386.go
- ztypes_darwin_amd64.go
- ztypes_darwin_arm.go
- ztypes_darwin_arm64.go
- ztypes_dragonfly_amd64.go
- ztypes_freebsd_386.go
- ztypes_freebsd_amd64.go
- ztypes_freebsd_arm.go
- ztypes_linux_386.go
- ztypes_linux_amd64.go
- ztypes_linux_arm.go
- ztypes_linux_arm64.go
- ztypes_linux_mips.go
- ztypes_linux_mips64.go
- ztypes_linux_mips64le.go
- ztypes_linux_mipsle.go
- ztypes_linux_ppc64.go
- ztypes_linux_ppc64le.go
- ztypes_linux_s390x.go
- ztypes_linux_sparc64.go
- ztypes_netbsd_386.go
- ztypes_netbsd_amd64.go
- ztypes_netbsd_arm.go
- ztypes_openbsd_386.go
- ztypes_openbsd_amd64.go
- ztypes_openbsd_arm.go
- ztypes_solaris_amd64.go
- AUTHORS
- CONTRIBUTORS
- LICENSE
- PATENTS
- collate.go
- index.go
- maketables.go
- option.go
- sort.go
- tables.go
- collelem.go
- colltab.go
- contract.go
- iter.go
- numeric.go
- table.go
- trie.go
- weighter.go
- code.go
- gen.go
- tag.go
- compact.go
- print.go
- triegen.go
- ucd.go
- common.go
- coverage.go
- doc.go
- gen.go
- gen_common.go
- gen_index.go
- go1_1.go
- go1_2.go
- index.go
- language.go
- lookup.go
- Makefile
- match.go
- parse.go
- tables.go
- tags.go
- bidirule.go
- bidirule10.0.0.go
- bidirule9.0.0.go
- transform.go
- bidi.go
- bracket.go
- core.go
- gen.go
- gen_ranges.go
- gen_trieval.go
- prop.go
- tables10.0.0.go
- tables9.0.0.go
- trieval.go
- base.go
- cldr.go
- collate.go
- decode.go
- makexml.go
- resolve.go
- slice.go
- xml.go
- composition.go
- forminfo.go
- input.go
- iter.go
- maketables.go
- normalize.go
- readwriter.go
- tables10.0.0.go
- tables9.0.0.go
- transform.go
- trie.go
- triegen.go
- gen.go
- merge.go
- rangetable.go
- tables10.0.0.go
- tables9.0.0.go
- AUTHORS
- CONTRIBUTORS
- LICENSE
- PATENTS
- status.pb.go
- LICENSE
- balancer.go
- base.go
- roundrobin.go
- balancer.go
- code_string.go
- codes.go
- connectivity.go
- credentials.go
- go16.go
- go17.go
- go18.go
- go19.go
- proto.go
- encoding.go
- grpclog.go
- logger.go
- loggerv2.go
- backoff.go
- funcs.go
- types.go
- types_linux.go
- types_nonlinux.go
- util_linux_go19.go
- util_nonlinux_pre_go19.go
- envconfig.go
- grpcrand.go
- bdp_estimator.go
- controlbuf.go
- defaults.go
- flowcontrol.go
- go16.go
- go17.go
- handler_server.go
- http2_client.go
- http2_server.go
- http_util.go
- log.go
- transport.go
- internal.go
- keepalive.go
- metadata.go
- dns_resolver.go
- go17.go
- go18.go
- naming.go
- peer.go
- dns_resolver.go
- go17.go
- go18.go
- passthrough.go
- resolver.go
- handlers.go
- stats.go
- go16.go
- go17.go
- status.go
- tap.go
- .travis.yml
- AUTHORS
- backoff.go
- balancer.go
- balancer_conn_wrappers.go
- balancer_v1_wrapper.go
- call.go
- clientconn.go
- codec.go
- codegen.sh
- CONTRIBUTING.md
- dialoptions.go
- doc.go
- go16.go
- go17.go
- install_gae.sh
- interceptor.go
- LICENSE
- Makefile
- picker_wrapper.go
- pickfirst.go
- proxy.go
- README.md
- resolver_conn_wrapper.go
- rpc_util.go
- server.go
- service_config.go
- stream.go
- trace.go
- version.go
- vet.sh
- .gitignore
- .golang.ci.yaml
- .goreleaser.yml
- .travis.yml
- Gopkg.lock
- Gopkg.toml
- LICENSE
- Makefile
- README.md
# Installation Guide
1. Get the code
git clone https://github.com/namreg/godown
Downloads the entire project code from GitHub to your computer.
cd godown
Moves into the project folder you just downloaded.
2. Docker
Easy RecommendedPrerequisites
- Git Needed to download the project code from GitHub.
- Docker Desktop Needed to build and run containers. Install it and keep it running in the background.
docker network create godown
Type this command into your terminal and run it.
docker volume create godown
Type this command into your terminal and run it.
docker run -it --rm -v godown:/var/lib/godown --name=godown_1 --net=godown -p 5000:5000 \
Runs the built image as an actual container.
docker run -it --rm -v godown:/var/lib/godown --name=godown_2 --net=godown -p 5001:5001 \
Runs the built image as an actual container.
docker run -it --rm -v godown:/var/lib/godown --name=godown_3 --net=godown -p 5002:5002 \
Runs the built image as an actual container.
Run docker compose ps to check the containers are Up. If the README mentions a port, open http://localhost:PORT in your browser.
Pulled directly from this repo's README.
3. Make
MediumPrerequisites
- Git Needed to download the project code from GitHub.
- Make Usually pre-installed on Linux/macOS. On Windows, install separately (e.g. via MSYS2 or WSL).
make
Compiles the code based on the generated build configuration to produce an executable.
If it finishes without errors, it worked. Try running the generated executable directly.
// repository documentation
Was this content helpful?
(0 ratings)
