Code lives with the work
Repositories belong to Orbit projects and inherit their members. Deployments land on the work items they shipped, and Orbit rules act on them.
Git hosting, merge requests and CI/CD with .gitlab-ci.yml-compatible pipelines on runners you register, in the same projects as your work. Keys link code to work items automatically.
Orbit Forge
Forge keeps code next to the work it implements. Repositories belong to Orbit projects and inherit their members. Branches, commits and merge requests link to work items automatically. Pipelines run on runners you register, in ephemeral containers. Environments keep an immutable deployment history with approvals, and releases, packages and container images ship from the same place.
Why it is better
Repositories belong to Orbit projects and inherit their members. Deployments land on the work items they shipped, and Orbit rules act on them.
Pipeline syntax includes rules, include, components with inputs, matrices and child and multi-project pipelines. Unsupported keys fail lint with line and column.
Jobs run non-root in ephemeral containers without the Docker socket or service credentials. Timeouts remove the container before completion is reported.
Approval rules with code owners, auto-merge, merged-results pipelines, merge trains of up to 20 cars and stacked requests with automatic retargeting.
Secret, SAST, dependency, container and passive DAST scans with SBOMs, a hash-chained audit trail and policies as code.
Pulse records every deployment, shows release health before and after it and names suspect commits for new errors.
Capabilities
Everything below is listed with its real status. Items with no badge are built and working today.
Built, no badgeIn development Built, in final testingPlanned Designed, not started
Smart-HTTP and SSH clone, fetch and push. Create, import from a URL or bundle, fork and export.
Tree, files, blame, filterable history, commit diffs, compare with ahead/behind, raw files and archives.
Branch creation and text edits produce real Git objects. Concurrent edits conflict instead of overwriting.
LFS on the artifact store and a restore-checked backup of every repository.
Fork into any writable project. Fork code never runs in the upstream CI.
A deleted repository can be restored within 7 days.
Wildcard rules with push and merge roles, force-push and code-owner flags. Enforced on every transport.
Rules for commit message, author, branch and file names, file size and secret files. Secrets are refused at push.
Sections with counts and required code-owner approval for the default branch.
Hashed tokens with read and write scopes, 1 to 365 days, rotation and revocation.
The Orbit project’s roles apply. Cookie writes check the origin.
Review at scale, with gates that match how your team works.
Line-numbered diffs with resolvable threads, reviewer assignment and re-request. "Changes requested" blocks merging.
Approvers from members, people or Orbit groups (0 to 25), author and committer restrictions, reset on new commits.
Merge commit, semi-linear and fast-forward with squash policy, conflict listing and linear rebase.
Batch the reviewer’s suggestions into one commit.
Merge when the pipeline passes. Test the merged result. Trains of up to 20 cars tested on the cars ahead.
Dependencies with automatic retargeting.
A stated subset of GitLab CI syntax. What is not supported is rejected, never ignored.
Stages, needs, dependencies, when (manual, delayed), allow_failure, retry, timeouts and tags. Lint reports line and column.
Anchors, extends, !reference, default, local includes, components with typed inputs, rules, workflow:rules, matrices, child and multi-project pipelines.
A PostgreSQL job queue with fenced leases, heartbeats, retries, cancellation and 4 MiB masked traces.
Caches with protected keys, artifacts with browsing and quotas, JUnit, dotenv and coverage reports.
Opt-in branch, tag and merge request pipelines, [skip ci], cron schedules in IANA zones, API and HMAC webhook triggers.
Serialise jobs per key. Manual and delayed jobs.
Check your pipeline before you push with orbit-forge ci lint and a dry run of the rules.
Registered per project with hashed tokens, tags, protected-refs-only, timeouts and online status.
Ephemeral non-root containers without the Docker socket or service credentials, with CPU, memory and process limits. Remote Docker over mutual TLS.
Protected, masked and hidden variables with environment scopes and file variables. Masking works across log chunk boundaries.
RS256 JWTs with discovery, JWKS and key rotation, so jobs reach cloud providers without long-lived keys.
Immutable history per SHA, ref, execution and actor. Review apps, stop and auto-stop.
Independent approval and a separate Start. Re-deploy and rollback go through the same checks.
Releases with links, sources and evidence from protected tags or the release keyword.
Generic packages and an OCI registry for docker login, push and pull. Deploy freezes.
Versioned components for blue/green, Kamal, Swarm, Helm, static CDN and db-migrate.
Canary or blue/green steps that compare errors, latency and SLO budget in Pulse and roll back automatically.
Secret detection, pattern SAST, dependency scanning with CycloneDX SBOMs and OSV advisories, container scanning and passive DAST.
GitLab JSON, SARIF and CycloneDX reports. Triage states, dismissal reasons and merge request comparison.
Filterable events with CSV export, verification, retention and signed HTTPS streaming.
Live-evaluated controls, approval and scan policies in a policy repository, with violation reports.
Keys in branches, commits and merge requests link to work items. Deployments are recorded on the work they shipped.
Closing patterns run as their actor through the work item’s workflow.
Forge reports its own traces and profiles. Stack frames in Pulse open the file at the deployed SHA.
Lumen summarises merge requests and failed pipelines and proposes review comments as cards.
Merge requests with threads and comments import from another GitLab. Its issues download as a CSV for Orbit’s import.
SSO, SCIM and organization groups wait for the Orbit identity work. Multi-node deployment is not covered.
Compatibility and migration
Pipelines use a stated subset of the .gitlab-ci.yml syntax. Everything outside it is rejected by lint, so a green pipeline means what it says.
Stages, needs, rules, include, components with typed inputs, matrices, child and multi-project pipelines. Lint reports line and column.
Merge requests with threads and comments import from another GitLab. Its issues download as a CSV for Orbit’s import.
Provider webhooks bring branches, commits, requests and builds to Orbit work items, for teams whose code lives elsewhere.
stages: [build, test]
test:
stage: test
image: golang:1.23
script:
- go test ./...
artifacts:
reports:
junit: report.xmlNot supported: after_script, services, remote and template includes, needs:project and secrets:. They fail lint instead of being ignored.
Works with the rest of Orbit
What is next for Forge
Check a pipeline from the command line before you push.
Follows the Orbit sign-in work.
Forge moves to the redesigned interface after the Orbit screens.
Pricing
Forge is on every plan. Repository size scales with the plan. CI minutes on shared runners are planned, and your own runners never use minutes.
Orbit is in private preview. Every new organization will start with a 14-day Business trial, no card required.