mirror of
https://github.com/NVIDIA/OpenShell.git
synced 2026-10-16 05:20:22 +08:00
The earlier build only worked if the tree had pre-compiled binaries left over from non-snap build. Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>
92 lines
2.8 KiB
YAML
92 lines
2.8 KiB
YAML
# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
name: openshell
|
|
title: OpenShell
|
|
adopt-info: openshell
|
|
summary: Safe, sandboxed runtimes for autonomous AI agents
|
|
description: |
|
|
OpenShell provides safe, sandboxed runtimes for autonomous AI agents.
|
|
It offers a CLI for managing gateways, sandboxes, and providers with
|
|
policy-enforced egress routing, credential proxying, and privacy-aware
|
|
LLM inference routing.
|
|
|
|
base: core24
|
|
# TODO: this prevents publishing a snap to latest/stable.
|
|
grade: devel
|
|
confinement: strict
|
|
license: Apache-2.0
|
|
website: https://docs.nvidia.com/openshell/latest/index.html
|
|
source-code: https://github.com/NVIDIA/OpenShell
|
|
issues: https://github.com/NVIDIA/OpenShell/issues
|
|
contact: https://github.com/NVIDIA/OpenShell/security/policy
|
|
platforms:
|
|
amd64:
|
|
build-on: [amd64]
|
|
build-for: [amd64]
|
|
arm64:
|
|
build-on: [arm64]
|
|
build-for: [arm64]
|
|
|
|
apps:
|
|
openshell:
|
|
command: bin/openshell
|
|
plugs:
|
|
- home
|
|
- network
|
|
- ssh-keys
|
|
- system-observe
|
|
gateway:
|
|
command: bin/openshell-gateway-wrapper
|
|
daemon: simple
|
|
refresh-mode: endure
|
|
environment:
|
|
XDG_DATA_HOME: "$SNAP_COMMON"
|
|
XDG_RUNTIME_DIR: "$SNAP_COMMON"
|
|
plugs:
|
|
- docker
|
|
- log-observe
|
|
- network
|
|
- network-bind
|
|
- ssh-keys
|
|
- system-observe
|
|
|
|
parts:
|
|
openshell:
|
|
plugin: rust
|
|
rust-channel: "1.95.0"
|
|
source: .
|
|
build-packages:
|
|
- build-essential
|
|
- ca-certificates
|
|
- clang
|
|
- cmake
|
|
- git
|
|
- libclang-dev
|
|
- libssl-dev
|
|
- libz3-dev
|
|
- pkg-config
|
|
- python3
|
|
override-pull: |
|
|
craftctl default
|
|
craftctl set version="$(python3 "$CRAFT_PROJECT_DIR/tasks/scripts/release.py" get-version --snap)"
|
|
override-build: |
|
|
set -euo pipefail
|
|
|
|
cargo build --release --locked -p openshell-cli --features bundled-z3
|
|
cargo build --release --locked -p openshell-server --bin openshell-gateway
|
|
cargo build --release --locked -p openshell-sandbox --bin openshell-sandbox
|
|
|
|
install -D -m 0755 "$CRAFT_PART_BUILD/target/release/openshell" \
|
|
"$CRAFT_PART_INSTALL/bin/openshell"
|
|
install -D -m 0755 "$CRAFT_PART_BUILD/target/release/openshell-gateway" \
|
|
"$CRAFT_PART_INSTALL/bin/openshell-gateway"
|
|
install -D -m 0755 "$CRAFT_PART_BUILD/target/release/openshell-sandbox" \
|
|
"$CRAFT_PART_INSTALL/bin/openshell-sandbox"
|
|
install -D -m 0755 "$CRAFT_PROJECT_DIR/deploy/snap/bin/openshell-gateway-wrapper" \
|
|
"$CRAFT_PART_INSTALL/bin/openshell-gateway-wrapper"
|
|
install -D -m 0644 "$CRAFT_PROJECT_DIR/LICENSE" \
|
|
"$CRAFT_PART_INSTALL/usr/share/doc/openshell/LICENSE"
|
|
install -D -m 0644 "$CRAFT_PROJECT_DIR/README.md" \
|
|
"$CRAFT_PART_INSTALL/usr/share/doc/openshell/README.md"
|