2015-05-11 17:23:32 +00:00
package tags
import (
"fmt"
2015-07-16 00:33:27 +00:00
"github.com/docker/distribution/registry/api/v2"
2015-05-11 17:23:32 +00:00
)
const DEFAULTTAG = "latest"
2015-07-16 00:33:27 +00:00
type ErrTagInvalidFormat struct {
name string
}
func ( e ErrTagInvalidFormat ) Error ( ) string {
return fmt . Sprintf ( "Illegal tag name (%s): only [A-Za-z0-9_.-] are allowed ('.' and '-' are NOT allowed in the initial), minimum 1, maximum 128 in length" , e . name )
}
2015-05-11 17:23:32 +00:00
// ValidateTagName validates the name of a tag
func ValidateTagName ( name string ) error {
if name == "" {
return fmt . Errorf ( "tag name can't be empty" )
}
2015-07-16 00:33:27 +00:00
if ! v2 . TagNameAnchoredRegexp . MatchString ( name ) {
return ErrTagInvalidFormat { name }
2015-05-11 17:23:32 +00:00
}
return nil
}