mirror of
				https://github.com/edera-dev/krata.git
				synced 2025-11-03 07:19:37 +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