package apps import "github.com/wild-cloud/wild-central/daemon/internal/tools" // AppManifest represents the complete app manifest from manifest.yaml type AppManifest struct { Name string `json:"name" yaml:"name"` Description string `json:"description" yaml:"description"` Version string `json:"version" yaml:"version"` Icon string `json:"icon,omitempty" yaml:"icon,omitempty"` Category string `json:"category,omitempty" yaml:"category,omitempty"` Requires []AppDependency `json:"requires,omitempty" yaml:"requires,omitempty"` DefaultConfig map[string]interface{} `json:"defaultConfig,omitempty" yaml:"defaultConfig,omitempty"` RequiredSecrets []string `json:"requiredSecrets,omitempty" yaml:"requiredSecrets,omitempty"` } // AppDependency represents a dependency on another app type AppDependency struct { Name string `json:"name" yaml:"name"` } // EnhancedApp extends DeployedApp with runtime status information type EnhancedApp struct { Name string `json:"name"` Status string `json:"status"` Version string `json:"version"` Namespace string `json:"namespace"` URL string `json:"url,omitempty"` Description string `json:"description,omitempty"` Icon string `json:"icon,omitempty"` Manifest *AppManifest `json:"manifest,omitempty"` Runtime *RuntimeStatus `json:"runtime,omitempty"` Config map[string]string `json:"config,omitempty"` Readme string `json:"readme,omitempty"` Documentation string `json:"documentation,omitempty"` } // RuntimeStatus contains runtime information from kubernetes type RuntimeStatus struct { Pods []PodInfo `json:"pods,omitempty"` Replicas *ReplicaInfo `json:"replicas,omitempty"` Resources *ResourceUsage `json:"resources,omitempty"` RecentEvents []KubernetesEvent `json:"recentEvents,omitempty"` } // Type aliases for kubectl wrapper types // These types are defined in internal/tools and shared across the codebase type PodInfo = tools.PodInfo type ContainerInfo = tools.ContainerInfo type ContainerState = tools.ContainerState type PodCondition = tools.PodCondition type ReplicaInfo = tools.ReplicaInfo type ResourceUsage = tools.ResourceUsage type KubernetesEvent = tools.KubernetesEvent type LogEntry = tools.LogEntry