mirror of
https://github.com/edera-dev/krata.git
synced 2025-08-03 13:11:31 +00:00
nightly: bundle systemd service files and install script
This commit is contained in:
4
.github/workflows/nightly.yml
vendored
4
.github/workflows/nightly.yml
vendored
@ -11,9 +11,9 @@ jobs:
|
|||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: dtolnay/rust-toolchain@stable
|
- uses: dtolnay/rust-toolchain@stable
|
||||||
- run: ./scripts/ci/install-deps.sh
|
- run: ./scripts/ci/install-deps.sh
|
||||||
- run: ./scripts/ci/nightly.sh
|
- run: ./scripts/bundle.sh
|
||||||
- uses: actions/upload-artifact@v4
|
- uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: krata-nightly
|
name: krata-nightly
|
||||||
path: krata.tgz
|
path: target/bundle/krata.tgz
|
||||||
compression-level: 0
|
compression-level: 0
|
||||||
|
3
.gitignore
vendored
3
.gitignore
vendored
@ -1,2 +1,5 @@
|
|||||||
/target
|
/target
|
||||||
|
/krata.tgz
|
||||||
|
/initrd/target
|
||||||
|
/kernel/target
|
||||||
Cargo.lock
|
Cargo.lock
|
||||||
|
@ -10,7 +10,7 @@ if [ ! -f "${SRC_DIR_NAME}/Makefile" ]
|
|||||||
then
|
then
|
||||||
rm -rf "${SRC_DIR_NAME}"
|
rm -rf "${SRC_DIR_NAME}"
|
||||||
curl -L -o "${SRC_DIR_NAME}.txz" "${KERNEL_SRC_URL}"
|
curl -L -o "${SRC_DIR_NAME}.txz" "${KERNEL_SRC_URL}"
|
||||||
tar xvf "${SRC_DIR_NAME}.txz"
|
tar xf "${SRC_DIR_NAME}.txz"
|
||||||
rm "${SRC_DIR_NAME}.txz"
|
rm "${SRC_DIR_NAME}.txz"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
32
resources/install/install.sh
Executable file
32
resources/install/install.sh
Executable file
@ -0,0 +1,32 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
REAL_SCRIPT="$(realpath "${0}")"
|
||||||
|
cd "$(dirname "${REAL_SCRIPT}")"
|
||||||
|
|
||||||
|
if [ -f "/etc/systemd/system/kratad.service" ]
|
||||||
|
then
|
||||||
|
systemctl disable --now kratad.service
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f "/etc/systemd/system/kratanet.service" ]
|
||||||
|
then
|
||||||
|
systemctl disable --now kratanet.service
|
||||||
|
fi
|
||||||
|
|
||||||
|
cp kratad.service /etc/systemd/system/kratad.service
|
||||||
|
cp kratanet.service /etc/systemd/system/kratanet.service
|
||||||
|
|
||||||
|
cp kratad kratanet kratactl /usr/local/bin
|
||||||
|
|
||||||
|
chmod +x /usr/local/bin/kratad
|
||||||
|
chmod +x /usr/local/bin/kratanet
|
||||||
|
chmod +x /usr/local/bin/kratactl
|
||||||
|
|
||||||
|
mkdir -p /var/lib/krata/default
|
||||||
|
cp kernel /var/lib/krata/default/kernel
|
||||||
|
cp initrd /var/lib/krata/default/initrd
|
||||||
|
|
||||||
|
systemctl daemon-reload
|
||||||
|
systemctl enable kratad.service kratanet.service
|
||||||
|
systemctl restart kratad.service kratanet.service
|
@ -5,7 +5,8 @@ Description=Krata Controller Daemon
|
|||||||
Restart=on-failure
|
Restart=on-failure
|
||||||
Type=simple
|
Type=simple
|
||||||
WorkingDirectory=/var/lib/krata
|
WorkingDirectory=/var/lib/krata
|
||||||
ExecStart=/usr/bin/kratad
|
ExecStart=/usr/local/bin/kratad -l /var/lib/krata/daemon.socket --unix-listen-unlink
|
||||||
|
Environment=RUST_LOG=info
|
||||||
User=root
|
User=root
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
|
@ -5,7 +5,8 @@ Description=Krata Networking Daemon
|
|||||||
Restart=on-failure
|
Restart=on-failure
|
||||||
Type=simple
|
Type=simple
|
||||||
WorkingDirectory=/var/lib/krata
|
WorkingDirectory=/var/lib/krata
|
||||||
ExecStart=/usr/bin/kratanet
|
ExecStart=/usr/local/bin/kratanet
|
||||||
|
Environment=RUST_LOG=info
|
||||||
User=root
|
User=root
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
|
40
scripts/bundle.sh
Executable file
40
scripts/bundle.sh
Executable file
@ -0,0 +1,40 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
REAL_SCRIPT="$(realpath "${0}")"
|
||||||
|
cd "$(dirname "${REAL_SCRIPT}")/.."
|
||||||
|
KRATA_DIR="${PWD}"
|
||||||
|
|
||||||
|
OUTPUT_DIR="${KRATA_DIR}/target/bundle"
|
||||||
|
mkdir -p "${OUTPUT_DIR}"
|
||||||
|
BUNDLE_TAR="${OUTPUT_DIR}/krata.tgz"
|
||||||
|
rm -f "${BUNDLE_TAR}"
|
||||||
|
BUNDLE_DIR="$(mktemp -d /tmp/krata-bundle.XXXXXXXXXXXXX)"
|
||||||
|
BUNDLE_DIR="${BUNDLE_DIR}/krata"
|
||||||
|
mkdir -p "${BUNDLE_DIR}"
|
||||||
|
for X in kratad kratanet kratactl
|
||||||
|
do
|
||||||
|
cargo build --release --target x86_64-unknown-linux-gnu --bin "${X}"
|
||||||
|
cp "${KRATA_DIR}/target/x86_64-unknown-linux-gnu/release/${X}" "${BUNDLE_DIR}/${X}"
|
||||||
|
done
|
||||||
|
./initrd/build.sh
|
||||||
|
if [ "${KRATA_BUNDLE_SKIP_KERNEL_BUILD}" != "1" ]
|
||||||
|
then
|
||||||
|
./kernel/build.sh
|
||||||
|
fi
|
||||||
|
cd "${BUNDLE_DIR}"
|
||||||
|
cp "${KRATA_DIR}/initrd/target/initrd" initrd
|
||||||
|
cp "${KRATA_DIR}/kernel/target/kernel" kernel
|
||||||
|
cp "${KRATA_DIR}/resources/systemd/kratad.service" kratad.service
|
||||||
|
cp "${KRATA_DIR}/resources/systemd/kratanet.service" kratanet.service
|
||||||
|
cp "${KRATA_DIR}/resources/install/install.sh" install.sh
|
||||||
|
|
||||||
|
for X in install.sh kratactl kratad kratanet
|
||||||
|
do
|
||||||
|
chmod +x "${X}"
|
||||||
|
done
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
tar czf "${BUNDLE_TAR}" .
|
||||||
|
cd "${KRATA_DIR}"
|
||||||
|
rm -rf "$(dirname "${BUNDLE_DIR}")"
|
@ -1,23 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
set -e
|
|
||||||
|
|
||||||
REAL_SCRIPT="$(realpath "${0}")"
|
|
||||||
cd "$(dirname "${REAL_SCRIPT}")/../.."
|
|
||||||
KRATA_DIR="${PWD}"
|
|
||||||
NIGHTLY_TAR="${KRATA_DIR}/krata.tgz"
|
|
||||||
NIGHTLY_DIR="$(mktemp -d /tmp/krata-release.XXXXXXXXXXXXX)"
|
|
||||||
for X in kratad kratanet kratactl
|
|
||||||
do
|
|
||||||
cargo build --release --target x86_64-unknown-linux-gnu --bin "${X}"
|
|
||||||
cp "${KRATA_DIR}/target/x86_64-unknown-linux-gnu/release/${X}" "${NIGHTLY_DIR}/${X}"
|
|
||||||
done
|
|
||||||
./initrd/build.sh
|
|
||||||
./kernel/build.sh
|
|
||||||
cd "${NIGHTLY_DIR}"
|
|
||||||
cp "${KRATA_DIR}/initrd/target/initrd" initrd
|
|
||||||
cp "${KRATA_DIR}/kernel/target/kernel" kernel
|
|
||||||
cp "${KRATA_DIR}/resources/systemd/kratad.service" kratad.service
|
|
||||||
cp "${KRATA_DIR}/resources/systemd/kratanet.service" kratanet.service
|
|
||||||
tar czf "${NIGHTLY_TAR}" .
|
|
||||||
cd "${KRATA_DIR}"
|
|
||||||
rm -rf "${NIGHTLY_DIR}"
|
|
Reference in New Issue
Block a user