Add initial implementation of Agate snapshot library

Introduces core functionality for the Agate library, including snapshot creation, restoration, listing, and deletion. Adds examples for basic usage, gRPC proto definitions, and build/configuration files such as `go.mod` and `Makefile`. The implementation establishes the framework for store integration and placeholder server functionality.
This commit is contained in:
2025-04-24 02:44:16 +03:00
commit 7e9cea9227
20 changed files with 2649 additions and 0 deletions

16
Makefile Normal file
View File

@ -0,0 +1,16 @@
download-third-party:
rm -rf ./grpc/third_party
mkdir -p ./grpc/third_party
cd ./grpc/third_party && git clone https://github.com/googleapis/googleapis.git
mv ./grpc/third_party/googleapis/google ./grpc
mv ./grpc/third_party/googleapis/grafeas ./grpc
rm -rf ./grpc/third_party
gen-proto-geolocation:
mkdir -p ./grpc
@protoc -I ./grpc \
--go_out=grpc --go_opt paths=source_relative \
--go-grpc_out=grpc --go-grpc_opt paths=source_relative \
--grpc-gateway_out=grpc --grpc-gateway_opt paths=source_relative \
./grpc/snapshot.proto