Features기능 Services서비스 Quick Start시작하기 Demo GitHub
Open Source · MIT License

The OpenStack Emulator
for Local Development

로컬 개발을 위한
OpenStack 에뮬레이터

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만으로.

terminal
$ docker run -p 5000-9999:5000-9999 ghcr.io/jaehanbyun/localostack:latest

 LocalOStack v0.2.0
 ─────────────────────────────────────
 Ready at http://localhost:5000
Keystone Nova Neutron Glance Cinder Placement Heat Swift Barbican Octavia

Zero Config

Start instantly with sensible defaults

합리적인 기본값으로 즉시 시작

📦

10 Services

10개 서비스

Keystone to Octavia in one process

Keystone부터 Octavia까지 하나의 프로세스에서

🔗

API Fidelity

API 호환성

Drop-in replacement for real OpenStack

실제 OpenStack과 호환되는 API

💥

Fault Injection

장애 주입

Simulate errors, latency & chaos

오류, 지연 및 카오스 시뮬레이션

💾

Persistence

영속성

SQLite-backed state across restarts

재시작 시에도 SQLite 기반 상태 유지

🔧

pytest Plugin NEW

pytest-localostack for test fixtures

테스트 픽스처를 위한 pytest-localostack

See it in action

직접 확인하세요

Watch LocalOStack boot up and serve real OpenStack API requests.

LocalOStack이 부팅되고 실제 OpenStack API 요청을 처리하는 과정을 확인하세요.

localostack — zsh

Real terminal recording — OpenStack CLI in action:

실제 터미널 녹화 — OpenStack CLI 동작 모습:

LocalOStack CLI Demo

Install in seconds

몇 초 만에 설치하세요

$ 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

10 OpenStack Services, One Process

10개의 OpenStack 서비스, 하나의 프로세스

Every service runs on its canonical port. No conflict, no confusion.

모든 서비스가 공식 포트에서 실행됩니다. 충돌 없이, 혼란 없이.

🔑
Keystone:5000

Identity & authentication service

인증 및 신원 확인 서비스

v3
💻
Nova:8774

Compute (servers, flavors, keypairs)

컴퓨트 (서버, 플레이버, 키페어)

v2.1
🌐
Neutron:9696

Networking (networks, subnets, ports)

네트워킹 (네트워크, 서브넷, 포트)

v2.0
📷
Glance:9292

Image registry and management

이미지 레지스트리 및 관리

v2
🗃
Cinder:8776

Block storage volumes

블록 스토리지 볼륨

v3
📌
Placement:8778

Resource inventory & allocation

리소스 인벤토리 및 할당

v1
🔥
Heat:8004

Orchestration & stack templates

오케스트레이션 및 스택 템플릿

v1
📦
Swift:8080

Object storage (S3-compatible)

오브젝트 스토리지 (S3 호환)

v1
🔒
Barbican:9311

Secrets & key management

시크릿 및 키 관리

v1
Octavia:9876

Load balancer as a service

서비스형 로드 밸런서

v2

Works with your stack

기존 스택과 호환됩니다

Drop-in compatible with every major OpenStack client and tool.

모든 주요 OpenStack 클라이언트 및 도구와 호환됩니다.

🔧

pytest-localostack NEW

pytest fixtures for integration tests

통합 테스트를 위한 pytest 픽스처

pip install pytest-localostack
📦

pip install NEW

Native Python package on PyPI

PyPI에서 설치 가능한 Python 패키지

pip install localostack
🐍

openstacksdk

Official Python SDK

공식 Python SDK

💻

openstackclient

CLI for OpenStack

OpenStack CLI 도구

🌏

Terraform

OpenStack provider

OpenStack 프로바이더

🐸

gophercloud

Go SDK for OpenStack

Go용 OpenStack SDK

GitHub Actions

CI/CD integration

CI/CD 통합

🐳

Docker Compose

Multi-service orchestration

멀티 서비스 오케스트레이션

Developer-friendly CLI

개발자 친화적인 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

모든 상태 초기화 후 새로 시작

Built-in Fault Injection

내장 장애 주입

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

Environment Variables

환경 변수

Fine-tune LocalOStack with environment variables. All optional.

환경 변수로 LocalOStack을 세밀하게 조정하세요. 모두 선택 사항입니다.

Variable변수Default기본값Description설명
LOCALOSTACK_HOST0.0.0.0Bind address
LOCALOSTACK_KEYSTONE_PORT5000Identity service port
LOCALOSTACK_NOVA_PORT8774Compute service port
LOCALOSTACK_NEUTRON_PORT9696Network service port
LOCALOSTACK_GLANCE_PORT9292Image service port
LOCALOSTACK_CINDER_PORT8776Block storage port
LOCALOSTACK_PLACEMENT_PORT8778Placement service port
LOCALOSTACK_HEAT_PORT8004Orchestration port
LOCALOSTACK_SWIFT_PORT8080Object storage port
LOCALOSTACK_BARBICAN_PORT9311Secrets service port
LOCALOSTACK_OCTAVIA_PORT9876Load balancer port
Variable변수Default기본값Description설명
LOCALOSTACK_ADMIN_USERNAMEadminAdmin username
LOCALOSTACK_ADMIN_PASSWORDpasswordAdmin password
LOCALOSTACK_ADMIN_PROJECTadminAdmin project name
LOCALOSTACK_REGIONRegionOneRegion name
Variable변수Default기본값Description설명
LOCALOSTACK_PERSISTENCEmemory"memory" or "sqlite"
LOCALOSTACK_DB_PATH/var/lib/localostack/state.dbSQLite database file path
Variable변수Default기본값Description설명
LOCALOSTACK_FAULT_RULES""JSON fault rules (or use Admin API)
LOCALOSTACK_ADMIN_PORT9999Admin/fault API port