devfile 0.0.9.pre.alpha1-aarch64-linux → 0.0.28.pre.alpha1-aarch64-linux
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/bin/devfile +0 -0
- data/ext/devfile.go +128 -13
- data/ext/go.mod +84 -69
- data/ext/go.sum +242 -879
- data/ext/main.go +49 -9
- data/ext/volume.go +74 -66
- data/lib/devfile.rb +27 -29
- metadata +11 -8
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: d96f42449f6be60cdff022048afa02898b74a46c326414178e7e19084bc87447
         | 
| 4 | 
            +
              data.tar.gz: 7146a0cb490d6a66ff889419725bb358e20ff3be3981270908da7093d7f0cbda
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 99dfca83b2e266b619a3495b97a3f3ebb3675b159d16efee5d47446e1237ccd0f611cf92e73ffce0e49575cebc164754af4124a95033b382081a44744fa8eec4
         | 
| 7 | 
            +
              data.tar.gz: ca083cd0598ec01e8b9380d27eaf06c26c14dc3d9a967879877ddbad87e64f33624a0cdc4b95ba9779618f4710d7f34f3507ae03098f35f3a5b4e123bc063cfb
         | 
    
        data/bin/devfile
    CHANGED
    
    | Binary file | 
    
        data/ext/devfile.go
    CHANGED
    
    | @@ -1,17 +1,20 @@ | |
| 1 1 | 
             
            package main
         | 
| 2 2 |  | 
| 3 | 
            -
            import "C"
         | 
| 4 3 | 
             
            import (
         | 
| 5 4 | 
             
            	"bytes"
         | 
| 5 | 
            +
            	"fmt"
         | 
| 6 | 
            +
            	"sort"
         | 
| 6 7 | 
             
            	"strconv"
         | 
| 7 8 | 
             
            	"text/template"
         | 
| 8 9 |  | 
| 10 | 
            +
            	"github.com/devfile/library/v2/pkg/devfile"
         | 
| 9 11 | 
             
            	"github.com/devfile/library/v2/pkg/devfile/generator"
         | 
| 10 12 | 
             
            	"github.com/devfile/library/v2/pkg/devfile/parser"
         | 
| 11 13 | 
             
            	"github.com/devfile/library/v2/pkg/devfile/parser/data/v2/common"
         | 
| 12 14 | 
             
            	appsv1 "k8s.io/api/apps/v1"
         | 
| 13 15 | 
             
            	corev1 "k8s.io/api/core/v1"
         | 
| 14 16 | 
             
            	networkingv1 "k8s.io/api/networking/v1"
         | 
| 17 | 
            +
            	"k8s.io/apimachinery/pkg/api/resource"
         | 
| 15 18 | 
             
            	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
         | 
| 16 19 | 
             
            	"k8s.io/apimachinery/pkg/runtime"
         | 
| 17 20 | 
             
            	"k8s.io/cli-runtime/pkg/printers"
         | 
| @@ -22,16 +25,14 @@ type Devfile struct { | |
| 22 25 | 
             
            	devfileObj parser.DevfileObj
         | 
| 23 26 | 
             
            }
         | 
| 24 27 |  | 
| 28 | 
            +
            type volumeOptions struct {
         | 
| 29 | 
            +
            	Info        generator.VolumeInfo
         | 
| 30 | 
            +
            	Size        string
         | 
| 31 | 
            +
            	IsEphemeral bool
         | 
| 32 | 
            +
            }
         | 
| 33 | 
            +
             | 
| 25 34 | 
             
            func (d Devfile) getDeployment(name, namespace string, labels, annotations map[string]string, replicas int) (*appsv1.Deployment, error) {
         | 
| 26 | 
            -
            	containers, err :=  | 
| 27 | 
            -
            	if err != nil {
         | 
| 28 | 
            -
            		return nil, err
         | 
| 29 | 
            -
            	}
         | 
| 30 | 
            -
            	initContainers, err := generator.GetInitContainers(d.devfileObj)
         | 
| 31 | 
            -
            	if err != nil {
         | 
| 32 | 
            -
            		return nil, err
         | 
| 33 | 
            -
            	}
         | 
| 34 | 
            -
            	volumes, err := d.getVolumesAndVolumeMounts(containers, initContainers, name)
         | 
| 35 | 
            +
            	containers, initContainers, volumes, _, err := d.getContainersAndVolumes(name)
         | 
| 35 36 | 
             
            	if err != nil {
         | 
| 36 37 | 
             
            		return nil, err
         | 
| 37 38 | 
             
            	}
         | 
| @@ -146,6 +147,37 @@ func (d Devfile) getIngress(name, namespace string, labels, annotations map[stri | |
| 146 147 | 
             
            	return ingress, nil
         | 
| 147 148 | 
             
            }
         | 
| 148 149 |  | 
| 150 | 
            +
            func (d Devfile) getPVC(name, namespace string, labels, annotations map[string]string) ([]*corev1.PersistentVolumeClaim, error) {
         | 
| 151 | 
            +
            	_, _, volumes, volumeNameToVolumeOptions, err := d.getContainersAndVolumes(name)
         | 
| 152 | 
            +
            	if err != nil {
         | 
| 153 | 
            +
            		return nil, err
         | 
| 154 | 
            +
            	}
         | 
| 155 | 
            +
            	pvcs := make([]*corev1.PersistentVolumeClaim, 0)
         | 
| 156 | 
            +
            	for _, volume := range volumes {
         | 
| 157 | 
            +
            		volumeOptions := volumeNameToVolumeOptions[volume.Name]
         | 
| 158 | 
            +
            		if volumeOptions.IsEphemeral {
         | 
| 159 | 
            +
            			continue
         | 
| 160 | 
            +
            		}
         | 
| 161 | 
            +
            		quantity, err := resource.ParseQuantity(volumeOptions.Size)
         | 
| 162 | 
            +
            		if err != nil {
         | 
| 163 | 
            +
            			return nil, err
         | 
| 164 | 
            +
            		}
         | 
| 165 | 
            +
            		pvcParams := generator.PVCParams{
         | 
| 166 | 
            +
            			TypeMeta: generator.GetTypeMeta("PersistentVolumeClaim", "v1"),
         | 
| 167 | 
            +
            			ObjectMeta: metav1.ObjectMeta{
         | 
| 168 | 
            +
            				Name:        volumeOptions.Info.PVCName,
         | 
| 169 | 
            +
            				Namespace:   namespace,
         | 
| 170 | 
            +
            				Labels:      labels,
         | 
| 171 | 
            +
            				Annotations: annotations,
         | 
| 172 | 
            +
            			},
         | 
| 173 | 
            +
            			Quantity: quantity,
         | 
| 174 | 
            +
            		}
         | 
| 175 | 
            +
            		pvc := generator.GetPVC(pvcParams)
         | 
| 176 | 
            +
            		pvcs = append(pvcs, pvc)
         | 
| 177 | 
            +
            	}
         | 
| 178 | 
            +
            	return pvcs, nil
         | 
| 179 | 
            +
            }
         | 
| 180 | 
            +
             | 
| 149 181 | 
             
            func (d Devfile) getAll(name, namespace string, labels, annotations map[string]string, replicas int, domainTemplate, ingressClass string) ([]runtime.Object, error) {
         | 
| 150 182 |  | 
| 151 183 | 
             
            	var result []runtime.Object
         | 
| @@ -170,9 +202,86 @@ func (d Devfile) getAll(name, namespace string, labels, annotations map[string]s | |
| 170 202 | 
             
            		result = append(result, ingress)
         | 
| 171 203 | 
             
            	}
         | 
| 172 204 |  | 
| 205 | 
            +
            	pvcs, err := d.getPVC(name, namespace, labels, annotations)
         | 
| 206 | 
            +
            	if err != nil {
         | 
| 207 | 
            +
            		return nil, err
         | 
| 208 | 
            +
            	}
         | 
| 209 | 
            +
            	for _, pvc := range pvcs {
         | 
| 210 | 
            +
            		result = append(result, pvc)
         | 
| 211 | 
            +
            	}
         | 
| 212 | 
            +
             | 
| 173 213 | 
             
            	return result, nil
         | 
| 174 214 | 
             
            }
         | 
| 175 215 |  | 
| 216 | 
            +
            func (d Devfile) getContainersAndVolumes(name string) ([]corev1.Container, []corev1.Container, []corev1.Volume, map[string]volumeOptions, error) {
         | 
| 217 | 
            +
            	containers, err := generator.GetContainers(d.devfileObj, common.DevfileOptions{})
         | 
| 218 | 
            +
            	if err != nil {
         | 
| 219 | 
            +
            		return nil, nil, nil, nil, err
         | 
| 220 | 
            +
            	}
         | 
| 221 | 
            +
            	initContainers, err := generator.GetInitContainers(d.devfileObj)
         | 
| 222 | 
            +
            	if err != nil {
         | 
| 223 | 
            +
            		return nil, nil, nil, nil, err
         | 
| 224 | 
            +
            	}
         | 
| 225 | 
            +
            	allContainers := append(containers, initContainers...)
         | 
| 226 | 
            +
             | 
| 227 | 
            +
            	volumeComponents, err := d.devfileObj.Data.GetDevfileVolumeComponents(common.DevfileOptions{})
         | 
| 228 | 
            +
            	if err != nil {
         | 
| 229 | 
            +
            		return nil, nil, nil, nil, err
         | 
| 230 | 
            +
            	}
         | 
| 231 | 
            +
            	volumeNameToVolumeOptions := map[string]volumeOptions{}
         | 
| 232 | 
            +
            	volumeNameToVolumeInfo := map[string]generator.VolumeInfo{}
         | 
| 233 | 
            +
            	for _, volumeComponent := range volumeComponents {
         | 
| 234 | 
            +
            		info := generator.VolumeInfo{
         | 
| 235 | 
            +
            			PVCName:    fmt.Sprintf("%s-%s", name, volumeComponent.Name),
         | 
| 236 | 
            +
            			VolumeName: volumeComponent.Name,
         | 
| 237 | 
            +
            		}
         | 
| 238 | 
            +
            		volumeNameToVolumeInfo[volumeComponent.Name] = info
         | 
| 239 | 
            +
            		volumeNameToVolumeOptions[volumeComponent.Name] = volumeOptions{
         | 
| 240 | 
            +
            			Info:        info,
         | 
| 241 | 
            +
            			Size:        volumeComponent.Volume.Size,
         | 
| 242 | 
            +
            			IsEphemeral: *volumeComponent.Volume.Ephemeral,
         | 
| 243 | 
            +
            		}
         | 
| 244 | 
            +
            	}
         | 
| 245 | 
            +
             | 
| 246 | 
            +
            	volumeParams := generator.VolumeParams{
         | 
| 247 | 
            +
            		Containers:             allContainers,
         | 
| 248 | 
            +
            		VolumeNameToVolumeInfo: volumeNameToVolumeInfo,
         | 
| 249 | 
            +
            	}
         | 
| 250 | 
            +
            	options := common.DevfileOptions{}
         | 
| 251 | 
            +
            	// "containers" and "initContainers" are updated in place with the volume mounts parameters
         | 
| 252 | 
            +
            	// after the following function is called
         | 
| 253 | 
            +
            	//volumes, err := generator.GetVolumesAndVolumeMounts(d.devfileObj, volumeParams, options)
         | 
| 254 | 
            +
            	updatedAllContainers, volumes, err := getVolumesAndVolumeMounts(d.devfileObj, volumeParams, options)
         | 
| 255 | 
            +
            	if err != nil {
         | 
| 256 | 
            +
            		return nil, nil, nil, nil, err
         | 
| 257 | 
            +
            	}
         | 
| 258 | 
            +
            	// sort all volumes and volume mounts in the containers and initContainers
         | 
| 259 | 
            +
            	// to keep the array order deterministic
         | 
| 260 | 
            +
            	sort.SliceStable(volumes, func(i, j int) bool {
         | 
| 261 | 
            +
            		return volumes[i].Name < volumes[j].Name
         | 
| 262 | 
            +
            	})
         | 
| 263 | 
            +
             | 
| 264 | 
            +
            	updatedContainers := make([]corev1.Container, 0)
         | 
| 265 | 
            +
            	updatedInitContainers := make([]corev1.Container, 0)
         | 
| 266 | 
            +
            	for _, updated := range updatedAllContainers {
         | 
| 267 | 
            +
            		sort.SliceStable(updated.VolumeMounts, func(i, j int) bool {
         | 
| 268 | 
            +
            			return updated.VolumeMounts[i].Name < updated.VolumeMounts[j].Name
         | 
| 269 | 
            +
            		})
         | 
| 270 | 
            +
            		for _, container := range containers {
         | 
| 271 | 
            +
            			if updated.Name == container.Name {
         | 
| 272 | 
            +
            				updatedContainers = append(updatedContainers, updated)
         | 
| 273 | 
            +
            			}
         | 
| 274 | 
            +
            		}
         | 
| 275 | 
            +
            		for _, initContainer := range initContainers {
         | 
| 276 | 
            +
            			if updated.Name == initContainer.Name {
         | 
| 277 | 
            +
            				updatedInitContainers = append(updatedInitContainers, updated)
         | 
| 278 | 
            +
            			}
         | 
| 279 | 
            +
            		}
         | 
| 280 | 
            +
            	}
         | 
| 281 | 
            +
             | 
| 282 | 
            +
            	return updatedContainers, updatedInitContainers, volumes, volumeNameToVolumeOptions, nil
         | 
| 283 | 
            +
            }
         | 
| 284 | 
            +
             | 
| 176 285 | 
             
            func (d Devfile) hasContainerComponents() (bool, error) {
         | 
| 177 286 | 
             
            	containers, err := generator.GetContainers(d.devfileObj, common.DevfileOptions{})
         | 
| 178 287 | 
             
            	if err != nil {
         | 
| @@ -184,15 +293,21 @@ func (d Devfile) hasContainerComponents() (bool, error) { | |
| 184 293 | 
             
            	return false, nil
         | 
| 185 294 | 
             
            }
         | 
| 186 295 |  | 
| 187 | 
            -
            func (d Devfile) getFlattenedDevfileContent() string {
         | 
| 188 | 
            -
            	 | 
| 296 | 
            +
            func (d Devfile) getFlattenedDevfileContent() (string, error) {
         | 
| 297 | 
            +
            	b, err := yaml.Marshal(d.devfileObj.Data)
         | 
| 298 | 
            +
            	if err != nil {
         | 
| 299 | 
            +
            		return "", err
         | 
| 300 | 
            +
            	}
         | 
| 301 | 
            +
            	return string(b), nil
         | 
| 189 302 | 
             
            }
         | 
| 190 303 |  | 
| 191 304 | 
             
            func parseDevfile(content string) (Devfile, error) {
         | 
| 192 305 | 
             
            	parserArgs := parser.ParserArgs{
         | 
| 193 306 | 
             
            		Data: []byte(content),
         | 
| 194 307 | 
             
            	}
         | 
| 195 | 
            -
            	 | 
| 308 | 
            +
            	// TODO: figure out how to handle warnings
         | 
| 309 | 
            +
            	// 		https://gitlab.com/gitlab-org/ruby/gems/devfile-gem/-/issues/6
         | 
| 310 | 
            +
            	devfileObj, _, err := devfile.ParseDevfileAndValidate(parserArgs)
         | 
| 196 311 | 
             
            	return Devfile{
         | 
| 197 312 | 
             
            		devfileObj: devfileObj,
         | 
| 198 313 | 
             
            	}, err
         | 
    
        data/ext/go.mod
    CHANGED
    
    | @@ -1,119 +1,134 @@ | |
| 1 | 
            -
            module gitlab | 
| 1 | 
            +
            module gitlab-org/ruby/gems/devfile-gem
         | 
| 2 2 |  | 
| 3 | 
            -
            go 1. | 
| 3 | 
            +
            go 1.22.0
         | 
| 4 4 |  | 
| 5 5 | 
             
            require (
         | 
| 6 | 
            -
            	github.com/devfile/ | 
| 7 | 
            -
            	 | 
| 8 | 
            -
            	k8s.io/ | 
| 9 | 
            -
            	k8s.io/ | 
| 6 | 
            +
            	github.com/devfile/api/v2 v2.2.2
         | 
| 7 | 
            +
            	github.com/devfile/library/v2 v2.2.2
         | 
| 8 | 
            +
            	k8s.io/api v0.26.10
         | 
| 9 | 
            +
            	k8s.io/apimachinery v0.26.10
         | 
| 10 | 
            +
            	k8s.io/cli-runtime v0.26.10
         | 
| 11 | 
            +
            	sigs.k8s.io/yaml v1.3.0
         | 
| 10 12 | 
             
            )
         | 
| 11 13 |  | 
| 12 14 | 
             
            require (
         | 
| 13 | 
            -
            	 | 
| 14 | 
            -
            	github.com/ | 
| 15 | 
            -
            	github.com/ | 
| 16 | 
            -
            	github.com/ | 
| 15 | 
            +
            	dario.cat/mergo v1.0.0 // indirect
         | 
| 16 | 
            +
            	github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24 // indirect
         | 
| 17 | 
            +
            	github.com/Microsoft/go-winio v0.6.1 // indirect
         | 
| 18 | 
            +
            	github.com/Microsoft/hcsshim v0.11.4 // indirect
         | 
| 19 | 
            +
            	github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371 // indirect
         | 
| 17 20 | 
             
            	github.com/beorn7/perks v1.0.1 // indirect
         | 
| 18 | 
            -
            	github.com/cespare/xxhash/v2 v2. | 
| 19 | 
            -
            	github.com/ | 
| 20 | 
            -
            	github.com/ | 
| 21 | 
            -
            	github.com/ | 
| 22 | 
            -
            	github.com/ | 
| 23 | 
            -
            	github.com/ | 
| 24 | 
            -
            	github.com/ | 
| 25 | 
            -
            	github.com/ | 
| 26 | 
            -
            	github.com/ | 
| 27 | 
            -
            	github.com/ | 
| 28 | 
            -
            	github.com/docker/ | 
| 21 | 
            +
            	github.com/cespare/xxhash/v2 v2.2.0 // indirect
         | 
| 22 | 
            +
            	github.com/cloudflare/circl v1.3.7 // indirect
         | 
| 23 | 
            +
            	github.com/containerd/containerd v1.7.13 // indirect
         | 
| 24 | 
            +
            	github.com/containerd/log v0.1.0 // indirect
         | 
| 25 | 
            +
            	github.com/cyphar/filepath-securejoin v0.2.4 // indirect
         | 
| 26 | 
            +
            	github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
         | 
| 27 | 
            +
            	github.com/devfile/registry-support/index/generator v0.0.0-20240311135803-6215550f93d4 // indirect
         | 
| 28 | 
            +
            	github.com/devfile/registry-support/registry-library v0.0.0-20240328155806-7c89891a72ce // indirect
         | 
| 29 | 
            +
            	github.com/distribution/distribution/v3 v3.0.0-20221208165359-362910506bc2 // indirect
         | 
| 30 | 
            +
            	github.com/distribution/reference v0.5.0 // indirect
         | 
| 31 | 
            +
            	github.com/docker/cli v25.0.1+incompatible // indirect
         | 
| 32 | 
            +
            	github.com/docker/distribution v2.8.3+incompatible // indirect
         | 
| 33 | 
            +
            	github.com/docker/docker v25.0.1+incompatible // indirect
         | 
| 34 | 
            +
            	github.com/docker/docker-credential-helpers v0.7.0 // indirect
         | 
| 35 | 
            +
            	github.com/docker/go-connections v0.5.0 // indirect
         | 
| 29 36 | 
             
            	github.com/docker/go-metrics v0.0.1 // indirect
         | 
| 30 | 
            -
            	github.com/ | 
| 31 | 
            -
            	github.com/ | 
| 32 | 
            -
            	github.com/emirpasic/gods v1.12.0 // indirect
         | 
| 37 | 
            +
            	github.com/emicklei/go-restful/v3 v3.10.1 // indirect
         | 
| 38 | 
            +
            	github.com/emirpasic/gods v1.18.1 // indirect
         | 
| 33 39 | 
             
            	github.com/evanphx/json-patch/v5 v5.6.0 // indirect
         | 
| 34 | 
            -
            	github.com/fatih/color v1. | 
| 35 | 
            -
            	github.com/ | 
| 36 | 
            -
            	github.com/ | 
| 37 | 
            -
            	github.com/go-git/ | 
| 38 | 
            -
            	github.com/go-git/go- | 
| 39 | 
            -
            	github.com/go- | 
| 40 | 
            +
            	github.com/fatih/color v1.14.1 // indirect
         | 
| 41 | 
            +
            	github.com/felixge/httpsnoop v1.0.4 // indirect
         | 
| 42 | 
            +
            	github.com/fsnotify/fsnotify v1.7.0 // indirect
         | 
| 43 | 
            +
            	github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
         | 
| 44 | 
            +
            	github.com/go-git/go-billy/v5 v5.5.0 // indirect
         | 
| 45 | 
            +
            	github.com/go-git/go-git/v5 v5.11.0 // indirect
         | 
| 46 | 
            +
            	github.com/go-logr/logr v1.4.1 // indirect
         | 
| 47 | 
            +
            	github.com/go-logr/stdr v1.2.2 // indirect
         | 
| 40 48 | 
             
            	github.com/go-openapi/jsonpointer v0.19.5 // indirect
         | 
| 41 49 | 
             
            	github.com/go-openapi/jsonreference v0.20.0 // indirect
         | 
| 42 50 | 
             
            	github.com/go-openapi/swag v0.19.14 // indirect
         | 
| 43 51 | 
             
            	github.com/gobwas/glob v0.2.3 // indirect
         | 
| 44 52 | 
             
            	github.com/gogo/protobuf v1.3.2 // indirect
         | 
| 53 | 
            +
            	github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
         | 
| 45 54 | 
             
            	github.com/golang/mock v1.6.0 // indirect
         | 
| 46 | 
            -
            	github.com/golang/protobuf v1.5. | 
| 55 | 
            +
            	github.com/golang/protobuf v1.5.4 // indirect
         | 
| 47 56 | 
             
            	github.com/google/btree v1.0.1 // indirect
         | 
| 48 57 | 
             
            	github.com/google/gnostic v0.5.7-v3refs // indirect
         | 
| 49 | 
            -
            	github.com/google/go-cmp v0. | 
| 58 | 
            +
            	github.com/google/go-cmp v0.6.0 // indirect
         | 
| 50 59 | 
             
            	github.com/google/gofuzz v1.2.0 // indirect
         | 
| 51 60 | 
             
            	github.com/gorilla/mux v1.8.0 // indirect
         | 
| 52 61 | 
             
            	github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7 // indirect
         | 
| 53 | 
            -
            	github.com/hashicorp/errwrap v1. | 
| 62 | 
            +
            	github.com/hashicorp/errwrap v1.1.0 // indirect
         | 
| 54 63 | 
             
            	github.com/hashicorp/go-multierror v1.1.1 // indirect
         | 
| 55 64 | 
             
            	github.com/hashicorp/go-version v1.4.0 // indirect
         | 
| 56 65 | 
             
            	github.com/imdario/mergo v0.3.12 // indirect
         | 
| 57 66 | 
             
            	github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect
         | 
| 58 67 | 
             
            	github.com/josharian/intern v1.0.0 // indirect
         | 
| 59 68 | 
             
            	github.com/json-iterator/go v1.1.12 // indirect
         | 
| 60 | 
            -
            	github.com/kevinburke/ssh_config  | 
| 61 | 
            -
            	github.com/klauspost/compress v1. | 
| 69 | 
            +
            	github.com/kevinburke/ssh_config v1.2.0 // indirect
         | 
| 70 | 
            +
            	github.com/klauspost/compress v1.17.7 // indirect
         | 
| 62 71 | 
             
            	github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de // indirect
         | 
| 63 72 | 
             
            	github.com/mailru/easyjson v0.7.6 // indirect
         | 
| 64 | 
            -
            	github.com/mattn/go-colorable v0.1. | 
| 65 | 
            -
            	github.com/mattn/go-isatty v0.0. | 
| 66 | 
            -
            	github.com/matttproud/golang_protobuf_extensions v1.0. | 
| 67 | 
            -
            	github.com/mitchellh/go-homedir v1.1.0 // indirect
         | 
| 73 | 
            +
            	github.com/mattn/go-colorable v0.1.13 // indirect
         | 
| 74 | 
            +
            	github.com/mattn/go-isatty v0.0.17 // indirect
         | 
| 75 | 
            +
            	github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
         | 
| 68 76 | 
             
            	github.com/mitchellh/reflectwalk v1.0.1 // indirect
         | 
| 69 77 | 
             
            	github.com/moby/locker v1.0.1 // indirect
         | 
| 70 | 
            -
            	github.com/moby/term v0.0.0-20201216013528-df9cb8a40635 // indirect
         | 
| 71 78 | 
             
            	github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
         | 
| 72 79 | 
             
            	github.com/modern-go/reflect2 v1.0.2 // indirect
         | 
| 73 | 
            -
            	github.com/morikuni/aec v1.0.0 // indirect
         | 
| 74 80 | 
             
            	github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
         | 
| 75 81 | 
             
            	github.com/opencontainers/go-digest v1.0.0 // indirect
         | 
| 76 | 
            -
            	github.com/opencontainers/image-spec v1.0 | 
| 82 | 
            +
            	github.com/opencontainers/image-spec v1.1.0 // indirect
         | 
| 77 83 | 
             
            	github.com/openshift/api v0.0.0-20200930075302-db52bc4ef99f // indirect
         | 
| 78 84 | 
             
            	github.com/peterbourgon/diskv v2.0.1+incompatible // indirect
         | 
| 85 | 
            +
            	github.com/pjbgf/sha1cd v0.3.0 // indirect
         | 
| 79 86 | 
             
            	github.com/pkg/errors v0.9.1 // indirect
         | 
| 80 | 
            -
            	github.com/prometheus/client_golang v1. | 
| 81 | 
            -
            	github.com/prometheus/client_model v0. | 
| 82 | 
            -
            	github.com/prometheus/common v0. | 
| 83 | 
            -
            	github.com/prometheus/procfs v0. | 
| 87 | 
            +
            	github.com/prometheus/client_golang v1.14.0 // indirect
         | 
| 88 | 
            +
            	github.com/prometheus/client_model v0.3.0 // indirect
         | 
| 89 | 
            +
            	github.com/prometheus/common v0.37.0 // indirect
         | 
| 90 | 
            +
            	github.com/prometheus/procfs v0.8.0 // indirect
         | 
| 84 91 | 
             
            	github.com/sergi/go-diff v1.1.0 // indirect
         | 
| 85 | 
            -
            	github.com/sirupsen/logrus v1. | 
| 86 | 
            -
            	github.com/ | 
| 92 | 
            +
            	github.com/sirupsen/logrus v1.9.3 // indirect
         | 
| 93 | 
            +
            	github.com/skeema/knownhosts v1.2.1 // indirect
         | 
| 94 | 
            +
            	github.com/spf13/afero v1.11.0 // indirect
         | 
| 87 95 | 
             
            	github.com/spf13/pflag v1.0.5 // indirect
         | 
| 88 | 
            -
            	github.com/xanzy/ssh-agent v0.3. | 
| 89 | 
            -
            	github.com/xeipuuv/gojsonpointer v0.0.0- | 
| 96 | 
            +
            	github.com/xanzy/ssh-agent v0.3.3 // indirect
         | 
| 97 | 
            +
            	github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect
         | 
| 90 98 | 
             
            	github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect
         | 
| 91 99 | 
             
            	github.com/xeipuuv/gojsonschema v1.2.0 // indirect
         | 
| 92 | 
            -
            	 | 
| 93 | 
            -
            	 | 
| 94 | 
            -
            	 | 
| 95 | 
            -
            	 | 
| 96 | 
            -
            	golang.org/x/ | 
| 97 | 
            -
            	golang.org/x/ | 
| 98 | 
            -
            	golang.org/x/ | 
| 99 | 
            -
            	golang.org/x/ | 
| 100 | 
            -
            	 | 
| 101 | 
            -
            	 | 
| 102 | 
            -
            	 | 
| 103 | 
            -
            	 | 
| 100 | 
            +
            	go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect
         | 
| 101 | 
            +
            	go.opentelemetry.io/otel v1.24.0 // indirect
         | 
| 102 | 
            +
            	go.opentelemetry.io/otel/metric v1.24.0 // indirect
         | 
| 103 | 
            +
            	go.opentelemetry.io/otel/trace v1.24.0 // indirect
         | 
| 104 | 
            +
            	golang.org/x/crypto v0.21.0 // indirect
         | 
| 105 | 
            +
            	golang.org/x/mod v0.16.0 // indirect
         | 
| 106 | 
            +
            	golang.org/x/net v0.22.0 // indirect
         | 
| 107 | 
            +
            	golang.org/x/oauth2 v0.16.0 // indirect
         | 
| 108 | 
            +
            	golang.org/x/sync v0.6.0 // indirect
         | 
| 109 | 
            +
            	golang.org/x/sys v0.18.0 // indirect
         | 
| 110 | 
            +
            	golang.org/x/term v0.18.0 // indirect
         | 
| 111 | 
            +
            	golang.org/x/text v0.14.0 // indirect
         | 
| 112 | 
            +
            	golang.org/x/time v0.5.0 // indirect
         | 
| 113 | 
            +
            	golang.org/x/tools v0.19.0 // indirect
         | 
| 114 | 
            +
            	google.golang.org/appengine v1.6.8 // indirect
         | 
| 115 | 
            +
            	google.golang.org/genproto/googleapis/rpc v0.0.0-20240304212257-790db918fca8 // indirect
         | 
| 116 | 
            +
            	google.golang.org/grpc v1.62.1 // indirect
         | 
| 117 | 
            +
            	google.golang.org/protobuf v1.33.0 // indirect
         | 
| 104 118 | 
             
            	gopkg.in/inf.v0 v0.9.1 // indirect
         | 
| 105 119 | 
             
            	gopkg.in/warnings.v0 v0.1.2 // indirect
         | 
| 106 120 | 
             
            	gopkg.in/yaml.v2 v2.4.0 // indirect
         | 
| 107 121 | 
             
            	gopkg.in/yaml.v3 v3.0.1 // indirect
         | 
| 108 | 
            -
            	k8s.io/apiextensions-apiserver v0. | 
| 109 | 
            -
            	k8s.io/client-go v0.26. | 
| 122 | 
            +
            	k8s.io/apiextensions-apiserver v0.26.10 // indirect
         | 
| 123 | 
            +
            	k8s.io/client-go v0.26.10 // indirect
         | 
| 124 | 
            +
            	k8s.io/component-base v0.26.10 // indirect
         | 
| 110 125 | 
             
            	k8s.io/klog v1.0.0 // indirect
         | 
| 111 | 
            -
            	k8s.io/klog/v2 v2. | 
| 126 | 
            +
            	k8s.io/klog/v2 v2.90.1 // indirect
         | 
| 112 127 | 
             
            	k8s.io/kube-openapi v0.0.0-20221012153701-172d655c2280 // indirect
         | 
| 113 | 
            -
            	k8s.io/ | 
| 114 | 
            -
            	 | 
| 115 | 
            -
            	 | 
| 128 | 
            +
            	k8s.io/pod-security-admission v0.26.10 // indirect
         | 
| 129 | 
            +
            	k8s.io/utils v0.0.0-20230220204549-a5ecb0141aa5 // indirect
         | 
| 130 | 
            +
            	oras.land/oras-go v1.2.5 // indirect
         | 
| 131 | 
            +
            	sigs.k8s.io/controller-runtime v0.14.7 // indirect
         | 
| 116 132 | 
             
            	sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 // indirect
         | 
| 117 133 | 
             
            	sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect
         | 
| 118 | 
            -
            	sigs.k8s.io/yaml v1.3.0 // indirect
         | 
| 119 134 | 
             
            )
         |