Core of image's duplication feature

This commit is contained in:
Arnaud Lecomte
2023-08-25 13:54:39 +02:00
parent 84e97d2169
commit b56f024e6f
8 changed files with 149 additions and 5 deletions

View File

@@ -15,8 +15,8 @@ import (
"github.com/hpcng/warewulf/internal/pkg/api/container"
apinode "github.com/hpcng/warewulf/internal/pkg/api/node"
"github.com/hpcng/warewulf/internal/pkg/api/routes/wwapiv1"
"github.com/hpcng/warewulf/internal/pkg/version"
warewulfconf "github.com/hpcng/warewulf/internal/pkg/config"
"github.com/hpcng/warewulf/internal/pkg/version"
"google.golang.org/grpc"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/credentials"
@@ -157,6 +157,25 @@ func (s *apiServer) ContainerBuild(ctx context.Context, request *wwapiv1.Contain
return
}
// ContainerCopy duplicates a container.
func (s *apiServer) ContainerCopy(ctx context.Context, request *wwapiv1.ContainerCopyParameter) (response *wwapiv1.ContainerListResponse, err error) {
// Parameter checks.
if request == nil {
return response, status.Errorf(codes.InvalidArgument, "nil request")
}
if request.ContainerSource == "" {
return response, status.Errorf(codes.InvalidArgument, "nil request.ContainerSource")
}
if request.ContainerDestination == "" {
return response, status.Errorf(codes.InvalidArgument, "nil request.ContainerDest")
}
return
}
// ContainerDelete deletes one or more containers from Warewulf.
func (s *apiServer) ContainerDelete(ctx context.Context, request *wwapiv1.ContainerDeleteParameter) (response *emptypb.Empty, err error) {