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:
- Automated Environment Setup: Installs and configures Docker, NVIDIA Container Toolkit, and optimizes the system, providing an ideal environment for Apollo.
- 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.
- 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
.tarfile. 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
.tarfile:whl-deploy export docker-image --input=nvidia/cuda:11.8.0-cudnn8-devel-ubuntu20.04 --output=cuda_image.tar
- Note: Here, the
--inputparameter 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
- Note: Here, the
- Export information about all currently recognized Apollo-related Docker images:
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file whl_deploy-0.0.1.tar.gz.
File metadata
- Download URL: whl_deploy-0.0.1.tar.gz
- Upload date:
- Size: 44.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4113d85649ba877ce4c7ccb43b09381d2efec790c867b7de857b4faa00b7a2cf
|
|
| MD5 |
7f87364850d6ff658ed3191d44bad507
|
|
| BLAKE2b-256 |
b3757dc981cbe60c29a2d26e77315a567426312abe2632b979a7071c3bcfec4a
|
File details
Details for the file whl_deploy-0.0.1-py3-none-any.whl.
File metadata
- Download URL: whl_deploy-0.0.1-py3-none-any.whl
- Upload date:
- Size: 52.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ddf88222d15c0d4a0facdb567eb817d1f3e7a70c2a7c95d6e093547c48a56350
|
|
| MD5 |
46c2f0bdb6ca96aa6896e9fdfb5a8046
|
|
| BLAKE2b-256 |
970318fc6cb16d14203f76250b6bcbd84f578eafd7502e1bca31b2d7a57a68e4
|