/** # Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. **/ package containerd import ( "github.com/NVIDIA/nvidia-container-toolkit/internal/logger" "github.com/NVIDIA/nvidia-container-toolkit/pkg/config/engine" "github.com/pelletier/go-toml" ) // Config represents the containerd config type Config struct { *toml.Tree RuntimeType string UseDefaultRuntimeName bool ContainerAnnotations []string } // New creates a containerd config with the specified options func New(opts ...Option) (engine.Interface, error) { b := &builder{} for _, opt := range opts { opt(b) } if b.logger == nil { b.logger = logger.New() } return b.build() }