diff --git a/docs/assets/stylesheets/extra.css b/docs/assets/stylesheets/extra.css index 91e2414..c443b30 100644 --- a/docs/assets/stylesheets/extra.css +++ b/docs/assets/stylesheets/extra.css @@ -38,7 +38,7 @@ } /* Explicitly set the color for filled buttons */ a.md-button.md-button--primary { - background-color: #4473a9 !important; + background-color: #16325B !important; } [data-md-color-scheme="slate"] { /* Arista True Black as dark mode background */ @@ -56,4 +56,4 @@ --md-primary-fg-color--dark: #16325B; --md-primary-fg-color--light: #16325B; --md-primary-fg-color: #16325B; - } \ No newline at end of file + } diff --git a/docs/index.md b/docs/index.md index 0acfca1..a9c44aa 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,20 +1,60 @@ # Arista Community Labs -!!! Abstract "Great labs for the great community!" +Welcome to Arista Community Labs! - The goal of acLabs is to provide a central place to share labs build by Arista community and for Arista comminity. - acLabs is also used as a lab "backend" for an amazing [TecLibrary](https://tech-library.arista.com/) portal hosting a great quality documentation avalailable to all registered Arista customers. +This site serves as a repository of labs built by the Arista community, for the Arista community. - The core values of acLabs is simplicity and user experience. Every lab must be easy to build, maintain and use. We aim to present complex and deeply technical environments in a simple way and rely on templating, [Github Actions](https://docs.github.com/en/actions) and [Github Codespaces](https://github.com/features/codespaces)(1) to deliver that. - { .annotate } +??? info "🚧 Pardon our dust 🏗️" + The Arista Community Labs repository is under active development with new labs and features coming soon! - 1. acLabs is the successor of the one-click-se-demos repository that was the first repository to use Github Codespaces for network labs. + Labs that currently reside in the following locations are being migrated to Arista Community Labs: -!!! Warning "Under Construction!" + - [One-Click Demos](https://arista-netdevops-community.github.io/one-click-se-demos/) + - [AVD with cEOS-Lab](https://arista-netdevops-community.github.io/avd-cEOS-Lab/) - This repository is still under construction. We are actively working on the new content and moving existing labs from: +## What is a Community Lab? - - [One-Click SE Demos](https://arista-netdevops-community.github.io/one-click-se-demos/) - - [avd-cEOS-Lab](https://arista-netdevops-community.github.io/avd-cEOS-Lab/) +Whether refreshing one's skills, performing testing, or learning new technologies, protocols, features, and tools, building and maintaining the lab environments necessary to support these endeavors can be a daunting task fraught with software dependencies and caveats. - Check this repository once in a few weeks for the new content. +Arista Community Labs reduce the burden of this task, with each lab environment built with three primary objectives: + +
+ +- :material-clock-fast:{ .lg .middle } __Ease of Consumption__ + + --- + + Labs can be instantiated at any time with the click of a button. + +- :fontawesome-solid-person-running:{ .lg .middle } __Portability__ + + --- + + The only local software requirement is a web browser. + +- :material-puzzle:{ .lg .middle } __Modularity__ + + --- + + Nodes, image versions, and tools are easily modified over time. + +
+ +The lab environments are pre-packaged with tools such as Ansible, Python, and the Arista [AVD](https://galaxy.ansible.com/ui/repo/published/arista/avd/), [CVP](https://galaxy.ansible.com/ui/repo/published/arista/cvp/), and [EOS](https://galaxy.ansible.com/ui/repo/published/arista/eos/) Ansible Galaxy collections. + +Labs are created through the use of templates, [Github Actions](https://docs.github.com/en/actions), [Github Codespaces](https://github.com/features/codespaces), and [ContainerLab](https://containerlab.dev)[^2].' + +Once started, labs will automatically download(1) the necessary cEOS-lab(2) and other container images necessary for the toplogy. +{ .annotate } + +1. Automatic download of cEOS-lab is accomplished via the [Arista EOS Downloader](https://pypi.org/project/eos-downloader/) utility. +2. Downloading cEOS-lab requires an [Arista user token](https://www.arista.com/en/users/profile). See the [Quickstart Guide](./quickstart.md) for more information. + +## How do I get started? + +The [Quickstart Guide](./quickstart.md) is available to help folks who are trying out the labs for the first time or just need a refresher. + +[Get Started :material-greater-than:](./quickstart.md){ .md-button .md-button--primary } + +[^1]: This site uses the [Pexels](https://www.pexels.com/) royalty-free image library. Thank you to all Pexels authors and contributors! +[^2]: Containerlab is distributed under the [BSD-3 license](https://github.com/srl-labs/containerlab/blob/main/LICENSE). diff --git a/docs/quickstart.md b/docs/quickstart.md index 4ed4aa5..8c26894 100644 --- a/docs/quickstart.md +++ b/docs/quickstart.md @@ -2,6 +2,15 @@ This guide is intended for individuals looking to familiarize themselves with the steps necessary to get started with Arista Community Labs, powered by [GitHub Codespaces](https://github.com/features/codespaces/). +
+ +- :octicons-tasklist-16: [Pre-Requisites](#pre-requisites) +- :octicons-rocket-16: [Start the Lab](#starting-the-lab) +- :material-cursor-default-click: [Interact with the Lab](#interacting-with-the-lab) +- :fontawesome-regular-circle-stop: [Stop the Lab](#stopping-the-lab) + +
+ ## Pre-Requisites Before launching an Arista Community Lab, the following pre-requisites must be met: @@ -177,9 +186,15 @@ make inspect ## Interacting with the Lab -### SSH +Once the lab is up and running, we can interact with the topology nodes. + +Both SSH and API access to the nodes are available via the Codespace. Lab environments are pre-packaged with tools like Python and the Arista [AVD](https://galaxy.ansible.com/ui/repo/published/arista/avd/), [CVP](https://galaxy.ansible.com/ui/repo/published/arista/cvp/), and [EOS](https://galaxy.ansible.com/ui/repo/published/arista/eos/) Ansible Galaxy collections. -Once the lab is up and running, we can use the terminal in our Codespace to SSH into the nodes. +Labs that leverage tools such as AVD for configuration, documentation, and testing will provide the instructions in their lab guide. + +Accessing the environment via SSH is detailed below: + +### SSH ??? tip "More real estate for those SSH sessions 🏠" Increase the size of the terminal by selecting the `Maximize Panel Size` button to the right of the terminal: @@ -189,6 +204,21 @@ Once the lab is up and running, we can use the terminal in our Codespace to SSH
Maximize the Terminal (Click to Zoom)
+A list of `Lab Hosts` that are accessible via `SSH` from within the codespace can be viewed at any time from the terminal by entering the following command: + +```bash +make inspect +``` + +To access a node, use the `ssh` command followed by `admin@hostname` as shown in the example below + +```bash +ssh admin@A-SPINE1 +``` + +??? question "What's the password? :lock:" + The credentials used to access nodes within an Arista Community Lab environment will always be listed in the lab's documentation. + ??? tip "Use tabs 📑" Create a new tab for an SSH session by selecting `New Terminal` to the right of the terminal. @@ -208,31 +238,12 @@ Once the lab is up and running, we can use the terminal in our Codespace to SSH
Rename the Terminal Tab (Click to Zoom)
- === "Party Time 🎉" + === "Renamed Tabs 🎉"
![Post Deployment Script](assets/img/aclabs-quickstart-renamed-tabs.png "Post Deploy"){ width=800px }
Rename the Terminal Tab (Click to Zoom)
-A list of `Lab Hosts` that are accessible via `SSH` from within the codespace can be viewed at any time from the terminal by entering the following command: - -```bash -make inspect -``` - -To access a node, use the `ssh` command followed by `admin@hostname` as shown in the example below - -```bash -ssh admin@A-SPINE1 -``` - -??? question "What's the password? :lock:" - The credentials used to access nodes within an Arista Community Lab environment will always be listed in the lab's documentation. - -### API - -All nodes are accessible via API from within the codespace. The codespace comes pre-packaged with tools like Python and the Arista [AVD](https://galaxy.ansible.com/ui/repo/published/arista/avd/), [CVP](https://galaxy.ansible.com/ui/repo/published/arista/cvp/), and [EOS](https://galaxy.ansible.com/ui/repo/published/arista/eos/) Ansible Galaxy collections. - ## Stopping the Lab When you're finished with the lab, simply close the codespace by exiting the browser window. By default, a GitHub Codespace is stopped after 45 minutes of idleness and deleted after 30 days of inactivity. diff --git a/docs/tech-library-labs.md b/docs/tech-library-labs.md index 4dd8e64..48ff1ce 100644 --- a/docs/tech-library-labs.md +++ b/docs/tech-library-labs.md @@ -1,14 +1,22 @@ # Tech Library Labs -Tech Library is an amazing technical documentation resource available to all Arista customers from [arista.com](https://www.arista.com/). -You can access the labs supporting Tech Library documentation from the Tech Library docs itself or directly from this page. +[Arista's Tech Library](https://arista.com/en/tech-library) contains guides developed to assist customers and partners with designing, deploying, and operating their Arista networks. -## EVPN +Arista Community Labs enables readers to quickly instantiate a fully configured lab environment that matches a Deployment Guide topology. -[Start :octicons-play-16: Domain-A Lab in Codespace :octicons-mark-github-24:](https://codespaces.new/aristanetworks/aclabs/tree/main?quickstart=1&devcontainer_path=.devcontainer%2Ftechlib-vxlan-domain-a%2Fdevcontainer.json){ .md-button .md-button--primary target=_blank} +??? question "How can I access the Tech Library?🤔" + The [Tech Library](https://arista.com/en/tech-library) is accessible to all Arista customers and partners. For individuals who are not currently customers, temporary access can be provided by contacting your local Arista account team. -[Start :octicons-play-16: Domain-B Lab in Codespace :octicons-mark-github-24:](https://codespaces.new/aristanetworks/aclabs/tree/main?quickstart=1&devcontainer_path=.devcontainer%2Ftechlib-vxlan-domain-b%2Fdevcontainer.json){ .md-button .md-button--primary target=_blank} + A verified email address in a valid corporate email domain is required for temporary access (no Gmail, Yahoo, etc.) -[Start :octicons-play-16: Domain-C Lab in Codespace :octicons-mark-github-24:](https://codespaces.new/aristanetworks/aclabs/tree/main?quickstart=1&devcontainer_path=.devcontainer%2Ftechlib-vxlan-domain-c%2Fdevcontainer.json){ .md-button .md-button--primary target=_blank} +## EVPN/VXLAN Deployment Guide -[Start :octicons-play-16: Domain-D Lab in Codespace :octicons-mark-github-24:](https://codespaces.new/aristanetworks/aclabs/tree/main?quickstart=1&devcontainer_path=.devcontainer%2Ftechlib-vxlan-domain-d%2Fdevcontainer.json){ .md-button .md-button--primary target=_blank} +Labs that align with the EVPN Domains found in Arista's [EVPN/VXLAN Deployment Guide](https://tech-library.arista.com/data_center/evpnvxlan/deployment_guide/) can be found below: + +[Start :octicons-play-16: Domain-A Lab :octicons-mark-github-24:](https://codespaces.new/aristanetworks/aclabs/tree/main?quickstart=1&devcontainer_path=.devcontainer%2Ftechlib-vxlan-domain-a%2Fdevcontainer.json){ .md-button .md-button--primary target=_blank} + +[Start :octicons-play-16: Domain-B Lab :octicons-mark-github-24:](https://codespaces.new/aristanetworks/aclabs/tree/main?quickstart=1&devcontainer_path=.devcontainer%2Ftechlib-vxlan-domain-b%2Fdevcontainer.json){ .md-button .md-button--primary target=_blank} + +[Start :octicons-play-16: Domain-C Lab :octicons-mark-github-24:](https://codespaces.new/aristanetworks/aclabs/tree/main?quickstart=1&devcontainer_path=.devcontainer%2Ftechlib-vxlan-domain-c%2Fdevcontainer.json){ .md-button .md-button--primary target=_blank} + +[Start :octicons-play-16: Domain-D Lab :octicons-mark-github-24:](https://codespaces.new/aristanetworks/aclabs/tree/main?quickstart=1&devcontainer_path=.devcontainer%2Ftechlib-vxlan-domain-d%2Fdevcontainer.json){ .md-button .md-button--primary target=_blank} diff --git a/mkdocs.yml b/mkdocs.yml index 80b66a5..f1cd877 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -65,6 +65,7 @@ theme: markdown_extensions: - attr_list - admonition + - footnotes - pymdownx.details - pymdownx.superfences - pymdownx.critic @@ -87,6 +88,7 @@ markdown_extensions: - md_in_html #Enable the use of captioned images via techniques shown here: https://squidfunk.github.io/mkdocs-material/reference/images/ copyright: > + Copyright © 2024 Arista Networks  🍪 Change cookie settings extra: @@ -131,5 +133,5 @@ nav: - About acLabs: index.md - Quickstart: quickstart.md # - Codespaces Quickstart: codespaces-quickstart.md - - Credits: credits.md + # - Credits: credits.md - Tech Library Labs: tech-library-labs.md