This SDK provides libraries, tools and documentation that support developing satellite payloads for use with SatOS (TM) from Antaris, Inc. Specifically, this enables the development and testing of payload applications: the software that handles communication with core spacecraft services as well as payload-specific devices.
Comprehensive documentation is available online. Please read through the Developer Guide if this is your first time working with this SDK, as it will help you learn the terminology and concepts used herein.
Before you continue, it is assumed that:
- You have Docker installed on your local machine
- You have access to the Antaris Cloud Platform.
If you do not have access to the cloud platform, you can still get started with the SDK but you will be limited in what can be accomplished.
If you have read through the Developer Guide, simply visit the Python example application to quickly get a Payload Application up and running locally.
The development processes available here utilize Docker containers. It is expected that developers start from one of the supported base images:
- Python applications:
quay.io/antaris-inc/satos-payload-app-python:stable
- C++ application: quay.io/antaris-inc/satos-payload-app-cpp:stable
A developer does not even need to clone this repository in order to build an application, however there are examples
here that are very helpful when getting started.
Visit the examples/
directory here for more information.
Additional payload applications are maintained in a separate repository that actually integrate payload hardware for demonstration purposes: https://github.com/antaris-inc/SatOS-Payload-Demos
make build_cpp
will instantiate a build environment container and compile c++ application present at examples/app-cpp.
make build_cpp
NOTE: This step also builds the requisite Docker image which requires internet access to install some system packages.
This repo utilizes a container image containing a number of tools (e.g. scripts, software, etc).
The tools image is used to provide a consistent environment for automation of tasks in CI.
For example, the image is used to generate API bindings from protobuf schemas and package those bindings into client libraries.
The image is automatically built and published at quay.io/antaris-inc/satos-payload-sdk-tools:stable
.
Typically, one can run the tools image with a command like the following. It is expected that the root of the SDK repo is mounted in to /workspace
:
docker run --platform=linux/amd64 -v $PWD:/workspace -it quay.io/antaris-inc/satos-payload-sdk-tools:stable
If you are interested in making changes to the image, the Dockerfile resides at images/sdk-tools/Dockerfile
.
A stable
tag is managed by hand in the image repository.