Shadow’s OpenStack deployment exposes a set of core services that enable compute, networking, storage, orchestration, identity, and automation capabilities.
This document provides a high-level overview of these services and how they fit together within the platform.


Identity & Access Management

Keystone

Central authentication and authorization system.
All other services depend on Keystone for token validation and project-scoped access control.


Compute

Nova

Manages virtual machine lifecycle, scheduling, and compute node orchestration.

Nova Metadata

Delivers cloud-init metadata and instance configuration to VMs.


Networking

Neutron

Provides virtual networking, routers, floating IPs, security groups, and network isolation.

Octavia

Load Balancing as a Service (LBaaS), enabling users to deploy and manage load balancers.

Designate

DNS service for managing DNS zones and records.


Storage

Cinder

Block storage management (volumes, snapshots, backups).

Glance

Image service for storing and provisioning VM images.


Resource Tracking

Placement

Tracks compute, network, and storage resources and provides scheduling data to other services.


Security & Secrets

Barbican

Secure storage for secrets, certificates, and encryption keys.


Billing & Usage

CloudKitty

Usage rating and billing engine for resource consumption tracking.


User Interface

Skyline

The graphical web dashboard for interacting with OpenStack services.


High Level Overview

flowchart TB
    subgraph Identity
        Keystone[Keystone - Authorization/Authentication]
    end

    subgraph Compute
        compute_anchor(( )):::anchor
        Nova[Nova - Virtual Machines]
    end

    subgraph Networking
        networking_anchor(( )):::anchor
        Neutron[Neutron - Networks, Routers, IPs]
        Octavia[Octavia - Load Balancers]
        Designate[Designate - DNS Zones/Records]
    end

    subgraph Storage
        storage_anchor(( )):::anchor
        Cinder[Cinder - Block Storage]
        Glance[Glance - Images]
    end

    subgraph Other
        other_anchor(( )):::anchor
        Barbican[Barbican - Secrets]
        CloudKitty[CloudKitty - Usage/Rating]
        Ceilometer[Ceilometer - Telemetry/Monitoring]
    end

    subgraph UI
        ui_anchor(( )):::anchor
        Skyline[Skyline - Web Dashboard]
    end

    Keystone --> compute_anchor
    Keystone --> networking_anchor
    Keystone --> storage_anchor
    Keystone --> other_anchor
    Keystone --> ui_anchor

    classDef anchor fill:transparent,stroke:transparent;

    class Keystone identity;
    class Nova compute;
    class Neutron,Octavia,Designate networking;
    class Cinder,Glance storage;
    class Barbican,CloudKitty,Ceilometer other;
    class Skyline ui;

    classDef identity fill:#dbeafe,stroke:#90cdf4,color:#1e3a8a
    classDef compute fill:#ede9fe,stroke:#c4b5fd,color:#4c1d95
    classDef networking fill:#d1fae5,stroke:#6ee7b7,color:#065f46
    classDef storage fill:#fef3c7,stroke:#fcd34d,color:#92400e
    classDef other fill:#f3f4f6,stroke:#d1d5db,color:#374151
    classDef ui fill:#e0f2fe,stroke:#7dd3fc,color:#075985