Commit Graph

153 Commits

Author SHA1 Message Date
Richard Jones
3292771811
moved FillPath outside of Walk
Signed-off-by: Richard Jones <richard@dagger.io>
2022-01-25 16:10:39 -07:00
Andrea Luzzardi
8ff72a5fa3 test: clean up yarn test
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2022-01-21 12:45:59 -08:00
Andrea Luzzardi
5016cf5e30 netlify: Europa port
- Fix netlify.#Deploy (there's still FIXMEs)
- Externalize the `deploy.sh` script
- Add tests
- Misc engine fixes for more explicit error messages

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2022-01-20 16:10:14 -08:00
Andrea Luzzardi
7a79395bd1
Merge pull request #1423 from aluzzardi/exec-mount-errors
exec: mount: improve error reporting on non-concrete mounts
2022-01-18 15:11:37 -08:00
Andrea Luzzardi
6abe77729e europa: Code Embedding POC
WIP PoC for code embedding

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2022-01-14 01:34:47 -08:00
Andrea Luzzardi
283eb3a933 exec: mount: improve error reporting on non-concrete mounts
Because of the mount disjunction, passing a non-concrete #FS results in
CUE being confused as to what type of mount it is (Cache, FS, Secret,
...).

This adds an explicit error check.

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2022-01-13 15:53:40 -08:00
Andrea Luzzardi
2b30580217 Support for partially running a DAG
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2022-01-13 15:52:13 -08:00
Richard Jones
e59ba48ec0
added dockerfile: field back to force evaluation of disjunction
Signed-off-by: Richard Jones <richard@dagger.io>
2022-01-13 15:53:55 -07:00
Richard Jones
2745e1ae2e
refactored
Signed-off-by: Richard Jones <richard@dagger.io>
2022-01-13 15:53:30 -07:00
Richard Jones
729013ae91
rename engine.#Build to engine.#Dockerfile
Signed-off-by: Richard Jones <richard@dagger.io>
2022-01-13 15:53:06 -07:00
Richard Jones
d7731fdc19
redacting with stars
Signed-off-by: Richard Jones <richard@dagger.io>
2022-01-13 15:21:30 -07:00
Richard Jones
63e092c3b1
commented out replace colons
Signed-off-by: Richard Jones <richard@dagger.io>
2022-01-13 15:06:09 -07:00
Richard Jones
05820f3a67
supports map of secrets; errors redact plaintext
Signed-off-by: Richard Jones <richard@dagger.io>
2022-01-13 15:06:08 -07:00
Richard Jones
86bf3bad86
transform secret
Signed-off-by: Richard Jones <richard@dagger.io>
2022-01-13 15:04:35 -07:00
Joel Longtine
816dfc8ca0 Allow hidden tasks
Signed-off-by: Joel Longtine <joel@dagger.io>
2022-01-12 12:58:27 -07:00
Richard Jones
af2c4793de
logging stderr returning err
Signed-off-by: Richard Jones <richard@dagger.io>
2022-01-12 10:25:56 -07:00
Richard Jones
95542d29cb
returning stderr
Signed-off-by: Richard Jones <richard@dagger.io>
2022-01-12 10:25:56 -07:00
Andrea Luzzardi
fb16ac8b29 vendoring: support multiple modules
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2022-01-11 16:51:54 -08:00
Andrea Luzzardi
282759c0e5 cue modules: move stdlib to pkg/alpha.dagger.io
In preparation for Europa, we will vendor multiple CUE modules:

- `pkg/alpha.dagger.io`: legacy non-europa packages
- `pkg/dagger.io`: core Europa packages
- `pkg/universe.dagger.io`: Europa universe

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2022-01-11 13:16:37 -08:00
Andrea Luzzardi
c5126412b0
Merge pull request #1307 from aluzzardi/engine-loadsecret
engine.#NewSecret support
2022-01-10 12:09:21 -08:00
Joel Longtine
83d6f52e10 Fix nits + cue.mod I let slip through
Signed-off-by: Joel Longtine <joel@dagger.io>
2022-01-07 21:32:15 -07:00
Joel Longtine
a3db716c0a Ensure we can Marshall #Scratch as CUE
Signed-off-by: Joel Longtine <joel@dagger.io>
2022-01-07 16:21:06 -07:00
Joel Longtine
3003b31be3 Make engine.#Scratch a specialization of #FS, rather than a task
Signed-off-by: Joel Longtine <joel@dagger.io>
2022-01-07 15:43:58 -07:00
Andrea Luzzardi
5f840723e2 engine: LoadSecret->NewSecret
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2022-01-07 12:08:37 -08:00
Andrea Luzzardi
6a70271ff2 engine.#LoadSecret support
Fixes #1305

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2022-01-07 12:08:37 -08:00
Joel Longtine
e6bbc5bf01 Fix nits + comments
Signed-off-by: Joel Longtine <joel@dagger.io>
2022-01-06 19:40:38 -07:00
Joel Longtine
6e28c0505f Force another solve, so that the LLB created by the
dockerfile.v0 frontend actually runs, as we expect it to.

Also, enforce Evaluate: true on SolveRequests that run through the Solver

Signed-off-by: Joel Longtine <joel@dagger.io>
2022-01-06 15:34:19 -07:00
Richard Jones
7322359797
MakePath rather than ParsePath
Signed-off-by: Richard Jones <richard@dagger.io>
2022-01-04 14:40:34 -07:00
Richard Jones
b4bcbab311
passing struct to plan.Load
Signed-off-by: Richard Jones <richard@dagger.io>
2022-01-04 11:54:50 -07:00
Richard Jones
c61d47722e
allowing --with to fill root object
Signed-off-by: Richard Jones <richard@dagger.io>
2022-01-04 11:32:05 -07:00
Richard Jones
1d8834b9b1
implemented --with to fill inputs.params
Signed-off-by: Richard Jones <richard@dagger.io>
2022-01-04 10:23:21 -07:00
Joel Longtine
8b4d02540f We need to use the State() function, rather than Result().ToState()
Signed-off-by: Joel Longtine <joel@dagger.io>
2022-01-03 14:34:49 -07:00
Andrea Luzzardi
2982a0dda0 engine: Task PreRun Hook
Tasks now have a PreRun hook that gets called before buildkit kicks in.
Allows to support local access without special casing.

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-12-24 00:59:49 +01:00
Andrea Luzzardi
9c81a155c9 engine: Make paths relative to the CUE file they're defined in
Fixes #1309

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-12-23 13:48:47 -08:00
Richard Jones
2561f942c6
added trimSpace to inputs secrets
Signed-off-by: Richard Jones <richard@dagger.io>
2021-12-23 09:22:50 -07:00
Tom Chauveau
c08f262ef5
Add platform configuration in plan.go to set platform in context.
Signed-off-by: Vasek - Tom C <tom.chauveau@epitech.eu>
2021-12-23 15:29:25 +01:00
Andrea Luzzardi
0e5fb4ec29
Merge pull request #1288 from TomChv/fix/fs-naming 2021-12-23 15:03:39 +01:00
Richard Jones
40e1c9d4fa
fmt.Sprint
Signed-off-by: Richard Jones <richard@dagger.io>
2021-12-22 17:10:33 -07:00
Richard Jones
643d93c35d
ported FetchHTTP to HTTPFetch
Signed-off-by: Richard Jones <richard@dagger.io>
2021-12-22 17:10:33 -07:00
Richard Jones
044c464289
added debug message
Signed-off-by: Richard Jones <richard@dagger.io>
2021-12-22 15:44:16 -07:00
Richard Jones
2b95bf1536
renamed files to avoid camelCase; moved token to common secrets file
Signed-off-by: Richard Jones <richard@dagger.io>
2021-12-22 15:44:16 -07:00
Richard Jones
feb685cf81
fixed issue with disjunction that wouldnt resolve
Signed-off-by: Richard Jones <richard@dagger.io>
2021-12-22 15:44:16 -07:00
Richard Jones
0295dc6340
added support for username:password
Signed-off-by: Richard Jones <richard@dagger.io>
2021-12-22 15:44:16 -07:00
Richard Jones
ee938111c6
conforming to llb api
Signed-off-by: Richard Jones <richard@dagger.io>
2021-12-22 15:44:16 -07:00
Richard Jones
7ca84282be
ported op.#FetchGit to engine.#GitPull
Signed-off-by: Richard Jones <richard@dagger.io>
2021-12-22 15:44:16 -07:00
Sam Alba
47bed011e8
Merge pull request #1291 from aluzzardi/engine-pull-no-imageconfig
engine.#Pull: don't apply image config
2021-12-22 12:16:15 -08:00
Sam Alba
75711545ef
Merge pull request #1289 from aluzzardi/plan-output
engine: Support plan outputs
2021-12-22 10:47:52 -08:00
Andrea Luzzardi
bb93b9d875 engine.#Pull: don't apply image config
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-12-22 16:26:58 +01:00
Andrea Luzzardi
d82baa4c2d engine: task naming consistency
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-12-22 16:19:40 +01:00
Andrea Luzzardi
2f1f055141 engine: Support plan outputs
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-12-22 15:03:54 +01:00
Vasek - Tom C
fd6d1b55fe
Rename mode to permissions in fs.cue
Signed-off-by: Vasek - Tom C <tom.chauveau@epitech.eu>
2021-12-22 14:59:55 +01:00
Joel Longtine
a90ff8ab94 Allow for nil buildkit References
Signed-off-by: Joel Longtine <joel@dagger.io>
2021-12-21 12:10:48 -07:00
Joel Longtine
75d5ab8f01 Initial pass at engine.#Scratch - failing
Signed-off-by: Joel Longtine <joel@dagger.io>
2021-12-21 12:10:45 -07:00
Andrea Luzzardi
7d40e79366 engine.#Build: support auth
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-12-21 10:33:55 -08:00
Andrea Luzzardi
2467fb1920 engine.#Build support
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-12-21 10:33:50 -08:00
Sam Alba
f3caa342e8
Merge pull request #1279 from aluzzardi/europa-output
europa: up: support --output
2021-12-21 09:48:04 -08:00
Andrea Luzzardi
9b2746b2cb
Merge pull request #1259 from TomChv/engine/mkdir
Europa: engine.#Mkdir
2021-12-21 17:53:34 +01:00
Vasek - Tom C
e11cb1b6fd
Add mkdir docs
Signed-off-by: Vasek - Tom C <tom.chauveau@epitech.eu>
2021-12-21 16:33:53 +01:00
Andrea Luzzardi
4feb2c7048 europa: up: support --output
Support `dagger up --output <file.json>` or `-` for stdout. This will
write the computed layer.

Can be used for tests, e.g.

```
run dagger up --output -
assert_output --partial foobar
```

Fixes #1220

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-12-21 15:17:51 +01:00
Sam Alba
9d3cd180a2 stdlib: implemented engine.#Push
Signed-off-by: Sam Alba <samalba@users.noreply.github.com>
2021-12-20 17:16:40 -08:00
Vasek - Tom C
09c427f1cf
Add mkdir task
Signed-off-by: Vasek - Tom C <tom.chauveau@epitech.eu>
2021-12-21 01:14:21 +01:00
Joel Longtine
6c5d7e5da5 remove empty lines
Signed-off-by: Joel Longtine <joel@dagger.io>
2021-12-20 13:13:35 -07:00
Joel Longtine
a429e0cbaf Clean up old code
Signed-off-by: Joel Longtine <joel@dagger.io>
2021-12-20 12:55:35 -07:00
Joel Longtine
1f28ce518d Finalize switch to dagger: task: _name
Signed-off-by: Joel Longtine <joel@dagger.io>
2021-12-20 12:55:35 -07:00
Joel Longtine
1ea035ff16 engine.#Copy
Signed-off-by: Joel Longtine <joel@dagger.io>
2021-12-20 12:55:35 -07:00
Richard Jones
c826794643
Merge pull request #1261 from talentedmrjones/europa-secret-exec
Europa: secret exec
2021-12-20 12:12:07 -07:00
Joel Longtine
a7864a41b4 Complete move to $dagger: task: _name
Signed-off-by: Joel Longtine <joel@dagger.io>
2021-12-20 11:00:43 -07:00
Richard Jones
e6207b45af
fixed gosec issue
Signed-off-by: Richard Jones <richard@dagger.io>
2021-12-20 09:58:26 -07:00
Richard Jones
5ef138fe84 secret exec
Signed-off-by: Richard Jones <richard@dagger.io>
2021-12-20 09:20:19 -07:00
Richard Jones
aa268561bc
fixes issue where dagger hands when input directory does not exist
Signed-off-by: Richard Jones <richard@dagger.io>
2021-12-17 13:37:20 -07:00
Richard Jones
03a740ff1e
input to inputs
Signed-off-by: Richard Jones <richard@dagger.io>
2021-12-17 12:30:35 -07:00
Richard Jones
eebbfcb258
added debug message
Signed-off-by: Richard Jones <richard@dagger.io>
2021-12-17 12:30:35 -07:00
Richard Jones
d43bc7dc53
context -> input
Signed-off-by: Richard Jones <richard@dagger.io>
2021-12-17 12:30:35 -07:00
Richard Jones
4768425037
renamed Import to LocalDirectory
Signed-off-by: Richard Jones <richard@dagger.io>
2021-12-17 12:30:35 -07:00
Sam Alba
b082b1e5bc implemented integration tests for engine.#Pull + moved auth code separately for sharing code with other tasks later
Signed-off-by: Sam Alba <samalba@users.noreply.github.com>
2021-12-17 10:07:33 -08:00
Sam Alba
0be6a4066e plan: added auth support to engine.#Pull
Signed-off-by: Sam Alba <samalba@users.noreply.github.com>
2021-12-17 10:06:58 -08:00
Andrea Luzzardi
82cbea8324 engine: exec: support uid/gid/mask for secret mounts
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-12-17 16:51:46 +01:00
Andrea Luzzardi
e7d8f17884 exec: mount: fs: support readonly mounts
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-12-17 15:39:14 +01:00
Andrea Luzzardi
e5de27f098 engine: exec: support mount concurrency
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-12-17 15:17:24 +01:00
Andrea Luzzardi
12be9a7dd8 WIP: engine.#Exec
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-12-17 15:13:13 +01:00
Joel Longtine
45de510ce0 Clean up old code
Signed-off-by: Joel Longtine <joel@dagger.io>
2021-12-15 10:27:37 -08:00
Joel Longtine
380c15f5f4 engine.#WriteFile
Signed-off-by: Joel Longtine <joel@dagger.io>
2021-12-15 10:27:37 -08:00
Richard Jones
e65b3cfa4a refactored to handle errors better
Signed-off-by: Richard Jones <richard@dagger.io>
2021-12-15 10:22:38 -07:00
Richard Jones
6ca81dacf9 refactored log handling
Signed-off-by: Richard Jones <richard@dagger.io>
2021-12-15 10:22:38 -07:00
Richard Jones
2569e76eeb implemented services unix and npipe complete with test
Signed-off-by: Richard Jones <richard@dagger.io>
2021-12-15 10:22:38 -07:00
Andrea Luzzardi
dd2fef8a2d engine.#ReadFile
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-12-15 14:35:08 +01:00
Andrea Luzzardi
85a4825237 engine: Pull: fix vertex name in logs
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-12-14 15:41:44 +01:00
Andrea Luzzardi
0768ac9f3f compiler: FillFields helper, cleaned up repeated code
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-12-13 16:13:49 +01:00
Andrea Luzzardi
ff6c7d1c1f engine.#Pull implementation
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-12-13 16:13:49 +01:00
Andrea Luzzardi
2b22d1c981 plan: improve log messages
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-12-09 14:17:19 -05:00
Andrea Luzzardi
1d71f77151 engine: fix hidden field path
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-12-09 14:15:19 -05:00
Richard Jones
83b10d4031 refactored finding of cue.mod parent
Signed-off-by: Richard Jones <richard@dagger.io>
2021-12-08 15:28:33 -07:00
Richard Jones
5c9965f10a passings args to cue loader to mimick cue eval
Signed-off-by: Richard Jones <richard@dagger.io>
2021-12-08 15:28:33 -07:00
Andrea Luzzardi
a58ca16c3d plancontext cleanup
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-12-07 14:20:08 -05:00
Andrea Luzzardi
6aa4f6b8b3 secretfile: data -> plaintext
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-12-07 14:02:17 -05:00
Andrea Luzzardi
5b7b1cab79 Migrate dagger.#Secret and dagger.#Stream to new format
- 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>
2021-12-01 17:33:35 -08:00
Andrea Luzzardi
0aea10d23e dagger.#FS support
- 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>
2021-11-30 12:58:50 -08:00
Andrea Luzzardi
81ec746d2c core: component -> task
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-11-24 16:58:24 -08:00
Andrea Luzzardi
ef407c787a runtime: context: support secret files
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-11-24 16:51:52 -08:00
Andrea Luzzardi
db55cf7583 runtime: context: support secret environment variables
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-11-24 16:51:52 -08:00