Skip to content

Instantly share code, notes, and snippets.

@mfojtik
Created September 26, 2019 08:44
Show Gist options
  • Save mfojtik/bd459f06b4ef0c1fc24921c9b5862bee to your computer and use it in GitHub Desktop.
Save mfojtik/bd459f06b4ef0c1fc24921c9b5862bee to your computer and use it in GitHub Desktop.
package control_plane
import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/serializer"
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
configv1 "github.com/openshift/api/config/v1"
)
var (
scheme = runtime.NewScheme()
decoder runtime.Decoder
)
func init() {
utilruntime.Must(metav1.AddMetaToScheme(scheme))
utilruntime.Must(configv1.Install(scheme))
decoder = serializer.NewCodecFactory(scheme).UniversalDecoder(metav1.SchemeGroupVersion, configv1.GroupVersion)
}
func decodeClusterOperators(manifestBytes []byte) (*configv1.ClusterOperatorList, error) {
decodedObj, err := runtime.Decode(decoder, manifestBytes)
if err != nil {
return nil, err
}
return decodedObj.(*configv1.ClusterOperatorList), nil
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment