#ros #kubernetes #docker #container #workspace #integrate #workflow

app flatboat

Flatboat is a CLI tool that integrates Docker and Kubernetes tooling into the ROS workspace workflow

7 releases

0.3.4 Jun 14, 2024
0.3.2 Jun 14, 2024
0.2.1 Apr 16, 2024
0.2.0 Mar 30, 2024
0.1.1 Feb 25, 2024

#9 in Robotics

Apache-2.0

29KB
561 lines

Flatboat

This repository is part of the Flatboat Project

Logo

Flatboat is a CLI tool that integrates Docker and Kubernetes tooling into the ROS workspace workflow.

GitHub License

Features

  • Automatic container lifecycle management
  • Create ROS workspaces from devcontainer templates
  • Execute ROS2 commands inside the container
  • Execute shell commands inside the container
  • Out-of-the-box graphical user interface GUI support
  • Out-of-the-box GPU support
  • Out-of-the-box workspace volume binding
  • Out-of-the-box host network connectivity
  • Out-of-the-box avahi service for .local domain resolution
  • Compatible with Devcontainer Specification

Compatibility

Compatible with Linux distributions capable of running Docker with X11 window system and avahi daemon.

NOTE: Linux distros with different configurations may be able to run flatboat with a few workarounds.

Installation

Dependencies

Install

Install Flatboat with cargo

  cargo install flatboat

Usage

Learn about Flatboat with:

  flatboat -h

Authors

Roadmap

  1. Templates
    1. Package Dockerfile
    2. Kubernetes Workers
    3. Kubernetes Master
  2. Integration of Templates
  3. Local Kubernetes Driver

License

Copyright 2024 Juan Camilo Sánchez Urrego @JuanCSUCoder juancsucoder@gmail.com

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Dependencies

~13–27MB
~397K SLoC