app_autoscaler_app - OmniCloudOrg/OmniOrchestrator GitHub Wiki

app (src/app_autoscaler)

Path: src/app_autoscaler/app.rs

Table of Contents

Public Items

struct AppInstance

Definition

pub struct AppInstance {
    /// Unique identifier for the app instance
    pub id: String,
    /// Human-readable name for the app instance
    pub name: String,
    /// ID of the node hosting this app instance
    pub node_id: String,
    /// CPU cores allocated to this app instance
    pub cpu: u32,
    /// Memory in MB allocated to this app instance
    pub memory: u32,
    /// Storage in GB allocated to this app instance
    pub storage: u32,
    /// Current state of the app instance
    pub state: AppInstanceState,
    /// When the app instance was created (as milliseconds since UNIX epoch)
    #[serde(with = "timestamp_serde")]
    pub created_at: Instant,
    /// Last time the app instance state was updated (as milliseconds since UNIX epoch)
    #[serde(with = "timestamp_serde")]
    pub updated_at: Instant,
    /// Additional properties specific to this app instance
    pub properties: HashMap<String, String>,
}

Documentation

Represents an app instance managed by the autoscaler

fn serialize

Definition

    pub fn serialize<S>(instant: &Instant, serializer: S) -> Result<S::Ok, S::Error>
    where
        S: Serializer,
    {
    // ... function body
}

fn deserialize

Definition

    pub fn deserialize<'de, D>(deserializer: D) -> Result<Instant, D::Error>
    where
        D: Deserializer<'de>,
    {
    // ... function body
}

fn new

Definition

    pub fn new(id: String, name: String, node_id: String, cpu: u32, memory: u32, storage: u32) -> Self {
        let now = Instant::now();

Documentation

Create a new app instance

enum AppInstanceState

Definition

pub enum AppInstanceState {
    /// App instance is being created
    Creating,
    /// App instance is running
    Running,
    /// App instance is stopped
    Stopped,
    /// App instance is being terminated
    Terminating,
    /// App instance has been terminated
    Terminated,
    /// App instance is in error state
    Error,
}

Documentation

Possible states for an app instance

struct AppConfig

Definition

pub struct AppConfig {
    /// CPU cores for each app instance
    pub cpu: u32,
    /// Memory in MB for each app instance
    pub memory: u32,
    /// Storage in GB for each app instance
    pub storage: u32,
    /// Additional configuration options
    pub options: HashMap<String, String>,
}

Documentation

Configuration for app instance creation

struct AppTemplate

Definition

pub struct AppTemplate {
    /// Base name for app instances created from this template
    pub base_name: String,
    /// App configuration
    pub config: AppConfig,
    /// Additional tags to apply to app instances
    pub tags: HashMap<String, String>,
}

Documentation

Template for creating new app instances

⚠️ **GitHub.com Fallback** ⚠️