# Introduction

`sfp server` is the server-side control plane for sfp-based DevOps automation. It provides a REST API used by the `sfp` CLI and other clients to run operations that would otherwise be bound to a single CI/CD job.

If you’re familiar with Salesforce DevHub, a useful mental model is “DevHub++”: the same control-plane pattern, extended from org/auth primitives into DevOps execution (queueing work, running it in isolated workers, tracking state, and exposing results through a consistent API). This term is just a shorthand for the concept; throughout the docs we simply refer to the system as `sfp server`. A single deployment can host multiple isolated tenants. Each tenant has its own configuration and operational state, and workload execution is handled by worker services.

## Architecture (High Level)

The runtime is composed of an API service (the control plane), worker pools (the execution plane), and a small set of supporting services. The API accepts requests, validates identity/authorization, persists and streams state, and schedules work. Workers pick up tasks based on queue priority (critical/normal/batch), execute them in an ephemeral environment, and report progress and results back to the state store.

## Capabilities

From a technical perspective, the system provides authentication flows (interactive and application tokens), task submission and lifecycle management (immediate/scheduled/recurring), document and key/value storage primitives used by higher-level features, and operation-scoped logging.

### Server Management

sfp server provides comprehensive CLI commands for server lifecycle management:

#### Core Commands

* [`sfp server init`](https://github.com/flxbl-io/docs-sfp/blob/main/cli-reference/server/init.md) - Initialize a new server instance
* [`sfp server start`](https://github.com/flxbl-io/docs-sfp/blob/main/cli-reference/server/start.md) - Start tenant services
* [`sfp server stop`](https://github.com/flxbl-io/docs-sfp/blob/main/cli-reference/server/stop.md) - Stop tenant services
* [`sfp server status`](https://github.com/flxbl-io/docs-sfp/blob/main/cli-reference/server/status.md) - Check service status
* [`sfp server update`](https://github.com/flxbl-io/docs-sfp/blob/main/cli-reference/server/update.md) - Update to latest version

#### Monitoring & Operations

* [`sfp server health`](https://github.com/flxbl-io/docs-sfp/blob/main/cli-reference/server/health.md) - Health checks and diagnostics
* [`sfp server logs`](https://github.com/flxbl-io/docs-sfp/blob/main/cli-reference/server/logs.md) - View and monitor logs
* [`sfp server scale`](https://github.com/flxbl-io/docs-sfp/blob/main/cli-reference/server/scale.md) - Scale worker services

For a complete list of server management commands, see the [CLI Reference](https://github.com/flxbl-io/docs-sfp/blob/main/cli-reference/server/README.md).
