├── .github └── workflows │ └── go.yml ├── .gitignore ├── CONTRIBUTING.md ├── LICENSE.md ├── README.md ├── cmd ├── cli │ ├── cli.go │ ├── helper.go │ ├── models.go │ └── operations.go ├── integrationtest │ └── tester.go └── server │ ├── routes.go │ └── timeMachine.go ├── components ├── Components.md ├── consensus │ ├── Consensus.md │ ├── consensus.go │ ├── consensus_raft.go │ ├── converter.go │ ├── errors.go │ └── fsm │ │ ├── fsm.go │ │ ├── fsm_raft.go │ │ ├── fsm_snapshot.go │ │ └── models.go ├── datashard │ ├── datashard.go │ ├── datastore │ │ ├── datastore_bolt.go │ │ ├── datastore_bolt_test.go │ │ └── errors.go │ └── wal │ │ ├── wal.go │ │ └── wal_disk.go ├── dht │ ├── dht.go │ ├── dht.md │ ├── dht_memory.go │ └── dht_memory_test.go ├── executor │ ├── executable_heap.go │ ├── executable_heap_test.go │ ├── executor.go │ ├── executor.md │ ├── executor_impl.go │ └── executor_impl_test.go ├── jobstore │ └── jobstore.go ├── network │ ├── client.go │ ├── network.pb.go │ ├── network.proto │ ├── network_grpc.pb.go │ └── server │ │ └── server.go └── routestore │ └── routestore.go ├── docs ├── .DS_Store ├── Architecture.md ├── DevAPI.md ├── Purpose.md ├── Refer.md ├── Roadmap.md ├── Setup.md ├── ShardMigration.md ├── TODO.md └── images │ ├── .DS_Store │ ├── cluster_animation.gif │ └── components.png ├── go.mod ├── go.sum ├── handlers └── rest │ ├── cluster.go │ ├── job.go │ └── route.go ├── models ├── config │ └── config.go ├── jobmodels │ ├── job.go │ ├── job.pb.go │ └── job.proto └── routemodels │ ├── route.go │ └── route_test.go ├── process ├── clusterhealth │ └── clusterhealth.go ├── connectionmanager │ └── connection_manager.go ├── cordinator │ ├── cordinator.go │ └── errors.go ├── datastoremanager │ └── datastore_manager.go ├── nodemanager │ └── node_manager.go └── publisher │ └── publisher.go ├── scripts ├── build.sh ├── clean-create.sh ├── configure.sh ├── dev-start.sh ├── join.sh ├── spawn.sh └── status.sh └── utils ├── address ├── address.go └── address_test.go ├── constants └── constants.go ├── httpclient └── http_client.go ├── kafkaclient └── kafkaclient.go └── time └── time.go /.github/workflows/go.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/.github/workflows/go.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/.gitignore -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/LICENSE.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/README.md -------------------------------------------------------------------------------- /cmd/cli/cli.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/cmd/cli/cli.go -------------------------------------------------------------------------------- /cmd/cli/helper.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/cmd/cli/helper.go -------------------------------------------------------------------------------- /cmd/cli/models.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/cmd/cli/models.go -------------------------------------------------------------------------------- /cmd/cli/operations.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/cmd/cli/operations.go -------------------------------------------------------------------------------- /cmd/integrationtest/tester.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/cmd/integrationtest/tester.go -------------------------------------------------------------------------------- /cmd/server/routes.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/cmd/server/routes.go -------------------------------------------------------------------------------- /cmd/server/timeMachine.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/cmd/server/timeMachine.go -------------------------------------------------------------------------------- /components/Components.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/components/Components.md -------------------------------------------------------------------------------- /components/consensus/Consensus.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/components/consensus/Consensus.md -------------------------------------------------------------------------------- /components/consensus/consensus.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/components/consensus/consensus.go -------------------------------------------------------------------------------- /components/consensus/consensus_raft.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/components/consensus/consensus_raft.go -------------------------------------------------------------------------------- /components/consensus/converter.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/components/consensus/converter.go -------------------------------------------------------------------------------- /components/consensus/errors.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/components/consensus/errors.go -------------------------------------------------------------------------------- /components/consensus/fsm/fsm.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/components/consensus/fsm/fsm.go -------------------------------------------------------------------------------- /components/consensus/fsm/fsm_raft.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/components/consensus/fsm/fsm_raft.go -------------------------------------------------------------------------------- /components/consensus/fsm/fsm_snapshot.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/components/consensus/fsm/fsm_snapshot.go -------------------------------------------------------------------------------- /components/consensus/fsm/models.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/components/consensus/fsm/models.go -------------------------------------------------------------------------------- /components/datashard/datashard.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/components/datashard/datashard.go -------------------------------------------------------------------------------- /components/datashard/datastore/datastore_bolt.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/components/datashard/datastore/datastore_bolt.go -------------------------------------------------------------------------------- /components/datashard/datastore/datastore_bolt_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/components/datashard/datastore/datastore_bolt_test.go -------------------------------------------------------------------------------- /components/datashard/datastore/errors.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/components/datashard/datastore/errors.go -------------------------------------------------------------------------------- /components/datashard/wal/wal.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/components/datashard/wal/wal.go -------------------------------------------------------------------------------- /components/datashard/wal/wal_disk.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/components/datashard/wal/wal_disk.go -------------------------------------------------------------------------------- /components/dht/dht.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/components/dht/dht.go -------------------------------------------------------------------------------- /components/dht/dht.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/components/dht/dht.md -------------------------------------------------------------------------------- /components/dht/dht_memory.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/components/dht/dht_memory.go -------------------------------------------------------------------------------- /components/dht/dht_memory_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/components/dht/dht_memory_test.go -------------------------------------------------------------------------------- /components/executor/executable_heap.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/components/executor/executable_heap.go -------------------------------------------------------------------------------- /components/executor/executable_heap_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/components/executor/executable_heap_test.go -------------------------------------------------------------------------------- /components/executor/executor.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/components/executor/executor.go -------------------------------------------------------------------------------- /components/executor/executor.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/components/executor/executor.md -------------------------------------------------------------------------------- /components/executor/executor_impl.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/components/executor/executor_impl.go -------------------------------------------------------------------------------- /components/executor/executor_impl_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/components/executor/executor_impl_test.go -------------------------------------------------------------------------------- /components/jobstore/jobstore.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/components/jobstore/jobstore.go -------------------------------------------------------------------------------- /components/network/client.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/components/network/client.go -------------------------------------------------------------------------------- /components/network/network.pb.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/components/network/network.pb.go -------------------------------------------------------------------------------- /components/network/network.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/components/network/network.proto -------------------------------------------------------------------------------- /components/network/network_grpc.pb.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/components/network/network_grpc.pb.go -------------------------------------------------------------------------------- /components/network/server/server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/components/network/server/server.go -------------------------------------------------------------------------------- /components/routestore/routestore.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/components/routestore/routestore.go -------------------------------------------------------------------------------- /docs/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/docs/.DS_Store -------------------------------------------------------------------------------- /docs/Architecture.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/docs/Architecture.md -------------------------------------------------------------------------------- /docs/DevAPI.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/docs/DevAPI.md -------------------------------------------------------------------------------- /docs/Purpose.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/docs/Purpose.md -------------------------------------------------------------------------------- /docs/Refer.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/docs/Refer.md -------------------------------------------------------------------------------- /docs/Roadmap.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/docs/Roadmap.md -------------------------------------------------------------------------------- /docs/Setup.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/docs/Setup.md -------------------------------------------------------------------------------- /docs/ShardMigration.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/docs/ShardMigration.md -------------------------------------------------------------------------------- /docs/TODO.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/docs/TODO.md -------------------------------------------------------------------------------- /docs/images/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/docs/images/.DS_Store -------------------------------------------------------------------------------- /docs/images/cluster_animation.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/docs/images/cluster_animation.gif -------------------------------------------------------------------------------- /docs/images/components.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/docs/images/components.png -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/go.sum -------------------------------------------------------------------------------- /handlers/rest/cluster.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/handlers/rest/cluster.go -------------------------------------------------------------------------------- /handlers/rest/job.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/handlers/rest/job.go -------------------------------------------------------------------------------- /handlers/rest/route.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/handlers/rest/route.go -------------------------------------------------------------------------------- /models/config/config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/models/config/config.go -------------------------------------------------------------------------------- /models/jobmodels/job.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/models/jobmodels/job.go -------------------------------------------------------------------------------- /models/jobmodels/job.pb.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/models/jobmodels/job.pb.go -------------------------------------------------------------------------------- /models/jobmodels/job.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/models/jobmodels/job.proto -------------------------------------------------------------------------------- /models/routemodels/route.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/models/routemodels/route.go -------------------------------------------------------------------------------- /models/routemodels/route_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/models/routemodels/route_test.go -------------------------------------------------------------------------------- /process/clusterhealth/clusterhealth.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/process/clusterhealth/clusterhealth.go -------------------------------------------------------------------------------- /process/connectionmanager/connection_manager.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/process/connectionmanager/connection_manager.go -------------------------------------------------------------------------------- /process/cordinator/cordinator.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/process/cordinator/cordinator.go -------------------------------------------------------------------------------- /process/cordinator/errors.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/process/cordinator/errors.go -------------------------------------------------------------------------------- /process/datastoremanager/datastore_manager.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/process/datastoremanager/datastore_manager.go -------------------------------------------------------------------------------- /process/nodemanager/node_manager.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/process/nodemanager/node_manager.go -------------------------------------------------------------------------------- /process/publisher/publisher.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/process/publisher/publisher.go -------------------------------------------------------------------------------- /scripts/build.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/scripts/build.sh -------------------------------------------------------------------------------- /scripts/clean-create.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/scripts/clean-create.sh -------------------------------------------------------------------------------- /scripts/configure.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/scripts/configure.sh -------------------------------------------------------------------------------- /scripts/dev-start.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/scripts/dev-start.sh -------------------------------------------------------------------------------- /scripts/join.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/scripts/join.sh -------------------------------------------------------------------------------- /scripts/spawn.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/scripts/spawn.sh -------------------------------------------------------------------------------- /scripts/status.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/scripts/status.sh -------------------------------------------------------------------------------- /utils/address/address.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/utils/address/address.go -------------------------------------------------------------------------------- /utils/address/address_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/utils/address/address_test.go -------------------------------------------------------------------------------- /utils/constants/constants.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/utils/constants/constants.go -------------------------------------------------------------------------------- /utils/httpclient/http_client.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/utils/httpclient/http_client.go -------------------------------------------------------------------------------- /utils/kafkaclient/kafkaclient.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/utils/kafkaclient/kafkaclient.go -------------------------------------------------------------------------------- /utils/time/time.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarthikrao/timeMachine/HEAD/utils/time/time.go --------------------------------------------------------------------------------