Skip to content

Commit

Permalink
Handle automatic image and K8s/OpenShift component creation for 'odo …
Browse files Browse the repository at this point in the history
…deploy'
  • Loading branch information
rm3l committed Mar 10, 2023
1 parent 69001fd commit ec42a2c
Showing 1 changed file with 53 additions and 2 deletions.
55 changes: 53 additions & 2 deletions pkg/deploy/deploy.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import (
"k8s.io/utils/pointer"

"github.com/redhat-developer/odo/pkg/component"
"github.com/redhat-developer/odo/pkg/devfile"
"github.com/redhat-developer/odo/pkg/devfile/image"
"github.com/redhat-developer/odo/pkg/kclient"
odolabels "github.com/redhat-developer/odo/pkg/labels"
Expand Down Expand Up @@ -51,8 +52,58 @@ func (o *DeployClient) Deploy(ctx context.Context) error {
componentName = odocontext.GetComponentName(ctx)
appName = odocontext.GetApplication(ctx)
)
deployHandler := newDeployHandler(ctx, o.fs, *devfileObj, path, o.kubeClient, appName, componentName)
return libdevfile.Deploy(*devfileObj, deployHandler)

handler := newDeployHandler(ctx, o.fs, *devfileObj, path, o.kubeClient, appName, componentName)

err := o.handleAutoImageComponents(handler, *devfileObj)
if err != nil {
return err
}

err = o.handleAutoK8sOrOcComponents(handler, *devfileObj)
if err != nil {
return err
}

return libdevfile.Deploy(*devfileObj, handler)
}

func (o *DeployClient) handleAutoImageComponents(handler *deployHandler, devfileObj parser.DevfileObj) error {
components, err := devfile.GetImageComponentsToPush(devfileObj)
if err != nil {
return err
}

for _, c := range components {
err = handler.ApplyImage(c)
if err != nil {
return err
}
}
return nil
}

func (o *DeployClient) handleAutoK8sOrOcComponents(handler *deployHandler, devfileObj parser.DevfileObj) error {
components, err := devfile.GetK8sAndOcComponentsToPush(devfileObj, false)
if err != nil {
return err
}

for _, c := range components {
var f func(component2 v1alpha2.Component) error
if c.Kubernetes != nil {
f = handler.ApplyKubernetes
} else if c.Openshift != nil {
f = handler.ApplyOpenShift
}
if f == nil {
continue
}
if err = f(c); err != nil {
return err
}
}
return nil
}

type deployHandler struct {
Expand Down

0 comments on commit ec42a2c

Please sign in to comment.