summaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md183
1 files changed, 183 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..a85cf13
--- /dev/null
+++ b/README.md
@@ -0,0 +1,183 @@
+ [![code-testing](https://github.com/titom73/eos-downloader/actions/workflows/pr-management.yml/badge.svg?event=push)](https://github.com/titom73/eos-downloader/actions/workflows/pr-management.yml) ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/eos-downloader) ![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/titom73/arista-downloader) ![PyPI - Downloads/month](https://img.shields.io/pypi/dm/eos-downloader) ![Docker Image Size (tag)](https://img.shields.io/docker/image-size/titom73/eos-downloader/edge)
+
+# Arista Software Downloader
+
+Script to download Arista softwares to local folder, Cloudvision or EVE-NG.
+
+```bash
+pip install eos-downloader
+```
+
+## CLI commands
+
+A new CLI is available to execute commands. This CLI is going to replace [`eos-download`](./bin/README.md) script which is now marked as __deprecated__
+
+```bash
+ ardl
+Usage: ardl [OPTIONS] COMMAND [ARGS]...
+
+ Arista Network Download CLI
+
+Options:
+ --token TEXT Arista Token from your customer account [env var:
+ ARISTA_TOKEN]
+ --help Show this message and exit.
+
+Commands:
+ debug Debug commands to work with ardl
+ get Download Arista from Arista website
+ version Display version of ardl
+```
+
+> **Warning**
+> To use this CLI you need to get a valid token from your [Arista Account page](https://www.arista.com/en/users/profile).
+> For technical reason, it is only available for customers with active maintenance contracts and not for personnal accounts
+
+### Download EOS Package
+
+
+> Supported packages are: EOS, cEOS, vEOS-lab, cEOS64
+
+You can download EOS packages with following commands:
+
+```bash
+# Example for a cEOS package
+$ ardl get eos --version 4.28.3M --image-type cEOS
+```
+
+Available options are :
+
+```bash
+Usage: ardl get eos [OPTIONS]
+
+ Download EOS image from Arista website
+
+Options:
+ --image-type [64|INT|2GB-INT|cEOS|cEOS64|vEOS|vEOS-lab|EOS-2GB|default]
+ EOS Image type [required]
+ --version TEXT EOS version
+ -l, --latest Get latest version in given branch. If
+ --branch is not use, get the latest branch
+ with specific release type
+ -rtype, --release-type [F|M] EOS release type to search
+ -b, --branch TEXT EOS Branch to list releases
+ --docker-name TEXT Docker image name (default: arista/ceos)
+ [default: arista/ceos]
+ --output PATH Path to save image [default: .]
+ --log-level, --log [debug|info|warning|error|critical]
+ Logging level of the command
+ --eve-ng Run EVE-NG vEOS provisioning (only if CLI
+ runs on an EVE-NG server)
+ --disable-ztp Disable ZTP process in vEOS image (only
+ available with --eve-ng)
+ --import-docker Import docker image (only available with
+ --image_type cEOSlab)
+ --help Show this message and exit.
+```
+
+You can use `--latest` and `--release-type` option to get latest EOS version matching a specific release type
+
+```bash
+# Get latest M release
+❯ ardl get eos --latest -rtype m
+🪐 eos-downloader is starting...
+ - Image Type: default
+ - Version: None
+🔎 Searching file EOS-4.29.3M.swi
+ -> Found file at /support/download/EOS-USA/Active Releases/4.29/EOS-4.29.3M/EOS-4.29.3M.swi
+...
+✅ Downloaded file is correct.
+✅ processing done !
+```
+
+### List available EOS versions from Arista website
+
+You can easily get list of available version using CLI as shown below:
+
+```bash
+❯ ardl info eos-versions
+Usage: ardl info eos-versions [OPTIONS]
+
+ List Available EOS version on Arista.com website.
+
+ Comes with some filters to get latest release (F or M) as well as branch
+ filtering
+
+ - To get latest M release available (without any branch): ardl info eos-
+ versions --latest -rtype m
+
+ - To get latest F release available: ardl info eos-versions --latest
+ -rtype F
+
+Options:
+ -l, --latest Get latest version in given branch. If
+ --branch is not use, get the latest branch
+ with specific release type
+ -rtype, --release-type [F|M] EOS release type to search
+ -b, --branch TEXT EOS Branch to list releases
+ -v, --verbose Human readable output. Default is none to
+ use output in script)
+ --log-level, --log [debug|info|warning|error|critical]
+ Logging level of the command
+ --help Show this message and exit.
+```
+
+__Example__
+
+```bash
+❯ ardl info eos-versions -rtype m --branch 4.28
+['4.28.6.1M', '4.28.6M', '4.28.5.1M', '4.28.5M', '4.28.4M', '4.28.3M']
+```
+
+### Download CVP package
+
+> Supported packages are: OVA, KVM, RPM, Upgrade
+
+```bash
+$ ardl get cvp --format upgrade --version 2022.2.1 --log-level debug --output ~/Downloads
+```
+
+Available options are :
+
+```bash
+ --format [ova|rpm|kvm|upgrade] CVP Image type [required]
+ --version TEXT CVP version [required]
+ --output PATH Path to save image [default: .]
+ --log-level, --log [debug|info|warning|error|critical]
+ Logging level of the command
+ --help Show this message and exit.
+```
+
+## Requirements
+
+Repository requires Python `>=3.6` with following requirements:
+
+```requirements
+cvprac
+cryptography
+paramiko
+requests
+requests-toolbelt
+scp
+tqdm
+```
+
+On EVE-NG, you may have to install/upgrade __pyOpenSSL__ in version `23.0.0`:
+
+```
+# Error when running ardl: AttributeError: module 'lib' has no attribute 'X509_V_FLAG_CB_ISSUER_CHECK'
+
+$ pip install pyopenssl --upgrade
+```
+
+## Docker
+
+Please refer to [docker documentation](docs/docker.md)
+
+## Author
+
+From an original idea of [@Mark Rayson](https://github.com/Sparky-python) in [arista-netdevops-community/eos-scripts](https://github.com/arista-netdevops-community/eos-scripts)
+
+## License
+
+Code is under [Apache2](LICENSE) License