Skip to content

Commit

Permalink
feat: implemented output command deploy format output
Browse files Browse the repository at this point in the history
  • Loading branch information
maxwelbm committed Jul 8, 2024
1 parent b258753 commit 87e4c07
Show file tree
Hide file tree
Showing 6 changed files with 163 additions and 87 deletions.
14 changes: 11 additions & 3 deletions pkg/cmd/deploy/bucket.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,11 @@ import (
"github.com/aziontech/azion-cli/utils"
)

func (cmd *DeployCmd) doBucket(client *api.Client, ctx context.Context, conf *contracts.AzionApplicationOptions) error {
func (cmd *DeployCmd) doBucket(
client *api.Client,
ctx context.Context,
conf *contracts.AzionApplicationOptions,
msgs *[]string) error {
if conf.Bucket != "" || (conf.Preset == "javascript" || conf.Preset == "typescript") {
return nil
}
Expand All @@ -30,7 +34,9 @@ func (cmd *DeployCmd) doBucket(client *api.Client, ctx context.Context, conf *co
// If the name is already in use, try 10 times with different names
for i := 0; i < 10; i++ {
nameB := fmt.Sprintf("%s-%s", nameBucket, utils.Timestamp())
logger.FInfo(cmd.Io.Out, fmt.Sprintf(msg.NameInUseBucket, nameB))
msgf := fmt.Sprintf(msg.NameInUseBucket, nameB)
logger.FInfoFlags(cmd.Io.Out, msgf, cmd.F.Format, cmd.F.Out)
*msgs = append(*msgs, msgf)
err := client.CreateBucket(ctx, api.RequestBucket{
BucketCreate: storage.BucketCreate{Name: nameB, EdgeAccess: storage.READ_WRITE}})
if err != nil {
Expand All @@ -46,7 +52,9 @@ func (cmd *DeployCmd) doBucket(client *api.Client, ctx context.Context, conf *co
conf.Bucket = nameBucket
}

logger.FInfo(cmd.Io.Out, fmt.Sprintf(msg.BucketSuccessful, conf.Bucket))
msgf := fmt.Sprintf(msg.BucketSuccessful, conf.Bucket)
logger.FInfoFlags(cmd.Io.Out, msgf, cmd.F.Format, cmd.F.Out)
*msgs = append(*msgs, msgf)
return cmd.WriteAzionJsonContent(conf, ProjectConf)
}

Expand Down
43 changes: 30 additions & 13 deletions pkg/cmd/deploy/deploy.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ import (
"github.com/aziontech/azion-cli/pkg/iostreams"
"github.com/aziontech/azion-cli/pkg/logger"
manifestInt "github.com/aziontech/azion-cli/pkg/manifest"
"github.com/aziontech/azion-cli/pkg/output"
"github.com/aziontech/azion-cli/utils"
sdk "github.com/aziontech/azionapi-go-sdk/edgeapplications"
"github.com/spf13/cobra"
Expand Down Expand Up @@ -108,6 +109,7 @@ func (cmd *DeployCmd) ExternalRun(f *cmdutil.Factory, configPath string) error {

func (cmd *DeployCmd) Run(f *cmdutil.Factory) error {
logger.Debug("Running deploy command")
msgs := []string{}
ctx := context.Background()

err := checkToken(f)
Expand Down Expand Up @@ -155,17 +157,17 @@ func (cmd *DeployCmd) Run(f *cmdutil.Factory) error {
return err
}

err = cmd.doApplication(clients.EdgeApplication, context.Background(), conf)
err = cmd.doApplication(clients.EdgeApplication, context.Background(), conf, &msgs)
if err != nil {
return err
}

singleOriginId, err := cmd.doOriginSingle(clients.Origin, ctx, conf)
singleOriginId, err := cmd.doOriginSingle(clients.Origin, ctx, conf, &msgs)
if err != nil {
return err
}

err = cmd.doBucket(clients.Bucket, ctx, conf)
err = cmd.doBucket(clients.Bucket, ctx, conf, &msgs)
if err != nil {
return err
}
Expand All @@ -174,14 +176,14 @@ func (cmd *DeployCmd) Run(f *cmdutil.Factory) error {
if _, err := os.Stat(PathStatic); os.IsNotExist(err) {
logger.Debug(msg.SkipUpload)
} else {
err = cmd.uploadFiles(f, conf)
err = cmd.uploadFiles(f, conf, &msgs)
if err != nil {
return err
}
}

conf.Function.File = ".edge/worker.js"
err = cmd.doFunction(clients, ctx, conf)
err = cmd.doFunction(clients, ctx, conf, &msgs)
if err != nil {
return err
}
Expand Down Expand Up @@ -229,30 +231,45 @@ func (cmd *DeployCmd) Run(f *cmdutil.Factory) error {
}
}

manifestStructure, err := interpreter.ReadManifest(pathManifest, f)
manifestStructure, err := interpreter.ReadManifest(pathManifest, f, &msgs)
if err != nil {
return err
}

if len(conf.RulesEngine.Rules) == 0 {
err = cmd.doRulesDeploy(ctx, conf, clients.EdgeApplication)
err = cmd.doRulesDeploy(ctx, conf, clients.EdgeApplication, &msgs)
if err != nil {
return err
}
}

err = interpreter.CreateResources(conf, manifestStructure, f, ProjectConf)
err = interpreter.CreateResources(conf, manifestStructure, f, ProjectConf, &msgs)
if err != nil {
return err
}

err = cmd.doDomain(clients.Domain, ctx, conf)
err = cmd.doDomain(clients.Domain, ctx, conf, &msgs)
if err != nil {
return err
}

logger.FInfo(cmd.F.IOStreams.Out, msg.DeploySuccessful)
logger.FInfo(cmd.F.IOStreams.Out, fmt.Sprintf(msg.DeployOutputDomainSuccess, conf.Domain.Url))
logger.FInfo(cmd.F.IOStreams.Out, msg.DeployPropagation)
return nil
logger.FInfoFlags(cmd.F.IOStreams.Out, msg.DeploySuccessful, f.Format, f.Out)
msgs = append(msgs, msg.DeploySuccessful)

msgfOutputDomainSuccess := fmt.Sprintf(msg.DeployOutputDomainSuccess, conf.Domain.Url)
logger.FInfoFlags(cmd.F.IOStreams.Out, msgfOutputDomainSuccess, f.Format, f.Out)
msgs = append(msgs, msgfOutputDomainSuccess)

logger.FInfoFlags(cmd.F.IOStreams.Out, msg.DeployPropagation, f.Format, f.Out)
msgs = append(msgs, msg.DeployPropagation)

outSlice := output.SliceOutput{
Messages: msgs,
GeneralOutput: output.GeneralOutput{
Out: cmd.F.IOStreams.Out,
Flags: cmd.F.Flags,
},
}

return output.Print(&outSlice)
}
Loading

0 comments on commit 87e4c07

Please sign in to comment.