Consider the following commands when working with microservices:
fod app create app1 --type Microservice --release r1 --microservice ms1 ...
fod release create app1:r2 --microservice ms1 ...
fod release update app1:r2 --microservice ms1 ...
With navigation structure being app->microservice->release in FoD, thus releases being children of microservices, the app1:r2 notation in the release create/update commands isn't very intuitive as there's no direct relation between app1 and r2; there may even be multiple r2 in app1 under different microservices.
It would be more intuitive and consistent to have either one of the following:
Option 1:
fod app create app1 --type Microservice --release r1 --microservice ms1 ...
fod release create r2 --app app1 --microservice ms1 ...
fod release update r2 --app app1 --microservice ms1 ...
Option 2:
fod app create app1 --type Microservice --release ms1:r1 ...
fod release create app1:ms1:r2 ...
fod release update app1:ms1:r2 ...
Option 1:
More expressive
Somewhat more consistent between microservice and non-microservice apps, with both having the same formats for the various app/release parameters/options, but with an extra (required) --microservice option for microservice apps
Option 2:
Much shorter
More consistent with syntax for other fcli modules, like in fcli ssc appversion create app:version ...
Users need to understand the different formats for specifying a release, depending on microservice apps (app1:ms1:r1 or ms1:r1) versus non-microservice apps (just app1:r1 or r1)
Consider the following commands when working with microservices:
With navigation structure being
app->microservice->release
in FoD, thus releases being children of microservices, theapp1:r2
notation in therelease create/update
commands isn't very intuitive as there's no direct relation betweenapp1
andr2
; there may even be multipler2
inapp1
under different microservices.It would be more intuitive and consistent to have either one of the following:
Option 1:
Option 2:
Option 1:
--microservice
option for microservice appsOption 2:
fcli ssc appversion create app:version ...
app1:ms1:r1
orms1:r1
) versus non-microservice apps (justapp1:r1
orr1
)