Meridian::Runtime::ServiceManifest
Inherits JSON::Serializable < Struct < Value < Object
Constants
SCHEMA_VERSION = 2
Constructors
from_config(config : Config::DeployConfig) : ServiceManifest
Sourcenew(service : String, proxy_routes : Array(ProxyRoute), asset_host : String | Nil, ports : Array(String), accessories : Hash(String, AccessoryRef), networks : Array(String), generated_files : Array(String), active_color_path : String, release_state_path : String, lock_path : String, audit_path : String, incremental_cache_path : String, meridian_version : String | Nil = Meridian::VERSION)
Sourcenew(pull : JSON::PullParser)
Sourcenew(*, __pull_for_json_serializable pull : JSON::PullParser)
SourceClass methods
list_command
Remote command listing every Meridian service manifest on a host, one JSON document per line. Shared by check, proxy removal, and the accessory lifecycle so they all read the same host-scoped state.
Instance methods
accessories
SourceAccessory names are intentionally shared: the same name, host, and definition mean the same host resource. Only a differing definition on the same host is a conflict, and a different host is a different resource entirely.
active_color_path
Sourceasset_host
Sourceaudit_path
Sourcegenerated_files
Sourceincremental_cache_path
Sourcelock_path
Sourcemeridian_version
Sourcenetworks
Sourceports
Sourceproxy_routes
Sourcerelease_state_path
Sourceschema_version
Sourceservice
SourceServices claiming the same accessory on the same host with a different definition. One of them would have to overwrite the other.