FirebaseSetupOrchestrator class

High-level coordinator that wires every Firebase setup sub-step into a single, idempotent end-to-end flow.

Used by: • The interactive wizard (Step 5/6) — supplies a StepConfirm that prompts the user before each sub-step and a StepListener that drives the spinner / checklist UI. • The CLI's oracular deploy firebase-setup-full — passes interactive: false and accepts the defaults (run every step). • Individual oracular deploy <thing> commands — call only the specific sub-step method they care about.

All steps return SetupStepResult; nothing throws on user-facing failures, so a partial run can always be resumed by re-invoking runAll (every "ensure" call is idempotent).

Properties

billing FirebaseBillingService
Billing detection + Blaze upgrade hand-off.
final
cleanup ArtifactCleanupService
Artifact Registry + Cloud Run cleanup helper. Only used when config.setupCloudRun is true.
final
config SetupConfig
Project / template configuration loaded from setup_config.env.
final
firebase FirebaseService
Existing Firebase wrapper used for login, FlutterFire / Jaspr JS SDK configuration, rules deploys, web build, and hosting deploys.
final
hashCode int
The hash code for this object.
no setterinherited
hosting HostingSiteManager
Hosting site / target manager for <project> + <project>-beta.
final
initializer FirebaseInitializer
Firestore / Storage / Auth bootstrap helpers.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
resetServiceAccountIamGate() → void
Resets the IAM gate so it prompts again on the next call. Exposed for tests and for the rare CLI flow that wants to force a re-prompt.
runAll({StepConfirm? confirm, StepListener? onStep, StepFailureHandler? onFailure, bool interactive = true, bool failFast = true}) Future<OrchestratorReport>
Run every applicable sub-step in order and return an aggregate report.
runApplyArtifactCleanupPolicy({String repository = 'oracular'}) Future<SetupStepResult>
runBillingCheck({bool interactive = true}) Future<SetupStepResult>
runBuildWeb() Future<SetupStepResult>
runCapCloudRunRevisions() Future<SetupStepResult>
runConfigureClient() Future<SetupStepResult>
runDeployFirestoreRules() Future<SetupStepResult>
runDeployHostingBeta() Future<SetupStepResult>
runDeployHostingRelease() Future<SetupStepResult>
runDeployStorageRules() Future<SetupStepResult>
runEnableAuthProviders({bool interactive = true}) Future<SetupStepResult>
runEnableFirebaseApis({bool interactive = true}) Future<SetupStepResult>
Enable the Firebase APIs every project needs (firebase, firestore, firebasestorage, firebasehosting, identitytoolkit, serviceusage).
runEnableServerApis() Future<SetupStepResult>
runEnsureArtifactRegistryRepo({String repository = 'oracular'}) Future<SetupStepResult>
runFirebaseLogin() Future<SetupStepResult>
runFirestoreInit() Future<SetupStepResult>
runGcloudLogin() Future<SetupStepResult>
runHostingInit() Future<SetupStepResult>
runStorageInit() Future<SetupStepResult>
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

fixHintFor(WizardSubStep step) String
Public re-export of the per-step fix hint registry, for callers (e.g. the wizard UI) that want to display "to retry, run …".