Setup#
This page describes the tutorials included in the Ligato documentation. Developers are the intended audience for the tutorials, but they can also be used as a learning aid for those interested in understanding how Ligato works.
For more details on the topics covered in the tutorials, consult the User Guide and Developer Guide.
What you need before working with the tutorials:
- Familiarity with the Ligato framework. If you are working with Ligato for the first time, a great place to start is the QuickStart Guide.
- Access to the Ligato vpp-agent and cn-infra git repositories. The code for each tutorial resides in the repository as noted in the table below.
- Knowledge of the Go programming language. If Go is new to you, look over the Get started with Go tutorial.
- Go installed on your local machine. The same Get started with Go tutorial explains how to install Go on your local machine.
- VPP/FD.io open source code. VPP is a high-performance software network function. To find out more about VPP, see FD.io.
- gRPC. To learn about gRPC, see gRPC.io.
Each tutorial includes the following:
- Sequence of incremental programming tasks supported by example code blocks.
- Link to the complete tutorial code and, where possible, instructions on how to run the code.
Note
The purpose of the code blocks is to show you possible Go programming patterns and examples for functions executed in the tutorial program. You can also inspect the code blocks to compare them against the code contained in the complete tutorial code, or your own project code.
The first tutorial will show you how to create a Ligato agent containing a HelloWorld plugin. Subsequent tutorials will cover Ligato functions that build on the first tutorial.
Tutorial | Description | Tutorial Code Repo |
---|---|---|
Hello World | Create a plugin printing a “hello world” message to the log | cn-infra |
Plugin Dependencies | Add dependencies to your plugin | cn-infra |
REST Handler | Add a REST API to your plugin | cn-infra |
KV Data Store | Interacting with an external KV data store (etcd) | cn-infra |
KV Scheduler | Using the KV scheduler with your plugin | vpp-agent |
Plugin Lookup | How to resolve dependencies between different plugins | cn-infra |
VPP Connection | Using the GoVPPMux plugin with your plugin to connect to VPP | vpp-agent |
gRPC Handler | Use plugins to create a gRPC client | vpp-agent |