Component C32 – ViewPort

By Raj Marni. March 23, 2025. Revised. Version: 0.0.09

1. Overview

Viewport (C32) is a MySQL-based relational database system within the Orbit Plane. It provides structured storage for detailed records on image uploads, deployment events, and other pertinent data that require relational querying and transactional consistency. At this layer, we examine its internal data structures, integration points, and protocols.

Orbit Component C32 Diagram

2. Internal Architecture

2.1 Core Modules

  • Relational Schema & Table Design

    • Purpose: Models the various data entities (e.g., images, user activities, deployment logs) with relationships that allow complex joins and queries.

    • Features:

      • Tables typically include foreign keys linking images to metadata, user accounts, or deployment events.

      • Indexing strategies (e.g., B-tree indexes) speed up queries on commonly filtered columns (e.g., image ID, upload timestamps).

  • Query & Transaction Processing

    • Purpose: Handles ACID-compliant transactions to maintain data integrity.

    • Features:

      • Ensures that multiple concurrent operations do not cause inconsistent states or partial writes.

      • May incorporate stored procedures or triggers for advanced data consistency checks.

  • Audit & History Logger

    • Purpose: Captures each significant change or transaction, preserving a chronological record of system interactions.

    • Features:

      • Stores who performed an action, what data changed, and when it occurred.

      • Facilitates rollback and historical analysis for compliance or debugging.

  • API / Access Layer

    • Purpose: Manages connections from external services and orchestrates data reads/writes to the underlying MySQL instance.

    • Features:

      • Implements a set of RESTful endpoints or an internal microservice interface to broker data operations.

      • Handles authentication tokens, ensuring only authorized components can modify or retrieve data.


3. Inter-Process Communication & External Interfaces

3.1 Interaction with K8or Portal (C8) – Connection C8C32-1

  • Purpose:

    • Receives a variety of data points from the Portal, such as image information, user actions, and possibly metadata about deployment events.

    • Allows the Portal to query historical records (e.g., retrieving the status of previously uploaded images or deployment history).

  • Mechanism:

    • Typically a REST/HTTP call or an internal API that the Portal invokes to store and retrieve data.

    • Could also include asynchronous messaging for large volumes of logs or event data.

3.2 Other Potential Integrations

  • While the diagram explicitly shows C8 as the primary communication channel, C32 also interface with other components (like C12, C16) that need relational data stored in C32.

    • For instance, the Manifestor (C12) might push deployment results for auditing; or Image Harbor (C16) logs image usage stats in C32.


4. Technology & Protocols

  • Database Engine:

    • MySQL, running either as a standalone instance or in a clustered/highly available environment.

    • Often configured with replication or backup strategies to ensure minimal downtime and data loss.

  • API Communication:

    • RESTful services or direct database connections (secured by credentials and network isolation) handle data exchange.

    • TLS-encrypted endpoints protect data in transit.

  • Security:

    • Role-based access control ensures only trusted microservices or authorized users can alter data.

    • Encryption at rest can be enabled to safeguard sensitive records.


5. Data Management & Use Cases

  1. Lifecycle Tracking:

    • Stores timestamps, user IDs, and environment details for each image from development through production.

  2. Compliance & Auditing:

    • Maintains a chronological record of user interactions and deployments, aiding in compliance checks and forensic analysis.

  3. Analytics & Reporting:

    • Supports advanced queries and joins, enabling dashboards or reports on usage metrics, success rates, and historical trends.

Last updated