Commit Graph

324 Commits

Author SHA1 Message Date
Andrea Luzzardi
60db93a246 client: pass through the deployment directly
we can't serialize Cue in a lossless way. The current architecture has
the frontend serialize the state (plan, input, computed) to Cue files,
then the client loads them back. We lose information by doing this, and
therefore the merge fails.

This change removes the abstraction so that we operate directly on the
cue.Instance.

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-04-08 18:11:06 -07:00
Andrea Luzzardi
10e676923c logger: fix concurrency issue
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-04-08 16:31:37 -07:00
Andrea Luzzardi
e54f1b0c3a store only computed values in compute layer
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-04-07 19:37:48 -07:00
Andrea Luzzardi
5381d0bfe1 up: store outputs and merge in query
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-04-07 19:05:09 -07:00
Andrea Luzzardi
0c79488a18
Merge pull request #268 from dagger/deployment-multi-path
store: support multiple deployments per path
2021-04-02 17:54:11 -07:00
Sam Alba
a799dd05d7 cli: moved abs path resolve to input.go
Signed-off-by: Sam Alba <sam.alba@gmail.com>
2021-04-02 17:14:01 -07:00
Sam Alba
3e605d1d72 cli: moved input dir to abs path - fixes #254
Signed-off-by: Sam Alba <sam.alba@gmail.com>
2021-04-02 16:47:49 -07:00
Sam Alba
d3fc31ab57 fixed inputs when input target is overriden
Signed-off-by: Sam Alba <sam.alba@gmail.com>
2021-04-02 16:47:49 -07:00
Sam Alba
a24dbef0b7 cli: up: restored result display
Signed-off-by: Sam Alba <sam.alba@gmail.com>
2021-04-02 16:47:47 -07:00
Andrea Luzzardi
33a7770459 store: support multiple deployments per path
- Add support for multiple deployments per path in the Store
- Add a bunch of tests
- Change the Lookup deployment API
- Add disambiguation in the CLI commands

Fixes #231

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-04-02 16:40:20 -07:00
Sam Alba
540f373993
Merge pull request #265 from dagger/query-formats
dagger query [--format cue|json|text|yaml] (default is json)
2021-04-02 16:20:39 -07:00
Solomon Hykes
e2e56a5143 dagger query [--format cue|json|text|yaml] (default is json)
Signed-off-by: Solomon Hykes <sh.github.6811@hykes.org>
2021-04-02 23:05:08 +00:00
Andrea Luzzardi
33d5add54b deployment API cleanup
The API was a bit confusing with code mixing the usage of Deployment and
DeploymentState.

This change marks a clear separation:

- Client is the only piece of code manipulating *Deployment
- CLI commands can manipulate DeploymentState objects and pass them to
  Client

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-04-02 15:30:38 -07:00
Andrea Luzzardi
6d01389e16 go.mod: fix sops dependency
Taken from https://github.com/dagger/dagger/pull/239

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-04-02 15:08:48 -07:00
Andrea Luzzardi
896d303f4a
Merge pull request #247 from dagger/cli-new-plan-git
Cli new plan git
2021-04-01 18:13:24 -07:00
Solomon Hykes
0a28f04857 Don't print the deployment state at the end of each command
Signed-off-by: Solomon Hykes <sh.github.6811@hykes.org>
2021-04-01 17:54:21 -07:00
Solomon Hykes
67af849dd9 Change default loglevel to INFO (from DEBUG)
Signed-off-by: Solomon Hykes <sh.github.6811@hykes.org>
2021-04-01 17:49:15 -07:00
Sam Alba
c3846100b3 cmd/plan: implemented git and dir
Signed-off-by: Sam Alba <sam.alba@gmail.com>
2021-04-01 17:46:43 -07:00
Sam Alba
6cbea26f7f cmd/plan/git: allow for optional ref (default to HEAD)
Signed-off-by: Sam Alba <sam.alba@gmail.com>
2021-04-01 17:46:43 -07:00
Sam Alba
fb9aae38ef cmd/new: added support for plan-git option
Signed-off-by: Sam Alba <sam.alba@gmail.com>
2021-04-01 17:46:42 -07:00
Sam Alba
4dcddc68c3
Merge pull request #229 from dagger/cli-new-name
Fix "dagger new --name"
2021-04-01 11:30:22 -07:00
Sam Alba
29cad95f1d cmd/new: implemented --plan-dir
Signed-off-by: Sam Alba <sam.alba@gmail.com>
2021-04-01 11:12:44 -07:00
Sam Alba
b9b195b70f cmd/new: implemented optional arg to specify name, forbid usage of -d option
Signed-off-by: Sam Alba <sam.alba@gmail.com>
2021-04-01 10:49:17 -07:00
Sam Alba
3aec0337d2 tests: fixed invalid test
Signed-off-by: Sam Alba <sam.alba@gmail.com>
2021-03-31 18:10:20 -07:00
Sam Alba
ac5c8417d2 cmd: implemented query to be close to cue eval
Signed-off-by: Sam Alba <sam.alba@gmail.com>
2021-03-31 16:32:48 -07:00
Solomon Hykes
47b16a1d1b Fix "dagger new --name"
Signed-off-by: Solomon Hykes <sh.github.6811@hykes.org>
2021-03-31 22:04:15 +00:00
Andrea Luzzardi
e6674b7b7e terminology: rename layout -> plan
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-03-30 19:45:18 -07:00
Andrea Luzzardi
f901918266 terminology: rename route -> deployment
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-03-30 19:33:21 -07:00
Andrea Luzzardi
e503e12cff
Merge pull request #208 from dagger/cli-ux
CLI v2
2021-03-30 19:07:01 -07:00
Andrea Luzzardi
0f09ba5e87 minor error messages and linter cleanups
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-03-30 18:53:09 -07:00
Solomon Hykes
d6c51c6df5 CLI spec: fix copy-paste mistake
Signed-off-by: Solomon Hykes <sh.github.6811@hykes.org>
2021-03-26 17:14:44 -07:00
Solomon Hykes
4ef77efeac CLI spec: controller -> deployment
Signed-off-by: Solomon Hykes <sh.github.6811@hykes.org>
2021-03-26 15:59:37 -07:00
Solomon Hykes
95fc037d3b Programmer guide: improve & add content
Signed-off-by: Solomon Hykes <sh.github.6811@hykes.org>
2021-03-26 15:59:37 -07:00
Sam Alba
576613e46a implemented inputs
Signed-off-by: Sam Alba <sam.alba@gmail.com>
2021-03-26 15:50:18 -07:00
Sam Alba
a1c9041363 implement proper route lookup
Signed-off-by: Sam Alba <sam.alba@gmail.com>
2021-03-26 11:04:31 -07:00
Andrea Luzzardi
e08e64b311 store: keep an in-memory index of routes, support lookup by path
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-03-25 19:08:52 -07:00
Andrea Luzzardi
1e8cef9ad0 cli: access flags using viper rather than cobra
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-03-25 16:11:52 -07:00
Andrea Luzzardi
f59b30a27c cli: cleanup logger usage
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-03-25 16:07:39 -07:00
Andrea Luzzardi
9fec69f3a0 make store a struct and add tests
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-03-25 22:29:11 +00:00
Sam Alba
7ad541feb1 implemented new, up, list
Signed-off-by: Sam Alba <sam.alba@gmail.com>
2021-03-25 22:29:11 +00:00
Andrea Luzzardi
43956e38cc separate Store from State
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-03-25 22:29:11 +00:00
Andrea Luzzardi
cba524eb0f merge Route into Env, rebase dagger compute to use the new API
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-03-25 22:29:11 +00:00
Solomon Hykes
7bf05d3cc9 CLI backend to manage layout and inputs
Signed-off-by: Solomon Hykes <sh.github.6811@hykes.org>
2021-03-25 22:29:11 +00:00
Sam Alba
9c110716a5 added input, output, layout cmds
Signed-off-by: Sam Alba <sam.alba@gmail.com>
2021-03-25 22:29:11 +00:00
Solomon Hykes
37bf20e24b Expand mockup backend for CLI
Signed-off-by: Solomon Hykes <sh.github.6811@hykes.org>
2021-03-25 22:29:11 +00:00
Sam Alba
661affa4cb more basic commands + lint fixes
Signed-off-by: Sam Alba <sam.alba@gmail.com>
2021-03-25 22:29:11 +00:00
Sam Alba
84188535f3 implemented basic commands: up, down, new, query, list
Signed-off-by: Sam Alba <sam.alba@gmail.com>
2021-03-25 22:29:11 +00:00
Solomon Hykes
437aba7fdb Harmonize docs with intro paragraph from CLI spec
Signed-off-by: Solomon Hykes <sh.github.6811@hykes.org>
2021-03-25 15:27:35 -07:00
Solomon Hykes
ab6518cca0 CLI spec: "query [-l string]" becomes "query [--no-input] [--no-output] [--no-layout]"
Signed-off-by: Solomon Hykes <sh.github.6811@hykes.org>
2021-03-25 15:27:35 -07:00
Solomon Hykes
d78b9238e2 CLI spec: route->controller, layout->deployment plan, new&improved overview
Signed-off-by: Solomon Hykes <sh.github.6811@hykes.org>
2021-03-25 15:27:35 -07:00
Solomon Hykes
8b77c15eac CLI spec: stack becomes route; base becomes layout
Signed-off-by: Solomon Hykes <sh.github.6811@hykes.org>
2021-03-25 15:27:35 -07:00
Solomon Hykes
fb27b698b3 Move CLI spec to a better location
Signed-off-by: Solomon Hykes <sh.github.6811@hykes.org>
2021-03-22 12:49:43 -07:00
Andrea Luzzardi
56ea7e3991 do not log inputs as they may contain secrets
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-03-18 17:43:13 -07:00
Andrea Luzzardi
e6bb3f12f4 inputs decryption using SOPS
- Add support for --input-json and --input-yaml (plaintext)
- Input files can optionally be encrypted using sops, with transparent
  decryption by dagger

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-03-18 17:43:13 -07:00
Andrea Luzzardi
ad0fcfffeb fix --log-* flags
Have each command create their own logger rather than using the one from
`cmd.Context()`. This is because that one gets created "too early" when
`--log-*` flags have not been parsed yet.

Fixes #181

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-03-18 15:55:16 -07:00
Andrea Luzzardi
5cd3aa5001 logger: serialize unknown fields to json
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-03-18 11:18:50 -07:00
Andrea Luzzardi
f35df0475b opentracing support
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-03-04 10:45:20 -08:00
Andrea Luzzardi
1fcb36113f cleanup log messages
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-02-23 16:37:45 -08:00
Andrea Luzzardi
bc3305610b logs: custom console printer
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-02-23 15:39:52 -08:00
Andrea Luzzardi
fef148f6c0 rename go package dagger.io/go
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-02-17 13:13:39 -08:00
Solomon Hykes
612a25fb9f Simplify code by moving polyfill cue compiler to sub-package cc
Signed-off-by: Solomon Hykes <sh.github.6811@hykes.org>
2021-02-08 15:10:32 -08:00
Solomon Hykes
0202f4447b Don't instantiate a global shared Env in cmd/compute.go
Signed-off-by: Solomon Hykes <sh.github.6811@hykes.org>
2021-02-05 15:27:19 -08:00
Andrea Luzzardi
f6650901fd update .gitignore
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-02-03 14:58:33 -08:00
Solomon Hykes
1954c3f731 dagger compute [--input-dir TARGET=DIR] [--input-string TARGET=STRING] [--input-cue CUE] [--input-git REMOTE#REF]
Signed-off-by: Solomon Hykes <sh.github.6811@hykes.org>
2021-01-31 22:48:30 -08:00
Solomon Hykes
c4e55a6915 Refactor how client prepares environment. Inputs may now reference local directories
Signed-off-by: Solomon Hykes <sh.github.6811@hykes.org>
2021-01-28 19:29:57 -08:00
Andrea Luzzardi
b4d16b0268 fix .gitignore
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-01-21 10:40:11 -08:00
Andrea Luzzardi
16fd14b0c9 cmd: wire --input flag into client
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-01-14 15:21:27 -08:00
Andrea Luzzardi
d15ec726cf cmd: remove ui package
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-01-13 18:19:36 -08:00
Andrea Luzzardi
e09723861f re-wire logging on top of zerolog
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-01-13 18:18:48 -08:00
Andrea Luzzardi
49f0c0e149 cmd: re-use existing ui library
Also, move CLI-only utils into `cmd` rather than the top-level package.

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-01-13 14:43:08 -08:00
Solomon Hykes
4514df1853 remove broken "dagger create" command
Signed-off-by: Solomon Hykes <sh.github.6811@hykes.org>
2021-01-09 17:32:30 -08:00
Andrea Luzzardi
adf3511b1e fix lint errors, enable CI
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-01-08 17:18:34 +01:00
Solomon Hykes
3162ca0991 Refactor
Signed-off-by: Solomon Hykes <sh.github.6811@hykes.org>
2021-01-07 13:57:39 -08:00
Solomon Hykes
30f75da114 Move prototype 69-dagger-archon to top-level
Signed-off-by: Solomon Hykes <sh.github.6811@hykes.org>
2020-12-29 18:45:16 -08:00