Run 10 OpenStack APIs in a single process. Full API fidelity —
no cloud account, no complex setup. Just pip install or docker run.
하나의 프로세스에서 10개의 OpenStack API를 실행하세요.
클라우드 계정 없이, 복잡한 설정 없이. pip install 또는 docker run만으로.
$ docker run -p 5000-9999:5000-9999 ghcr.io/jaehanbyun/localostack:latest LocalOStack v0.2.0 ───────────────────────────────────── Ready at http://localhost:5000
Start instantly with sensible defaults
합리적인 기본값으로 즉시 시작
Keystone to Octavia in one process
Keystone부터 Octavia까지 하나의 프로세스에서
Drop-in replacement for real OpenStack
실제 OpenStack과 호환되는 API
Simulate errors, latency & chaos
오류, 지연 및 카오스 시뮬레이션
SQLite-backed state across restarts
재시작 시에도 SQLite 기반 상태 유지
pytest-localostack for test fixtures
테스트 픽스처를 위한 pytest-localostack
Demo
Watch LocalOStack boot up and serve real OpenStack API requests.
LocalOStack이 부팅되고 실제 OpenStack API 요청을 처리하는 과정을 확인하세요.
Real terminal recording — OpenStack CLI in action:
실제 터미널 녹화 — OpenStack CLI 동작 모습:
Quick Start시작하기
$pip install localostack$localostack start
$ docker run --rm -p 5000-9999:5000-9999 \
ghcr.io/jaehanbyun/localostack:latest
# docker-compose.yml
services:
localostack:
image: ghcr.io/jaehanbyun/localostack:latest
ports:
- "5000-9999:5000-9999"
environment:
- LOCALOSTACK_PERSIST=true
Then configure your client: 그런 다음 클라이언트를 설정하세요:
# ~/.config/openstack/clouds.yaml
clouds:
localostack:
auth:
auth_url: http://localhost:5000/v3
project_name: admin
username: admin
password: password
user_domain_name: Default
project_domain_name: Default
region_name: RegionOne
Services서비스
Every service runs on its canonical port. No conflict, no confusion.
모든 서비스가 공식 포트에서 실행됩니다. 충돌 없이, 혼란 없이.
Identity & authentication service
인증 및 신원 확인 서비스
v3Compute (servers, flavors, keypairs)
컴퓨트 (서버, 플레이버, 키페어)
v2.1Networking (networks, subnets, ports)
네트워킹 (네트워크, 서브넷, 포트)
v2.0Image registry and management
이미지 레지스트리 및 관리
v2Block storage volumes
블록 스토리지 볼륨
v3Resource inventory & allocation
리소스 인벤토리 및 할당
v1Orchestration & stack templates
오케스트레이션 및 스택 템플릿
v1Object storage (S3-compatible)
오브젝트 스토리지 (S3 호환)
v1Secrets & key management
시크릿 및 키 관리
v1Load balancer as a service
서비스형 로드 밸런서
v2Ecosystem에코시스템
Drop-in compatible with every major OpenStack client and tool.
모든 주요 OpenStack 클라이언트 및 도구와 호환됩니다.
pytest fixtures for integration tests
통합 테스트를 위한 pytest 픽스처
pip install pytest-localostack
Native Python package on PyPI
PyPI에서 설치 가능한 Python 패키지
pip install localostack
Official Python SDK
공식 Python SDK
CLI for OpenStack
OpenStack CLI 도구
OpenStack provider
OpenStack 프로바이더
Go SDK for OpenStack
Go용 OpenStack SDK
CI/CD integration
CI/CD 통합
Multi-service orchestration
멀티 서비스 오케스트레이션
CLI
Four commands to manage your local cloud.
로컬 클라우드를 관리하는 4가지 명령어.
localostack start
Start all services on their default ports
모든 서비스를 기본 포트에서 시작
localostack status
Health check dashboard for all endpoints
모든 엔드포인트의 상태 확인 대시보드
localostack init
Generate clouds.yaml configuration file
clouds.yaml 설정 파일 생성
localostack reset
Reset all state and start fresh
모든 상태 초기화 후 새로 시작
Chaos Engineering카오스 엔지니어링
Simulate real-world failures. Test how your application handles errors, latency, and chaos.
실제 장애를 시뮬레이션하세요. 애플리케이션이 오류, 지연, 카오스를 어떻게 처리하는지 테스트하세요.
# Inject 500 errors on Nova compute API $curl -X POST http://localhost:9999/fault \ -H "Content-Type: application/json" \ -d '{ "service": "nova", "fault": "error", "status_code": 500, "probability": 0.5 }'# Add latency to Neutron responses $curl -X POST http://localhost:9999/fault \ -H "Content-Type: application/json" \ -d '{ "service": "neutron", "fault": "latency", "delay_ms": 2000, "probability": 1.0 }'# Clear all faults $curl -X DELETE http://localhost:9999/fault
Configuration설정
Fine-tune LocalOStack with environment variables. All optional.
환경 변수로 LocalOStack을 세밀하게 조정하세요. 모두 선택 사항입니다.
| Variable변수 | Default기본값 | Description설명 |
|---|---|---|
LOCALOSTACK_HOST | 0.0.0.0 | Bind address |
LOCALOSTACK_KEYSTONE_PORT | 5000 | Identity service port |
LOCALOSTACK_NOVA_PORT | 8774 | Compute service port |
LOCALOSTACK_NEUTRON_PORT | 9696 | Network service port |
LOCALOSTACK_GLANCE_PORT | 9292 | Image service port |
LOCALOSTACK_CINDER_PORT | 8776 | Block storage port |
LOCALOSTACK_PLACEMENT_PORT | 8778 | Placement service port |
LOCALOSTACK_HEAT_PORT | 8004 | Orchestration port |
LOCALOSTACK_SWIFT_PORT | 8080 | Object storage port |
LOCALOSTACK_BARBICAN_PORT | 9311 | Secrets service port |
LOCALOSTACK_OCTAVIA_PORT | 9876 | Load balancer port |
| Variable변수 | Default기본값 | Description설명 |
|---|---|---|
LOCALOSTACK_ADMIN_USERNAME | admin | Admin username |
LOCALOSTACK_ADMIN_PASSWORD | password | Admin password |
LOCALOSTACK_ADMIN_PROJECT | admin | Admin project name |
LOCALOSTACK_REGION | RegionOne | Region name |
| Variable변수 | Default기본값 | Description설명 |
|---|---|---|
LOCALOSTACK_PERSISTENCE | memory | "memory" or "sqlite" |
LOCALOSTACK_DB_PATH | /var/lib/localostack/state.db | SQLite database file path |
| Variable변수 | Default기본값 | Description설명 |
|---|---|---|
LOCALOSTACK_FAULT_RULES | "" | JSON fault rules (or use Admin API) |
LOCALOSTACK_ADMIN_PORT | 9999 | Admin/fault API port |