identifiers: use common package for identifier validation

A few days ago, we added validation for namespaces. We've decided to
expand these naming rules to include containers. To facilitate this, a
common package `identifiers` now provides a common validation area.
These rules will be extended to apply to task identifiers, snapshot keys
and other areas where user-provided identifiers may be used.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
This commit is contained in:
Stephen J Day
2017-06-23 16:17:56 -07:00
parent e69423f931
commit 70815af652
9 changed files with 119 additions and 136 deletions

View File

@@ -3,6 +3,7 @@ package namespaces
import (
"os"
"github.com/containerd/containerd/identifiers"
"github.com/pkg/errors"
"golang.org/x/net/context"
)
@@ -61,8 +62,8 @@ func NamespaceRequired(ctx context.Context) (string, error) {
return "", errNamespaceRequired
}
if err := Validate(namespace); err != nil {
return "", err
if err := identifiers.Validate(namespace); err != nil {
return "", errors.Wrap(err, "namespace validation")
}
return namespace, nil