Image And Build
Note
While using TrueFoundry python SDK type
is not a required field in any of the imported classes
For 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
class
Image
Description
Describes that we are using a pre-built image stored in a Docker Image registry
Schema
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 image
Schema
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 image
Schema
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 image
Schema
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 image
Schema
Properties
Name | Type | Required | Description |
---|---|---|---|
type | string | true | +value=remote |
remote_uri | string | true | Remote repository URI |