Interface ClusterLifecycle

All Known Implementing Classes:
ClusterAdminClient, RollingClusterController

public interface ClusterLifecycle
Versioned, idempotent lifecycle administration. Existing operation retries must retain all original inputs. UNKNOWN never permits blind repetition of an unprotected external effect.
  • Method Details

    • inspect

      ClusterView inspect(Instant deadline) throws IOException
      Inspects actual authenticated hosts and durable workflow state.
      Parameters:
      deadline - absolute deadline
      Returns:
      immutable fleet view
      Throws:
      IOException - for unavailable authority
    • plan

      DeploymentPlan plan(String operationId, long expectedVersion, String releaseId, List<String> nodeIds, Instant deadline) throws IOException
      Persists a checked deployment plan without replacing any application.
      Parameters:
      operationId - stable planning identity
      expectedVersion - optimistic fleet generation
      releaseId - trusted server catalog release
      nodeIds - ordered hosting targets
      deadline - absolute deadline
      Returns:
      immutable plan
      Throws:
      IOException - conflict, incompatible release or unavailable authority
    • apply

      OperationStatus apply(String operationId, long expectedVersion, String planId, Instant deadline) throws IOException
      Admits a rolling hosted-application upgrade; progress continues through its durable workflow.
      Parameters:
      operationId - stable deployment identity
      expectedVersion - optimistic generation used by the plan
      planId - immutable plan identity
      deadline - absolute deadline
      Returns:
      persisted current operation status
      Throws:
      IOException - conflict, incompatible plan or unavailable authority
    • upgrade

      default OperationStatus upgrade(String operationId, long expectedVersion, String releaseId, List<String> nodeIds, Instant deadline) throws IOException
      Alias for plan-and-apply using stable derived planning identity.
      Parameters:
      operationId - stable upgrade identity
      expectedVersion - inspected fleet generation
      releaseId - trusted release
      nodeIds - ordered target hosts
      deadline - absolute deadline
      Returns:
      persisted upgrade status
      Throws:
      IOException - conflict, rejected compatibility or unavailable authority
    • drain

      OperationStatus drain(String operationId, long expectedVersion, String nodeId, Instant deadline) throws IOException
      Stops new requests and waits for admitted invocations on one safe hosting target.
      Parameters:
      operationId - stable drain identity
      expectedVersion - optimistic fleet generation
      nodeId - hosting target
      deadline - absolute deadline
      Returns:
      durable drain status
      Throws:
      IOException - conflict, insufficient capacity or unavailable authority
    • rollback

      OperationStatus rollback(String operationId, long expectedVersion, String releaseId, List<String> nodeIds, Instant deadline) throws IOException
      Plans and applies only a schema-compatible rollback release.
      Parameters:
      operationId - stable rollback identity
      expectedVersion - inspected fleet generation
      releaseId - trusted retained release
      nodeIds - ordered hosting targets
      deadline - absolute deadline
      Returns:
      persisted rollback status
      Throws:
      IOException - incompatible downgrade, conflict or unavailable authority
    • operationStatus

      OperationStatus operationStatus(String operationId, Instant deadline) throws IOException
      Reads a durable operation including an earlier lost response.
      Parameters:
      operationId - admitted identity
      deadline - absolute deadline
      Returns:
      persisted status
      Throws:
      IOException - not found or unavailable authority
    • audit

      default List<AuditEvent> audit(String operationId, Instant deadline) throws IOException
      Reads retained hash-linked lifecycle events.
      Parameters:
      operationId - workflow identity
      deadline - absolute deadline
      Returns:
      immutable audit sequence
      Throws:
      IOException - unavailable authority
      UnsupportedOperationException - if this adapter lacks audit access