struct

Meridian::Runtime::ServiceManifest

Inherits JSON::Serializable < Struct < Value < Object

Constants

SCHEMA_VERSION = 2

Constructors

from_config(config : Config::DeployConfig) : ServiceManifest
Source
new(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)
Source
new(*, __pull_for_json_serializable pull : JSON::PullParser)
Source

Class 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.

Source
normalize_path(path : String | Nil) : String
Source
parse_all(output : String) : Array(ServiceManifest)
Source
path_prefixes_overlap?(left : String | Nil, right : String | Nil) : Bool
Source

Instance methods

accessories
Source
accessory_collisions_with(other : ServiceManifest) : Array(String)

Accessory 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.

Source
active_color_path
Source
asset_host
Source
audit_path
Source
collisions_with(other : ServiceManifest) : Array(String)
Source
generated_files
Source
incremental_cache_path
Source
lock_path
Source
meridian_version
Source
networks
Source
ports
Source
proxy_routes
Source
release_state_path
Source
schema_version
Source
service
Source
services_conflicting(name : String, others : Array(ServiceManifest)) : Array(String)

Services claiming the same accessory on the same host with a different definition. One of them would have to overwrite the other.

Source
services_sharing(name : String, others : Array(ServiceManifest)) : Array(String)

Services referencing the same accessory as a compatible shared resource.

Source