Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Tools

Shared tooling that lives under tools/ in the source tree. Two things matter about this directory:

tools/
├── cmake/
│   └── project.cmake     # master build configuration, included by every module
├── agent/
│   ├── sync_binaries.py        # reconcile built yunos vs the agent's installed set
│   ├── sync_configs.py         # reconcile a directory's configs vs the agent's installed set
│   └── set_start_priorities.py # assign each managed yuno's start_priority by role
└── sshd/
    ├── audit-sshd.sh                  # report failures and improvements (read-only)
    ├── install-sshd-flood-guard.sh    # keep sshd reachable under a connection flood
    ├── install-fail2ban-sshd-jail.sh  # make fail2ban watch sshd
    ├── stop-sshd.sh                   # stop sshd, with a timer that starts it again
    └── start-sshd.sh                  # start sshd, cancel that timer

cmake/project.cmake — build infrastructure

project.cmake is the single build-configuration file included by every CMakeLists.txt in the project — kernel libraries, modules, yunos, utils, tests, performance, and stress. It gives them a consistent compiler setup, library definitions, and install paths, all driven by the Kconfig .config file generated by menuconfig.

What it provides:

Every module includes it with the same boilerplate:

cmake_minimum_required(VERSION 3.11)
project(my_module C)

if(DEFINED ENV{YUNETAS_BASE} AND IS_DIRECTORY "$ENV{YUNETAS_BASE}")
  set(YUNETAS_BASE "$ENV{YUNETAS_BASE}")
elseif(IS_DIRECTORY "/yuneta/development/yunetas")
  set(YUNETAS_BASE "/yuneta/development/yunetas")
else()
  message(FATAL_ERROR "YUNETAS_BASE not found.")
endif()

include("${YUNETAS_BASE}/tools/cmake/project.cmake")

The full reference (every variable, the conditional library table, the manual CMake invocation) lives in tools/README.md.

agent/ — operator helper scripts

Helpers for talking to a running yuneta_agent.