feat: reorganize examples and add signature support to JobBuilder
- Reorganized examples into osiris/, sal/, and utils/ folders - Moved hardcoded scripts to separate .rhai files - Added signature() method to JobBuilder for job signing - Updated OSIRIS context to use block_in_place instead of runtime - Removed runtime field from OsirisContext - Added typed save() methods for Note and Event objects - Updated all examples to use new structure and APIs
This commit is contained in:
		
							
								
								
									
										82
									
								
								examples/sal/scripts/_archive/sample.rhai
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										82
									
								
								examples/sal/scripts/_archive/sample.rhai
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,82 @@
 | 
			
		||||
// This is a sample Rhai script demonstrating the Herodo module functionality
 | 
			
		||||
// It shows the use of file system, process management, and git operations
 | 
			
		||||
 | 
			
		||||
print("===== Herodo Sample Script =====");
 | 
			
		||||
 | 
			
		||||
// File System Operations ===========================================
 | 
			
		||||
print("\n===== File System Operations =====");
 | 
			
		||||
 | 
			
		||||
// Check if directory exists and make it if not
 | 
			
		||||
if !exist("./test_dir") {
 | 
			
		||||
    print("Creating test directory...");
 | 
			
		||||
    mkdir("./test_dir");
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Write a test file
 | 
			
		||||
print("Writing test file...");
 | 
			
		||||
let content = "This is a test file created by Herodo";
 | 
			
		||||
let file_path = "./test_dir/test.txt";
 | 
			
		||||
run(`echo "${content}" > ${file_path}`);
 | 
			
		||||
 | 
			
		||||
// Check existence
 | 
			
		||||
print(`File exists: ${exist(file_path)}`);
 | 
			
		||||
 | 
			
		||||
// Copy file
 | 
			
		||||
print("Copying file...");
 | 
			
		||||
let copy_path = "./test_dir/test_copy.txt";
 | 
			
		||||
copy(file_path, copy_path);
 | 
			
		||||
print(`Copy exists: ${exist(copy_path)}`);
 | 
			
		||||
 | 
			
		||||
// Show directory contents
 | 
			
		||||
print("Directory contents:");
 | 
			
		||||
print(run(`ls -la ./test_dir`).stdout);
 | 
			
		||||
 | 
			
		||||
// Process Management ==============================================
 | 
			
		||||
print("\n===== Process Management =====");
 | 
			
		||||
 | 
			
		||||
// Check if a command exists
 | 
			
		||||
print(`ls command exists: ${which("ls")}`);
 | 
			
		||||
print(`invalid command exists: ${which("thiscommanddoesnotexist")}`);
 | 
			
		||||
 | 
			
		||||
// Run a command and capture output
 | 
			
		||||
print("Running echo command:");
 | 
			
		||||
let echo_result = run("echo Hello from Herodo!");
 | 
			
		||||
print(`  stdout: ${echo_result.stdout}`);
 | 
			
		||||
print(`  success: ${echo_result.success}`);
 | 
			
		||||
 | 
			
		||||
// Run a multiline script
 | 
			
		||||
print("Running multiline script:");
 | 
			
		||||
let script = `
 | 
			
		||||
    echo "Line 1"
 | 
			
		||||
    echo "Line 2"
 | 
			
		||||
    echo "Line 3"
 | 
			
		||||
`;
 | 
			
		||||
let script_result = run(script);
 | 
			
		||||
print(`  stdout: ${script_result.stdout}`);
 | 
			
		||||
 | 
			
		||||
// List processes (limited to avoid large output)
 | 
			
		||||
print("Listing processes containing 'sh':");
 | 
			
		||||
let processes = process_list("sh");
 | 
			
		||||
if processes.len() > 0 {
 | 
			
		||||
    print(`Found ${processes.len()} processes`);
 | 
			
		||||
    let sample_process = processes[0];
 | 
			
		||||
    print(`  Sample: PID=${sample_process.pid}, Name=${sample_process.name}`);
 | 
			
		||||
} else {
 | 
			
		||||
    print("No processes found matching 'sh'");
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Git and Download Operations ====================================
 | 
			
		||||
print("\n===== Git and Download Operations =====");
 | 
			
		||||
 | 
			
		||||
// Check if we can download a file (without actually downloading)
 | 
			
		||||
print("Download operations available:");
 | 
			
		||||
print(`  download() function available: true`);
 | 
			
		||||
 | 
			
		||||
// Clean up test directory
 | 
			
		||||
print("\n===== Cleanup =====");
 | 
			
		||||
print("Deleting test directory...");
 | 
			
		||||
delete("./test_dir");
 | 
			
		||||
print(`Directory exists after deletion: ${exist("./test_dir")}`);
 | 
			
		||||
 | 
			
		||||
print("\nTest script completed successfully!");
 | 
			
		||||
"Success"  // Return value
 | 
			
		||||
		Reference in New Issue
	
	Block a user