From 7ee2d2c02e480fa508acbe8d6ad202c2caafc08e Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Mon, 22 May 2023 17:50:30 +0200 Subject: [PATCH] feat: docker as a new supported language --- docker-compose.yml | 2 + .../src/lib/components/ScriptBuilder.svelte | 38 ++++++++++++++++++- .../common/languageIcons/LanguageIcon.svelte | 8 ++-- .../flows/content/FlowInputs.svelte | 36 +++++++++++++++--- .../flows/pickers/FlowScriptPicker.svelte | 10 ++++- .../lib/components/icons/DockerIcon.svelte | 23 +++++++++++ frontend/src/lib/script_helpers.ts | 16 +++++++- 7 files changed, 119 insertions(+), 14 deletions(-) create mode 100644 frontend/src/lib/components/icons/DockerIcon.svelte diff --git a/docker-compose.yml b/docker-compose.yml index 87f80bf559..c83b5b060b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -60,6 +60,8 @@ services: # to mount the worker folder to debug,, KEEP_JOB_DIR=true and mount /tmp/windmill volumes: - worker_dependency_cache:/tmp/windmill/cache + # mount the docker socket to allow to run docker containers from within the workers + # - /var/run/docker.sock:/var/run/docker.sock lsp: image: ghcr.io/windmill-labs/windmill-lsp:latest diff --git a/frontend/src/lib/components/ScriptBuilder.svelte b/frontend/src/lib/components/ScriptBuilder.svelte index 433d7e693a..87f344daf5 100644 --- a/frontend/src/lib/components/ScriptBuilder.svelte +++ b/frontend/src/lib/components/ScriptBuilder.svelte @@ -27,10 +27,11 @@ } from '$lib/consts' import UnsavedConfirmationModal from './common/confirmationModal/UnsavedConfirmationModal.svelte' import { sendUserToast } from '$lib/toast' + import { isCloudHosted } from '$lib/cloud' export let script: NewScript export let initialPath: string = '' - export let template: 'pgsql' | 'mysql' | 'script' = 'script' + export let template: 'pgsql' | 'mysql' | 'script' | 'docker' = 'script' export let initialArgs: Record = {} export let lockedLanguage = false export let topHash: string | undefined = undefined @@ -108,7 +109,7 @@ function initContent( language: 'deno' | 'python3' | 'go' | 'bash', kind: Script.kind | undefined, - template: 'pgsql' | 'mysql' | 'script' + template: 'pgsql' | 'mysql' | 'script' | 'docker' ) { script.content = initialCode(language, kind, template) scriptEditor?.inferSchema(script.content, language) @@ -308,6 +309,39 @@ PostgreSQL {/if} +