Available Services
13 services available for your development stack.
Each service can be configured through the service_configuration section in your otto-stack-config.yaml file. For detailed configuration instructions, see the
Configuration Guide.
ποΈ Database
mysql
MySQL relational database for persistent data storage
Configuration Options
database
Default database name
- Type:
string - Default:
local_dev
password
Root password
- Type:
string - Default:
password
user
Database user
- Type:
string - Default:
root
databases
Additional databases to create
- Type:
array
Items:
- name (
string)
users
Additional users to create
- Type:
array
Items:
name (
string)password (
string)database (
string)
Example Configuration
database: local_dev
password: password
user: root
databases:
- name: example-name
users:
- name: example-name
password: example-password
database: example-databaseUse Cases
Primary application database
Transactional data storage
Relational data modeling
postgres
PostgreSQL relational database for persistent data storage
Configuration Options
database
Default database name
- Type:
string - Default:
local_dev
password
Database password
- Type:
string - Default:
password
user
Database user
- Type:
string - Default:
postgres
Example Configuration
database: local_dev
password: password
user: postgresUse Cases
Primary application database
Transactional data storage
Relational data modeling
ACID compliance requirements
β‘ Cache
redis
Redis in-memory data store for caching and session storage
Configuration Options
password
Redis password
- Type:
string - Default:
password
max_memory
Maximum memory limit
- Type:
string - Default:
256m
databases
Number of databases
- Type:
integer - Default:
16
Example Configuration
password: password
max_memory: 256m
databases: 16Use Cases
Session storage
Application caching
Rate limiting
Pub/Sub messaging
Temporary data storage
π¨ Messaging
kafka
Complete Apache Kafka messaging platform with UI and topic management
Configuration Options
topics
Kafka topics to create
- Type:
array
Items:
name (
string): Topic namepartitions (
integer) =3: Number of partitionsreplication_factor (
integer) =1: Replication factor
Example Configuration
topics:
- name: example-name
partitions: 3
replication_factor: 1Use Cases
Event streaming and processing
Message queuing and pub/sub
Real-time data pipelines
Microservices communication
Log aggregation and analytics
kafka-broker
Apache Kafka broker for event streaming and messaging
Configuration Options
topics
Kafka topics to create on startup
- Type:
array
Items:
name (
string): Topic namepartitions (
integer) =3: Number of partitionsreplication_factor (
integer) =1: Replication factor
Example Configuration
topics:
- name: example-name
partitions: 3
replication_factor: 1Use Cases
Event-driven microservices architecture
Real-time data streaming and processing
Message queuing between services
Data pipeline and ETL processes
kafka-ui
Web UI for Kafka cluster management and topic browsing
Use Cases
Topic management and browsing
Message inspection and debugging
Cluster monitoring and health checks
Consumer group management
zookeeper
Apache Zookeeper coordination service for distributed systems
Use Cases
Kafka cluster coordination
Distributed configuration management
Service discovery
Leader election
βοΈ Cloud
localstack-dynamodb
LocalStack DynamoDB NoSQL database emulation
Configuration Options
tables
DynamoDB tables to create
- Type:
array
Items:
name (
string): Table namehash_key (
string): Partition keyrange_key (
string): Sort keyread_capacity (
integer) =5: Read capacity unitswrite_capacity (
integer) =5: Write capacity units
Example Configuration
tables:
- name: example-name
hash_key: example-hash_key
range_key: example-range_key
read_capacity: 5
write_capacity: 5Use Cases
NoSQL database testing
High-performance data storage
Session management
Event sourcing patterns
localstack-s3
LocalStack S3 (Simple Storage Service) emulation
Configuration Options
buckets
S3 buckets to create
- Type:
array
Items:
name (
string): Bucket nameversioning (
boolean) =false: Enable versioningpublic_read (
boolean) =false: Allow public read access
Example Configuration
buckets:
- name: example-name
versioning: false
public_read: falseUse Cases
File storage and retrieval testing
Static asset hosting
Data backup and archival
Content distribution testing
localstack-sns
LocalStack SNS (Simple Notification Service) emulation
Configuration Options
topics
SNS topics to create
- Type:
array
Items:
name (
string): Topic namesubscriptions (
array): Topic subscriptions
Example Configuration
topics:
- name: example-nameUse Cases
Pub/sub messaging patterns
Event notifications
Fan-out message distribution
Integration with SQS subscriptions
localstack-sqs
LocalStack SQS (Simple Queue Service) emulation
Configuration Options
queues
SQS queues to create
- Type:
array
Items:
name (
string): Queue namevisibility_timeout (
integer) =30: Message visibility timeout in secondsdead_letter_queue (
boolean) =false: Enable dead letter queue (creates {name}-dlq)max_receive_count (
integer) =3: Max receive count before moving to DLQsubscription (
object)
Example Configuration
queues:
- name: example-name
visibility_timeout: 30
dead_letter_queue: false
max_receive_count: 3Use Cases
Message queue testing
Asynchronous processing development
Event-driven architecture testing
π Observability
jaeger
Jaeger distributed tracing system for monitoring and troubleshooting microservices
Configuration Options
sampling
Jaeger sampling configuration
- Type:
object
Properties:
default_strategy (
string) =probabilistic: Default sampling strategymax_traces_per_second (
integer) =100: Maximum traces per second
storage
Storage configuration
- Type:
object
Properties:
- type (
string) =memory: Storage backend type
Example Configuration
sampling:
default_strategy: probabilistic
max_traces_per_second: 100
storage:
type: memoryUse Cases
Distributed tracing
Performance monitoring
Service dependency analysis
Request flow visualization
prometheus-service
Prometheus metrics collection and monitoring system
Configuration Options
scrape_configs
Prometheus scrape configurations
- Type:
array
Items:
job_name (
string): Job namestatic_configs (
array): Static target configurationsscrape_interval (
string) =15s: Scrape interval
Example Configuration
scrape_configs:
- job_name: example-job_name
scrape_interval: 15sUse Cases
Application metrics collection
Performance monitoring
Alerting and notifications