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:
		
							
								
								
									
										44
									
								
								examples/sal/scripts/containers/buildah_run.rhai
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								examples/sal/scripts/containers/buildah_run.rhai
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,44 @@
 | 
			
		||||
 | 
			
		||||
// Now use nerdctl to run a container from the new image
 | 
			
		||||
println("\nStarting container from the new image using nerdctl...");
 | 
			
		||||
 | 
			
		||||
// Create a container using the builder pattern
 | 
			
		||||
// Use localhost/ prefix to ensure nerdctl uses the local image
 | 
			
		||||
let local_image_name = "localhost/custom-golang-nginx:latest";
 | 
			
		||||
println(`Using local image: ${local_image_name}`);
 | 
			
		||||
 | 
			
		||||
// Import the image from buildah to nerdctl
 | 
			
		||||
println("Importing image from buildah to nerdctl...");
 | 
			
		||||
process_run("buildah", ["push", "custom-golang-nginx:latest", "docker-daemon:localhost/custom-golang-nginx:latest"]);
 | 
			
		||||
 | 
			
		||||
let tag_result = nerdctl_image_tag("custom-golang-nginx:latest", local_image_name);
 | 
			
		||||
 | 
			
		||||
// Tag the image with the localhost prefix for nerdctl compatibility
 | 
			
		||||
// println(`Tagging image as ${local_image_name}...`);
 | 
			
		||||
// let tag_result = bah_image_tag(final_image_name, local_image_name);
 | 
			
		||||
 | 
			
		||||
// Print a command to check if the image exists in buildah
 | 
			
		||||
println("\nTo verify the image was created with buildah, run:");
 | 
			
		||||
println("buildah images");
 | 
			
		||||
 | 
			
		||||
// Note: If nerdctl cannot find the image, you may need to push it to a registry
 | 
			
		||||
// println("\nNote: If nerdctl cannot find the image, you may need to push it to a registry:");
 | 
			
		||||
// println("buildah push localhost/custom-golang-nginx:latest docker://localhost:5000/custom-golang-nginx:latest");
 | 
			
		||||
// println("nerdctl pull localhost:5000/custom-golang-nginx:latest");
 | 
			
		||||
 | 
			
		||||
let container = nerdctl_container_from_image("golang-nginx-demo", local_image_name)
 | 
			
		||||
    .with_detach(true)
 | 
			
		||||
    .with_port("8081:80")  // Map port 80 in the container to 8080 on the host
 | 
			
		||||
    .with_restart_policy("unless-stopped")
 | 
			
		||||
    .build();
 | 
			
		||||
 | 
			
		||||
// Start the container
 | 
			
		||||
let start_result = container.start();
 | 
			
		||||
 | 
			
		||||
println("\nWorkflow completed successfully!");
 | 
			
		||||
println("The web server should be running at http://localhost:8081");
 | 
			
		||||
println("You can check container logs with: nerdctl logs golang-nginx-demo");
 | 
			
		||||
println("To stop the container: nerdctl stop golang-nginx-demo");
 | 
			
		||||
println("To remove the container: nerdctl rm golang-nginx-demo");
 | 
			
		||||
 | 
			
		||||
"Buildah and nerdctl workflow completed successfully!"
 | 
			
		||||
		Reference in New Issue
	
	Block a user