Last updated: April 9, 2026

Service Catalog

The Service Catalog lets you deploy managed infrastructure services — databases, caches, and message queues — directly from the Guara Cloud dashboard. Each catalog service runs as a dedicated container within your project, fully managed with automated credentials, service discovery, and optional backups.

What is the Service Catalog?

Instead of managing your own database or cache containers, the Service Catalog provides pre-configured, production-ready infrastructure services. When you deploy a catalog service, Guara Cloud handles:

  • Provisioning — container, networking, and storage are created automatically
  • Credentials — usernames, passwords, and connection strings are auto-generated
  • Service discovery — connection details are injected as environment variables into sibling services
  • Health monitoring — liveness and readiness probes are configured out of the box
  • Backups — automatic Longhorn snapshots for services with persistent storage

Available services

The catalog includes 13 managed services across six categories:

Databases

ServiceDescriptionDefault Version
PostgreSQLPowerful open-source relational database with ACID compliance17 (Alpine)
MySQLPopular relational database for web applications9.0
MongoDBDocument-oriented NoSQL database for flexible data models8.0
MeilisearchLightweight, typo-tolerant search engine with a RESTful API for full-text search1.13
QdrantHigh-performance vector database for AI applications and similarity search1.14

Caches

ServiceDescriptionDefault Version
RedisHigh-performance in-memory data store for caching and message brokering7.4 (Alpine)
ValkeyOpen-source Redis-compatible in-memory data store8.0 (Alpine)
MemcachedDistributed memory caching system for speeding up dynamic web applications1.6 (Alpine)

Message queues

ServiceDescriptionDefault Version
NATSLightweight, high-performance messaging system for cloud-native applications2.10 (Alpine)
RabbitMQFeature-rich message broker supporting multiple messaging protocols4.0 (Management, Alpine)

Storage

ServiceDescriptionDefault Version
MinIOHigh-performance S3-compatible object storage for files, backups, and unstructured datalatest

Tools

ServiceDescriptionDefault Version
MailpitLightweight email testing tool with a modern web UI for inspecting and testing emails1.24

CI/CD

ServiceDescriptionDefault Version
GitHub Actions RunnerSelf-hosted runner that executes CI/CD workflows from your GitHub repositories2.323.0

Capabilities

Each catalog service has a set of capabilities that determine its features:

CapabilityDescriptionServices
persistent-storageData persists across restarts using Longhorn volumesPostgreSQL, MySQL, MongoDB, Redis, Valkey, NATS, RabbitMQ, Meilisearch, Qdrant, MinIO
backupAutomatic daily Longhorn snapshots with 3-day retentionPostgreSQL, MySQL, MongoDB, Redis, Valkey, NATS, RabbitMQ, Meilisearch, Qdrant, MinIO
credentialsAuto-generated usernames, passwords, and connection stringsAll 13 services
metricsBuilt-in Prometheus metrics for monitoringAll 13 services

Deploying a catalog service

To deploy a catalog service from the dashboard:

  1. Navigate to your project
  2. Click New Service and select the Service Catalog tab
  3. Browse the available services and select the one you need
  4. Configure the service:
    • Version — choose from the curated list of supported versions
    • Storage size — set the initial persistent volume size (for services that support it)
    • Service-specific settings — for example, the database name for PostgreSQL
  5. Click Deploy

Guara Cloud will provision the container, create the persistent volume (if applicable), generate credentials, and start the service. The process typically takes under a minute.

Connection credentials

When a catalog service is deployed, Guara Cloud auto-generates secure credentials. You can view them in the Connection tab of the service page.

Each service provides:

  • Individual fields — host, port, username, password (varies by service)
  • Connection string — a ready-to-use URI (e.g., postgresql://guara:****@service-slug:5432/app)

Credentials are encrypted at rest and only decrypted when you view them in the dashboard or when they are injected into sibling services.

Service discovery

Catalog services are automatically discoverable by other services in the same project. When you deploy a catalog service, its connection details are injected as environment variables into all sibling services within the project.

For example, deploying a PostgreSQL catalog service makes the following environment variables available to your application services:

  • POSTGRES_URL — full connection string
  • POSTGRES_HOST — service hostname
  • POSTGRES_PORT — port number
  • POSTGRES_USER — username
  • POSTGRES_PASSWORD — password
  • POSTGRES_DATABASE — database name

Each catalog service type uses its own prefix (e.g., REDIS_, NATS_, MONGODB_, MYSQL_, RABBITMQ_, MEMCACHED_, VALKEY_, MEILISEARCH_, QDRANT_, MINIO_, MAILPIT_).

Version management

Each catalog service offers a curated list of supported versions. You can change the version of a running service from the Settings tab:

  1. Go to the service page
  2. Click Settings
  3. Select a new version from the dropdown
  4. Click Save

The service will be restarted with the new version. Make sure to verify compatibility before switching versions, especially for database services.

Storage management

Services with the persistent-storage capability use Longhorn volumes to persist data. You can resize the volume from the Settings tab:

  1. Go to the service page
  2. Click Settings
  3. Adjust the Storage Size slider or input
  4. Click Save

Storage can only be expanded, never shrunk. This is a Kubernetes limitation on PersistentVolumeClaims.

The default storage size is 1 GiB, and the maximum is 50 GiB per catalog service. Storage usage counts towards your account’s storage quota.

Backup and restore

Services with the backup capability receive automatic daily Longhorn snapshots with a 3-day retention period. You can view and manage backups from the Backups tab of the service page.

Viewing backups

The Backups tab lists all available snapshots with their creation time and status. Only snapshots marked as Ready can be used for restoration.

Restoring from a backup

To restore a catalog service from a snapshot:

  1. Go to the service page
  2. Click the Backups tab
  3. Select a snapshot from the list
  4. Click Restore
  5. Confirm the action

Using the CLI

All catalog operations are also available through the Guara Cloud CLI:

Browsing and deploying

# List all available catalog services
guara catalog list

# View details of a specific service
guara catalog info postgres

# Deploy a catalog service
guara catalog deploy postgres --name my-db --version 17-alpine --storage 5

# Deploy with custom configuration
guara catalog deploy postgres --name my-db --config databaseName=myapp

Managing credentials

# View connection credentials
guara services credentials --project my-project --service my-db

Managing storage

# Resize persistent storage (only expansion is supported)
guara services resize --project my-project --service my-db --size 10

Managing backups

# List available backup snapshots
guara services backups --project my-project --service my-db

# Restore from a specific snapshot
guara services restore --project my-project --service my-db --snapshot snap-20260409

Connecting to catalog services

Catalog services are internal and not exposed to the public internet. To interact with them from your local machine, use the CLI’s exec and proxy commands:

Interactive shell (exec)

Open a shell inside a running catalog service container:

# Interactive shell (default: /bin/sh)
guara exec --project my-project --service my-db

# Run a single command
guara exec --project my-project --service my-db -- psql -U dbuser -d app -c "SELECT 1"

Port forwarding (proxy)

Forward a local port to a catalog service, allowing you to connect with your local tools:

# Forward local port 5432 to a PostgreSQL catalog service
guara proxy --project my-project --service my-db --local-port 5432

# Then connect with your local client
psql -h localhost -p 5432 -U dbuser -d app

The proxy runs until you press Ctrl+C. The remote port is derived automatically from the service configuration.

Configuration

Some catalog services support custom configuration through the Settings tab. Available options depend on the service type:

  • PostgreSQL — database name
  • MySQL — database name
  • MongoDB — database name

Configuration changes trigger a service restart to apply the new settings.

Tier availability

The Service Catalog is gated by plan tier:

TierCatalog Access
HobbyNot available
ProAvailable
BusinessAvailable
EnterpriseAvailable

Resource allocations (CPU and memory) for catalog services scale with your tier. Higher tiers receive more generous resource profiles, ensuring better performance for production workloads.

Next steps