Signed package সীমিত hardware, MAVLink, telemetry, mission ও network capabilities পায়, পৃথক process-এ চলে এবং যাচাইযোগ্য IPC দিয়ে host-এর সঙ্গে কথা বলে। Extension ত্রুটিতে flight-critical services বন্ধ হওয়া উচিত নয়।
Extension model ও CLI লক্ষ্য contract হিসেবে বর্ণিত; KairOS registry, signing root ও public SDK এখনও release হয়নি।
KairOS repository ↗এই পৃষ্ঠায় +
পাঁচটি সুরক্ষাসীমা
প্যাকেজ
Extension .kairosplug-এ manifest, version, entry point, requested capabilities ও signature-সহ প্যাক করা।
বিশ্বাস
Unpack-এর আগে Ed25519 signature যাচাই হয়; boot-এ revocation list প্রয়োগ হয়। Unsigned শুধু developer mode-এ অনুমোদিত।
Operator অনুমতি
Installation-এর আগে permissions মানুষকে দেখানো হয়; sensitive permissions-এর পৃথক পুনঃনিশ্চিতকরণ প্রয়োজন।
Process সীমানা
প্রতি plugin নিজস্ব subprocess/cgroup-এ CPU, memory ও PID limits নিয়ে চলে।
Capability IPC
Unix socket-এ msgpack RPC প্রতিটি host API call-এ capability token যাচাই করে।
Permissions বাস্তব resource অনুযায়ী ভাগ করা
| দল | Capability উদাহরণ |
|---|---|
| Hardware | UART, I²C, SPI, GPIO, USB serial/UVC, CSI |
| MAVLink | Read, write এবং নিজস্ব component registration |
| টেলিমেট্রি | Subscribe, extend ও event publish |
| Sensors / payload | Sensor বা payload interface registration |
| মিশন | Mission data পড়া, লেখা ও record |
| নেটওয়ার্ক | শুধু manifest allowlist-এ HTTPS egress |
Permission মানে পুরো system-এ সরাসরি প্রবেশ নয়। UART permission নির্দিষ্ট device বা brokered handle দেবে, network egress শুধু আগে ঘোষিত domains-এ যাবে। Operator Mission Control থেকে grant revoke করতে পারেন।
Manifest ও ন্যূনতম plugin context
name: cell-balance-monitor
version: 0.1.0
agent:
entry: cell_balance:run
capabilities:
- telemetry.read
- event.publishfrom kairos_sdk import PluginContext
async def run(ctx: PluginContext):
async for battery in ctx.telemetry.subscribe("telemetry.battery"):
cells = battery.get("cells", [])
if cells and max(cells) - min(cells) > 0.15:
await ctx.events.publish(
"alert.cell_imbalance",
{"spread_v": max(cells) - min(cells)},
)Installation, permissions, logs ও tests
kairos plugin install ./thermal-cam.kairosplug
kairos plugin enable thermal-cam
kairos plugin list
kairos plugin disable <name>
kairos plugin remove <name>
kairos plugin info <name>
kairos plugin perms <name>
kairos plugin logs <name>
kairos plugin test <path>install package ও signature যাচাই করে requested permissions দেখায়। enable শুধু grant-এর পরে process চালায়। info ও perms audit-এর, logs diagnostics-এর, test local author workflow-এর জন্য। Removal process থামিয়ে শুধু তার scoped state মুছবে, অন্য extensions স্পর্শ করবে না।
তিনটি মূল plugins ও device extensions
geofence
অনুমোদিত এলাকার তুলনায় position যাচাই করে এবং দৃশ্যমান event প্রকাশ করে।
telemetry-logger
নির্বাচিত telemetry streams সীমিত volume ও স্পষ্ট lifecycle-সহ record করে।
mavlink-inspector
ডিফল্টভাবে flight state না বদলে diagnostics-এর frames দেখায়।
Thermal camera
FLIR Lepton USB UVC, radiometric Y16, Celsius, palette/isotherm এবং MAVLink camera interface।
MAVLink Gimbal v2
External controller bridge, attitude command/status এবং component 154।
প্রথম release ও পরবর্তী ধাপ পৃথক
| প্রথম লক্ষ্য release | পরের ধাপ |
|---|---|
| স্থানীয় signed installation | খোঁজযোগ্য hosted registry |
| প্রতি IPC-তে capability enforcement | Public standalone kairos_sdk package |
| Built-ins ও CLI | Scaffolder ও templates |
| Permission review ও revoke | Git URL থেকে installation |
| পরীক্ষা runner | Shared driver layer ও পূর্ণ author documentation |