Add a utility to convert componentconfig into a configmap

This commit is contained in:
Timothy St. Clair
2017-05-08 11:44:50 -05:00
parent 6dab46e3fb
commit 3ea4de60d9
4 changed files with 75 additions and 0 deletions

View File

@@ -17,10 +17,14 @@ limitations under the License.
package componentconfig
import (
"encoding/json"
"fmt"
"net"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
utilnet "k8s.io/apimachinery/pkg/util/net"
"k8s.io/kubernetes/pkg/api/v1"
)
// used for validating command line opts
@@ -95,3 +99,21 @@ func (v PortRangeVar) String() string {
func (v PortRangeVar) Type() string {
return "port-range"
}
// ConvertObjToConfigMap converts an object to a ConfigMap.
// This is specifically meant for ComponentConfigs.
func ConvertObjToConfigMap(name string, obj runtime.Object) (*v1.ConfigMap, error) {
eJSONBytes, err := json.Marshal(obj)
if err != nil {
return nil, err
}
cm := &v1.ConfigMap{
ObjectMeta: metav1.ObjectMeta{
Name: name,
},
Data: map[string]string{
name: string(eJSONBytes[:]),
},
}
return cm, nil
}