goharbor/harbor · error · errors.Error

DENIED

DENIED

Error message

The system is in read only mode. Any modification is prohibited.

What it means

Error "The system is in read only mode. Any modification is prohibited." thrown in goharbor/harbor.

Source

Thrown at src/server/middleware/readonly/readonly.go:72

func Middleware(skippers ...middleware.Skipper) func(http.Handler) http.Handler {
	return MiddlewareWithConfig(DefaultConfig, skippers...)
}

// MiddlewareWithConfig middleware reject request when harbor set to readonly with config
func MiddlewareWithConfig(config Config, skippers ...middleware.Skipper) func(http.Handler) http.Handler {
	if len(skippers) == 0 {
		skippers = []middleware.Skipper{safeMethodSkipper}
	} else {
		skippers = append(skippers, []middleware.Skipper{safeMethodSkipper}...)
	}

	if config.ReadOnly == nil {
		config.ReadOnly = DefaultConfig.ReadOnly
	}

	return middleware.New(func(w http.ResponseWriter, r *http.Request, next http.Handler) {
		if config.ReadOnly(r) {
			pkgE := errors.New(nil).WithCode(errors.DENIED).WithMessage("The system is in read only mode. Any modification is prohibited.")
			lib_http.SendError(w, pkgE)
			return
		}

		next.ServeHTTP(w, r)
	}, skippers...)
}

View on GitHub (pinned to 7b2fd08cc5)

When it happens

Trigger: Thrown at src/server/middleware/readonly/readonly.go:72 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of goharbor/harbor@7b2fd08cc5 (2026-08-16). Data as JSON: /api/errors/c127b57d29638b15. Report an issue: GitHub.