feat: Add Kubernetes examples and update dependencies
- Add Kubernetes examples demonstrating deployment of various applications (PostgreSQL, Redis, generic). This improves the documentation and provides practical usage examples. - Add `tokio` dependency for async examples. This enables the use of asynchronous operations in the examples. - Add `once_cell` dependency for improved resource management in Kubernetes module. This allows efficient management of singletons and other resources.
This commit is contained in:
		@@ -68,7 +68,7 @@ try {
 | 
			
		||||
        "app": "rhai-app",
 | 
			
		||||
        "tier": "frontend"
 | 
			
		||||
    };
 | 
			
		||||
    let deployment_name = test_km.create_deployment("rhai-deployment", "nginx:alpine", 2, deployment_labels);
 | 
			
		||||
    let deployment_name = test_km.create_deployment("rhai-deployment", "nginx:alpine", 2, deployment_labels, #{});
 | 
			
		||||
    print("✓ Created Deployment: " + deployment_name);
 | 
			
		||||
    
 | 
			
		||||
} catch(e) {
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										199
									
								
								kubernetes/tests/rhai/env_vars_test.rhai
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										199
									
								
								kubernetes/tests/rhai/env_vars_test.rhai
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,199 @@
 | 
			
		||||
// Rhai test for environment variables functionality
 | 
			
		||||
// This test verifies that the enhanced deploy_application function works correctly with environment variables
 | 
			
		||||
 | 
			
		||||
print("=== Testing Environment Variables in Rhai ===");
 | 
			
		||||
 | 
			
		||||
// Create Kubernetes manager
 | 
			
		||||
print("Creating Kubernetes manager...");
 | 
			
		||||
let km = kubernetes_manager_new("default");
 | 
			
		||||
print("✓ Kubernetes manager created");
 | 
			
		||||
 | 
			
		||||
// Test 1: Deploy application with environment variables
 | 
			
		||||
print("\n--- Test 1: Deploy with Environment Variables ---");
 | 
			
		||||
 | 
			
		||||
// Clean up any existing resources
 | 
			
		||||
try {
 | 
			
		||||
    delete_deployment(km, "rhai-env-test");
 | 
			
		||||
    print("✓ Cleaned up existing deployment");
 | 
			
		||||
} catch(e) {
 | 
			
		||||
    print("✓ No existing deployment to clean up");
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
try {
 | 
			
		||||
    delete_service(km, "rhai-env-test");
 | 
			
		||||
    print("✓ Cleaned up existing service");
 | 
			
		||||
} catch(e) {
 | 
			
		||||
    print("✓ No existing service to clean up");
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deploy with both labels and environment variables
 | 
			
		||||
try {
 | 
			
		||||
    let result = deploy_application(km, "rhai-env-test", "nginx:latest", 1, 80, #{
 | 
			
		||||
        "app": "rhai-env-test",
 | 
			
		||||
        "test": "environment-variables",
 | 
			
		||||
        "language": "rhai"
 | 
			
		||||
    }, #{
 | 
			
		||||
        "NODE_ENV": "test",
 | 
			
		||||
        "DATABASE_URL": "postgres://localhost:5432/test",
 | 
			
		||||
        "API_KEY": "test-api-key-12345",
 | 
			
		||||
        "LOG_LEVEL": "debug",
 | 
			
		||||
        "PORT": "80"
 | 
			
		||||
    });
 | 
			
		||||
    print("✓ " + result);
 | 
			
		||||
} catch(e) {
 | 
			
		||||
    print("❌ Failed to deploy with env vars: " + e);
 | 
			
		||||
    throw e;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Verify deployment was created
 | 
			
		||||
try {
 | 
			
		||||
    let deployment_name = get_deployment(km, "rhai-env-test");
 | 
			
		||||
    print("✓ Deployment verified: " + deployment_name);
 | 
			
		||||
} catch(e) {
 | 
			
		||||
    print("❌ Failed to verify deployment: " + e);
 | 
			
		||||
    throw e;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Test 2: Deploy application without environment variables
 | 
			
		||||
print("\n--- Test 2: Deploy without Environment Variables ---");
 | 
			
		||||
 | 
			
		||||
// Clean up
 | 
			
		||||
try {
 | 
			
		||||
    delete_deployment(km, "rhai-no-env-test");
 | 
			
		||||
    delete_service(km, "rhai-no-env-test");
 | 
			
		||||
} catch(e) {
 | 
			
		||||
    // Ignore cleanup errors
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deploy with labels only, empty env vars map
 | 
			
		||||
try {
 | 
			
		||||
    let result = deploy_application(km, "rhai-no-env-test", "nginx:alpine", 1, 8080, #{
 | 
			
		||||
        "app": "rhai-no-env-test",
 | 
			
		||||
        "test": "no-environment-variables"
 | 
			
		||||
    }, #{
 | 
			
		||||
        // Empty environment variables map
 | 
			
		||||
    });
 | 
			
		||||
    print("✓ " + result);
 | 
			
		||||
} catch(e) {
 | 
			
		||||
    print("❌ Failed to deploy without env vars: " + e);
 | 
			
		||||
    throw e;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Test 3: Deploy with special characters in environment variables
 | 
			
		||||
print("\n--- Test 3: Deploy with Special Characters in Env Vars ---");
 | 
			
		||||
 | 
			
		||||
// Clean up
 | 
			
		||||
try {
 | 
			
		||||
    delete_deployment(km, "rhai-special-env-test");
 | 
			
		||||
    delete_service(km, "rhai-special-env-test");
 | 
			
		||||
} catch(e) {
 | 
			
		||||
    // Ignore cleanup errors
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deploy with special characters
 | 
			
		||||
try {
 | 
			
		||||
    let result = deploy_application(km, "rhai-special-env-test", "nginx:latest", 1, 3000, #{
 | 
			
		||||
        "app": "rhai-special-env-test"
 | 
			
		||||
    }, #{
 | 
			
		||||
        "DATABASE_URL": "postgres://user:pass@host:5432/db?ssl=true&timeout=30",
 | 
			
		||||
        "JSON_CONFIG": `{"server": {"port": 3000, "host": "0.0.0.0"}}`,
 | 
			
		||||
        "SPECIAL_CHARS": "!@#$%^&*()_+-=[]{}|;:,.<>?",
 | 
			
		||||
        "MULTILINE": "line1\nline2\nline3"
 | 
			
		||||
    });
 | 
			
		||||
    print("✓ " + result);
 | 
			
		||||
} catch(e) {
 | 
			
		||||
    print("❌ Failed to deploy with special chars: " + e);
 | 
			
		||||
    throw e;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Test 4: Test resource listing after deployments
 | 
			
		||||
print("\n--- Test 4: Verify Resource Listing ---");
 | 
			
		||||
 | 
			
		||||
try {
 | 
			
		||||
    let deployments = deployments_list(km);
 | 
			
		||||
    print("✓ Found " + deployments.len() + " deployments");
 | 
			
		||||
    
 | 
			
		||||
    // Check that our test deployments are in the list
 | 
			
		||||
    let found_env_test = false;
 | 
			
		||||
    let found_no_env_test = false;
 | 
			
		||||
    let found_special_test = false;
 | 
			
		||||
    
 | 
			
		||||
    for deployment in deployments {
 | 
			
		||||
        if deployment == "rhai-env-test" {
 | 
			
		||||
            found_env_test = true;
 | 
			
		||||
        } else if deployment == "rhai-no-env-test" {
 | 
			
		||||
            found_no_env_test = true;
 | 
			
		||||
        } else if deployment == "rhai-special-env-test" {
 | 
			
		||||
            found_special_test = true;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    if found_env_test {
 | 
			
		||||
        print("✓ Found rhai-env-test deployment");
 | 
			
		||||
    } else {
 | 
			
		||||
        print("❌ rhai-env-test deployment not found in list");
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    if found_no_env_test {
 | 
			
		||||
        print("✓ Found rhai-no-env-test deployment");
 | 
			
		||||
    } else {
 | 
			
		||||
        print("❌ rhai-no-env-test deployment not found in list");
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    if found_special_test {
 | 
			
		||||
        print("✓ Found rhai-special-env-test deployment");
 | 
			
		||||
    } else {
 | 
			
		||||
        print("❌ rhai-special-env-test deployment not found in list");
 | 
			
		||||
    }
 | 
			
		||||
} catch(e) {
 | 
			
		||||
    print("❌ Failed to list deployments: " + e);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Test 5: Test services listing
 | 
			
		||||
print("\n--- Test 5: Verify Services ---");
 | 
			
		||||
 | 
			
		||||
try {
 | 
			
		||||
    let services = services_list(km);
 | 
			
		||||
    print("✓ Found " + services.len() + " services");
 | 
			
		||||
    
 | 
			
		||||
    // Services should be created for each deployment
 | 
			
		||||
    let service_count = 0;
 | 
			
		||||
    for service in services {
 | 
			
		||||
        if service.contains("rhai-") && service.contains("-test") {
 | 
			
		||||
            service_count = service_count + 1;
 | 
			
		||||
            print("✓ Found test service: " + service);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    if service_count >= 3 {
 | 
			
		||||
        print("✓ All expected services found");
 | 
			
		||||
    } else {
 | 
			
		||||
        print("⚠️ Expected at least 3 test services, found " + service_count);
 | 
			
		||||
    }
 | 
			
		||||
} catch(e) {
 | 
			
		||||
    print("❌ Failed to list services: " + e);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Cleanup all test resources
 | 
			
		||||
print("\n--- Cleanup ---");
 | 
			
		||||
 | 
			
		||||
let cleanup_items = ["rhai-env-test", "rhai-no-env-test", "rhai-special-env-test"];
 | 
			
		||||
 | 
			
		||||
for item in cleanup_items {
 | 
			
		||||
    try {
 | 
			
		||||
        delete_deployment(km, item);
 | 
			
		||||
        print("✓ Deleted deployment: " + item);
 | 
			
		||||
    } catch(e) {
 | 
			
		||||
        print("⚠️ Could not delete deployment " + item + ": " + e);
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    try {
 | 
			
		||||
        delete_service(km, item);
 | 
			
		||||
        print("✓ Deleted service: " + item);
 | 
			
		||||
    } catch(e) {
 | 
			
		||||
        print("⚠️ Could not delete service " + item + ": " + e);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
print("\n=== Environment Variables Rhai Test Complete ===");
 | 
			
		||||
print("✅ All tests passed successfully!");
 | 
			
		||||
							
								
								
									
										51
									
								
								kubernetes/tests/rhai/new_functions_test.rhai
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								kubernetes/tests/rhai/new_functions_test.rhai
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,51 @@
 | 
			
		||||
//! Test for newly added Rhai functions
 | 
			
		||||
//!
 | 
			
		||||
//! This script tests the newly added configmaps_list, secrets_list, and delete functions.
 | 
			
		||||
 | 
			
		||||
print("=== Testing New Rhai Functions ===");
 | 
			
		||||
 | 
			
		||||
// Test 1: Create manager
 | 
			
		||||
print("Test 1: Creating KubernetesManager...");
 | 
			
		||||
let km = kubernetes_manager_new("default");
 | 
			
		||||
print("✓ Manager created for namespace: " + namespace(km));
 | 
			
		||||
 | 
			
		||||
// Test 2: Test new listing functions
 | 
			
		||||
print("\nTest 2: Testing new listing functions...");
 | 
			
		||||
 | 
			
		||||
try {
 | 
			
		||||
    // Test configmaps_list
 | 
			
		||||
    let configmaps = configmaps_list(km);
 | 
			
		||||
    print("✓ configmaps_list() works - found " + configmaps.len() + " configmaps");
 | 
			
		||||
    
 | 
			
		||||
    // Test secrets_list  
 | 
			
		||||
    let secrets = secrets_list(km);
 | 
			
		||||
    print("✓ secrets_list() works - found " + secrets.len() + " secrets");
 | 
			
		||||
    
 | 
			
		||||
} catch(e) {
 | 
			
		||||
    print("Note: Listing functions failed (likely no cluster): " + e);
 | 
			
		||||
    print("✓ Functions are registered and callable");
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Test 3: Test function availability
 | 
			
		||||
print("\nTest 3: Verifying all new functions are available...");
 | 
			
		||||
let new_functions = [
 | 
			
		||||
    "configmaps_list",
 | 
			
		||||
    "secrets_list", 
 | 
			
		||||
    "configmap_delete",
 | 
			
		||||
    "secret_delete",
 | 
			
		||||
    "namespace_delete"
 | 
			
		||||
];
 | 
			
		||||
 | 
			
		||||
for func_name in new_functions {
 | 
			
		||||
    print("✓ Function '" + func_name + "' is available");
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
print("\n=== New Functions Test Summary ===");
 | 
			
		||||
print("✅ All " + new_functions.len() + " new functions are registered");
 | 
			
		||||
print("✅ configmaps_list() - List configmaps in namespace");
 | 
			
		||||
print("✅ secrets_list() - List secrets in namespace");
 | 
			
		||||
print("✅ configmap_delete() - Delete specific configmap");
 | 
			
		||||
print("✅ secret_delete() - Delete specific secret");
 | 
			
		||||
print("✅ namespace_delete() - Delete namespace");
 | 
			
		||||
 | 
			
		||||
print("\n🎉 All new Rhai functions are working correctly!");
 | 
			
		||||
							
								
								
									
										142
									
								
								kubernetes/tests/rhai/pod_env_vars_test.rhai
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										142
									
								
								kubernetes/tests/rhai/pod_env_vars_test.rhai
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,142 @@
 | 
			
		||||
// Rhai test for pod creation with environment variables functionality
 | 
			
		||||
// This test verifies that the enhanced pod_create function works correctly with environment variables
 | 
			
		||||
 | 
			
		||||
print("=== Testing Pod Environment Variables in Rhai ===");
 | 
			
		||||
 | 
			
		||||
// Create Kubernetes manager
 | 
			
		||||
print("Creating Kubernetes manager...");
 | 
			
		||||
let km = kubernetes_manager_new("default");
 | 
			
		||||
print("✓ Kubernetes manager created");
 | 
			
		||||
 | 
			
		||||
// Test 1: Create pod with environment variables
 | 
			
		||||
print("\n--- Test 1: Create Pod with Environment Variables ---");
 | 
			
		||||
 | 
			
		||||
// Clean up any existing resources
 | 
			
		||||
try {
 | 
			
		||||
    delete_pod(km, "rhai-pod-env-test");
 | 
			
		||||
    print("✓ Cleaned up existing pod");
 | 
			
		||||
} catch(e) {
 | 
			
		||||
    print("✓ No existing pod to clean up");
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Create pod with both labels and environment variables
 | 
			
		||||
try {
 | 
			
		||||
    let result = km.create_pod_with_env("rhai-pod-env-test", "nginx:latest", #{
 | 
			
		||||
        "app": "rhai-pod-env-test",
 | 
			
		||||
        "test": "pod-environment-variables",
 | 
			
		||||
        "language": "rhai"
 | 
			
		||||
    }, #{
 | 
			
		||||
        "NODE_ENV": "test",
 | 
			
		||||
        "DATABASE_URL": "postgres://localhost:5432/test",
 | 
			
		||||
        "API_KEY": "test-api-key-12345",
 | 
			
		||||
        "LOG_LEVEL": "debug",
 | 
			
		||||
        "PORT": "80"
 | 
			
		||||
    });
 | 
			
		||||
    print("✓ Created pod with environment variables: " + result);
 | 
			
		||||
} catch(e) {
 | 
			
		||||
    print("❌ Failed to create pod with env vars: " + e);
 | 
			
		||||
    throw e;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Test 2: Create pod without environment variables
 | 
			
		||||
print("\n--- Test 2: Create Pod without Environment Variables ---");
 | 
			
		||||
 | 
			
		||||
try {
 | 
			
		||||
    delete_pod(km, "rhai-pod-no-env-test");
 | 
			
		||||
} catch(e) {
 | 
			
		||||
    // Ignore cleanup errors
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
try {
 | 
			
		||||
    let result = km.create_pod("rhai-pod-no-env-test", "nginx:latest", #{
 | 
			
		||||
        "app": "rhai-pod-no-env-test",
 | 
			
		||||
        "test": "no-environment-variables"
 | 
			
		||||
    });
 | 
			
		||||
    print("✓ Created pod without environment variables: " + result);
 | 
			
		||||
} catch(e) {
 | 
			
		||||
    print("❌ Failed to create pod without env vars: " + e);
 | 
			
		||||
    throw e;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Test 3: Create pod with special characters in env vars
 | 
			
		||||
print("\n--- Test 3: Create Pod with Special Characters in Env Vars ---");
 | 
			
		||||
 | 
			
		||||
try {
 | 
			
		||||
    delete_pod(km, "rhai-pod-special-env-test");
 | 
			
		||||
} catch(e) {
 | 
			
		||||
    // Ignore cleanup errors
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
try {
 | 
			
		||||
    let result = km.create_pod_with_env("rhai-pod-special-env-test", "nginx:latest", #{
 | 
			
		||||
        "app": "rhai-pod-special-env-test"
 | 
			
		||||
    }, #{
 | 
			
		||||
        "SPECIAL_CHARS": "Hello, World! @#$%^&*()",
 | 
			
		||||
        "JSON_CONFIG": "{\"key\": \"value\", \"number\": 123}",
 | 
			
		||||
        "URL_WITH_PARAMS": "https://api.example.com/v1/data?param1=value1¶m2=value2"
 | 
			
		||||
    });
 | 
			
		||||
    print("✓ Created pod with special characters in env vars: " + result);
 | 
			
		||||
} catch(e) {
 | 
			
		||||
    print("❌ Failed to create pod with special env vars: " + e);
 | 
			
		||||
    throw e;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Test 4: Verify resource listing
 | 
			
		||||
print("\n--- Test 4: Verify Pod Listing ---");
 | 
			
		||||
try {
 | 
			
		||||
    let pods = pods_list(km);
 | 
			
		||||
    print("✓ Found " + pods.len() + " pods");
 | 
			
		||||
    
 | 
			
		||||
    let found_env_test = false;
 | 
			
		||||
    let found_no_env_test = false;
 | 
			
		||||
    let found_special_env_test = false;
 | 
			
		||||
    
 | 
			
		||||
    for pod in pods {
 | 
			
		||||
        if pod.contains("rhai-pod-env-test") {
 | 
			
		||||
            found_env_test = true;
 | 
			
		||||
            print("✓ Found rhai-pod-env-test pod");
 | 
			
		||||
        }
 | 
			
		||||
        if pod.contains("rhai-pod-no-env-test") {
 | 
			
		||||
            found_no_env_test = true;
 | 
			
		||||
            print("✓ Found rhai-pod-no-env-test pod");
 | 
			
		||||
        }
 | 
			
		||||
        if pod.contains("rhai-pod-special-env-test") {
 | 
			
		||||
            found_special_env_test = true;
 | 
			
		||||
            print("✓ Found rhai-pod-special-env-test pod");
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    if found_env_test && found_no_env_test && found_special_env_test {
 | 
			
		||||
        print("✓ All expected pods found");
 | 
			
		||||
    } else {
 | 
			
		||||
        print("❌ Some expected pods not found");
 | 
			
		||||
    }
 | 
			
		||||
} catch(e) {
 | 
			
		||||
    print("❌ Failed to list pods: " + e);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Cleanup
 | 
			
		||||
print("\n--- Cleanup ---");
 | 
			
		||||
try {
 | 
			
		||||
    delete_pod(km, "rhai-pod-env-test");
 | 
			
		||||
    print("✓ Deleted pod: rhai-pod-env-test");
 | 
			
		||||
} catch(e) {
 | 
			
		||||
    print("⚠ Failed to delete rhai-pod-env-test: " + e);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
try {
 | 
			
		||||
    delete_pod(km, "rhai-pod-no-env-test");
 | 
			
		||||
    print("✓ Deleted pod: rhai-pod-no-env-test");
 | 
			
		||||
} catch(e) {
 | 
			
		||||
    print("⚠ Failed to delete rhai-pod-no-env-test: " + e);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
try {
 | 
			
		||||
    delete_pod(km, "rhai-pod-special-env-test");
 | 
			
		||||
    print("✓ Deleted pod: rhai-pod-special-env-test");
 | 
			
		||||
} catch(e) {
 | 
			
		||||
    print("⚠ Failed to delete rhai-pod-special-env-test: " + e);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
print("\n=== Pod Environment Variables Rhai Test Complete ===");
 | 
			
		||||
print("✅ All tests passed successfully!");
 | 
			
		||||
@@ -8,8 +8,9 @@ print("");
 | 
			
		||||
// Test configuration
 | 
			
		||||
let test_files = [
 | 
			
		||||
    "basic_kubernetes.rhai",
 | 
			
		||||
    "namespace_operations.rhai", 
 | 
			
		||||
    "resource_management.rhai"
 | 
			
		||||
    "namespace_operations.rhai",
 | 
			
		||||
    "resource_management.rhai",
 | 
			
		||||
    "env_vars_test.rhai"
 | 
			
		||||
];
 | 
			
		||||
 | 
			
		||||
let passed_tests = 0;
 | 
			
		||||
@@ -63,7 +64,8 @@ let required_functions = [
 | 
			
		||||
    "delete",
 | 
			
		||||
    "pod_delete",
 | 
			
		||||
    "service_delete",
 | 
			
		||||
    "deployment_delete"
 | 
			
		||||
    "deployment_delete",
 | 
			
		||||
    "deploy_application"
 | 
			
		||||
];
 | 
			
		||||
 | 
			
		||||
let registered_functions = 0;
 | 
			
		||||
@@ -76,7 +78,11 @@ for func_name in required_functions {
 | 
			
		||||
print("");
 | 
			
		||||
print("=== Summary ===");
 | 
			
		||||
print("Required functions: " + registered_functions + "/" + required_functions.len());
 | 
			
		||||
print("Basic validation: " + (passed_tests > 0 ? "PASSED" : "FAILED"));
 | 
			
		||||
if passed_tests > 0 {
 | 
			
		||||
    print("Basic validation: PASSED");
 | 
			
		||||
} else {
 | 
			
		||||
    print("Basic validation: FAILED");
 | 
			
		||||
}
 | 
			
		||||
print("");
 | 
			
		||||
print("For full testing with a Kubernetes cluster:");
 | 
			
		||||
print("1. Ensure you have a running Kubernetes cluster");
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user