Skip to main content

Crate greentic_deploy_spec

Crate greentic_deploy_spec 

Source
Expand description

Greentic deployment object-model schemas.

See plans/next-gen-deployment.md §5 for the design rationale. This crate is the single owner of the Environment, Revision, TrafficSplit, BundleDeployment, Credentials, PackConfig, and RuntimeConfig types. Other crates depend on it; nothing in this crate depends on operational or runtime code.

Re-exports§

pub use audit::Actor;
pub use audit::AuditDecision;
pub use audit::AuditEvent;
pub use audit::AuditResult;
pub use audit::POLICY_LOCAL_ONLY;
pub use bundle_deployment::BundleDeployment;
pub use bundle_deployment::BundleDeploymentStatus;
pub use bundle_deployment::RevenueShareEntry;
pub use bundle_deployment::RouteBinding;
pub use bundle_deployment::TenantSelector;
pub use bundle_deployment::UsageMeter;
pub use capability_slot::CapabilitySlot;
pub use capability_slot::PackDescriptor;
pub use capability_slot::PackDescriptorParseError;
pub use credentials::Credentials;
pub use credentials::CredentialsBootstrap;
pub use credentials::CredentialsExpiry;
pub use credentials::CredentialsMode;
pub use credentials::CredentialsValidation;
pub use credentials::CredentialsValidationResult;
pub use engine::ActiveSplitRef;
pub use engine::AddBundlePayload;
pub use engine::AddMessagingEndpointPayload;
pub use engine::AddTrustedKeyPayload;
pub use engine::ApplyTrafficSplitOutcome;
pub use engine::BindingError;
pub use engine::BindingGenerationOutcome;
pub use engine::BundleError;
pub use engine::BundleUpdateApplied;
pub use engine::CreateEnvironmentPayload;
pub use engine::EngineError;
pub use engine::ExtensionBindingPayload;
pub use engine::ExtensionKey;
pub use engine::ExtensionKeyedPayload;
pub use engine::FieldUpdate;
pub use engine::HealthCheckId;
pub use engine::HealthGateFailure;
pub use engine::MergeReport;
pub use engine::MessagingApplied;
pub use engine::MessagingBundleLinkPayload;
pub use engine::MessagingError;
pub use engine::MigrateMergePayload;
pub use engine::MigrateSeedPayload;
pub use engine::PackBindingPayload;
pub use engine::RemoveBundleOutcome;
pub use engine::RevisionLifecycleError;
pub use engine::RevisionTransition;
pub use engine::RevisionTransitionOutcome;
pub use engine::RollbackTrafficSplitOutcome;
pub use engine::RollbackTrafficSplitPayload;
pub use engine::RotateWebhookSecretPayload;
pub use engine::SetMessagingWelcomeFlowPayload;
pub use engine::SetTrafficSplitPayload;
pub use engine::StageRevisionPayload;
pub use engine::TrafficRollbackTransition;
pub use engine::TrafficSplitError;
pub use engine::TrafficSplitTransition;
pub use engine::TrustRootAddOutcome;
pub use engine::TrustRootRemoveOutcome;
pub use engine::TrustRootSeed;
pub use engine::UpdateBundlePayload;
pub use engine::UpdateEnvironmentPayload;
pub use engine::WarmRevisionPayload;
pub use environment::DEFAULT_LISTEN_ADDR;
pub use environment::EnvPackBinding;
pub use environment::Environment;
pub use environment::EnvironmentHostConfig;
pub use environment::ExtensionBinding;
pub use environment::GUI_DEFAULT_ENV_ID;
pub use environment::validate_public_base_url;
pub use environment_runtime::EnvironmentRuntime;
pub use environment_runtime::RuntimeDiscoveryValue;
pub use environment_update_channel::DEFAULT_POLL_INTERVAL_SECS;
pub use environment_update_channel::MIN_POLL_INTERVAL_SECS;
pub use environment_update_channel::OnNotifyAction;
pub use environment_update_channel::UpdateChannelConfig;
pub use error::SpecError;
pub use ids::BundleId;
pub use ids::CustomerId;
pub use ids::DeploymentId;
pub use ids::MessagingEndpointId;
pub use ids::PackId;
pub use ids::PartyId;
pub use ids::RevisionId;
pub use integrity::INTEGRITY_ALGORITHM_SHA256;
pub use integrity::IntegrityError;
pub use integrity::StateIntegrity;
pub use integrity::canonical_json;
pub use messaging_endpoint::MessagingEndpoint;
pub use messaging_endpoint::WelcomeFlowRef;
pub use pack_config::PackConfig;
pub use pack_list_lock::LockedPack;
pub use pack_list_lock::PackListLock;
pub use refs::ExtensionRef;
pub use refs::ExtensionRefParseError;
pub use refs::RuntimeRef;
pub use refs::RuntimeRefParseError;
pub use remote::BackupArtifact;
pub use remote::BackupManifest;
pub use remote::ConcurrencyConflict;
pub use remote::IdempotencyKey;
pub use remote::IdempotencyOutcome;
pub use remote::IdempotencyRecord;
pub use remote::IdempotencyReplay;
pub use remote::ImportOutcome;
pub use remote::ImportRequest;
pub use remote::MutationResponse;
pub use remote::Precondition;
pub use remote::PreconditionError;
pub use remote::RbacRequest;
pub use remote::ReconcileCompletion;
pub use remote::ReconcileCompletionRequest;
pub use remote::RemoteContractError;
pub use remote::RemoteStoreError;
pub use remote::RestoreOutcome;
pub use remote::RestoreRequest;
pub use remote::StateEtag;
pub use retention::HealthState;
pub use retention::HealthStatus;
pub use retention::RetentionPolicy;
pub use retention::RevocationConfig;
pub use revenue_policy::RevenuePolicyDocument;
pub use revision::PackListEntry;
pub use revision::Revision;
pub use revision::RevisionLifecycle;
pub use revision::is_valid_transition;
pub use runtime_config::RevisionRuntimeBlock;
pub use runtime_config::RuntimeConfig;
pub use traffic_split::TrafficSplit;
pub use traffic_split::TrafficSplitEntry;
pub use version::SchemaVersion;
pub use version::SemVer;

Modules§

adapters
Adapters from legacy types to the new spec.
audit
Audit-event and authorization-decision wire shapes.
bundle_deployment
greentic.bundle-deployment.v1 (§5.4).
capability_slot
Capability slot enumeration and pack descriptors (§5.1).
credentials
greentic.credentials.v1 (§5.5).
engine
Pure environment-verb semantics shared by every EnvironmentMutations backend (Phase D PR-4.2a).
environment
greentic.environment.v1 (§5.1).
environment_runtime
greentic.environment-runtime.v1 (§5.1a).
environment_update_channel
greentic.update-channel.v1.
error
Cross-cutting error type for spec-level validators.
ids
Identifier newtypes used across the deployment object model.
integrity
Corruption-detection hash (A8 contract piece #6) and the canonical-JSON form the hash is computed over.
messaging_endpoint
greentic.messaging-endpoint.v1 (Phase M1).
pack_config
greentic.pack-config.v1 (§5.6).
pack_list_lock
greentic.pack-list-lock.v1.
refs
URI-shaped reference newtypes.
remote
Remote EnvironmentStore HTTP contract (plan §5, Phase A gate A8).
retention
Auxiliary policy/health value types for Environment.
revenue_policy
greentic.revenue-policy.v1 — versioned, integrity-anchored revenue-share policy document for a BundleDeployment (P6, §5.4).
revision
greentic.revision.v1 (§5.2).
runtime_config
greentic.runtime-config.v1 (§5.7).
traffic_split
greentic.traffic-split.v1 (§5.3).
version
Schema versioning primitives.

Structs§

EnvId
Environment identifier for a tenant context.
SecretRef
Reference into an environment’s secrets: secret://<env>/<path>.

Enums§

SecretRefParseError
Errors produced when parsing a SecretRef.