Setu-TS
    Preparing search index...

    Options for createMicroserviceApp. Extends RestStarterOptions with microservice-specific arms. Omitted plugins use their defaults.

    Hierarchy (View Summary)

    Index

    Optional arm: AuthPlugin. Provided only when the caller supplies auth configuration; omitted → auth not registered. Configure at least one passive strategy (jwt, apiKey, session, or strategies). The plugin registers its authentication middleware globally unless disabled.

    Options for ConfigPlugin. Omitted → defaults.

    Optional arm: DatabasePlugin. Provided only when the caller supplies database credentials; omitted → database not registered.

    Options for DecoratorPlugin. Omitted → defaults.

    Optional arm: DiPlugin. Omitted → decorated services are constructed directly and registered in the kernel's ServiceRegistry, which is the default and needs no container.

    Supplying this arm changes how every decorated service in the application is constructed: DecoratorPlugin branches on the presence of a container, so with this arm each @Injectable class becomes a container provider that honors its scope. That is why it is gated rather than always-on — the default composition stays identical to a starter app without it.

    Optional arm: GraphqlPlugin. Gated because the plugin cannot boot without an application-supplied schema — the rule that made session gated.

    0.3.0

    Options for HealthPlugin. Omitted → defaults.

    Options for HttpSecurityPlugin. Omitted → defaults.

    Options for LoggerPlugin. Omitted → defaults.

    Configuration for MessagingPlugin, which this tier ALWAYS registers — unlike the gated arms inherited from RestStarterOptions, omitting this does not skip the plugin. Omitted → the memory broker default.

    Options for MetricsPlugin. Omitted → defaults.

    Options for OpenApiPlugin. Omitted → defaults.

    Configuration for QueuePlugin, always registered. Omitted → the memory adapter default.

    realtime?: RealtimeArm

    Optional arm: the real-time plugins, one per sub-arm. Omitted → none of the three is registered.

    Configuration for ResiliencePlugin, always registered. Omitted → plugin defaults.

    Optional arm: ServiceDiscoveryPlugin. Provided → service discovery is registered; omitted → no discovery capability is added.

    Optional arm: SessionPlugin. Omitted → the application has no cookie session and no session-backed form CSRF.

    Gated because a session needs a secret nobody can default: the plugin throws during register() without one, so an always-on arm would make every starter application fail to boot until it supplied one. It is also genuinely optional — a token-authenticated API has no use for cookies, which is what auth covers.

    Setting csrf additionally registers the synchronizer-token middleware at priority 325, which is the check a progressive-enhancement <Form> post can satisfy — unlike the stateless Origin/Referer check that httpSecurity performs, which a form structurally cannot. Running both is intended.

    const app = createRestApp({
    session: { secret: mySecret, csrf: {} },
    });

    Configuration for TelemetryPlugin, always registered. Omitted → a NoopTelemetryService, since no exporter is configured.

    Options for ValidationPlugin. Omitted → defaults.