mirror of
https://github.com/KevinMidboe/traefik-etcd-advertiser.git
synced 2026-02-11 11:59:26 +00:00
simplified parsing & getting annotations from kubernetes svc resource
This commit is contained in:
@@ -1,17 +1,24 @@
|
||||
package converter
|
||||
|
||||
func DeploymentToKubernetes (filePath string) (*v1.Deployment, error) {
|
||||
file, err := os.Open(filePath)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer file.Close()
|
||||
import (
|
||||
"errors"
|
||||
v1 "k8s.io/api/core/v1"
|
||||
"k8s.io/client-go/kubernetes/scheme"
|
||||
"os"
|
||||
)
|
||||
|
||||
var cfg v1.Deployment
|
||||
decoder := yaml.NewDecoder(file)
|
||||
if err := decoder.Decode(&cfg); err != nil {
|
||||
return nil, err
|
||||
// NOTE this is really not used, just wanted to convert
|
||||
// to a kubernetes resource to our packets for practice.
|
||||
func ServiceToKubernetes(filePath string) (*v1.Service, error) {
|
||||
decode := scheme.Codecs.UniversalDeserializer().Decode
|
||||
stream, _ := os.ReadFile(filePath)
|
||||
// second param (gKV) is top level (GroupVersionKind) w/ group, version & kind
|
||||
obj, gKV, _ := decode(stream, nil, nil)
|
||||
|
||||
// handle multiple resources split by ---
|
||||
if gKV.Kind == "Service" {
|
||||
return obj.(*v1.Service), nil
|
||||
}
|
||||
|
||||
return &cfg, nil
|
||||
return nil, errors.New("Unable to find service resource")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user