#google-cloud-platform #client #gcp #call #deployment #ci-cd #docker

app gcp-client-rust

Minimal Rust client Call to Google Cloud

3 releases (breaking)

Uses new Rust 2024

new 0.4.0 Dec 11, 2025
0.2.0 Oct 26, 2025
0.1.0 Oct 8, 2025

#1786 in Network programming

MIT license

19KB

gcp-client-rust

A simple gcp client that makes a google cloud client SDK call with the Rust SDK

Project Overview

A simple gcp client that makes a google cloud client SDK call with the Rust SDK

Key Technologies

Getting Started

This project uses a Makefile to simplify common development tasks.

Prerequisites

Initial Setup

  1. Install Dependencies:

    cargo build
    
  2. Run the application locally:

    make run
    

    The server will start on port 8080.

Development Workflow

The Makefile provides targets for common development tasks.

Building the Project

  • Development Build:
    make build
    
  • Release Build:
    make release
    

Running Locally

make run

Code Quality

  • Formatting:
    make format
    
  • Linting:
    make clippy
    

Testing

make test

Deployment

Deployment is handled by Google Cloud Build and defined in cloudbuild.yaml.

Manual Deployment

To manually trigger a deployment, run:

make deploy

This command submits a build to Google Cloud Build, which will:

  1. Build the Docker image (as defined in Dockerfile).
  2. Push the image to Google Container Registry (GCR).
  3. Deploy the new image to the cloudrun-rust service in the us-central1 region.

Deployment Process

  • Dockerfile: A multi-stage Dockerfile is used to create a minimal, secure production image.
    1. Builder Stage: The Rust code is compiled in a rust builder image.
    2. Final Stage: The compiled binary is copied to a minimal gcr.io/distroless/cc-debian12 image.
  • cloudbuild.yaml: This file defines the Cloud Build pipeline. It takes care of building, pushing, and deploying the container image.

Dependencies

~27–44MB
~728K SLoC