Documentation
¶
Index ¶
- Variables
- func RecoverEphemeral(ctx context.Context) error
- func RunEphemeral(ctx context.Context, options EphemeralRunOptions, ...) error
- func SanitizedChildEnvironment(base []string) []string
- func SigningCommand() *ffcli.Command
- func SigningFetchCommand() *ffcli.Command
- func SigningReconcileApplyCommand() *ffcli.Command
- func SigningReconcileCommand() *ffcli.Command
- func SigningReconcilePlanCommand() *ffcli.Command
- func SigningRunCommand() *ffcli.Command
- func SigningSyncCommand() *ffcli.Command
- type EphemeralRunOptions
- type PKCS12IdentityInfo
- type PKCS12IdentityOptions
- type ReconcileActionReceiptView
- type ReconcileActionView
- type ReconcileApplyOptions
- type ReconcileCertificateView
- type ReconcileCompletionEvidence
- type ReconcileExecutionErrorKind
- type ReconcilePlanOptions
- type ReconcilePlanView
- type ReconcileProfileEvidence
- type ReconcileProfileView
- type ReconcileReceiptView
- func ExecuteReconcileApply(ctx context.Context, options ReconcileApplyOptions) (ReconcileReceiptView, error)
- func VerifyReconcileCompletion(ctx context.Context, options ReconcileApplyOptions) (ReconcileReceiptView, error)
- func VerifyReconcileCompletionFromArchive(ctx context.Context, options ReconcileApplyOptions, archivePath string) (ReconcileReceiptView, error)
- func VerifyReconcileCompletionFromEvidence(ctx context.Context, options ReconcileApplyOptions, archivePath string, ...) (ReconcileReceiptView, error)
- type ReconcileTargetView
- type SyncResult
Constants ¶
This section is empty.
Variables ¶
var ErrEphemeralRecoveryJournalInvalid = errors.New("invalid ephemeral signing recovery journal")
ErrEphemeralRecoveryJournalInvalid means the retained signing recovery journal is structurally unsafe and cannot be repaired by retrying.
var ErrReconcilePlanDrift = errors.New("signing reconcile plan no longer matches current state")
ErrReconcilePlanDrift marks a terminal mismatch between a hash-confirmed signing plan and the current local or App Store Connect state. Adapter callers may use errors.Is without receiving the underlying provider detail.
Functions ¶
func RecoverEphemeral ¶ added in v1.260816.0
RecoverEphemeral serializes with every ephemeral signing run and performs only validated crash-journal recovery. It reads no identity or profile and creates no keychain or provisioning profile when no journal exists.
func RunEphemeral ¶ added in v1.260816.0
func RunEphemeral(ctx context.Context, options EphemeralRunOptions, callback func(context.Context) error) error
RunEphemeral runs callback once inside the same audited ephemeral signing boundary used by `asc signing run`. The callback must be synchronous and context-aware; any subprocess it starts must use SanitizedChildEnvironment.
func SanitizedChildEnvironment ¶ added in v1.260816.0
SanitizedChildEnvironment returns the strict environment allowlist for Xcode build and export subprocesses started by an EphemeralRun callback. Authentication, cloud-provider, Git-helper, signing-password, loader, and unrecognized variables are intentionally excluded.
func SigningCommand ¶
SigningCommand returns the signing command with subcommands.
func SigningFetchCommand ¶
SigningFetchCommand returns the signing fetch subcommand.
func SigningReconcileApplyCommand ¶ added in v1.260816.0
SigningReconcileApplyCommand returns the confirmed reconcile executor.
func SigningReconcileCommand ¶ added in v1.260816.0
SigningReconcileCommand returns the artifact-backed signing reconciliation group.
func SigningReconcilePlanCommand ¶ added in v1.260816.0
SigningReconcilePlanCommand returns the read-only reconcile planner.
func SigningRunCommand ¶ added in v1.260816.0
SigningRunCommand returns the signing run subcommand.
func SigningSyncCommand ¶
SigningSyncCommand returns the signing sync command group.
Types ¶
type EphemeralRunOptions ¶ added in v1.260816.0
type EphemeralRunOptions struct {
IdentityPath string
IdentityPasswordPath string
ProfilePath string
ReceiptPath string
ExpectedCertificateSHA256 string
ExpectedProfileSHA256 string
}
EphemeralRunOptions identifies the private signing inputs used while an in-process operation runs. Release testing is the only supported purpose.
type PKCS12IdentityInfo ¶ added in v1.260816.0
type PKCS12IdentityInfo struct {
CertificateSHA256 string `json:"certificateSha256"`
CertificateSHA1 string `json:"certificateSha1"`
TeamID string `json:"teamId"`
NotBefore time.Time `json:"notBefore"`
NotAfter time.Time `json:"notAfter"`
}
PKCS12IdentityInfo contains only public certificate metadata. It never exposes the source path, password, certificate bytes, or private key.
func InspectPKCS12Identity ¶ added in v1.260816.0
func InspectPKCS12Identity(ctx context.Context, options PKCS12IdentityOptions) (PKCS12IdentityInfo, error)
InspectPKCS12Identity securely reads and validates one PKCS#12 identity and returns only public leaf-certificate metadata. The certificate must be currently valid and its private key must cryptographically match.
type PKCS12IdentityOptions ¶ added in v1.260816.0
PKCS12IdentityOptions identifies a private PKCS#12 identity and its optional password file for read-only inspection.
type ReconcileActionReceiptView ¶ added in v1.260816.0
type ReconcileActionReceiptView struct {
Kind string `json:"kind"`
BundleID string `json:"bundleId,omitempty"`
Status string `json:"status"`
Error string `json:"error,omitempty"`
}
ReconcileActionReceiptView reports converged action state without internal IDs.
type ReconcileActionView ¶ added in v1.260816.0
type ReconcileActionView struct {
Kind string `json:"kind"`
BundleID string `json:"bundleId,omitempty"`
}
ReconcileActionView describes a planned operation without device identifiers.
type ReconcileApplyOptions ¶ added in v1.260816.0
ReconcileApplyOptions identifies and confirms an exact protected plan artifact.
type ReconcileCertificateView ¶ added in v1.260816.0
type ReconcileCertificateView struct {
ResourceID string `json:"resourceId"`
SHA256 string `json:"sha256"`
TeamID string `json:"teamId"`
ExpirationDate string `json:"expirationDate"`
}
ReconcileCertificateView is the selected certificate identity safe for orchestration.
type ReconcileCompletionEvidence ¶ added in v1.260816.0
type ReconcileCompletionEvidence struct {
ReceiptPath string `json:"receiptPath"`
ReceiptSHA256 string `json:"receiptSha256"`
Profiles []ReconcileProfileEvidence `json:"profiles"`
}
ReconcileCompletionEvidence identifies exact protected run-local copies of the completed receipt and every profile output. The receipt contents remain bound to the nested plan; only the local read authority is overridden.
type ReconcileExecutionErrorKind ¶ added in v1.260816.0
type ReconcileExecutionErrorKind string
ReconcileExecutionErrorKind is the closed, redacted failure classification returned by the orchestration-safe reconcile adapters.
const ( ReconcileExecutionErrorPlanInvalid ReconcileExecutionErrorKind = "plan_invalid" ReconcileExecutionErrorPlanDrift ReconcileExecutionErrorKind = "plan_drift" ReconcileExecutionErrorRetryable ReconcileExecutionErrorKind = "retryable" )
func ClassifyReconcileExecutionError ¶ added in v1.260816.0
func ClassifyReconcileExecutionError(err error) ReconcileExecutionErrorKind
ClassifyReconcileExecutionError returns a closed adapter-safe category.
type ReconcilePlanOptions ¶ added in v1.260816.0
type ReconcilePlanOptions struct {
ArchivePath string
DevicesFile string
CertificateID string
CertificateSHA256 string
MinimumValidityDays int
MaxMutations int
StateDir string
Overwrite bool
}
ReconcilePlanOptions defines a protected, read-only signing reconciliation plan.
type ReconcilePlanView ¶ added in v1.260816.0
type ReconcilePlanView struct {
SchemaVersion int `json:"schemaVersion"`
PlanHash string `json:"planHash"`
Ready bool `json:"ready"`
MutationCount int `json:"mutationCount"`
MaxMutations int `json:"maxMutations"`
DeviceCount int `json:"deviceCount"`
DeviceSetSHA256 string `json:"deviceSetSha256"`
TeamID string `json:"teamId"`
ArchivePath string `json:"archivePath"`
DevicesFile string `json:"devicesFile"`
StateDir string `json:"stateDir"`
PlanPath string `json:"planPath"`
ReceiptPath string `json:"receiptPath"`
ProfilesDir string `json:"profilesDir"`
MinimumValidityDays int `json:"minimumValidityDays"`
Certificate *ReconcileCertificateView `json:"certificate,omitempty"`
Targets []ReconcileTargetView `json:"targets"`
Actions []ReconcileActionView `json:"actions"`
Blockers []string `json:"blockers,omitempty"`
}
ReconcilePlanView is the redacted orchestration projection of a protected plan.
func ExecuteReconcilePlan ¶ added in v1.260816.0
func ExecuteReconcilePlan(ctx context.Context, options ReconcilePlanOptions) (ReconcilePlanView, error)
ExecuteReconcilePlan creates a protected plan selected by an exact certificate fingerprint.
func ReadReconcilePlan ¶ added in v1.260816.0
func ReadReconcilePlan(options ReconcileApplyOptions) (ReconcilePlanView, error)
ReadReconcilePlan returns the redacted, hash-verified protected plan without authentication, network access, or mutation.
type ReconcileProfileEvidence ¶ added in v1.260816.0
type ReconcileProfileEvidence struct {
ResourceID string `json:"resourceId"`
Path string `json:"path"`
SHA256 string `json:"sha256"`
}
ReconcileProfileEvidence identifies an exact protected local profile copy that may be used instead of the nested reconcile output during resume.
type ReconcileProfileView ¶ added in v1.260816.0
type ReconcileProfileView struct {
TargetKind string `json:"targetKind"`
BundleID string `json:"bundleId"`
ResourceID string `json:"resourceId"`
UUID string `json:"uuid"`
Path string `json:"path"`
SHA256 string `json:"sha256"`
}
ReconcileProfileView identifies one exact verified local provisioning profile.
type ReconcileReceiptView ¶ added in v1.260816.0
type ReconcileReceiptView struct {
SchemaVersion int `json:"schemaVersion"`
PlanHash string `json:"planHash"`
Complete bool `json:"complete"`
ReceiptPath string `json:"receiptPath"`
MainProfile *ReconcileProfileView `json:"mainProfile,omitempty"`
Profiles []ReconcileProfileView `json:"profiles,omitempty"`
Actions []ReconcileActionReceiptView `json:"actions,omitempty"`
}
ReconcileReceiptView is the redacted apply result for orchestration.
func ExecuteReconcileApply ¶ added in v1.260816.0
func ExecuteReconcileApply(ctx context.Context, options ReconcileApplyOptions) (ReconcileReceiptView, error)
ExecuteReconcileApply validates and applies one exact plan after explicit confirmation.
func VerifyReconcileCompletion ¶ added in v1.260816.0
func VerifyReconcileCompletion(ctx context.Context, options ReconcileApplyOptions) (ReconcileReceiptView, error)
VerifyReconcileCompletion revalidates an exact completed receipt without mutation.
func VerifyReconcileCompletionFromArchive ¶ added in v1.260816.0
func VerifyReconcileCompletionFromArchive(ctx context.Context, options ReconcileApplyOptions, archivePath string) (ReconcileReceiptView, error)
VerifyReconcileCompletionFromArchive revalidates an exact completed receipt using a caller-owned immutable archive snapshot as the archive authority. The snapshot is still parsed and compared with the protected plan; this only avoids depending on the mutable original archive path after snapshotting.
func VerifyReconcileCompletionFromEvidence ¶ added in v1.260816.0
func VerifyReconcileCompletionFromEvidence(ctx context.Context, options ReconcileApplyOptions, archivePath string, evidence ReconcileCompletionEvidence) (ReconcileReceiptView, error)
VerifyReconcileCompletionFromEvidence verifies remote completion using an immutable archive snapshot and exact protected run-local receipt/profile copies. It does not depend on the nested generated receipt/profile paths.
type ReconcileTargetView ¶ added in v1.260816.0
ReconcileTargetView identifies a signing target without exposing entitlements.
type SyncResult ¶
type SyncResult struct {
Operation string `json:"operation"`
RepoURL string `json:"repoUrl"`
BundleID string `json:"bundleId"`
ProfileType string `json:"profileType"`
Files []string `json:"files"`
IdentityPresent bool `json:"identityPresent"`
IdentitySHA256 string `json:"identitySha256,omitempty"`
SensitiveFiles []string `json:"sensitiveFiles,omitempty"`
}
SyncResult is the structured output for sync operations.