Package ai.konduit.serving.build.cli
Class BuildCLI
- java.lang.Object
-
- io.vertx.core.spi.launcher.DefaultCommand
-
- ai.konduit.serving.build.cli.BuildCLI
-
- All Implemented Interfaces:
io.vertx.core.spi.launcher.Command
public class BuildCLI extends io.vertx.core.spi.launcher.DefaultCommandCommand line interface for performing Konduit Serving builds Allows the user to build a JAR or artifact such as a docker image suitable for performing inference on a given pipeline on a given deployment target (defined as an operating system, CPU architecture and optionally compute device).
For example, can be used to build for any of the following: * HTTP (REST) server on x86 Windows (CPU), packaged as a stand-alone .exe
* HTTP and GRPC server on CUDA 10.2 + Linux, packaged as a docker image
And many more combinations- Author:
- Alex black
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringADDITIONAL_DEPENDENCIES_OPTION_DESCRIPTIONstatic java.lang.StringARCHITECTURE_OPTION_DESCRIPTIONstatic java.lang.StringCONFIG_OPTION_DESCRIPTIONstatic java.lang.StringDEPLOYMENT_TYPE_OPTION_DESCRIPTIONstatic java.lang.StringDEVICE_OPTION_DESCRIPTIONstatic java.lang.StringGRPCstatic java.lang.StringHTTPstatic java.lang.StringMODULES_OPTION_DESCRIPTIONstatic java.lang.StringOS_OPTION_DESCRIPTIONstatic java.lang.StringPIPELINE_OPTION_DESCRIPTIONstatic java.lang.StringSERVER_TYPE_OPTION_DESCRIPTION
-
Constructor Summary
Constructors Constructor Description BuildCLI()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidexec(java.lang.String[] args)protected voidinferOS()static voidmain(java.lang.String... args)java.util.List<Deployment>parseDeployments(java.util.Map<java.lang.String,java.lang.String> props)voidrun()voidsetAdditionalDependencies(java.util.List<java.lang.String> additionalDependencies)voidsetArchitecture(java.lang.String architecture)voidsetConfig(java.util.List<java.lang.String> config)voidsetDeploymentTypes(java.util.List<java.lang.String> deploymentTypes)voidsetDevice(java.lang.String device)voidsetModules(java.util.List<java.lang.String> modules)voidsetOperatingSystem(java.util.List<java.lang.String> operatingSystem)voidsetPipeline(java.lang.String pipeline)voidsetServerTypes(java.util.List<java.lang.String> serverTypes)
-
-
-
Field Detail
-
HTTP
public static final java.lang.String HTTP
- See Also:
- Constant Field Values
-
GRPC
public static final java.lang.String GRPC
- See Also:
- Constant Field Values
-
PIPELINE_OPTION_DESCRIPTION
public static final java.lang.String PIPELINE_OPTION_DESCRIPTION
- See Also:
- Constant Field Values
-
OS_OPTION_DESCRIPTION
public static final java.lang.String OS_OPTION_DESCRIPTION
- See Also:
- Constant Field Values
-
ARCHITECTURE_OPTION_DESCRIPTION
public static final java.lang.String ARCHITECTURE_OPTION_DESCRIPTION
- See Also:
- Constant Field Values
-
DEVICE_OPTION_DESCRIPTION
public static final java.lang.String DEVICE_OPTION_DESCRIPTION
- See Also:
- Constant Field Values
-
MODULES_OPTION_DESCRIPTION
public static final java.lang.String MODULES_OPTION_DESCRIPTION
- See Also:
- Constant Field Values
-
DEPLOYMENT_TYPE_OPTION_DESCRIPTION
public static final java.lang.String DEPLOYMENT_TYPE_OPTION_DESCRIPTION
- See Also:
- Constant Field Values
-
SERVER_TYPE_OPTION_DESCRIPTION
public static final java.lang.String SERVER_TYPE_OPTION_DESCRIPTION
- See Also:
- Constant Field Values
-
ADDITIONAL_DEPENDENCIES_OPTION_DESCRIPTION
public static final java.lang.String ADDITIONAL_DEPENDENCIES_OPTION_DESCRIPTION
- See Also:
- Constant Field Values
-
CONFIG_OPTION_DESCRIPTION
public static final java.lang.String CONFIG_OPTION_DESCRIPTION
- See Also:
- Constant Field Values
-
-
Method Detail
-
setPipeline
public void setPipeline(java.lang.String pipeline)
-
setOperatingSystem
public void setOperatingSystem(java.util.List<java.lang.String> operatingSystem)
-
setArchitecture
public void setArchitecture(java.lang.String architecture)
-
setDevice
public void setDevice(java.lang.String device)
-
setModules
public void setModules(java.util.List<java.lang.String> modules)
-
setDeploymentTypes
public void setDeploymentTypes(java.util.List<java.lang.String> deploymentTypes)
-
setServerTypes
public void setServerTypes(java.util.List<java.lang.String> serverTypes)
-
setAdditionalDependencies
public void setAdditionalDependencies(java.util.List<java.lang.String> additionalDependencies)
-
setConfig
public void setConfig(java.util.List<java.lang.String> config)
-
main
public static void main(java.lang.String... args) throws java.lang.Exception- Throws:
java.lang.Exception
-
exec
public void exec(java.lang.String[] args)
-
run
public void run() throws io.vertx.core.cli.CLIException- Throws:
io.vertx.core.cli.CLIException
-
parseDeployments
public java.util.List<Deployment> parseDeployments(java.util.Map<java.lang.String,java.lang.String> props)
-
inferOS
protected void inferOS()
-
-