@@ -16,26 +16,43 @@ import (
16
16
func main () {
17
17
var cfg registry.Config
18
18
cmd := & cobra.Command {
19
- Use : "unregistry" ,
20
- Short : "A container registry backed by the local Docker/containerd image store." ,
19
+ Use : "unregistry" ,
20
+ Short : "A container registry that uses local Docker/containerd for storing images." ,
21
+ Long : `Unregistry is a lightweight OCI-compliant container registry that uses the local Docker (containerd)
22
+ image store as its backend. It provides a standard registry API interface for pushing and pulling
23
+ container images without requiring a separate storage backend.
24
+
25
+ Key use cases:
26
+ - Push built images straight to remote servers without an external registry such as Docker Hub
27
+ as intermediary
28
+ - Pull images once and serve them to multiple nodes in a cluster environment
29
+ - Distribute images in air-gapped environments
30
+ - Development and testing workflows that need a local registry
31
+ - Expose pre-loaded images through a standard registry API` ,
21
32
SilenceUsage : true ,
22
33
SilenceErrors : true ,
23
34
PreRun : func (cmd * cobra.Command , args []string ) {
24
35
bindEnvToFlag (cmd , "addr" , "UNREGISTRY_ADDR" )
36
+ bindEnvToFlag (cmd , "log-format" , "UNREGISTRY_LOG_FORMAT" )
25
37
bindEnvToFlag (cmd , "log-level" , "UNREGISTRY_LOG_LEVEL" )
26
38
bindEnvToFlag (cmd , "namespace" , "UNREGISTRY_CONTAINERD_NAMESPACE" )
27
- bindEnvToFlag (cmd , "sock " , "UNREGISTRY_CONTAINERD_SOCK" )
39
+ bindEnvToFlag (cmd , "socket " , "UNREGISTRY_CONTAINERD_SOCK" )
28
40
},
29
41
RunE : func (cmd * cobra.Command , args []string ) error {
30
42
return run (cfg )
31
43
},
32
44
}
33
45
34
- cmd .Flags ().StringVarP (& cfg .Addr , "listen" , "l" , ":5000" , "Address to listen on." )
35
- cmd .Flags ().StringVar (& cfg .LogLevel , "log-level" , "info" , "Log level (debug, info, warn, error)." )
36
- cmd .Flags ().StringVar (& cfg .ContainerdNamespace , "namespace" , "moby" , "containerd namespace to use." )
37
- cmd .Flags ().StringVar (& cfg .ContainerdSock , "sock" , "/run/containerd/containerd.sock" , "Path to containerd socket." )
38
- //cmd.Flags().String("secret", "", "HTTP secret key")
46
+ cmd .Flags ().StringVarP (& cfg .Addr , "addr" , "a" , ":5000" ,
47
+ "Address and port to listen on (e.g., 0.0.0.0:5000)" )
48
+ cmd .Flags ().StringVarP (& cfg .LogFormatter , "log-format" , "f" , "text" ,
49
+ "Log output format (text or json)" )
50
+ cmd .Flags ().StringVarP (& cfg .LogLevel , "log-level" , "l" , "info" ,
51
+ "Log verbosity level (debug, info, warn, error)" )
52
+ cmd .Flags ().StringVarP (& cfg .ContainerdNamespace , "namespace" , "n" , "moby" ,
53
+ "Containerd namespace to use for image storage" )
54
+ cmd .Flags ().StringVarP (& cfg .ContainerdSock , "sock" , "s" , "/run/containerd/containerd.sock" ,
55
+ "Path to containerd socket file" )
39
56
40
57
if err := cmd .Execute (); err != nil {
41
58
logrus .WithError (err ).Fatal ("Registry server failed." )
0 commit comments