kubernetes sdkを介さず,直接kubectlバイナリを利用するラッパーライブラリです.
- : (manifest) Create deployment object
- : (manifest) Create deployment yaml to object
- : (kubectl) kubectl delete
- : (kubectl) kubectl apply
To install kw package, you need to install Go and set your Go workspace first.
go get -u github.com/tozastation/kw
import "github.com/tozastation/kw"
package main
import "github.com/tozastation/kw"
func main() {
// kubectl client
kubectl, _ := kw.New("", "")
// yaml object converter
manifest, _ := kw.NewManifest()
obj, _ := manifest.NewDeploymentObject()
obj.Name = "test"
obj.Spec.Selector.MatchLabels = map[string]string{"app": "test"}
obj.Spec.Template = v1.PodTemplateSpec{
ObjectMeta: v12.ObjectMeta{
Labels: map[string]string{"app": "test"},
},
Spec: v1.PodSpec{
Containers: []v1.Container{
{Name: "test", Image: "nginx:latest"},
},
},
}
yaml, _ := manifest.TransformObjectToYaml(obj)
result, ok := kubectl.Apply(yaml)
}
make
: テスト用のイメージをビルドしますmake test
: ライブラリのプログラムをテストします.