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