Add configuration info
This commit is contained in:
22
storage-bigtable/README.md
Normal file
22
storage-bigtable/README.md
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
|
||||||
|
## BigTable Setup
|
||||||
|
|
||||||
|
### Development Environment
|
||||||
|
The Cloud BigTable emulator can be used during development/test. See
|
||||||
|
https://cloud.google.com/bigtable/docs/emulator for general setup information.
|
||||||
|
|
||||||
|
Process:
|
||||||
|
1. Run `gcloud beta emulators bigtable start` in the background
|
||||||
|
2. Run `$(gcloud beta emulators bigtable env-init)` to establish the `BIGTABLE_EMULATOR_HOST` environment variable
|
||||||
|
3. Run `./init-bigtable.sh` to configure the emulator
|
||||||
|
4. Develop/test
|
||||||
|
|
||||||
|
### Production Environment
|
||||||
|
Export a standard `GOOGLE_APPLICATION_CREDENTIALS` environment variable to your
|
||||||
|
service account credentials. The project should contain a BigTable instance
|
||||||
|
called `solana-ledger` that has been initialized by running the `./init-bigtable.sh` script.
|
||||||
|
|
||||||
|
Depending on what operation mode is required, either the
|
||||||
|
`https://www.googleapis.com/auth/bigtable.data` or
|
||||||
|
`https://www.googleapis.com/auth/bigtable.data.readonly` OAuth scope will be
|
||||||
|
requested using the provided credentials.
|
27
storage-bigtable/init-bigtable.sh
Executable file
27
storage-bigtable/init-bigtable.sh
Executable file
@ -0,0 +1,27 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
#
|
||||||
|
# Configures a BigTable instance with the expected tables
|
||||||
|
#
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
instance=solana-ledger
|
||||||
|
|
||||||
|
cbt=(
|
||||||
|
cbt
|
||||||
|
-instance
|
||||||
|
"$instance"
|
||||||
|
)
|
||||||
|
if [[ -n $BIGTABLE_EMULATOR_HOST ]]; then
|
||||||
|
cbt+=(-project emulator)
|
||||||
|
fi
|
||||||
|
|
||||||
|
for table in blocks tx tx-by-addr; do
|
||||||
|
(
|
||||||
|
set -x
|
||||||
|
"${cbt[@]}" createtable $table
|
||||||
|
"${cbt[@]}" createfamily $table x
|
||||||
|
"${cbt[@]}" setgcpolicy $table x maxversions=1
|
||||||
|
"${cbt[@]}" setgcpolicy $table x maxage=360d
|
||||||
|
)
|
||||||
|
done
|
Reference in New Issue
Block a user