Tosone 720022de3e refactor(mocks): generate mocks into source packages
Move generated mocks out of the `mocks/` subpackages and into the
source packages as `*_mocks.go` files for `pkg/distribution/clients`
and `pkg/service/password`, updating the go:generate directives to
emit `-package=clients` / `-package=password`. Update the import in
`pkg/service/users/users_test.go` to reference the new location.

Also:
- add `go.uber.org/mock/mockgen` to the tool directives and refresh
  module dependencies
- bump CI service images (mysql 9, postgres 18-alpine) and drop the
  removed mocks packages from the coverage exclusion list
- clean up .gitignore and ignore local tool artifacts (.pi/,
  skills-lock.json)

Verification:
- go vet -tags "netgo,timetzdata,exclude_graphdriver_btrfs,containers_image_openpgp" ./pkg/service/users/ ./pkg/service/password/ ./pkg/distribution/clients/
- go test -tags "netgo,timetzdata,exclude_graphdriver_btrfs,containers_image_openpgp" ./pkg/service/users/
2026-09-11 00:19:17 +08:00
2026-08-01 20:32:49 +08:00
2026-08-01 20:32:49 +08:00
2026-08-01 20:32:49 +08:00
2026-08-01 20:32:49 +08:00
2026-08-01 20:32:49 +08:00
2026-08-01 20:32:49 +08:00
2026-08-01 20:32:49 +08:00
2026-08-01 20:32:49 +08:00
2026-08-01 20:32:49 +08:00
2026-08-01 20:32:49 +08:00
2026-08-01 20:32:49 +08:00
2026-08-01 20:32:49 +08:00

sigma

sigma

GitHub Workflow Status Codecov GitHub repo size

Sigma is an image registry that is extremely easy to deploy and maintain, and it adheres to the interface standards defined by the OCI Distribution Specification 1.1, it can also support any other client programs that follow the interface definition of the OCI Distribution Specification, such as oras, apptainer, helm, and nerdctl.

Quick Start

Now you can use this command to run a simple server:

docker run --name sigma -p 3000:3000 --rm tosone/sigma:nightly-alpine

The default username and password is: sigma/Admin@123. If you want to modify the default password, please refer to the configuration instructions.

Demo Server

It is deployed on an AWS EC2 instance (2C4G, 40G disk) running Debian 12.1 as the Linux distribution. The Docker version used is 25.0.3. The demo server was set up following these instructions.

Visit: https://sigma.tosone.cn, username/password: sigma/Admin@123

Architecture

The diagram below maps Sigma's main runtime layers, from client entry points to request handling, background workers, and the infrastructure services they depend on.

Sigma architecture

Features

  • Support docker registry v2 protocol.
  • Support OCI Image v1 Format and OCI Image Index v1 Format.
  • Support OCI artifacts such as helm and so on.
  • Support OCI sbom.
  • Support Image security scan.
  • Support registry proxy.
  • Support Namespace quota.
  • Support Image automatic garbage collection.
  • Support Image sign.
  • Support Image build in docker, podman and kubernetes.
  • Support Image replication.

AI Clients and Automation

Sigma provides two integration paths for AI clients and external automation:

  • Embedded MCP server: Sigma can expose registry management tools through the existing server process. It is disabled by default and can be enabled through the mcp configuration section. See MCP Server.
  • External REST API skill: tools/skill/sigma-api-operator packages a reusable skill and swagger.yaml so CLI agents such as Claude Code or Copilot CLI can discover Sigma APIs and operate resources through HTTP requests.

Alternatives

Languages
Go 73.9%
TypeScript 23.6%
CSS 1.6%
Dockerfile 0.3%
Makefile 0.2%
Other 0.3%