envd 1.1.0__tar.gz → 1.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of envd might be problematic. Click here for more details.
- envd-1.2.0/.GIT_TAG_INFO +1 -0
- {envd-1.1.0 → envd-1.2.0}/CHANGELOG.md +9 -0
- {envd-1.1.0 → envd-1.2.0}/PKG-INFO +1 -1
- {envd-1.1.0 → envd-1.2.0}/envd.egg-info/PKG-INFO +1 -1
- {envd-1.1.0 → envd-1.2.0}/go.mod +1 -1
- {envd-1.1.0 → envd-1.2.0}/go.sum +2 -2
- {envd-1.1.0 → envd-1.2.0}/pkg/app/new.go +38 -28
- {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/v1/compile.go +1 -1
- {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/v1/conda.go +1 -1
- {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/v1/get_conda.sh +3 -3
- {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/v1/shell.go +7 -3
- {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/v1/system.go +0 -2
- {envd-1.1.0 → envd-1.2.0}/pkg/types/envd.go +2 -2
- envd-1.1.0/.GIT_TAG_INFO +0 -1
- {envd-1.1.0 → envd-1.2.0}/.all-contributorsrc +0 -0
- {envd-1.1.0 → envd-1.2.0}/.editorconfig +0 -0
- {envd-1.1.0 → envd-1.2.0}/.gitignore +0 -0
- {envd-1.1.0 → envd-1.2.0}/.golangci.yml +0 -0
- {envd-1.1.0 → envd-1.2.0}/.goreleaser.yaml +0 -0
- {envd-1.1.0 → envd-1.2.0}/.lycheeignore +0 -0
- {envd-1.1.0 → envd-1.2.0}/.pre-commit-config.yaml +0 -0
- {envd-1.1.0 → envd-1.2.0}/.vscode/launch.json +0 -0
- {envd-1.1.0 → envd-1.2.0}/CODEOWNERS +0 -0
- {envd-1.1.0 → envd-1.2.0}/CODE_OF_CONDUCT.md +0 -0
- {envd-1.1.0 → envd-1.2.0}/LICENSE +0 -0
- {envd-1.1.0 → envd-1.2.0}/MANIFEST.in +0 -0
- {envd-1.1.0 → envd-1.2.0}/Makefile +0 -0
- {envd-1.1.0 → envd-1.2.0}/OWNERS +0 -0
- {envd-1.1.0 → envd-1.2.0}/README.md +0 -0
- {envd-1.1.0 → envd-1.2.0}/base-images/envd/build.sh +0 -0
- {envd-1.1.0 → envd-1.2.0}/base-images/envd/envd-daemonless.Dockerfile +0 -0
- {envd-1.1.0 → envd-1.2.0}/base-images/envd/envd.Dockerfile +0 -0
- {envd-1.1.0 → envd-1.2.0}/base-images/envd-sshd/envd-sshd.Dockerfile +0 -0
- {envd-1.1.0 → envd-1.2.0}/base-images/envd-starship/envd-starship.Dockerfile +0 -0
- {envd-1.1.0 → envd-1.2.0}/base-images/remote-cache/build-and-push-remote-cache.sh +0 -0
- {envd-1.1.0 → envd-1.2.0}/base-images/remote-cache/build.envd +0 -0
- {envd-1.1.0 → envd-1.2.0}/cmd/envd/main.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/cmd/envd-sshd/main.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/envd/api/v0/__init__.py +0 -0
- {envd-1.1.0 → envd-1.2.0}/envd/api/v0/config.py +0 -0
- {envd-1.1.0 → envd-1.2.0}/envd/api/v0/install.py +0 -0
- {envd-1.1.0 → envd-1.2.0}/envd/api/v0/io.py +0 -0
- {envd-1.1.0 → envd-1.2.0}/envd/api/v0/runtime.py +0 -0
- {envd-1.1.0 → envd-1.2.0}/envd/api/v1/__init__.py +0 -0
- {envd-1.1.0 → envd-1.2.0}/envd/api/v1/config.py +0 -0
- {envd-1.1.0 → envd-1.2.0}/envd/api/v1/install.py +0 -0
- {envd-1.1.0 → envd-1.2.0}/envd/api/v1/io.py +0 -0
- {envd-1.1.0 → envd-1.2.0}/envd/api/v1/runtime.py +0 -0
- {envd-1.1.0 → envd-1.2.0}/envd/api.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/envd.egg-info/SOURCES.txt +0 -0
- {envd-1.1.0 → envd-1.2.0}/envd.egg-info/dependency_links.txt +0 -0
- {envd-1.1.0 → envd-1.2.0}/envd.egg-info/not-zip-safe +0 -0
- {envd-1.1.0 → envd-1.2.0}/envd.egg-info/top_level.txt +0 -0
- {envd-1.1.0 → envd-1.2.0}/lychee.toml +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/app/app.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/app/bootstrap.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/app/build/build.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/app/build.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/app/completion.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/app/const.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/app/context.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/app/context_create.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/app/context_ls.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/app/context_rm.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/app/context_use.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/app/debug.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/app/debug_llb.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/app/destroy.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/app/env.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/app/env_describe.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/app/env_ls.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/app/exec.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/app/formatter/data.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/app/formatter/json/context.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/app/formatter/json/env.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/app/formatter/json/image.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/app/formatter/json/print.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/app/formatter/json/version.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/app/formatter/table/context.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/app/formatter/table/env.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/app/formatter/table/image.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/app/formatter/table/version.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/app/image.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/app/image_describe.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/app/image_prune.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/app/image_prune_test.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/app/image_remove.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/app/init.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/app/interactive.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/app/login.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/app/pause.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/app/prune.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/app/reference.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/app/resume.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/app/run.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/app/telemetry/reporter.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/app/template/conda.envd +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/app/template/torch.envd +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/app/template/uv.envd +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/app/top.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/app/up.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/app/version.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/autocomplete/bash.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/autocomplete/fish.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/autocomplete/zsh.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/builder/build.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/builder/build_func.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/builder/builder.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/builder/builder_suite_test.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/builder/builder_test.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/builder/dep_check.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/builder/err.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/builder/types.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/builder/util.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/builder/util_test.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/buildkitd/buildkitd.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/buildkitd/mock/mock.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/buildkitd/print.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/config/config.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/data/datasource.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/data/envd.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/driver/client.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/driver/docker/docker.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/driver/docker/docker_suite_test.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/driver/docker/docker_test.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/driver/docker/label.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/driver/nerdctl/buildkit.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/driver/nerdctl/nerdctl.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/driver/stats_type.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/editor/vscode/types.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/editor/vscode/util.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/editor/vscode/vscode.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/editor/vscode/vscode_suite_test.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/editor/vscode/vscode_test.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/envd/docker.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/envd/docker_test.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/envd/engine.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/envd/envdserver.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/envd/factory.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/envd/types.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/flag/consts.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/home/auth.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/home/auth_test.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/home/cache.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/home/config.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/home/context.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/home/context_test.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/home/data.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/home/home_suite_test.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/home/manager.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/home/manager_test.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/lang/frontend/starlark/interpreter.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/lang/frontend/starlark/mock/mock.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/lang/frontend/starlark/v1/builtin/builtin.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/lang/frontend/starlark/v1/config/config.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/lang/frontend/starlark/v1/config/const.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/lang/frontend/starlark/v1/data/const.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/lang/frontend/starlark/v1/data/rule.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/lang/frontend/starlark/v1/data/util.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/lang/frontend/starlark/v1/install/const.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/lang/frontend/starlark/v1/install/install.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/lang/frontend/starlark/v1/interpreter.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/lang/frontend/starlark/v1/interpreter_test.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/lang/frontend/starlark/v1/io/const.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/lang/frontend/starlark/v1/io/io.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/lang/frontend/starlark/v1/runtime/const.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/lang/frontend/starlark/v1/runtime/runtime.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/lang/frontend/starlark/v1/starlark_suite_test.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/lang/frontend/starlark/v1/testdata/test.envd +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/lang/frontend/starlark/v1/universe/const.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/lang/frontend/starlark/v1/universe/universe.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/graph.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/types.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/util.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/v1/cache.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/v1/checker.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/v1/consts.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/v1/editor.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/v1/editor_test.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/v1/fs.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/v1/git.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/v1/install_conda.sh +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/v1/interface.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/v1/julia.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/v1/julia.sh +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/v1/python.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/v1/r.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/v1/supervisor.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/v1/types.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/v1/user.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/v1/util.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/v1/util_test.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/v1/uv.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/lang/version/version.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/metrics/collector.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/metrics/docker_collector.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/metrics/helper.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/metrics/model.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/metrics/widget.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/progress/compileui/display.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/progress/compileui/mock/mock.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/progress/compileui/term.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/progress/compileui/term_windows.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/progress/compileui/trace.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/progress/compileui/types.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/progress/mode/mode.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/progress/progressui/display.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/progress/progressui/display_test.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/progress/progressui/printer.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/progress/progressui/term.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/progress/progressui/term_windows.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/progress/progresswriter/printer.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/progress/progresswriter/writer.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/remote/sshd/os.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/remote/sshd/sshd.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/shell/install.sh +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/shell/zsh.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/shell/zsh_suite_test.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/shell/zsh_test.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/shell/zshrc +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/ssh/config/entry.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/ssh/config/key.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/ssh/config/ssh_config.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/ssh/config/ssh_config_suite_test.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/ssh/config/ssh_config_test.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/ssh/copy.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/ssh/ssh.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/syncthing/client.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/syncthing/config.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/syncthing/device.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/syncthing/event.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/syncthing/file.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/syncthing/folder.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/syncthing/install.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/syncthing/syncthing.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/syncthing/syncthing_test.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/syncthing/util.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/types/container.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/types/label.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/types/types_suite_test.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/util/buildkitutil/buildkit.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/util/buildkitutil/buildkit_test.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/util/envutil/env.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/util/envutil/env_test.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/util/fileutil/file.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/util/fileutil/file_test.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/util/fileutil/namegenerator.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/util/netutil/netutil.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/util/netutil/netutil_test.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/util/osutil/wsl.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/util/runtimeutil/runtimeutil.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/util/starlarkutil/stringslice.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/util/starlarkutil/stringslice_test.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/util/ziputil/unzip.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pkg/version/version.go +0 -0
- {envd-1.1.0 → envd-1.2.0}/pyproject.toml +0 -0
- {envd-1.1.0 → envd-1.2.0}/scripts/envd-daemonless.sh +0 -0
- {envd-1.1.0 → envd-1.2.0}/setup.cfg +0 -0
- {envd-1.1.0 → envd-1.2.0}/setup.py +0 -0
- {envd-1.1.0 → envd-1.2.0}/typos.toml +0 -0
envd-1.2.0/.GIT_TAG_INFO
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
v1.2.0
|
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## v1.1.0 (2025-03-10)
|
|
4
|
+
|
|
5
|
+
* [207c30e](https://github.com/tensorchord/envd/commit/207c30ee9556bb6915996166507fbc81ec26309a) feat: add pre-defined envd template (#1991)
|
|
6
|
+
* [1089f98](https://github.com/tensorchord/envd/commit/1089f98474ca85f453c90366acecf9f6a505aad0) feat: support uv (#1990)
|
|
7
|
+
|
|
8
|
+
### Contributors
|
|
9
|
+
|
|
10
|
+
* Keming
|
|
11
|
+
|
|
3
12
|
## v1.0.1 (2025-02-17)
|
|
4
13
|
|
|
5
14
|
|
{envd-1.1.0 → envd-1.2.0}/go.mod
RENAMED
|
@@ -83,7 +83,7 @@ require (
|
|
|
83
83
|
github.com/cockroachdb/logtags v0.0.0-20241215232642-bb51bb14a506 // indirect
|
|
84
84
|
github.com/cockroachdb/redact v1.1.6 // indirect
|
|
85
85
|
github.com/containerd/containerd/api v1.8.0 // indirect
|
|
86
|
-
github.com/containerd/containerd/v2 v2.0.
|
|
86
|
+
github.com/containerd/containerd/v2 v2.0.4 // indirect
|
|
87
87
|
github.com/containerd/continuity v0.4.5 // indirect
|
|
88
88
|
github.com/containerd/errdefs v1.0.0 // indirect
|
|
89
89
|
github.com/containerd/errdefs/pkg v0.3.0 // indirect
|
{envd-1.1.0 → envd-1.2.0}/go.sum
RENAMED
|
@@ -748,8 +748,8 @@ github.com/containerd/containerd v1.3.2/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMX
|
|
|
748
748
|
github.com/containerd/containerd v1.4.1/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA=
|
|
749
749
|
github.com/containerd/containerd/api v1.8.0 h1:hVTNJKR8fMc/2Tiw60ZRijntNMd1U+JVMyTRdsD2bS0=
|
|
750
750
|
github.com/containerd/containerd/api v1.8.0/go.mod h1:dFv4lt6S20wTu/hMcP4350RL87qPWLVa/OHOwmmdnYc=
|
|
751
|
-
github.com/containerd/containerd/v2 v2.0.
|
|
752
|
-
github.com/containerd/containerd/v2 v2.0.
|
|
751
|
+
github.com/containerd/containerd/v2 v2.0.4 h1:+r7yJMwhTfMm3CDyiBjMBQO8a9CTBxL2Bg/JtqtIwB8=
|
|
752
|
+
github.com/containerd/containerd/v2 v2.0.4/go.mod h1:5j9QUUaV/cy9ZeAx4S+8n9ffpf+iYnEj4jiExgcbuLY=
|
|
753
753
|
github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y=
|
|
754
754
|
github.com/containerd/continuity v0.0.0-20200928162600-f2cc35102c2a/go.mod h1:W0qIOTD7mp2He++YVq+kgfXezRYqzP1uDuMVH1bITDY=
|
|
755
755
|
github.com/containerd/continuity v0.4.5 h1:ZRoN1sXq9u7V6QoHMcVWGhOwDFqZ4B9i5H6un1Wh0x4=
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
package app
|
|
16
16
|
|
|
17
17
|
import (
|
|
18
|
-
|
|
18
|
+
"embed"
|
|
19
19
|
"fmt"
|
|
20
20
|
"os"
|
|
21
21
|
"path/filepath"
|
|
@@ -29,31 +29,41 @@ import (
|
|
|
29
29
|
)
|
|
30
30
|
|
|
31
31
|
var (
|
|
32
|
-
//go:embed template
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
templateConda string
|
|
36
|
-
//go:embed template/torch.envd
|
|
37
|
-
templateTorch string
|
|
38
|
-
|
|
39
|
-
templates = map[string]string{
|
|
40
|
-
"uv": templateUV,
|
|
41
|
-
"conda": templateConda,
|
|
42
|
-
"torch": templateTorch,
|
|
43
|
-
}
|
|
32
|
+
//go:embed template/*.envd
|
|
33
|
+
envdTemplateDir embed.FS
|
|
34
|
+
defaultEnvdTemplates []EnvdTemplate
|
|
44
35
|
)
|
|
45
36
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
37
|
+
type EnvdTemplate struct {
|
|
38
|
+
name string
|
|
39
|
+
content []byte
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
func init() {
|
|
43
|
+
entries, err := envdTemplateDir.ReadDir("template")
|
|
44
|
+
if err != nil {
|
|
45
|
+
panic(errors.Wrap(err, "failed to read template directory"))
|
|
46
|
+
}
|
|
47
|
+
for _, entry := range entries {
|
|
48
|
+
if entry.IsDir() {
|
|
49
|
+
continue
|
|
50
|
+
}
|
|
51
|
+
name := strings.TrimSuffix(entry.Name(), ".envd")
|
|
52
|
+
content, err := envdTemplateDir.ReadFile(filepath.Join("template", entry.Name()))
|
|
53
|
+
if err != nil {
|
|
54
|
+
panic(errors.Wrapf(err, "failed to read template file: %s", entry.Name()))
|
|
55
|
+
}
|
|
56
|
+
defaultEnvdTemplates = append(defaultEnvdTemplates, EnvdTemplate{name: name, content: content})
|
|
50
57
|
}
|
|
51
|
-
return strings.Join(keys, ", ")
|
|
52
58
|
}
|
|
53
59
|
|
|
54
60
|
func isDefaultTemplate(name string) bool {
|
|
55
|
-
_,
|
|
56
|
-
|
|
61
|
+
for _, template := range defaultEnvdTemplates {
|
|
62
|
+
if template.name == name {
|
|
63
|
+
return true
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return false
|
|
57
67
|
}
|
|
58
68
|
|
|
59
69
|
var CommandNew = &cli.Command{
|
|
@@ -67,7 +77,7 @@ var CommandNew = &cli.Command{
|
|
|
67
77
|
Flags: []cli.Flag{
|
|
68
78
|
&cli.StringFlag{
|
|
69
79
|
Name: "template",
|
|
70
|
-
Usage:
|
|
80
|
+
Usage: "Template name to use (`envd bootstrap` will add some default templates to '$HOME/.config/envd/templates')",
|
|
71
81
|
Aliases: []string{"t"},
|
|
72
82
|
Required: true,
|
|
73
83
|
},
|
|
@@ -136,24 +146,24 @@ func newCommand(clicontext *cli.Context) error {
|
|
|
136
146
|
}
|
|
137
147
|
|
|
138
148
|
func addTemplates(clicontext *cli.Context) error {
|
|
139
|
-
for
|
|
140
|
-
file, err := fileutil.TemplateFile(name + ".envd")
|
|
149
|
+
for _, template := range defaultEnvdTemplates {
|
|
150
|
+
file, err := fileutil.TemplateFile(template.name + ".envd")
|
|
141
151
|
if err != nil {
|
|
142
|
-
return errors.Wrapf(err, "failed to get template file path: %s", name)
|
|
152
|
+
return errors.Wrapf(err, "failed to get template file path: %s", template.name)
|
|
143
153
|
}
|
|
144
154
|
exist, err := fileutil.FileExists(file)
|
|
145
155
|
if err != nil {
|
|
146
156
|
return errors.Wrapf(err, "failed to check file exists: %s", file)
|
|
147
157
|
}
|
|
148
158
|
if exist {
|
|
149
|
-
logrus.Debugf("Template file `%s` already exists in `%s`", name, file)
|
|
159
|
+
logrus.Debugf("Template file `%s` already exists in `%s`", template.name, file)
|
|
150
160
|
continue
|
|
151
161
|
}
|
|
152
|
-
err = os.WriteFile(file,
|
|
162
|
+
err = os.WriteFile(file, template.content, 0644)
|
|
153
163
|
if err != nil {
|
|
154
|
-
return errors.Wrapf(err, "failed to write template file: %s", name)
|
|
164
|
+
return errors.Wrapf(err, "failed to write template file: %s", template.name)
|
|
155
165
|
}
|
|
156
|
-
logrus.Debugf("Template file `%s` is added to `%s`", name, file)
|
|
166
|
+
logrus.Debugf("Template file `%s` is added to `%s`", template.name, file)
|
|
157
167
|
}
|
|
158
168
|
|
|
159
169
|
return nil
|
|
@@ -29,7 +29,7 @@ import (
|
|
|
29
29
|
|
|
30
30
|
const (
|
|
31
31
|
builderImage = "curlimages/curl:8.11.1"
|
|
32
|
-
condaVersionDefault = "
|
|
32
|
+
condaVersionDefault = "py311_25.1.1-2"
|
|
33
33
|
microMambaImage = "mambaorg/micromamba:2.0.6"
|
|
34
34
|
condaRootPrefix = "/opt/conda"
|
|
35
35
|
condaBinDir = "/opt/conda/bin"
|
|
@@ -2,13 +2,13 @@ set -euo pipefail && \
|
|
|
2
2
|
UNAME_M="$(uname -m)" && \
|
|
3
3
|
if [ "${UNAME_M}" = "x86_64" ]; then \
|
|
4
4
|
MINICONDA_URL="https://repo.anaconda.com/miniconda/Miniconda3-${CONDA_VERSION}-Linux-x86_64.sh"; \
|
|
5
|
-
SHA256SUM="
|
|
5
|
+
SHA256SUM="d8c1645776c0758214e4191c605abe5878002051316bd423f2b14b22d6cb4251"; \
|
|
6
6
|
elif [ "${UNAME_M}" = "s390x" ]; then \
|
|
7
7
|
MINICONDA_URL="https://repo.anaconda.com/miniconda/Miniconda3-${CONDA_VERSION}-Linux-s390x.sh"; \
|
|
8
|
-
SHA256SUM="
|
|
8
|
+
SHA256SUM="0b4d5a3f16dcb2d230ba5dfdfdb848c854006aab6dd1bd3dbf29fcddf04b07a4"; \
|
|
9
9
|
elif [ "${UNAME_M}" = "aarch64" ]; then \
|
|
10
10
|
MINICONDA_URL="https://repo.anaconda.com/miniconda/Miniconda3-${CONDA_VERSION}-Linux-aarch64.sh"; \
|
|
11
|
-
SHA256SUM="
|
|
11
|
+
SHA256SUM="8a1d4407fce7ec552ac6ed655ce93d83549e02b819cacefbb7f640f9051e638b"; \
|
|
12
12
|
fi && \
|
|
13
13
|
wget "${MINICONDA_URL}" -O /tmp/miniconda.sh && \
|
|
14
14
|
echo "${SHA256SUM} /tmp/miniconda.sh" > /tmp/shasum && \
|
|
@@ -15,6 +15,8 @@
|
|
|
15
15
|
package v1
|
|
16
16
|
|
|
17
17
|
import (
|
|
18
|
+
"fmt"
|
|
19
|
+
|
|
18
20
|
"github.com/cockroachdb/errors"
|
|
19
21
|
"github.com/moby/buildkit/client/llb"
|
|
20
22
|
|
|
@@ -54,7 +56,8 @@ renamed = "r"
|
|
|
54
56
|
deleted = "x"
|
|
55
57
|
`
|
|
56
58
|
|
|
57
|
-
fishVersion
|
|
59
|
+
fishVersion = "4.0.1"
|
|
60
|
+
fishAssetURL = "https://github.com/fish-shell/fish-shell/releases/download/%[1]s/fish-static-$(uname -m)-%[1]s.tar.xz"
|
|
58
61
|
)
|
|
59
62
|
|
|
60
63
|
func (g *generalGraph) compileShell(root llb.State) (_ llb.State, err error) {
|
|
@@ -142,14 +145,15 @@ func (g generalGraph) compileZSH(root llb.State) (llb.State, error) {
|
|
|
142
145
|
|
|
143
146
|
func (g generalGraph) compileFish(root llb.State) llb.State {
|
|
144
147
|
base := llb.Image(builderImage)
|
|
148
|
+
url := fmt.Sprintf(fishAssetURL, fishVersion)
|
|
145
149
|
builder := base.Run(
|
|
146
|
-
llb.Shlexf(`sh -c "wget -qO-
|
|
150
|
+
llb.Shlexf(`sh -c "wget -qO- %s | tar -xJf - -C /tmp || exit 1"`, url),
|
|
147
151
|
llb.WithCustomName("[internal] download fish shell"),
|
|
148
152
|
).Root()
|
|
149
153
|
root = root.File(
|
|
150
154
|
llb.Copy(builder, "/tmp/fish", "/usr/bin/fish"),
|
|
151
155
|
llb.WithCustomName("[internal] copy fish shell from the builder image")).
|
|
152
|
-
Run(llb.Shlex("fish --install"),
|
|
156
|
+
Run(llb.Shlex(`sh -c "echo yes | fish --install"`),
|
|
153
157
|
llb.WithCustomName("[internal] install fish shell")).Root()
|
|
154
158
|
|
|
155
159
|
return root
|
|
@@ -226,8 +226,6 @@ func (g *generalGraph) compileDevPackages(root llb.State) llb.State {
|
|
|
226
226
|
sb.WriteString("apt-get install -y --no-install-recommends --no-install-suggests --fix-missing ")
|
|
227
227
|
sb.WriteString(strings.Join(types.BaseAptPackage, " "))
|
|
228
228
|
sb.WriteString("&& rm -rf /var/lib/apt/lists/* ")
|
|
229
|
-
// shell prompt
|
|
230
|
-
sb.WriteString("&& locale-gen en_US.UTF-8")
|
|
231
229
|
|
|
232
230
|
run := root.Run(llb.Shlexf(`bash -c "%s"`, sb.String()),
|
|
233
231
|
llb.WithCustomName("[internal] install built-in packages"))
|
|
@@ -55,8 +55,8 @@ var BaseEnvironment = []struct {
|
|
|
55
55
|
}{
|
|
56
56
|
{"DEBIAN_FRONTEND", "noninteractive"},
|
|
57
57
|
{"PATH", DefaultSystemPath},
|
|
58
|
-
{"LANG", "
|
|
59
|
-
{"LC_ALL", "
|
|
58
|
+
{"LANG", "C.UTF-8"},
|
|
59
|
+
{"LC_ALL", "C.UTF-8"},
|
|
60
60
|
}
|
|
61
61
|
var BaseAptPackage = []string{
|
|
62
62
|
"bash-static",
|
envd-1.1.0/.GIT_TAG_INFO
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
v1.1.0
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{envd-1.1.0 → envd-1.2.0}/OWNERS
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|