← Back to list

Building Nebula — A Modern CLI for Local Google Cloud Development with Floci-GCP

Over the past few days, I was exploring floci-gcp, a lightweight local Google Cloud emulator that supports services like Cloud Storage…

Harshal Jethwa · 2026-06-18 10:40 · 0 claps · 5.5 min read
#google-cloud-platform #google #floci #tools #devops
Open on Medium ↗
Wiki topics: RAG · RAG & Retrieval ☁️ · DevOps & Cloud 🔭 · Astronomy & Space

Building Nebula — A Modern CLI for Local Google Cloud Development with Floci-GCP

Over the past few days, I was exploring floci-gcp, a lightweight local Google Cloud emulator that supports services like Cloud Storage, Pub/Sub, Secret Manager, IAM, Kafka, Cloud Tasks, Firestore, and more.

While experimenting with it, I noticed something missing.

Although the emulator exposes REST and gRPC APIs, there wasn’t a simple developer-friendly CLI to interact with it the way we use gcloud with Google Cloud Platform.

That idea led me to build Nebula.

Thank you for taking the time to read this article and try Nebula. Stay tuned — the first official release is coming soon! 🚀

Why Nebula?

When developing applications locally, I often need to:

  • Create storage buckets
  • Upload and download files
  • Create Pub/Sub topics
  • Publish and consume messages
  • Manage secrets
  • Test IAM operations
  • Work with Kafka resources

Doing all of this using raw REST requests or Postman quickly becomes repetitive.

I wanted something that felt natural from the terminal.

Instead of writing:

curl -X POST http://localhost:4588/...

I wanted to write:

nebula pubsub topics create demo

or

nebula storage mb my-bucket

That became the goal.

What is Nebula?

Nebula is a lightweight command-line interface built on top of floci-gcp that makes local Google Cloud development significantly easier.

Instead of manually crafting HTTP requests, Nebula provides intuitive commands for interacting with emulator services.

Current supported services include:

  • Cloud Storage
  • Pub/Sub (REST)
  • Pub/Sub (gRPC)
  • Secret Manager
  • IAM
  • Kafka

Cloud Tasks and Firestore support are currently under development.

Features

Cloud Storage

  • Create buckets
  • Delete buckets
  • List buckets
  • Upload files
  • Download objects
  • Delete objects
  • List objects

Example:

nebula storage mb demo

nebula storage cp hello.txt gs://demo/hello.txt
nebula storage objects demo
nebula storage cat demo hello.txt

Pub/Sub (REST)

Create topics and subscriptions, publish messages, and consume them using REST APIs.

nebula pubsub topics create demo
nebula pubsub subscriptions create sub1 demo
nebula pubsub topics publish demo "Hello World"
nebula pubsub subscriptions pull sub1

Pub/Sub (gRPC)

Nebula also supports native gRPC communication for Pub/Sub.

nebula pubsub topics create demo --grpc

nebula pubsub topics publish demo "Hello gRPC"
nebula pubsub subscriptions pull sub1 --grpc

This allows testing applications using the same communication protocol used by Google Cloud Pub/Sub.

Secret Manager

Managing secrets locally becomes much easier.

nebula secrets create my-secret

nebula secrets versions add my-secret secret.txt
nebula secrets versions list my-secret
nebula secrets versions access my-secret

Kafka

Nebula includes support for Kafka resources exposed by floci-gcp.

nebula kafka clusters list

nebula kafka topics create local demo
nebula kafka topics list local

Installation

Installation will be available through pip.

pip install nebula

Then simply verify:

nebula --help

Why I Built It

This project wasn’t planned.

It started while exploring floci-gcp and testing different emulator services.

As I kept opening Postman, writing cURL commands, and checking API documentation, I realized I was repeating the same tasks over and over again.

Instead of continuing that workflow, I decided to automate it.

Nebula became my weekend project to make local cloud development faster — not only for myself but hopefully for anyone working with Google Cloud emulators.

Tech Stack

Nebula is built using:

  • Python
  • Typer
  • Rich
  • HTTPX
  • gRPC
  • Protocol Buffers

The goal is to keep the CLI lightweight, fast, and easy to extend.

Nebula CLI Commands (v0.1.0)

Version

nebula version

Cloud Storage

Create Bucket

nebula storage mb test-bucket

List Buckets

nebula storage ls

Bucket Details

nebula storage stat test-bucket

Upload File

echo Hello World > test.txt

nebula storage cp test.txt gs://test-bucket/test.txt

List Objects

nebula storage objects test-bucket

Read Object

nebula storage cat test-bucket test.txt

Delete Object

nebula storage rm test-bucket test.txt

Delete Bucket

nebula storage rb test-bucket

Pub/Sub (REST)

Topics

Create Topic

nebula pubsub topics create demo --grpc

List Topics

nebula pubsub topics list --grpc

Publish Message

nebula pubsub topics publish demo "Hello World" --grpc

Delete Topic

nebula pubsub topics delete demo --grpc

Subscriptions

Create Subscription

nebula pubsub subscriptions create sub1 demo --grpc

List Subscriptions

nebula pubsub subscriptions list --grpc

Pull Messages

nebula pubsub subscriptions pull sub1 --grpc

Acknowledge Messages

Messages are acknowledged automatically after pulling.

Secret Manager

Create Secret

nebula secrets create my-secret

List Secrets

nebula secrets list

Get Secret

nebula secrets get my-secret

Create Secret Version

echo hello>secret.txt

nebula secrets versions add my-secret secret.txt

List Versions

nebula secrets versions list my-secret

Access Latest Version

nebula secrets versions access my-secret

Access Specific Version

nebula secrets versions access my-secret --version 1

Delete Secret

nebula secrets delete my-secret

Kafka

Clusters

Create

nebula kafka clusters create local

List

nebula kafka clusters list

Get

nebula kafka clusters get local

Update

nebula kafka clusters update local 2 2147483648

Delete

nebula kafka clusters delete local

Topics

Create

nebula kafka topics create local demo

List

nebula kafka topics list local

Get

nebula kafka topics get local demo

Update Partitions

nebula kafka topics update local demo 3

Delete

nebula kafka topics delete local demo

Consumer Groups

List

nebula kafka groups list local

Get

nebula kafka groups get local <GROUP_ID>

Consumer groups are created automatically by Kafka consumers. Nebula currently provides management commands only.

IAM

Service Accounts

Create

nebula iam sa create demo-sa

List

nebula iam sa list

Get

nebula iam sa get demo-sa

Delete

nebula iam sa delete demo-sa

Service Account Keys

Create

nebula iam keys create demo-sa

List

nebula iam keys list demo-sa

Delete

nebula iam keys delete demo-sa <KEY_ID>

Blob Signing

echo Hello World > message.txt

nebula iam sign-blob demo-sa message.txt

IAM Policy

nebula iam policy get demo-sa
nebula iam policy set demo-sa policy.json

Test Permissions

nebula iam permissions test demo-sa iam.serviceAccounts.get

Current Status

Supported:

  • Cloud Storage
  • Pub/Sub (REST)
  • Pub/Sub (gRPC)
  • Secret Manager
  • IAM
  • Kafka

In Progress:

  • Cloud Tasks
  • Firestore
  • Datastore

🚀 What’s Next?

Nebula is still in active development, and there are plenty of exciting features on the roadmap, including:

  • ☁️ Cloud Tasks
  • 🔥 Firestore
  • 🗄️ Datastore
  • ⚡ Cloud Functions
  • 🌐 Cloud Run
  • 📊 BigQuery
  • 🔄 Cloud Scheduler
  • 🚀 More gRPC support across Google Cloud services

The goal is to make local Google Cloud development as simple and developer-friendly as possible.

💬 Feedback & Contributions

If you encounter any issues, have feature requests, or simply want to share your experience using Nebula, I’d love to hear from you.

Feel free to open an issue (once the repository is public) or connect with me directly.

📧 Email: harshaljethwa19@gmail.com 💼 LinkedIn: https://linkedin.com/in/your-profile

Every piece of feedback helps improve Nebula and makes it better for the entire developer community.

Thank you for taking the time to read this article and try Nebula. Stay tuned — the first official release is coming soon! 🚀

Happy coding! 🚀


메타데이터
post_id
2c74586fcc56
slug
building-nebula-a-modern-cli-for-local-google-cloud-development-with-floci-gcp-2c74586fcc56
url
https://medium.com/@harshaljethwaa/building-nebula-a-modern-cli-for-local-google-cloud-development-with-floci-gcp-2c74586fcc56
canonical_url
https://medium.com/@harshaljethwaa/building-nebula-a-modern-cli-for-local-google-cloud-development-with-floci-gcp-2c74586fcc56
author_url
https://medium.com/@harshaljethwaa
status
ok
fetched_at
2026-06-20 20:29:01