akanda/README.md

2.9 KiB
Raw Blame History

Akanda

A set of Layer 3 plus Services for OpenStack.


About

Subprojects

The code for the Akanda project lives in several separate repositories to ease packaging and management:

  • Akanda Appliance Supporting software for the Akanda Software Router appliance, which is a service VM running OpenBSD and PF for providing L3+ services in a virtualized network environment. This includes a REST API for managing the appliance.

  • Akanda Neutron  User-Facing REST service implemented as OpenStack Neutron API Extensions.

  • Akanda Nova  Extensions to OpenStack Nova supporting the creation and management of Akanda Software Router appliances.

  • Akanda Ceilometer  Integration with OpenStack Ceilometer for metering of activity inside of Akanda Software Routers.

  • Akanda Horizon  OpenStack Horizon extensions to enable the management of Akanda Software Routers.

  • Akanda Rug  Orchestration service for managing the creation, configuration, and health of Akanda Software Routers in an OpenStack cloud.

As such, this repository focuses on project overview and documentation.

The Name

We originally wanted to go with the name अनर्थक (anarthaka, "bullshit"). But sadly, this term also conveys things like "worthless," "useless," and "unprofitable." As a product (even an open source one), these are not very positive associations.

However, we found we were able to say something more clearly and with a bevy of excellent synonyms by using the Sanskrit word अखण्ड (akhaNDa) which has such lovely connotations as "non-stop," "undivided," "entire," "whole," and most importantly, "not broken."

The Akanda REST APIs

Akanda comes with two REST APIs:

  1. The REST API that runs on the router instance itself, recieving simple pf-related administrative commands (e.g., "take this data and have pf parse it"). This REST API runs only so long a router instance is up and running. This is not the user-facing, 24/7 REST API.

  2. Then there is the user-facing, 24/7, load-balanced REST API. This is what users will be able to interact with in order to programmatically manage their router instances (e.g., set NAT, port-forwarding, and basic firewall rules). This API is exposed as extensions to OpenStack Neutron's API.

Additional Documentation

Akanda is in use at DreamHost for our OpenStack-based public cloud, DreamCompute. As we work on bringing Akanda to the community, we will be working on additional documentation, user guides, etc.

Mailing lists and a project website are on the way!