api

module
v9.75.1718400648-SHA-c... Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 14, 2024 License: Apache-2.0

README

Spacetime's APIs

Spacetime has 2 APIs:

  • The Northbound Interface (NBI) allows humans or applications to define and orchestrate a network. This includes functions such as specifying the time-dynamic position and orientation of platforms and antennas, defining networking parameters on each node in the network, and creating requests for service that will be scheduled and routed through the network.
  • The Control to Data-plane Interface (CDPI), or Southbound Interface, allows Spacetime to control network devices and receive updates in return. This includes functions such as steering antenna beams to establish new links and configuring RF parameters like the transmit power and channel.

Developer Guides

You can find developer guides and tutorials on this website.

This site contains:

Repo Contents

In this repo, you will find the following directories:

  • api: The gRPC and Protocol Buffers definitions of the API.
  • cdpi_agent: A Go implementation of a CDPI agent.
  • contrib: An open-source directory of real hardware that has been modeled in Spacetime and used in real networks. Contributions are welcome!

Contributing

Spacetime welcomes contributions to its APIs. Read the governance document to learn more about policies and processes for suggesting changes to the APIs.

License

Spacetime's APIs are licensed under Apache 2.0 (see the LICENSE file).

Directories

Path Synopsis
Package auth provides credential helpers for connecting to Spacetime APIs.
Package auth provides credential helpers for connecting to Spacetime APIs.
authtest
Package authtest provides helpers for testing functionality that uses the auth package.
Package authtest provides helpers for testing functionality that uses the auth package.
bazel
java_rules/jardoctor
Package main provides a tool that attempts to fix shortcomings of the bazel uberjar build process.
Package main provides a tool that attempts to fix shortcomings of the bazel uberjar build process.
Package agent provides a CDPI agent implementation.
Package agent provides a CDPI agent implementation.
cmd/agent
Package main provides a CDPI agent that is configured using a protobuf-based manifest.
Package main provides a CDPI agent that is configured using a protobuf-based manifest.
enactment/extproc
Package extproc provides an enactment.Backend implementation that relies on an external process to enact changes.
Package extproc provides an enactment.Backend implementation that relies on an external process to enact changes.
internal/agentcli
Package agentcli provides a CDPI agent that is configured using a protobuf-based manifest.
Package agentcli provides a CDPI agent that is configured using a protobuf-based manifest.
internal/channels
Package channels provide some simple adapters to facilitate common read/write patterns.
Package channels provide some simple adapters to facilitate common read/write patterns.
internal/extprocs
Package extprocs provides common utilities shared between the extproc backends.
Package extprocs provides common utilities shared between the extproc backends.
internal/loggable
Package loggable provides some adaptors for logging Spacetime domain objects using the zerolog library.
Package loggable provides some adaptors for logging Spacetime domain objects using the zerolog library.
internal/task
Package task provides some useful helpers to express common tasks like retries and adding contextual information to a context-scoped logger.
Package task provides some useful helpers to express common tasks like retries and adding contextual information to a context-scoped logger.
telemetry/extproc
Package extproc provides a telemetry.Backend implementation that relies on an external process to generate telemetry reports in the specified form.
Package extproc provides a telemetry.Backend implementation that relies on an external process to generate telemetry reports in the specified form.
tools
generate_jwt
package main provides a simple utility to generate signed JWTs.
package main provides a simple utility to generate signed JWTs.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL