Fixup some annotations
This commit is contained in:
@@ -36,9 +36,8 @@ echo "Done"
|
||||
func CreateReplicaObject(name string, s compose.Service) (ret []interface{}) {
|
||||
|
||||
Magenta("Generating deployment for ", name)
|
||||
o := helm.NewDeployment()
|
||||
o := helm.NewDeployment(name)
|
||||
ret = append(ret, o)
|
||||
o.Metadata.Name = "{{ .Release.Name }}-" + name
|
||||
|
||||
container := helm.NewContainer(name, s.Image, s.Environment, s.Labels)
|
||||
|
||||
@@ -211,8 +210,7 @@ func CreateReplicaObject(name string, s compose.Service) (ret []interface{}) {
|
||||
func createService(name string, s compose.Service) []interface{} {
|
||||
|
||||
Magenta("Generating service for ", name)
|
||||
ks := helm.NewService()
|
||||
ks.Metadata.Name = "{{ .Release.Name }}-" + name
|
||||
ks := helm.NewService(name)
|
||||
defaultPort := 0
|
||||
names := make(map[int]int)
|
||||
|
||||
|
@@ -23,6 +23,7 @@ func NewConfigMap(name string) *ConfigMap {
|
||||
base.ApiVersion = "v1"
|
||||
base.Kind = "ConfigMap"
|
||||
base.Metadata.Name = "{{ .Release.Name }}-" + name
|
||||
base.Metadata.Labels[K+"/component"] = name
|
||||
return &ConfigMap{
|
||||
K8sBase: base,
|
||||
Data: make(map[string]string),
|
||||
@@ -66,6 +67,7 @@ func NewSecret(name string) *Secret {
|
||||
base.ApiVersion = "v1"
|
||||
base.Kind = "Secret"
|
||||
base.Metadata.Name = "{{ .Release.Name }}-" + name
|
||||
base.Metadata.Labels[K+"/component"] = name
|
||||
return &Secret{
|
||||
K8sBase: base,
|
||||
Data: make(map[string]string),
|
||||
|
@@ -8,10 +8,12 @@ type Deployment struct {
|
||||
Spec *DepSpec `yaml:"spec"`
|
||||
}
|
||||
|
||||
func NewDeployment() *Deployment {
|
||||
func NewDeployment(name string) *Deployment {
|
||||
d := &Deployment{K8sBase: NewBase(), Spec: NewDepSpec()}
|
||||
d.K8sBase.Metadata.Name = "{{ .Release.Name }}-" + name
|
||||
d.K8sBase.ApiVersion = "apps/v1"
|
||||
d.K8sBase.Kind = "Deployment"
|
||||
d.K8sBase.Metadata.Labels[K+"/component"] = name
|
||||
return d
|
||||
}
|
||||
|
||||
|
@@ -11,6 +11,7 @@ func NewIngress(name string) *Ingress {
|
||||
i.K8sBase.Metadata.Name = "{{ .Release.Name }}-" + name
|
||||
i.K8sBase.Kind = "Ingress"
|
||||
i.ApiVersion = "networking.k8s.io/v1"
|
||||
i.K8sBase.Metadata.Labels[K+"/component"] = name
|
||||
|
||||
return i
|
||||
}
|
||||
|
@@ -5,13 +5,15 @@ type Service struct {
|
||||
Spec *ServiceSpec `yaml:"spec"`
|
||||
}
|
||||
|
||||
func NewService() *Service {
|
||||
func NewService(name string) *Service {
|
||||
s := &Service{
|
||||
K8sBase: NewBase(),
|
||||
Spec: NewServiceSpec(),
|
||||
}
|
||||
s.K8sBase.Metadata.Name = "{{ .Release.Name }}-" + name
|
||||
s.K8sBase.Kind = "Service"
|
||||
s.K8sBase.ApiVersion = "v1"
|
||||
s.K8sBase.Metadata.Labels[K+"/component"] = name
|
||||
return s
|
||||
}
|
||||
|
||||
|
@@ -12,6 +12,7 @@ func NewPVC(name, storageName string) *Storage {
|
||||
pvc.K8sBase.Metadata.Labels[K+"/pvc-name"] = storageName
|
||||
pvc.K8sBase.ApiVersion = "v1"
|
||||
pvc.K8sBase.Metadata.Name = "{{ .Release.Name }}-" + storageName
|
||||
pvc.K8sBase.Metadata.Labels[K+"/component"] = name
|
||||
pvc.Spec = &PVCSpec{
|
||||
Resouces: map[string]interface{}{
|
||||
"requests": map[string]string{
|
||||
|
@@ -1,18 +1,27 @@
|
||||
package helm
|
||||
|
||||
import (
|
||||
"crypto/sha256"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"strings"
|
||||
)
|
||||
|
||||
const K = "katenary.io"
|
||||
|
||||
var Appname = ""
|
||||
|
||||
var Version = "1.0" // should be set from main.Version
|
||||
|
||||
type Kinded interface {
|
||||
Get() string
|
||||
}
|
||||
|
||||
type Signable interface {
|
||||
BuildSHA(filename string)
|
||||
}
|
||||
|
||||
type Metadata struct {
|
||||
Name string `yaml:"name,omitempty"`
|
||||
Labels map[string]string `yaml:"labels"`
|
||||
@@ -44,11 +53,20 @@ func NewBase() *K8sBase {
|
||||
return b
|
||||
}
|
||||
|
||||
func (k *K8sBase) BuildSHA(filename string) {
|
||||
c, _ := ioutil.ReadFile(filename)
|
||||
sum := sha256.Sum256(c)
|
||||
k.Metadata.Annotations[K+"/docker-compose-sha256"] = fmt.Sprintf("%x", string(sum[:]))
|
||||
}
|
||||
|
||||
func (k K8sBase) Get() string {
|
||||
return k.Kind
|
||||
}
|
||||
|
||||
func getProjectName() string {
|
||||
if len(Appname) > 0 {
|
||||
return Appname
|
||||
}
|
||||
p, _ := os.Getwd()
|
||||
path := strings.Split(p, string(os.PathSeparator))
|
||||
return path[len(path)-1]
|
||||
|
3
main.go
3
main.go
@@ -36,6 +36,8 @@ func main() {
|
||||
os.Exit(0)
|
||||
}
|
||||
|
||||
// make the appname global (yes...)
|
||||
helm.Appname = AppName
|
||||
dirname := filepath.Join(ChartsDir, AppName)
|
||||
|
||||
if _, err := os.Stat(dirname); err == nil && !*force {
|
||||
@@ -85,6 +87,7 @@ func main() {
|
||||
kind = strings.ToLower(kind)
|
||||
fname := filepath.Join(templatesDir, n+"."+kind+".yaml")
|
||||
fp, _ := os.Create(fname)
|
||||
c.(helm.Signable).BuildSHA(ComposeFile)
|
||||
switch c := c.(type) {
|
||||
case *helm.Storage:
|
||||
volname := c.K8sBase.Metadata.Labels[helm.K+"/pvc-name"]
|
||||
|
Reference in New Issue
Block a user