Skip to content

Commit

Permalink
Addressed Robert's feedback.
Browse files Browse the repository at this point in the history
    # This file was generated by "weaver kube" version (devel) for the following
    # application:
    #
    #     app: collatz
    #     version: 8edb402a
    #     components groups:
    #     -
    #       - github.com/ServiceWeaver/weaver/Main
    #     -
    #       - github.com/ServiceWeaver/weaver/examples/collatz/Even
    #       - github.com/ServiceWeaver/weaver/examples/collatz/Odd
    #     listeners:
    #     - collatz (github.com/ServiceWeaver/weaver/Main)
    #
    # This file contains the following resources:
    #
    #     1. A Deployment for every group of components.
    #     2. A HorizontalPodAutoscaler for every Deployment.
    #     3. A Service for every listener.
    #     4. Some Roles and RoleBindings to configure permissions.
    #
    # To deploy these resources, run:
    #
    #     kubectl apply -f /tmp/kube_8edb402a.yaml
    #
    # To view the deployed resources, run:
    #
    #     kubectl get all --selector=version=8edb402a
    #
    # To delete the resources, run:
    #
    #     kubectl delete all --selector=version=8edb402a
  • Loading branch information
mwhittaker committed Oct 17, 2023
1 parent 574c7db commit 5a8693c
Showing 1 changed file with 40 additions and 22 deletions.
62 changes: 40 additions & 22 deletions internal/impl/kube.go
Original file line number Diff line number Diff line change
Expand Up @@ -502,13 +502,15 @@ func header(app *protos.AppConfig, cfg *KubeConfig, depId, filename string) (str
#
# app: {{.App}}
# version: {{.Version}}
# components:
{{- range .Components}}
# - {{.}}
# components groups:
{{- range .Groups}}
# - {{range .}}
# - {{.}}
{{- end}}
{{- end}}
# listeners:
{{- range .Listeners}}
# - {{.}}
# - {{.Name}} ({{.Component}})
{{- end}}
#
# This file contains the following resources:
Expand All @@ -532,39 +534,55 @@ func header(app *protos.AppConfig, cfg *KubeConfig, depId, filename string) (str
`))

type listener struct {
Name string
Component string
}

type content struct {
ToolVersion string
App string
Version string
Groups [][]string
Listeners []listener
Filename string
}

// Extract the tool version.
toolVersion, _, err := ToolVersion()
if err != nil {
return "", err
}

// Extract components and listeners.
extracted, _, err := readBinary(app, cfg)
replicaSets, _, err := buildReplicaSets(app, depId, "", cfg)
if err != nil {
return "", nil
}
var components []string
var listeners []string
for _, x := range extracted {
components = append(components, x.Name)
for _, listener := range x.Listeners {
listeners = append(listeners, listener.Name)
return "", err
}
var groups [][]string
var listeners []listener
for _, rs := range replicaSets {
if rs == nil {
// TODO(mwhittaker): Debug why buildReplicaSets is returning nil
// replica sets.
continue
}
var group []string
for _, component := range rs.components {
group = append(group, component.Name)
for _, l := range component.Listeners {
listeners = append(listeners, listener{l.Name, component.Name})
}
}
groups = append(groups, group)
}

var b strings.Builder
header.Execute(&b, struct {
ToolVersion string
App string
Version string
Components []string
Listeners []string
Filename string
}{
header.Execute(&b, content{
ToolVersion: toolVersion,
App: app.Name,
Version: depId[:8],
Components: components,
Groups: groups,
Listeners: listeners,
Filename: filename,
})
Expand Down

0 comments on commit 5a8693c

Please sign in to comment.