mirror of
https://github.com/edera-dev/krata.git
synced 2025-08-02 12:50:54 +00:00
nightly: bundle systemd service files and install script
This commit is contained in:
parent
a5af3ffbe7
commit
0f85e30149
4
.github/workflows/nightly.yml
vendored
4
.github/workflows/nightly.yml
vendored
@ -11,9 +11,9 @@ jobs:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: dtolnay/rust-toolchain@stable
|
||||
- run: ./scripts/ci/install-deps.sh
|
||||
- run: ./scripts/ci/nightly.sh
|
||||
- run: ./scripts/bundle.sh
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: krata-nightly
|
||||
path: krata.tgz
|
||||
path: target/bundle/krata.tgz
|
||||
compression-level: 0
|
||||
|
3
.gitignore
vendored
3
.gitignore
vendored
@ -1,2 +1,5 @@
|
||||
/target
|
||||
/krata.tgz
|
||||
/initrd/target
|
||||
/kernel/target
|
||||
Cargo.lock
|
||||
|
@ -10,7 +10,7 @@ if [ ! -f "${SRC_DIR_NAME}/Makefile" ]
|
||||
then
|
||||
rm -rf "${SRC_DIR_NAME}"
|
||||
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"
|
||||
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
|
||||
Type=simple
|
||||
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
|
||||
|
||||
[Install]
|
||||
|
@ -5,7 +5,8 @@ Description=Krata Networking Daemon
|
||||
Restart=on-failure
|
||||
Type=simple
|
||||
WorkingDirectory=/var/lib/krata
|
||||
ExecStart=/usr/bin/kratanet
|
||||
ExecStart=/usr/local/bin/kratanet
|
||||
Environment=RUST_LOG=info
|
||||
User=root
|
||||
|
||||
[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}"
|
Loading…
Reference in New Issue
Block a user