gitextract_vqi6y207/ ├── .air.toml ├── .dockerignore ├── .gitattributes ├── .github/ │ ├── dependabot.yml │ └── workflows/ │ ├── ci.yml │ ├── helm-release.yml │ └── release.yml ├── .gitignore ├── .goreleaser.yml ├── .husky/ │ ├── commit-msg │ └── pre-commit ├── .prettierignore ├── .prettierrc ├── CLAUDE.md ├── Dockerfile.gocron ├── LICENSE ├── README.md ├── README_ZH.md ├── app.ini.sqlite.example ├── cmd/ │ ├── gocron/ │ │ └── gocron.go │ └── node/ │ └── node.go ├── commitlint.config.cjs ├── docker-compose.yml ├── embed.go ├── go.mod ├── go.sum ├── helm/ │ └── gocron/ │ ├── Chart.yaml │ ├── templates/ │ │ ├── NOTES.txt │ │ ├── _helpers.tpl │ │ ├── configmap.yaml │ │ ├── deployment.yaml │ │ ├── ingress.yaml │ │ ├── pvc.yaml │ │ ├── service.yaml │ │ └── serviceaccount.yaml │ └── values.yaml ├── internal/ │ ├── models/ │ │ ├── agent_token.go │ │ ├── audit_log.go │ │ ├── audit_log_test.go │ │ ├── cleanup_verify_test.go │ │ ├── host.go │ │ ├── login_log.go │ │ ├── migration.go │ │ ├── model.go │ │ ├── scheduler_lock.go │ │ ├── scheduler_lock_test.go │ │ ├── setting.go │ │ ├── setting_init.go │ │ ├── setting_refactor_test.go │ │ ├── task.go │ │ ├── task_host.go │ │ ├── task_log.go │ │ ├── task_log_test.go │ │ ├── task_optimization_test.go │ │ ├── task_retention_test.go │ │ ├── task_script_version.go │ │ ├── task_script_version_test.go │ │ ├── task_tag_test.go │ │ ├── task_template.go │ │ ├── task_template_test.go │ │ ├── user.go │ │ └── webhook_test.go │ ├── modules/ │ │ ├── app/ │ │ │ ├── app.go │ │ │ └── app_test.go │ │ ├── httpclient/ │ │ │ ├── http_client.go │ │ │ ├── http_client_benchmark_test.go │ │ │ └── http_client_test.go │ │ ├── i18n/ │ │ │ ├── en_us.go │ │ │ ├── i18n.go │ │ │ └── zh_cn.go │ │ ├── leader/ │ │ │ ├── election.go │ │ │ └── election_test.go │ │ ├── logger/ │ │ │ ├── async_logger.go │ │ │ ├── async_logger_test.go │ │ │ ├── compatibility_test.go │ │ │ ├── logger.go │ │ │ ├── logger_test.go │ │ │ ├── performance_report_test.go │ │ │ └── performance_test.go │ │ ├── notify/ │ │ │ ├── mail.go │ │ │ ├── notify.go │ │ │ ├── notify_test.go │ │ │ ├── slack.go │ │ │ ├── webhook.go │ │ │ └── webhook_test.go │ │ ├── rpc/ │ │ │ ├── auth/ │ │ │ │ └── Certification.go │ │ │ ├── client/ │ │ │ │ └── client.go │ │ │ ├── grpcpool/ │ │ │ │ └── grpc_pool.go │ │ │ ├── proto/ │ │ │ │ ├── task.pb.go │ │ │ │ ├── task.proto │ │ │ │ └── task_grpc.pb.go │ │ │ └── server/ │ │ │ └── server.go │ │ ├── setting/ │ │ │ ├── setting.go │ │ │ └── setting_test.go │ │ └── utils/ │ │ ├── execshell_integration_test.go │ │ ├── execshell_test.go │ │ ├── html_entity.go │ │ ├── html_entity_test.go │ │ ├── json.go │ │ ├── login_limiter.go │ │ ├── login_limiter_test.go │ │ ├── password.go │ │ ├── password_test.go │ │ ├── utils.go │ │ ├── utils_test.go │ │ ├── utils_unix.go │ │ ├── utils_unix_test.go │ │ ├── utils_windows.go │ │ └── utils_windows_test.go │ ├── routers/ │ │ ├── agent/ │ │ │ └── agent.go │ │ ├── audit/ │ │ │ ├── audit.go │ │ │ └── audit_test.go │ │ ├── base/ │ │ │ ├── base.go │ │ │ └── response.go │ │ ├── host/ │ │ │ └── host.go │ │ ├── install/ │ │ │ └── install.go │ │ ├── loginlog/ │ │ │ └── login_log.go │ │ ├── manage/ │ │ │ └── manage.go │ │ ├── routers.go │ │ ├── statistics/ │ │ │ └── statistics.go │ │ ├── task/ │ │ │ ├── cron_preview.go │ │ │ ├── task.go │ │ │ ├── task_tag_test.go │ │ │ └── task_version.go │ │ ├── tasklog/ │ │ │ ├── task_log.go │ │ │ └── task_log_test.go │ │ ├── template/ │ │ │ └── template.go │ │ └── user/ │ │ ├── twofa.go │ │ └── user.go │ └── service/ │ ├── cron_preview.go │ ├── cron_preview_test.go │ ├── issue66_test.go │ ├── single_instance_test.go │ ├── task.go │ ├── task_cleanup_test.go │ ├── task_partial_output_test.go │ └── task_test.go ├── makefile ├── package.json ├── package.sh ├── release.sh ├── test_windows_cmd.go ├── web/ │ └── vue/ │ ├── .editorconfig │ ├── .gitattributes │ ├── .gitignore │ ├── .prettierrc.json │ ├── README.md │ ├── eslint.config.js │ ├── index.html │ ├── jsconfig.json │ ├── package.json │ ├── src/ │ │ ├── App.vue │ │ ├── api/ │ │ │ ├── agent.js │ │ │ ├── audit.js │ │ │ ├── host.js │ │ │ ├── install.js │ │ │ ├── notification.js │ │ │ ├── statistics.js │ │ │ ├── system.js │ │ │ ├── task.js │ │ │ ├── taskLog.js │ │ │ ├── template.js │ │ │ └── user.js │ │ ├── components/ │ │ │ └── common/ │ │ │ ├── CronInput.vue │ │ │ ├── CronPreview.vue │ │ │ ├── HeatmapSvg.vue │ │ │ ├── LanguageSwitcher.vue │ │ │ ├── MonacoEditor.vue │ │ │ ├── footer.vue │ │ │ ├── header.vue │ │ │ ├── navMenu.vue │ │ │ ├── notFound.vue │ │ │ └── sidebar.vue │ │ ├── composables/ │ │ │ ├── __tests__/ │ │ │ │ ├── useDebounce.spec.js │ │ │ │ ├── useLoading.spec.js │ │ │ │ └── useMessage.spec.js │ │ │ ├── useDebounce.js │ │ │ ├── useLoading.js │ │ │ └── useMessage.js │ │ ├── const/ │ │ │ ├── index.js │ │ │ └── lang.js │ │ ├── locales/ │ │ │ ├── en-US.js │ │ │ ├── index.js │ │ │ └── zh-CN.js │ │ ├── main.js │ │ ├── pages/ │ │ │ ├── host/ │ │ │ │ ├── edit.vue │ │ │ │ └── list.vue │ │ │ ├── install/ │ │ │ │ └── index.vue │ │ │ ├── statistics/ │ │ │ │ └── index.vue │ │ │ ├── system/ │ │ │ │ ├── auditLog.vue │ │ │ │ ├── logRetention.vue │ │ │ │ ├── loginLog.vue │ │ │ │ ├── notification/ │ │ │ │ │ ├── email.vue │ │ │ │ │ ├── slack.vue │ │ │ │ │ ├── tab.vue │ │ │ │ │ └── webhook.vue │ │ │ │ └── sidebar.vue │ │ │ ├── task/ │ │ │ │ ├── edit.vue │ │ │ │ ├── list.vue │ │ │ │ └── sidebar.vue │ │ │ ├── taskLog/ │ │ │ │ └── list.vue │ │ │ ├── template/ │ │ │ │ ├── edit.vue │ │ │ │ └── list.vue │ │ │ └── user/ │ │ │ ├── edit.vue │ │ │ ├── editMyPassword.vue │ │ │ ├── editPassword.vue │ │ │ ├── list.vue │ │ │ ├── login.vue │ │ │ └── twoFactor.vue │ │ ├── router/ │ │ │ └── index.js │ │ ├── storage/ │ │ │ └── user.js │ │ ├── stores/ │ │ │ └── user.js │ │ └── utils/ │ │ ├── __tests__/ │ │ │ ├── cronValidator.spec.js │ │ │ └── env.spec.js │ │ ├── cronValidator.js │ │ ├── env.js │ │ ├── httpClient.js │ │ ├── performance.js │ │ ├── progress/ │ │ │ └── index.js │ │ └── request.js │ ├── static/ │ │ ├── .gitkeep │ │ └── robots.txt │ ├── verify.sh │ ├── vite.config.js │ └── vitest.config.js └── webhook-test/ ├── go.mod ├── go.sum ├── start-webhook-server.sh ├── test-webhook.sh └── webhook-test-server.go