Commit Graph

431 Commits

Author SHA1 Message Date
Richard Jones
c15a7c6d22
reorganized spec vs implemented, reconciled gap
Signed-off-by: Richard Jones <richard@dagger.io>
2021-12-17 12:30:34 -07: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
12be9a7dd8 WIP: engine.#Exec
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-12-17 15:13:13 +01:00
Andrea Luzzardi
977485aa27
Merge pull request #1242 from jlongtine/change-europa-types-hidden-fields
Change Europa Core types ids
2021-12-17 14:04:49 +01:00
Solomon Hykes
eb86b0778c Europa: use $dagger field to mark CUE types for engine recognition
Signed-off-by: Solomon Hykes <solomon@dagger.io>
2021-12-16 21:57:48 -08:00
Solomon Hykes
9e859e6233 Europa: reconcile engine.#Exec spec with implementation
Signed-off-by: Solomon Hykes <solomon@dagger.io>
2021-12-16 17:17:38 -08:00
Sam Alba
19322a7cb9
Merge pull request #1215 from grouville/extend/http.#Wait
Add env vars inside http.#Wait package to enable env dependency hacks
2021-12-16 17:16:15 -08:00
Joel Longtine
86366b1f11 Change Europa Core types ids
Signed-off-by: Joel Longtine <joel@dagger.io>
2021-12-16 15:33:37 -07:00
Solomon Hykes
83ed9c3f81 Europa: engine.#HTTPFetch
Signed-off-by: Solomon Hykes <solomon@dagger.io>
2021-12-16 01:16:57 +00:00
Solomon Hykes
4b2f0f9a1c Europa: engine.#Mkdir
Signed-off-by: Solomon Hykes <solomon@dagger.io>
2021-12-15 17:09:41 -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
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
Solomon Hykes
c1c585bcd5 Europa: integrate core packages, separate universe
Signed-off-by: Solomon Hykes <solomon@dagger.io>
2021-12-15 09:27:58 +00:00
Sam Alba
18c04dcc31 test: added bats dependencies files
Signed-off-by: Sam Alba <samalba@users.noreply.github.com>
2021-12-14 09:12:18 -08:00
Sam Alba
e809e2ba6d stdlib: implemented bats package for running bats script from dagger
Signed-off-by: Sam Alba <samalba@users.noreply.github.com>
2021-12-13 21:07:37 -08:00
Sam Alba
c310a1bcdb stdlib/bats: implemented integration tests
Signed-off-by: Sam Alba <samalba@users.noreply.github.com>
2021-12-13 21:07:37 -08:00
Sam Alba
56dab104ca stdlib/os/container: added ability to mount sockets (dagger.#Stream)
Signed-off-by: Sam Alba <samalba@users.noreply.github.com>
2021-12-13 21:07:37 -08:00
guillaume
7de77520a5 Add env vars inside http.#Wait package to enable env dependency hacks with the package until a cleaner solution is found
Signed-off-by: guillaume <guillaume.derouville@gmail.com>
2021-12-14 01:44:24 +01:00
Andrea Luzzardi
c3e9883f57 image spec: fix linter
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
Sam Alba
797308bca5
Merge pull request #1073 from slumbering/universe-graphql
Universe graphql
2021-12-09 13:29:04 -08:00
Andrea Luzzardi
89daebbc4c engine spec: move core types to types.cue
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-12-09 14:14:36 -05:00
jffarge
6825309f31 Create graphql package
Signed-off-by: jffarge <slumbering.pierrot@gmail.com>
2021-12-08 15:13:30 +01:00
Andrea Luzzardi
4b7a143cc6 stdlib: move core definitions to engine package
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-12-07 16:00:56 -05:00
Andrea Luzzardi
2a946385fa
Merge pull request #1168 from aluzzardi/dagger-secret-service
Migrate dagger.#Secret and dagger.#Stream to new format
2021-12-07 12:29:00 -08:00
guillaume
7d753660d0 Fix broken docker.#Command secrets mount
Signed-off-by: guillaume <guillaume.derouville@gmail.com>
2021-12-03 18:58:54 +01:00
Gerhard Lazu
95c1b07f3a Use tcp-specific seed.
Co-authored-by: Vasek - Tom C. <tom.chauveau@epitech.eu>
Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
Signed-off-by: Sam Alba <samalba@users.noreply.github.com>
2021-12-02 16:53:40 -08:00
Gerhard Lazu
18c387a407 Use tcp in the docker host test
Co-authored-by: Vasek - Tom C. <tom.chauveau@epitech.eu>
Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
Signed-off-by: Sam Alba <samalba@users.noreply.github.com>
2021-12-02 16:53:40 -08:00
Gerhard Lazu
8ce5b3447f Fix unused imports
Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
Signed-off-by: Sam Alba <samalba@users.noreply.github.com>
2021-12-02 16:53:40 -08:00
Gerhard Lazu
c690387ae2 Add support for tcp:// DOCKER_HOST
The Docker daemon that I am using is running remotely, and I connect to
it via Tailscale tunnel, which means that my DOCKER_HOST is set to
tcp://100.113.182.91:2375

This change makes Dagger work with my setup. It's been running well for
me for a few weeks now, this started as https://github.com/thechangelog/changelog.com/pull/395

I think there is an opportunity to add support for ssh:// & file://,
but I am keeping this first addition small on purpose.

Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
Signed-off-by: Sam Alba <samalba@users.noreply.github.com>
2021-12-02 16:53:40 -08:00
Sam Alba
806800f33b test: reset the dagger-ci PAT to fix the test infra
Signed-off-by: Sam Alba <samalba@users.noreply.github.com>
2021-12-02 14:23:30 -08:00
Andrea Luzzardi
337ed0d1cc remove hardcoded stdlib path
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-12-01 17:33:35 -08: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
6bedfb7c63
Merge pull request #1162 from aluzzardi/europa-context
europa: new execution engine and #Plan support
2021-11-29 16:14:14 -08:00
Andrea Luzzardi
2a4db167e4 runtime: new execution engine
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-11-24 16:51:52 -08:00
Sam Alba
399a7aba30
Merge pull request #1158 from grouville/http-wait
http.#Wait package implementation
2021-11-24 14:25:46 -08:00
guillaume
475e47de09 Modify getting started doc to integrate http.#Wait, fix doc dependency issue
Signed-off-by: guillaume <guillaume.derouville@gmail.com>
2021-11-23 21:30:03 +01:00
guillaume
84952b1725 Add tests for http.#Wait
Signed-off-by: guillaume <guillaume.derouville@gmail.com>
2021-11-23 19:24:00 +01:00
guillaume
6ce8731d69 Fix infinite loop issue on container healthcheck
Signed-off-by: guillaume <guillaume.derouville@gmail.com>
2021-11-23 19:22:19 +01:00
guillaume
ec3c39aea0 Implement http.#Wait to wait for a URL to be ready. It creates a dependency in the Cue tree
Signed-off-by: guillaume <guillaume.derouville@gmail.com>
2021-11-23 18:33:28 +01:00
Alvise88
656d6beb31 Fix typo in docker command
Signed-off-by: Alvise88 <vitalvise@gmail.com>
2021-11-19 15:56:17 -08:00
Andrea Luzzardi
22fb91548b test: docker-run-ports: fix sandbox escaping of dagger stream
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-11-19 11:29:38 -08:00
Andrea Luzzardi
a61e8dcb62 prepare the transition to #Plan.context
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>
2021-11-19 11:29:38 -08:00
Sam Alba
7450c70214 mod/stdlib: attempt to remove the lock file after file unlock
Signed-off-by: Sam Alba <samalba@users.noreply.github.com>
2021-11-17 16:23:23 -08:00
Andrea Luzzardi
8ffee8922e
Merge pull request #1112 from samalba/windows-input-stream
Add support for Windows named pipe as Input stream
2021-11-08 18:06:50 -08:00
Sam Alba
ace8ea26f1 stdlib: lock when vendoring to avoid race conditions
Signed-off-by: Sam Alba <samalba@users.noreply.github.com>
2021-11-08 17:29:56 -08:00
Sam Alba
e6de59a340 added support for stream type npipe (Windows named pipe)
Signed-off-by: Sam Alba <samalba@users.noreply.github.com>
2021-11-08 17:16:38 -08:00
Sam Alba
a4761c0f64 stdlib/docker: #Run do not fail if container exists and recreate is false
Signed-off-by: Sam Alba <samalba@users.noreply.github.com>
2021-11-02 15:09:15 -07:00