diff options
Diffstat (limited to 'ext/gs/README.md')
-rw-r--r-- | ext/gs/README.md | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/ext/gs/README.md b/ext/gs/README.md new file mode 100644 index 000000000..48fb88c7e --- /dev/null +++ b/ext/gs/README.md @@ -0,0 +1,71 @@ +# Install the Google Cloud Storage dependencies. + +``` +sudo apt-get install \ + cmake \ + libcurl3-gnutls-dev \ + libgrpc++-dev \ + libprotobuf-dev \ + protobuf-compiler-grpc +``` + +# Build the Google Cloud Storage library + +``` +git clone https://github.com/google/crc32c.git +cd crc32c && git checkout -b 1.1.1 +mkdir build && cd build +cmake .. \ + -GNinja \ + -DCMAKE_INSTALL_PREFIX:PATH=~/dev/gst-build/prefix \ + -DCMAKE_INSTALL_LIBDIR:PATH=lib \ + -DBUILD_SHARED_LIBS=YES \ + -DCRC32C_USE_GLOG=NO \ + -DCRC32C_BUILD_TESTS=NO \ + -DCRC32C_BUILD_BENCHMARKS=NO +ninja && ninja install + +git clone https://github.com/abseil/abseil-cpp.git +git checkout master +mkdir build && cd build +cmake .. \ + -GNinja \ + -DBUILD_TESTING=NO \ + -DCMAKE_INSTALL_PREFIX:PATH=~/dev/gst-build/prefix \ + -DCMAKE_INSTALL_LIBDIR:PATH=lib \ + -DBUILD_SHARED_LIBS=YES +ninja && ninja install + +git clone https://github.com/googleapis/google-cloud-cpp.git +git checkout -b v1.25.0 +mkdir build && cd build +cmake .. \ + -GNinja \ + -DCMAKE_INSTALL_PREFIX:PATH=~/dev/gst-build/prefix \ + -DCMAKE_INSTALL_LIBDIR:PATH=lib \ + -DBUILD_SHARED_LIBS=YES \ + -DBUILD_TESTING=NO \ + -DGOOGLE_CLOUD_CPP_ENABLE=storage +ninja && ninja install +``` + +# Running the gs elements locally + +When running from the command line or in a container running locally, simply +set the credentials by exporting GOOGLE_APPLICATION_CREDENTIALS. If you are +not familiar with this environment variable, check the documentation +https://cloud.google.com/docs/authentication/getting-started +Note that you can restrict a service account to the role Storage Admin or +Storage Object Creator instead of the Project Owner role from the above +documentation. + +# Running the gs elements in Google Cloud Run + +Add the Storage Object Viewer role to the service account assigned to the +Cloud Run service where gssrc runs. For gssink add the role Storage Object +Creator. Then just set the service-account-email property on the element. + +# Running the gs elements in Google Cloud Kubernetes + +You need to set GOOGLE_APPLICATION_CREDENTIALS in the container and ship the +json file to which the environment variable points to. |