- Documentation
- Services
- Service Catalog
On this page
- What is the Service Catalog?
- Available services
- Databases
- Caches
- Message queues
- Storage
- Tools
- CI/CD
- Capabilities
- Deploying a catalog service
- Connection credentials
- Service discovery
- Version management
- Storage management
- Backup and restore
- Viewing backups
- Restoring from a backup
- Using the CLI
- Browsing and deploying
- Managing credentials
- Managing storage
- Managing backups
- Connecting to catalog services
- Interactive shell (exec)
- Port forwarding (proxy)
- Configuration
- Tier availability
- Next steps
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
| Service | Description | Default Version |
|---|---|---|
| PostgreSQL | Powerful open-source relational database with ACID compliance | 17 (Alpine) |
| MySQL | Popular relational database for web applications | 9.0 |
| MongoDB | Document-oriented NoSQL database for flexible data models | 8.0 |
| Meilisearch | Lightweight, typo-tolerant search engine with a RESTful API for full-text search | 1.13 |
| Qdrant | High-performance vector database for AI applications and similarity search | 1.14 |
Caches
| Service | Description | Default Version |
|---|---|---|
| Redis | High-performance in-memory data store for caching and message brokering | 7.4 (Alpine) |
| Valkey | Open-source Redis-compatible in-memory data store | 8.0 (Alpine) |
| Memcached | Distributed memory caching system for speeding up dynamic web applications | 1.6 (Alpine) |
Message queues
| Service | Description | Default Version |
|---|---|---|
| NATS | Lightweight, high-performance messaging system for cloud-native applications | 2.10 (Alpine) |
| RabbitMQ | Feature-rich message broker supporting multiple messaging protocols | 4.0 (Management, Alpine) |
Storage
| Service | Description | Default Version |
|---|---|---|
| MinIO | High-performance S3-compatible object storage for files, backups, and unstructured data | latest |
Tools
| Service | Description | Default Version |
|---|---|---|
| Mailpit | Lightweight email testing tool with a modern web UI for inspecting and testing emails | 1.24 |
CI/CD
| Service | Description | Default Version |
|---|---|---|
| GitHub Actions Runner | Self-hosted runner that executes CI/CD workflows from your GitHub repositories | 2.323.0 |
Capabilities
Each catalog service has a set of capabilities that determine its features:
| Capability | Description | Services |
|---|---|---|
| persistent-storage | Data persists across restarts using Longhorn volumes | PostgreSQL, MySQL, MongoDB, Redis, Valkey, NATS, RabbitMQ, Meilisearch, Qdrant, MinIO |
| backup | Automatic daily Longhorn snapshots with 3-day retention | PostgreSQL, MySQL, MongoDB, Redis, Valkey, NATS, RabbitMQ, Meilisearch, Qdrant, MinIO |
| credentials | Auto-generated usernames, passwords, and connection strings | All 13 services |
| metrics | Built-in Prometheus metrics for monitoring | All 13 services |
Deploying a catalog service
To deploy a catalog service from the dashboard:
- Navigate to your project
- Click New Service and select the Service Catalog tab
- Browse the available services and select the one you need
- 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
- 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 stringPOSTGRES_HOST— service hostnamePOSTGRES_PORT— port numberPOSTGRES_USER— usernamePOSTGRES_PASSWORD— passwordPOSTGRES_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:
- Go to the service page
- Click Settings
- Select a new version from the dropdown
- 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:
- Go to the service page
- Click Settings
- Adjust the Storage Size slider or input
- 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:
- Go to the service page
- Click the Backups tab
- Select a snapshot from the list
- Click Restore
- 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:
| Tier | Catalog Access |
|---|---|
| Hobby | Not available |
| Pro | Available |
| Business | Available |
| Enterprise | Available |
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.