• Stars
    star
    197
  • Rank 196,407 (Top 4 %)
  • Language
    Go
  • License
    Apache License 2.0
  • Created almost 9 years ago
  • Updated 11 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Fairly general building blocks used in Arista Go code and open-sourced for the benefit of all.

Arista Go library Build Status codecov.io GoDoc Go Report Card

areflect

Helper functions to work with the reflect package. Contains ForceExport(), which bypasses the check in reflect.Value that prevents accessing unexported attributes.

monotime

Provides access to a fast monotonic clock source, to fill in the gap in the Go standard library, which lacks one. Don't use time.Now() in code that needs to time things or otherwise assume that time passes at a constant rate, instead use monotime.Now().

cmd

See the cmd directory.

dscp

Provides ListenTCPWithTOS(), which is a replacement for net.ListenTCP() that allows specifying the ToS (Type of Service), to specify DSCP / ECN / class of service flags to use for incoming connections. Requires go1.9.

key

Provides common types used across various Arista projects. The type key.Key is used to work around the fact that Go can't let one use a non-hashable type as a key to a map. Because we often use a map[string]interface{} (or other non-hashable type) as a key to a map, the type key.Map is used to represent a map that can store both natively hashable and non-hashable types alike. To do this, a non-hashable type must have a custom Hash() method defined. The type key.Path is the representation of a path broken down into individual elements, where each element is a key.Key. The type key.Pointer represents a pointer to a key.Path.

path

Provides functions that can be used to manipulate key.Path objects. The type path.Map may be used for mapping paths to values. It allows for some fuzzy matching for paths containing path.Wildcard keys.

lanz

A client for LANZ streaming servers. It connects to a LANZ streaming server, listens for notifications, decodes them and sends the LANZ protobuf on the provided channel.

monitor

A library to help expose monitoring metrics on top of the expvar infrastructure.

netns

netns.Do(namespace, cb) provides a handy mechanism to execute the given callback cb in the given network namespace.

influxlib

This is a influxdb library that provides easy methods of connecting to, writing to, and reading from the service.

test

This is a Go library to help in writing unit tests.

Examples

TBD

More Repositories

1

avd

Arista Validated Designs
Python
270
star
2

purescript-backend-optimizer

Optimizing backend toolkit and modern ECMAScript backend for PureScript
PureScript
198
star
3

nix-serve-ng

A drop-in replacement for nix-serve that is faster and more reliable
Haskell
151
star
4

EosSdk

EOS SDK - write native apps for your Arista switch
C++
147
star
5

netdevops-examples

Examples of using DevOps tools with Arista EOS and CloudVision
Jupyter Notebook
116
star
6

bst

A one-stop shop for process isolation
C
99
star
7

openmgmt

Documentation and examples for using open network management tools such as OpenConfig
Go
68
star
8

ansible-cvp

Ansible modules for Arista CloudVision
Python
66
star
9

j2lint

Jinja2 Linter CLI
Python
52
star
10

anta

What do you call an ant with frogs legs?
Python
46
star
11

cvprac

Python
45
star
12

goeapi

Go library for Arista's eAPI command API implementation
Go
43
star
13

CloudVisionPortal-Examples

A collection of CloudVision Portal examples and best practices
Python
40
star
14

yang

YANG models published and supported by Arista Networks
Makefile
36
star
15

ctypegen

Generate ctypes boilerplate code from debugging information; Use python to mock C code for testing
Python
28
star
16

cloudvision-python

Python resources and libraries for integrating with Arista's CloudVision platform
Python
25
star
17

atd-public

Python
24
star
18

sonic

Open source drivers and initialization library for Arista platforms running SONiC
Python
22
star
19

cloudvision

Resources and documentation for Arista's CloudVision platform
TypeScript
21
star
20

openconfigbeat

Elastic Beat for OpenConfig
Go
21
star
21

puppet-eos

Arista EOS modules for automating network resources using Puppet
20
star
22

avd-workshops

Arista Automation Workshop
CSS
18
star
23

eoscentral

Code examples associated with EOS Central articles.
17
star
24

cloudvision-apis

gRPC APIs for integrating with Arista's CloudVision platform
16
star
25

robotframework-aristalibrary

Robot Framework library for Arista EOS
Python
16
star
26

terraform-provider-cloudeos

Arista CloudEOS Terraform Provider
Go
14
star
27

vane

A weather vane is an instrument used for showing the direction of the wind. Just like a weather vane, Vane is a network certification tool that shows a network's readiness for production based on validation tests.
Python
12
star
28

arista-ceoslab-operator

K8s operator for managing meshnet-networked cEOS-lab instances
Go
11
star
29

CloudEOS

HCL
11
star
30

swi-tools

Scripts for handling Arista SWI and SWIX files
Python
11
star
31

cloudvision-ztpaas-utils

Utilities for ZTP as a Service with CloudVision
Python
11
star
32

terraform-provider-cloudvision

Go
10
star
33

cloudvision-go

Go resources and libraries for integrating with Arista's CloudVision platform
Go
10
star
34

cloudvision-python-actions

Example Python action scripts for integrating with Change Controls in Arista's CloudVision platform
Python
9
star
35

arcomm

A command-line utility and library for communicating with Aristas
Python
9
star
36

ci-workshops-fundamentals

Network automation fundamentals repository to deliver fundamentals workshops.
Jinja
8
star
37

pytest-netdut

A pytest library for testing software on network devices.
Python
7
star
38

arista-onie-installer

ONIE installer for Arista's EOS
6
star
39

pyopenconfig

Python implementation of the gRPC service for interacting with network devices based on OpenConfig models (DEPRECATED)
Python
6
star
40

telegraf-cloudvision

Go
5
star
41

cloudeos-k8s

Documentation and YAML files for CloudEOS for Kubernetes
Smarty
5
star
42

eos-eapi-rust

Rust
5
star
43

dom

The Digital Optical Monitor script will periodically poll the optical power levels of each interface on a switch and generate syslog events when the transmit (Tx) or Receive (Rx) power levels change beyond the threshold. Optionally, SNMP v2c traps or v3 informs may be generated, as well.
Python
5
star
44

go-cvprac

Go
4
star
45

eos_boot_loader

Shell
4
star
46

training-infra-public

Arista training lab infrastructure
Python
4
star
47

ansible-eos

Ansible modules for Arista Network's EOS
Python
4
star
48

quantumfs

A distributed FUSE filesystem optimized for large-scale software development
Go
4
star
49

gomap

Golang hash map with user provided hash and equal functions
Go
4
star
50

telemetry-email-alerter

Python script that allows you to subscribe to Arista Telemetry Events and then send them to an SMTP server for email notifications.
Python
3
star
51

eos-deployment-guide-configs

Configs from EOS Deployment Guides
3
star
52

switch-interface-maps

This is a set of interface maps (json) for as many SKUs (DC and Campus) to be used in conjunction with the Arbitrary Interface Mapping feature
3
star
53

net-snmp

Arista Networks' net-snmp patches
C
3
star
54

pcapinspect

Python
3
star
55

openfdk

Open FPGA Developer's Kit
VHDL
3
star
56

ServiceNowRac

ServiceNow RESTful Client
Python
3
star
57

aql-examples

Sharing AQL (Advanced Query Language for CVP) examples with customers
Python
3
star
58

ownership-voucher-grpc

2
star
59

chef-eos

Chef cookbook for Arista EOS.
Ruby
2
star
60

sonic-firmware

SONiC Firmware
2
star
61

docker-logstash

Container for logstash with input from the kafka feed from Arista's OpenConfig client
2
star
62

aclabs

Python
2
star
63

cloudvision-frontend-config

JavaScript, TypeScript and Eslint configuration for CloudVision frontend libraries.
JavaScript
2
star
64

ci-workshops-avd

AVD workshop repository to deliver workshop content specific to AVD.
Makefile
2
star
65

promtail_extension

Python
1
star
66

eos-external-tools

Go
1
star
67

probe-tools

Some test tools for RFC8335 PROBE aka ICMP Extended Echo
Python
1
star
68

tech-library-comments

1
star
69

eossdkrpc

EOS SDK RPC protobuf files and information
1
star
70

quicktrace-public

The open source version of QuickTrace
C++
1
star
71

python-aristaproto

Python
1
star