Skip to main content

greentic_deployer/
lib.rs

1#![forbid(unsafe_code)]
2
3pub mod adapter;
4pub mod admin_access;
5/// Legacy/provider-oriented multi-target implementation module.
6///
7/// Prefer `multi_target` or `surface::multi_target` for new call sites.
8pub mod apply;
9pub mod aws;
10pub mod azure;
11pub mod bundle_upload;
12pub mod config;
13pub mod contract;
14pub mod deployment;
15pub mod desktop;
16pub mod error;
17pub mod extension;
18pub mod extension_sources;
19pub mod gcp;
20pub mod helm;
21pub mod juju_k8s;
22pub mod juju_machine;
23pub mod k8s_raw;
24pub mod multi_target;
25pub mod operator;
26pub mod pack_introspect;
27pub mod path_safety;
28pub mod plan;
29pub mod runtime_secret_sink;
30pub mod runtime_secrets;
31pub mod serverless;
32pub mod single_vm;
33pub mod snap;
34pub mod spec;
35pub mod surface;
36pub mod telemetry;
37pub mod terraform;
38
39pub use adapter::{AdapterFamily, MultiTargetKind, UnifiedTargetSelection};
40pub use admin_access::{
41    AdminAccessInfo, AdminAccessMode, AdminHealthProbe, AdminSecretRefs, AdminTunnelSupport,
42    MaterializedAdminCerts, MaterializedAdminRelayToken, materialize_admin_client_certs,
43    materialize_admin_relay_token, probe_admin_health, render_admin_access,
44    render_admin_health_probe, render_materialized_admin_certs,
45    render_materialized_admin_relay_token, resolve_admin_access,
46};
47pub use aws::{AwsAdminTunnelRequest, AwsRequest};
48pub use azure::AzureRequest;
49pub use config::{DeployerConfig, DeployerRequest, OutputFormat, Provider};
50pub use contract::{
51    CapabilitySpecV1, CloudCredentialKind, CloudTargetRequirementsV1, ContractAsset,
52    CredentialRequirementV1, DeployerCapability, DeployerContractV1, PlannerSpecV1,
53    ResolvedCapabilityContract, ResolvedDeployerContract, ResolvedPlannerContract,
54    VariableRequirementV1,
55};
56pub use deployment::{
57    ApplyExecutionOutcome, DestroyExecutionOutcome, ExecutionOutcome, ExecutionOutcomePayload,
58    StatusExecutionOutcome,
59};
60pub use error::DeployerError;
61pub use extension::{
62    BuiltinBackendDescriptor, BuiltinBackendExecutionKind, BuiltinBackendHandlerId,
63    BuiltinBackendId, BuiltinExtensionBackendDescriptor, BuiltinExtensionDescriptor,
64    BuiltinHandlerDescriptor, DeploymentExtensionContract, DeploymentExtensionDescriptor,
65    DeploymentExtensionKind, DeploymentExtensionSourceKind, DeploymentHandlerDescriptor,
66    list_builtin_extensions, list_builtin_handlers, list_deployment_extension_contracts,
67    list_deployment_extension_contracts_from_sources,
68    list_deployment_extension_contracts_from_sources_with_options,
69    resolve_builtin_backend_descriptor, resolve_builtin_extension_detail_for_provider,
70    resolve_builtin_extension_detail_for_target_name, resolve_builtin_extension_for_config,
71    resolve_builtin_extension_for_provider, resolve_builtin_extension_for_target_name,
72    resolve_builtin_handler_descriptor, resolve_deployment_extension_contract_for_provider,
73    resolve_deployment_extension_contract_for_provider_from_sources,
74    resolve_deployment_extension_contract_for_provider_from_sources_with_options,
75    resolve_deployment_extension_contract_for_target_name,
76    resolve_deployment_extension_contract_for_target_name_from_sources,
77    resolve_deployment_extension_contract_for_target_name_from_sources_with_options,
78    run_builtin_extension, single_vm_builtin_extension,
79};
80pub use extension_sources::DeploymentExtensionSourceOptions;
81pub use gcp::GcpRequest;
82pub use helm::HelmRequest;
83pub use juju_k8s::JujuK8sRequest;
84pub use juju_machine::JujuMachineRequest;
85pub use k8s_raw::K8sRawRequest;
86pub use multi_target::{
87    ApplyPayload, CapabilityPayload, DestroyPayload, ExecutionReport, GeneratePayload,
88    OperationPayload, OperationResult, OutputValidation, PlanPayload, RollbackPayload,
89    StatusPayload, render_operation_result,
90};
91pub use operator::OperatorRequest;
92pub use plan::{
93    ChannelContext, ComponentRole, DeploymentProfile, InferenceNotes, InfraPlan, MessagingContext,
94    PlanContext, PlannedComponent, Target, TelemetryContext,
95};
96pub use serverless::ServerlessRequest;
97pub use single_vm::{
98    SingleVmAdminPlan, SingleVmApplyOptions, SingleVmApplyReport, SingleVmBundlePlan,
99    SingleVmDeploymentStatus, SingleVmDestroyOptions, SingleVmDestroyReport, SingleVmHealthPlan,
100    SingleVmLastAction, SingleVmPersistedState, SingleVmPlan, SingleVmPlanOutput,
101    SingleVmPlannedFile, SingleVmPlannedFileKind, SingleVmRenderSpecRequest, SingleVmRolloutPlan,
102    SingleVmRuntimePlan, SingleVmServicePlan, SingleVmStatusReport, SingleVmStoragePlan,
103    apply_single_vm_plan_output, apply_single_vm_plan_output_with_options, apply_single_vm_spec,
104    apply_single_vm_spec_path, build_single_vm_plan, destroy_single_vm_plan_output,
105    destroy_single_vm_plan_output_with_options, destroy_single_vm_spec,
106    destroy_single_vm_spec_path, plan_single_vm_spec, plan_single_vm_spec_path,
107    preview_single_vm_apply_plan_output, preview_single_vm_destroy_plan_output, render_env_file,
108    render_single_vm_apply_report, render_single_vm_destroy_report, render_single_vm_plan,
109    render_single_vm_plan_output, render_single_vm_status_report, render_systemd_unit,
110    status_single_vm_plan_output, status_single_vm_spec, status_single_vm_spec_path,
111    write_single_vm_spec,
112};
113pub use snap::SnapRequest;
114pub use spec::{
115    AdminEndpointSpec, BundleFormat, BundleSpec, DEPLOYMENT_SPEC_API_VERSION_V1ALPHA1,
116    DEPLOYMENT_SPEC_KIND, DeploymentMetadata, DeploymentSpecBody, DeploymentSpecV1,
117    DeploymentTarget, HealthSpec, LinuxArch, MtlsSpec, RolloutSpec, RolloutStrategy, RuntimeSpec,
118    ServiceManager, ServiceSpec, StorageSpec,
119};
120pub use terraform::TerraformRequest;