Note
While using TrueFoundry python SDKtype is not a required field in any of the imported classesFor image you can either give link to a pre-existing image via
Image module, or give instructions on how to build the image via the Build classImage
Description
Describes that we are using a pre-built image stored in a Docker Image registrySchema
Properties
| Name | Type | Required | Description |
|---|---|---|---|
| type | string | true | +value=image |
| image_uri | string | true | The image URI. Specify the name of the image and the tag. If the image is in Dockerhub, you can skip registry-url (for e.g. tensorflow/tensorflow). You can use an image from a private registry using Advanced fields |
| docker_registry | string | false | FQN of the container registry. You can the FQN of your desired container registry (or add one) in the Integrations pageIntegrations page |
| command | any | false | Override the command to run when container starts. When deploying a Job, the command can be templatized by defining params and referencing them in command E.g. python main.py --learning_rate {{learning_rate}} |
Build
Description
Describes how we build our code into a Docker image.Schema
Properties
| Name | Type | Required | Description |
|---|---|---|---|
| type | string | true | +value=build |
| docker_registry | string | false | FQN of the container registry. You can the FQN of your desired container registry (or add one) in the Integrations pageIntegrations page |
| build_source | object | true | Source code location. |
| build_spec | object | true | Instructions to build a container image out of the build source |
Build Spec
The modules below help define the build specification.PythonBuild
Description
Describes that we are using python to build a container image with a specific python version and pip packages installed.Schema
Properties
| Name | Type | Required | Description |
|---|---|---|---|
| type | string | true | +value=tfy-python-buildpack |
| python_version | string | true | Python version to run your application. Should be one of the tags listed onOfficial Python Docker Page |
| build_context_path | string | true | Build path relative to project root path. |
| requirements_path | string | false | Path to requirements.txt relative to Path to build context |
| pip_packages | [string] | false | Define pip package requirements. In Python/YAML E.g. [“fastapi>=0.90,<1.0”, “uvicorn”] |
| apt_packages | [string] | false | Debian packages to install via apt get. In Python/YAML E.g. [“git”, “ffmpeg”, “htop”] |
| command | any | true | Command to run when the container starts. Command will be set as the Entrypoint of the generated image. When deploying a Job, the command can be templatized by defining params and referencing them in command E.g. python main.py --learning_rate {{learning_rate}} |
| cuda_version | string | false | Version of CUDA Toolkit and CUDNN to install in the image These combinations are based off of publically available docker images on docker hub You can also specify a valid tag of the form {cuda_version_number}-cudnn{cudnn_version_number}-{runtime/devel}-ubuntu{ubuntu_version} Refer https://hub.docker.com/r/nvidia/cuda/tags for valid set of values Note: We use deadsnakes ubuntu ppa to add Python that currently supports only Ubuntu 18.04, 20.04 and 22.04 |
DockerFileBuild
Description
Describes that we are using a dockerfile to build our imageSchema
Properties
| Name | Type | Required | Description |
|---|---|---|---|
| type | string | true | +value=dockerfile |
| dockerfile_path | string | true | The file path of the Dockerfile relative to project root path. |
| build_context_path | string | true | Build context path for the Dockerfile relative to project root path. |
| command | any | false | Override the command to run when the container starts When deploying a Job, the command can be templatized by defining params and referencing them in command E.g. python main.py --learning_rate {{learning_rate}} |
| build_args | object | false | Build arguments to pass todocker build. |
Build Source
The modules below help define the build specification.LocalSource
Description
Describes that we are using code stored in a local developement environment to build our imageSchema
Properties
| Name | Type | Required | Description |
|---|---|---|---|
| type | string | true | +value=local |
| project_root_path | string | true | Local project root path. |
| local_build | boolean | true | run docker build locally |
GitSource
Description
Describes that we are using code stored in a git repository to build our imageSchema
Properties
| Name | Type | Required | Description |
|---|---|---|---|
| type | string | true | +value=git |
| repo_url | string | true | The repository URL. |
| ref | string | true | The commit SHA. |
| branch_name | string | false | Selecting branch will select latest commit SHA of the branch. |
RemoteSource
Description
Describes that we are using code stored in a remote respository to build our imageSchema
Properties
| Name | Type | Required | Description |
|---|---|---|---|
| type | string | true | +value=remote |
| remote_uri | string | true | Remote repository URI |