re-uploading work

This commit is contained in:
2026-02-04 17:46:30 -06:00
commit 3b14c65998
1388 changed files with 381262 additions and 0 deletions

256
scripts/seed_runtimes.sql Normal file
View File

@@ -0,0 +1,256 @@
-- Seed Default Runtimes
-- Description: Inserts default runtime configurations for actions and sensors
-- This should be run after migrations to populate the runtime table with core runtimes
SET search_path TO attune, public;
-- ============================================================================
-- ACTION RUNTIMES
-- ============================================================================
-- Python 3 Action Runtime
INSERT INTO attune.runtime (
ref,
pack_ref,
name,
description,
runtime_type,
distributions,
installation
) VALUES (
'core.action.python3',
'core',
'Python 3 Action Runtime',
'Execute actions using Python 3.x interpreter',
'action',
'["python3"]'::jsonb,
'{
"method": "system",
"package_manager": "pip",
"requirements_file": "requirements.txt"
}'::jsonb
) ON CONFLICT (ref) DO UPDATE SET
name = EXCLUDED.name,
description = EXCLUDED.description,
distributions = EXCLUDED.distributions,
installation = EXCLUDED.installation,
updated = NOW();
-- Shell Action Runtime
INSERT INTO attune.runtime (
ref,
pack_ref,
name,
description,
runtime_type,
distributions,
installation
) VALUES (
'core.action.shell',
'core',
'Shell Action Runtime',
'Execute actions using system shell (bash/sh)',
'action',
'["bash", "sh"]'::jsonb,
'{
"method": "system",
"shell": "/bin/bash"
}'::jsonb
) ON CONFLICT (ref) DO UPDATE SET
name = EXCLUDED.name,
description = EXCLUDED.description,
distributions = EXCLUDED.distributions,
installation = EXCLUDED.installation,
updated = NOW();
-- Node.js Action Runtime
INSERT INTO attune.runtime (
ref,
pack_ref,
name,
description,
runtime_type,
distributions,
installation
) VALUES (
'core.action.nodejs',
'core',
'Node.js Action Runtime',
'Execute actions using Node.js runtime',
'action',
'["nodejs", "node"]'::jsonb,
'{
"method": "system",
"package_manager": "npm",
"requirements_file": "package.json"
}'::jsonb
) ON CONFLICT (ref) DO UPDATE SET
name = EXCLUDED.name,
description = EXCLUDED.description,
distributions = EXCLUDED.distributions,
installation = EXCLUDED.installation,
updated = NOW();
-- Native Action Runtime (for compiled Rust binaries and other native executables)
INSERT INTO attune.runtime (
ref,
pack_ref,
name,
description,
runtime_type,
distributions,
installation
) VALUES (
'core.action.native',
'core',
'Native Action Runtime',
'Execute actions as native compiled binaries',
'action',
'["native"]'::jsonb,
'{
"method": "binary",
"description": "Native executable - no runtime installation required"
}'::jsonb
) ON CONFLICT (ref) DO UPDATE SET
name = EXCLUDED.name,
description = EXCLUDED.description,
distributions = EXCLUDED.distributions,
installation = EXCLUDED.installation,
updated = NOW();
-- ============================================================================
-- SENSOR RUNTIMES
-- ============================================================================
-- Python 3 Sensor Runtime
INSERT INTO attune.runtime (
ref,
pack_ref,
name,
description,
runtime_type,
distributions,
installation
) VALUES (
'core.sensor.python3',
'core',
'Python 3 Sensor Runtime',
'Execute sensors using Python 3.x interpreter',
'sensor',
'["python3"]'::jsonb,
'{
"method": "system",
"package_manager": "pip",
"requirements_file": "requirements.txt"
}'::jsonb
) ON CONFLICT (ref) DO UPDATE SET
name = EXCLUDED.name,
description = EXCLUDED.description,
distributions = EXCLUDED.distributions,
installation = EXCLUDED.installation,
updated = NOW();
-- Shell Sensor Runtime
INSERT INTO attune.runtime (
ref,
pack_ref,
name,
description,
runtime_type,
distributions,
installation
) VALUES (
'core.sensor.shell',
'core',
'Shell Sensor Runtime',
'Execute sensors using system shell (bash/sh)',
'sensor',
'["bash", "sh"]'::jsonb,
'{
"method": "system",
"shell": "/bin/bash"
}'::jsonb
) ON CONFLICT (ref) DO UPDATE SET
name = EXCLUDED.name,
description = EXCLUDED.description,
distributions = EXCLUDED.distributions,
installation = EXCLUDED.installation,
updated = NOW();
-- Node.js Sensor Runtime
INSERT INTO attune.runtime (
ref,
pack_ref,
name,
description,
runtime_type,
distributions,
installation
) VALUES (
'core.sensor.nodejs',
'core',
'Node.js Sensor Runtime',
'Execute sensors using Node.js runtime',
'sensor',
'["nodejs", "node"]'::jsonb,
'{
"method": "system",
"package_manager": "npm",
"requirements_file": "package.json"
}'::jsonb
) ON CONFLICT (ref) DO UPDATE SET
name = EXCLUDED.name,
description = EXCLUDED.description,
distributions = EXCLUDED.distributions,
installation = EXCLUDED.installation,
updated = NOW();
-- Native Sensor Runtime (for compiled Rust binaries and other native executables)
INSERT INTO attune.runtime (
ref,
pack_ref,
name,
description,
runtime_type,
distributions,
installation
) VALUES (
'core.sensor.native',
'core',
'Native Sensor Runtime',
'Execute sensors as native compiled binaries',
'sensor',
'["native"]'::jsonb,
'{
"method": "binary",
"description": "Native executable - no runtime installation required"
}'::jsonb
) ON CONFLICT (ref) DO UPDATE SET
name = EXCLUDED.name,
description = EXCLUDED.description,
distributions = EXCLUDED.distributions,
installation = EXCLUDED.installation,
updated = NOW();
-- ============================================================================
-- VERIFICATION
-- ============================================================================
-- Display seeded runtimes
DO $$
DECLARE
runtime_count INTEGER;
BEGIN
SELECT COUNT(*) INTO runtime_count FROM attune.runtime WHERE pack_ref = 'core';
RAISE NOTICE 'Seeded % core runtime(s)', runtime_count;
END $$;
-- Show summary
SELECT
runtime_type,
COUNT(*) as count,
ARRAY_AGG(ref ORDER BY ref) as refs
FROM attune.runtime
WHERE pack_ref = 'core'
GROUP BY runtime_type
ORDER BY runtime_type;