Попробуйте - Документы - Discord - Хаб - Руководство для авторов
Windmill имеет полностью открытый исходный код (AGPLv3) , и Windmill Labs предлагает выделенные экземпляры, коммерческую поддержку и лицензии.
Определите минимальный и универсальный скрипт на Python, TypeScript, Go или Bash, который решает конкретную задачу. Код можно определить в предоставленной веб-IDE или синхронизировать с вашим собственным репозиторием GitHub (например, через расширение VS Code):
Здесь мы предоставляем только настройку docker-compose. Более сложные настройки, такие как компиляция из исходного кода или использование без суперпользователя postgres, см. в документации Self-Host.
Windmill можно развернуть с помощью трех файлов: (docker-compose.yml, Caddyfile и .env) с помощью одной команды.
Убедитесь, что Docker запущен, и запустите:
curl https://raw.githubusercontent.com/windmill-labs/windmill/main/docker-compose.yml -o docker-compose.yml
curl https://raw.githubusercontent.com/windmill-labs/windmill/main/Caddyfile -o Caddyfile
curl https://raw.githubusercontent.com/windmill-labs/windmill/main/.env -o .env
docker compose up -d
Перейдите на http://localhost и вуаля :)
Пользователь суперадминистратора по умолчанию: [email protected]/changeme.
Оттуда вы можете следить за приложением настройки и создавать других пользователей.
Более подробную информацию можно найти в документации Self-Host.
Мы публикуем диаграммы управления по адресу: https://github.com/windmill-labs/windmill-helm-charts.
Каждый выпуск включает соответствующие двоичные файлы для x86_64. Вы можете просто загрузить последнюю версию двоичного файла windmill
, используя следующий набор команд bash.
BINARY_NAME= ' windmill-amd64 ' # or windmill-ee-amd64 for the enterprise edition
LATEST_RELEASE= $( curl -L -s -H ' Accept: application/json ' https://github.com/windmill-labs/windmill/releases/latest )
LATEST_VERSION= $( echo $LATEST_RELEASE | sed -e ' s/.*"tag_name":"([^"]*)".*/1/ ' )
ARTIFACT_URL= " https://github.com/windmill-labs/windmill/releases/download/ $LATEST_VERSION / $BINARY_NAME "
wget " $ARTIFACT_URL " -O windmill
Windmill Community Edition позволяет настраивать OAuth, SSO (включая SSO Google Workspace, Microsoft/Azure и Okta) непосредственно из пользовательского интерфейса в настройках суперадминистратора. Обратите внимание, что в версии сообщества существует ограничение в 10 пользователей SSO.
См. документацию.
Чтобы самостоятельно разместить Windmill, вы должны соблюдать условия лицензии AGPLv3, о которых вам не нужно беспокоиться при личном использовании. Для коммерческого использования все будет в порядке, если вы никоим образом не будете повторно предоставлять Windmill своим пользователям и будете чувствовать себя комфортно с AGPLv3.
Чтобы повторно предоставить пользователям какие-либо части Windmill в качестве функции вашего продукта или создать функцию на основе Windmill, чтобы соответствовать AGPLv3, ваш продукт должен быть AGPLv3 или вы должны получить коммерческую лицензию. Если у вас есть какие-либо сомнения, свяжитесь с нами по адресу [email protected].
Кроме того, коммерческая лицензия предоставляет вам выделенного инженера для перевода вашей текущей инфраструктуры на Windmill, поддержку в рамках жесткого соглашения об уровне обслуживания и нашу глобальную синхронизацию кэша для высокопроизводительного и отсутствия зависимостей в кэше кластера от 10+ узлов до 200+ узлов.
В Windmill интеграции называются ресурсами и типами ресурсов. Каждый ресурс имеет тип ресурса, который определяет схему, которую ресурс должен реализовать.
В локальных экземплярах вам может потребоваться импортировать все утвержденные типы ресурсов из WindmillHub. Сценарий установки предложит вам автоматически синхронизировать его каждый день.
Имя переменной среды | По умолчанию | Описание | Сервер API/Рабочий/Все |
---|---|---|---|
БАЗА ДАННЫХ_URL | URL-адрес базы данных Postgres. | Все | |
РАБОЧАЯ_ГРУППА | по умолчанию | Рабочая группа, к которой принадлежит рабочий, и получение его конфигурации из | Рабочий |
РЕЖИМ | автономный | Режим двоичный. Возможные значения: автономный, рабочий, сервер, агент. | Все |
METRICS_ADDR | Никто | (только ee) Адрес сокета, по которому выставляются метрики Prometheus по пути /metrics. Установите значение «true», чтобы открыть доступ к порту 8001. | Все |
JSON_FMT | ЛОЖЬ | Вывод логов в формате json вместо logfmt | Все |
BASE_URL | http://локальный хост:8000 | Базовый URL-адрес, который доступен публично для доступа к вашему экземпляру. Переопределяется настройками экземпляра, если таковые имеются. | Сервер |
ZOMBIE_JOB_TIMEOUT | 30 | Тайм-аут, по истечении которого задание считается зомби, если работник не отправлял пинги об обработке задания (каждый сервер проверяет наличие заданий-зомби каждые 30 секунд). | Сервер |
RESTART_ZOMBIE_JOBS | истинный | Если true, то задание зомби перезапускается (на месте с тем же uuid и некоторыми журналами), если false, задание зомби не выполнено. | Сервер |
SLEEP_QUEUE | 50 | Количество мс между последней проверкой новых заданий в базе данных. Оно умножается на NUM_WORKERS, так что в среднем для одного рабочего экземпляра выполняется одно извлечение каждые SLEEP_QUEUE мс. | Рабочий |
KEEP_JOB_DIR | ЛОЖЬ | Сохраните каталог задания после завершения задания. Полезно для отладки. | Рабочий |
LICENSE_KEY (только EE) | Никто | Лицензионный ключ проверяется при запуске Enterprise Edition Windmill. | Рабочий |
SLACK_SIGNING_SECRET | Никто | Секрет подписи вашего приложения Slack. См. документацию Slack. | Сервер |
COOKIE_DOMAIN | Никто | Домен файла cookie. Если этот параметр не установлен, файл cookie будет установлен браузером на основе полного источника. | Сервер |
DENO_PATH | /usr/bin/дено | Путь к двоичному файлу deno. | Рабочий |
PYTHON_PATH | /usr/local/bin/python3 | Путь к двоичному файлу Python. | Рабочий |
GO_PATH | /usr/bin/go | Путь к двоичному файлу go. | Рабочий |
ГОПРИВАТ | Переменная env GOPRIVATE для использования частных модулей go. | Рабочий | |
ГОПРОКСИ | Используемая переменная env GOPROXY | Рабочий | |
НЕТРК | Содержимое netrc для использования частного реестра go | Рабочий | |
ПУТЬ | Никто | Переменная среды пути, обычно наследуемая | Рабочий |
ДОМ | Никто | Домашний каталог, используемый Go и Bash, обычно наследуется. | Рабочий |
БАЗА ДАННЫХ_ПОДКЛЮЧЕНИЯ | 50 (Сервер)/3 (Рабочий) | Максимальное количество соединений в пуле соединений с базой данных | Все |
СУПЕРАДМИН_СЕКРЕТ | Никто | Токен, который позволит вызывающему абоненту действовать как виртуальный суперадминистратор [email protected]. | Сервер |
TIMEOUT_WAIT_RESULT | 20 | Количество секунд ожидания до истечения времени ожидания в конечной точке run_wait_result. | Рабочий |
QUEUE_LIMIT_WAIT_RESULT | Никто | Максимальное количество заданий в очереди перед немедленным отклонением запроса в конечной точке run_wait_result. Имеет приоритет над аргументом запроса. Если ничего не указано, ограничений нет. | Рабочий |
DENO_AUTH_TOKENS | Никто | Пользовательский DENO_AUTH_TOKENS для передачи работнику, чтобы разрешить использование частных модулей. | Рабочий |
DISABLE_RESPONSE_LOGS | ЛОЖЬ | Отключить журналы ответов | Сервер |
CREATE_WORKSPACE_REQUIRE_SUPERADMIN | истинный | Если это правда, только суперадмины могут создавать новые рабочие области. | Сервер |
См. файл ./frontend/README_DEV.md для всех работающих параметров.
Использование Никса.
При этом будет использоваться серверная часть https://app.windmill.dev, но ваш собственный интерфейс с горячей перезагрузкой кода. Обратите внимание, что вам нужно будет использовать имя пользователя и пароль для входа в систему из-за проверок CSRF с использованием другого поставщика аутентификации.
В каталоге frontend/
:
npm install
(или pnpm install
или yarn
) npm run generate-backend-client
## on mac use
npm run generate-backend-client-mac
npm run dev
http://localhost/
См. файл ./frontend/README_DEV.md для всех работающих параметров.
cargo install sqlx-cli
env DATABASE_URL=<YOUR_DATABASE_URL> sqlx migrate run
query!
макрос/usr/bin/deno
и /usr/local/bin/python3
frontend/
:npm install
, npm run generate-backend-client
, затем npm run dev
export NODE_OPTIONS="--max-old-space-size=4096"
npm run build
, иначе серверная часть не найдет папку frontend/build
и не скомпилируется.sudo caddy run --config Caddyfile
backend/
: env DATABASE_URL=<DATABASE_URL_TO_YOUR_WINDMILL_DB> RUST_LOG=info cargo run
http://localhost/
Windmill Labs, Inc., 2023 г.