pub struct ServiceRuntimeConfig {
pub id: String,
pub plugin_id: String,
pub name: Option<String>,
pub command: PathBuf,
pub args: Vec<String>,
pub cwd: Option<PathBuf>,
pub env: HashMap<String, String>,
pub health_check: HealthCheckSpec,
pub restart_policy: ReconnectConfig,
pub graceful_shutdown: GracefulShutdown,
pub user_config_path: PathBuf,
}Expand description
Resolved, ready-to-spawn configuration for one service — the output of
ServiceManifestEntry::resolve plus the owning plugin id and the
per-service user config path (see the module docs on
BAMBOO_PLUGIN_SERVICE_CONFIG). Built by
plugin_installer::ServerPluginInstaller (the only place with both
AppState::app_data_dir and a validated manifest).
Fields§
§id: String§plugin_id: String§name: Option<String>§command: PathBuf§args: Vec<String>§cwd: Option<PathBuf>§env: HashMap<String, String>§health_check: HealthCheckSpec§restart_policy: ReconnectConfig§graceful_shutdown: GracefulShutdown§user_config_path: PathBuf<data_dir>/plugins/<plugin_id>/config.json, passed to the child as
BAMBOO_PLUGIN_SERVICE_CONFIG. bamboo only ever creates the PARENT
directory (plugin_installer::ServerPluginInstaller::resolve_service_config)
— it never writes or deletes this file itself, so a user/service’s own
config there survives an upgrade OR uninstall of the plugin bundle
(bundles are plaintext; connectors carry tokens that must not be
silently deleted when the bundle is — see issue #479 open question 2).
Trait Implementations§
Source§impl Clone for ServiceRuntimeConfig
impl Clone for ServiceRuntimeConfig
Source§fn clone(&self) -> ServiceRuntimeConfig
fn clone(&self) -> ServiceRuntimeConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more