func Decompress()

in pkg/conf/schedulerconf.go [445:469]


func Decompress(key string, value []byte) (string, string) {
	var uncompressedData string
	splitKey := strings.Split(key, ".")
	compressionAlgo := splitKey[len(splitKey)-1]
	if strings.EqualFold(compressionAlgo, constants.GzipSuffix) {
		gzReader, err := gzip.NewReader(bytes.NewReader(value))
		if err != nil {
			log.Log(log.ShimConfig).Error("failed to decompress decoded schedulerConfig entry", zap.Error(err))
			return "", ""
		}
		defer func() {
			if err = gzReader.Close(); err != nil {
				log.Log(log.ShimConfig).Debug("gzip Reader could not be closed ", zap.Error(err))
			}
		}()
		decompressedBytes, err := io.ReadAll(gzReader)
		if err != nil {
			log.Log(log.ShimConfig).Error("failed to decompress decoded schedulerConfig entry", zap.Error(err))
			return "", ""
		}
		uncompressedData = string(decompressedBytes)
	}
	strippedKey, _ := strings.CutSuffix(key, "."+compressionAlgo)
	return strippedKey, uncompressedData
}