- Refactored to keep every transformation of built-in types (e.g. FS,
Secret, etc) to/from CUE in the same place (plancontext)
- dagger.#Service and dagger.#Secret are now following the new FS-like format
(e.g. `_service: id: string`)
- Backward compatibility
- dagger.#Stream is now an alias for dagger.#Service
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
- Implement dagger.#FS support
- Migrate `context.imports` to dagger.#FS
- Backward compat: dagger.#FS can be passed in lieu of a
dagger.#Artifact
- For instance, an import (`dagger.#FS`) can be passed to the current
`yarn.#Package` implementation
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
This change helps the transition between `dagger input` and `#Plan.context`.
In summary, the codebase now relies on a *context* for execution with mapping to *IDs*.
In the future, *context* will come from a `#Plan.context`.
In the meantime, a bridge converts `dagger input` to a plan context. This allows both *old* and *new* style configurations to co-exist with the same underlying engine.
- Implement `plancontext`. Context holds the execution context for a plan. Currently this includes the platform, local directories, secrets and services (e.g. unix/npipe).
- Contextual data can be registered at any point. In the future, this will be done by `#Plan.context`
- Migrated the `dagger input` codebase to register inputs in a `plancontext`
- Migrated low-level types/operations to the *Context ID* pattern.
- `dagger.#Stream` now only includes an `id` (instead of `unix` path)
- `dagger.#Secret` still includes only an ID, but now it's based off `plancontext`
- `op.#Local` now only includes an `id` (instead of `path`, `include`, `exclude`.
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
Dagger now compare the remote universe version with the one written
in dagger.mod.
I've also added logs to easily debug code
Signed-off-by: Tom Chauveau <tom.chauveau@epitech.eu>
In the future, universe will not be embedded anymore in dagger,
instead, it will be remotely vendor from `dagger/universe` repository.
To make sure that users always use the latest universe version, the
version checking now also verify that universe is not outdated.
If universe needs an update, a message is printed to standard output.
Signed-off-by: Tom Chauveau <tom.chauveau@epitech.eu>
There was a hack in `version.go` that was hiding unused flag from
that command.
The problem is that the effect has spread to all commands.
I've removed that trick to correctly display all flags because it's
important for users to know how select an environment and configure
log format.
Signed-off-by: Tom Chauveau <tom.chauveau@epitech.eu>
Restructured the compile logic to happen on the CLI instead of the
BuildKit frontend.
- Avoid uploading the entire workspace to BuildKit on every compilation
- Let the CUE loader scan the files instead of going through the
BuildKit filesystem gRPC APIs.
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
Add new argument `--show-optional` to `dagger input list`.
Now by default, `dagger input list` will only show required input.
To get all inputs (including those with default value), you can use
that new argument.
Test has been updated to support changes.
Signed-off-by: Tom Chauveau <tom.chauveau@epitech.eu>