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.3.tar.gz (45.0 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.3-py3-none-any.whl (52.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: whl_deploy-0.0.3.tar.gz
  • Upload date:
  • Size: 45.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for whl_deploy-0.0.3.tar.gz
Algorithm Hash digest
SHA256 8e218ca707077db7e9f853e0a3bbbd7ca455b5380217b6fbc74f64e3a5aa9b5e
MD5 ff4e280b9c18aa23144753748b609d08
BLAKE2b-256 615d40e8cc2dcc8611f274bf23514a8471845dc3d7510173844a48a01b325da8

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for whl_deploy-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f0024e3158bba295f2e8f0e99b68dda35db2d7dcc3d4584822cc68cff2b575a1
MD5 53b904317312219b21a54b55856c31df
BLAKE2b-256 d4deab18fc61a5f30e75bddd0acc9059a634d213fc4afc33e7144a9fd586e091

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