Skip to main content

A deployment tool for WheelOS.

Project description

whl_deploy

whl_deploy is a powerful tool designed specifically for Apollo deployment, aiming to significantly simplify the setup of Apollo environments and the import/export of resources. By automating key steps, whl_deploy ensures an efficient, consistent, and seamless Apollo deployment experience.

✨ Key Features

whl_deploy provides three core functionalities, covering the essential aspects of the Apollo deployment lifecycle:

  1. Automated Environment Setup: Installs and configures Docker, NVIDIA Container Toolkit, and optimizes the system, providing an ideal environment for Apollo.
  2. Apollo Resource Import: Unified import of core Apollo components, including Docker images, source code, AI models, high-definition maps, and compiled caches, drastically reducing initial setup and startup times.
  3. Resource Packaging & Distribution: Packages pre-configured or downloaded Apollo resources into reusable bundles, facilitating rapid deployment across multiple machines, especially useful in offline environments.

🚀 Quick Start

This section guides you on how to quickly install and use whl_deploy, focusing on the most common end-to-end deployment flow.

1. Installation

To ensure compatibility, please upgrade your setuptools and pip first:

# Highly Recommended: Upgrade setuptools and pip first
pip install setuptools -U
pip install --upgrade pip

# Install whl-deploy
pip install whl-deploy

2. End-to-End Deployment - Express Mode!

The following two commands are the essence of whl_deploy, covering the vast majority of Apollo deployment scenarios:

Step A: Prepare Host Environment

This command will automatically install Docker, the NVIDIA Container Toolkit, and perform necessary system configurations. This is the foundation for running Apollo.

whl-deploy setup all

Step B: Import Apollo Resources

After setting up the environment, you can import all pre-packaged core Apollo resources, such as source code, Docker images, AI models, etc., with a single command. Please ensure your source package is ready.

whl-deploy import all --package=source

3. More Granular Control

If you require more fine-grained control, whl_deploy also provides individual commands.

3.1. Host Environment Configuration - Step-by-Step

In some cases, you might want to configure the host environment step-by-step:

# Only install and configure Docker
whl-deploy setup docker

# Only install and configure NVIDIA Container Toolkit
whl-deploy setup nvidia

# Only perform system-level host configurations (e.g., kernel parameters, user groups)
whl-deploy setup host

3.2. Resource Import & Export - Category Management

whl_deploy allows you to manage various Apollo resources separately.

a. Source Code

  • Import Source Code Package: Imports a zipped Apollo source code archive to a specified location.
    whl-deploy import source_code --input=apollo-lite-main.zip
    
  • Export Source Code Package: Packages the source code from the current Apollo environment for reuse elsewhere.
    whl-deploy export source_code --output=apollo-main.zip
    

b. Compiled Cache (Bazel Cache)

The Bazel compilation cache is crucial for accelerating the Apollo build process.

  • Import Compiled Cache: Imports a pre-packaged Bazel cache.
    whl-deploy import cache --input=bazel_cache.tar.gz
    
  • Export Compiled Cache: Exports the current Bazel cache for use across multiple machines or in future deployments.
    whl-deploy export cache --output=bazel_cache.tar.gz
    

c. Docker Images

Manage Apollo's core container images.

  • Import Docker Image: Imports a Docker image from a .tar file. This is useful for offline deployments or pre-loading images.
    whl-deploy import docker_image --input=whl_docker_image.tar
    
  • Export Docker Image:
    • Export information about all currently recognized Apollo-related Docker images:
      whl-deploy export docker_image --info
      
    • Export a specific Docker image to a .tar file:
      whl-deploy export docker_image --input=nvidia/cuda:11.8.0-cudnn8-devel-ubuntu20.04 --output=cuda_image.tar
      
      • Note: Here, the --input parameter should specify the name and tag of the image to be exported. For example, to export an Apollo development image, use: whl-deploy export docker_image --input=apollo:dev-latest --output=apollo_dev.tar

d. High-Definition Maps (HD Maps) (TODO - To Be Implemented)

  • whl-deploy import hd_maps --input=...
  • whl-deploy export hd_maps --output=...

e. AI Models (TODO - To Be Implemented)

  • whl-deploy import models --input=...
  • whl-deploy export models --output=...

🤝 Contribution & Support

whl_deploy aims to simplify Apollo deployment. If you have any questions, suggestions, or wish to contribute code, feel free to submit an Issue or a Pull Request.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

whl_deploy-0.0.4.tar.gz (44.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

whl_deploy-0.0.4-py3-none-any.whl (52.9 kB view details)

Uploaded Python 3

File details

Details for the file whl_deploy-0.0.4.tar.gz.

File metadata

  • Download URL: whl_deploy-0.0.4.tar.gz
  • Upload date:
  • Size: 44.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.1

File hashes

Hashes for whl_deploy-0.0.4.tar.gz
Algorithm Hash digest
SHA256 a0304b274bfb47a3df14b5259c94cda8f9ced0544d1f70fde7f7454914925ed0
MD5 05d0e60afc2460b60c1f0022cd97c87c
BLAKE2b-256 70df424155c19eb6c7804a8dfae790be3788fcc816996c3df2614dfe2b91ed39

See more details on using hashes here.

File details

Details for the file whl_deploy-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: whl_deploy-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 52.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.1

File hashes

Hashes for whl_deploy-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 c1ef22190efbdf68fc1caa08e7e9b089f337a2c3283d876cb070161df572070a
MD5 4dcab8c82f5b63c3570446307432076d
BLAKE2b-256 d80e8bce19c61bc3d634d44b05ca903df3a87ef52ea95f201cdf45c2435919c3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page