Services

localaz runs every emulated Azure service in a single process, each on its own port. The pages in this section cover the individual data-plane and control-plane services. This page documents the cross-cutting management endpoints.

Management endpoints

Alongside the emulated services, localaz serves one plain HTTP listener (no TLS) on port 8000 by default. This is the management endpoint: it is not an emulated Azure service but a home for cross-cutting operational endpoints. Change its address with -management-addr / LOCALAZ_MANAGEMENT_ADDR (see Configuration).

EndpointMethodDescription
/healthGET200 OK once every service is bound and listening, 503 until then.
/certs/pubkeyGETThe PEM-encoded certificate the TLS services are served with.
/certs/privkeyGETThe PEM-encoded private key for that certificate.

The private key is served unauthenticated. The certificate served here is the one the TLS services use โ€” the auto-generated self-signed pair, or the -tls-cert / -tls-key pair you supplied.

Readiness

The /health endpoint returns 503 while the emulator is still starting and 200 OK once every listener is bound and serving. Wait for it before issuing requests:

until curl -fsS http://127.0.0.1:8000/health; do sleep 0.2; done

Fetching the certificate

Fetch the certificate clients need to trust the TLS services without reading it off disk:

curl -fsS http://127.0.0.1:8000/certs/pubkey -o localaz.crt
export SSL_CERT_FILE="$PWD/localaz.crt"
export REQUESTS_CA_BUNDLE="$SSL_CERT_FILE"

Container health check

The Docker image ships a HEALTHCHECK that runs a built-in probe of the /health endpoint. The container is reported healthy only once every service is listening.

Usage with Docker

docker run --wait linksociety/localaz:latest

Usage with Docker Compose

services:
  localaz:
    image: linksociety/localaz:latest
    ports:
      - "10000:10000"
      - "8000:8000"

  app:
    image: my-app
    depends_on:
      localaz:
        condition: service_healthy
Blob Storage

Block blobs, metadata, ranges, and container/blob listing.

Queue Storage

Messages, visibility timeouts, and pop receipts.

Table Storage

Entities, $filter queries, and ETag concurrency.

Event Grid

Namespace topics with pull delivery.

Web PubSub

REST broadcast plus the json.webpubsub.azure.v1 WebSocket subprotocol.

Service Bus

Queues and topic/subscription fan-out over AMQP 1.0.

Monitor Logs

Logs ingestion plus a documented KQL-subset query.

Key Vault

Secrets data plane with challenge-based authentication.

Control plane (Entra ID + ARM)

Register localaz as a custom Azure cloud, sign in, and route data-plane commands.