-
Notifications
You must be signed in to change notification settings - Fork 581
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] Make Dagger Simpler #997
Comments
@shykes, very interesting ! Can you please detail the principles 5 and 7 ? Even though I get the idea, not sure to entirely understand the reason why they're principles (their implications, etc) |
I will add more details on all points, just wanted to write down the structure so I don’t forget it :) 5: this is related to an ongoing challenge for Dagger: mixing content from inside git (cue configurations) and outside git (state, secrets, runtime information etc). We have tried many different approaches and so far none of them feel great. The current approach is to store everything inside git, with .gitignore files for information that should not be committed. It works so far but only for use by a single user on a single local machine with an interactive UI. We don’t know yet how to make it work across multiple users, multiple machines, and non-interactive environments (eg. your CI). One thing we have not tried is rely on git remotes as a namespace. In theory a local git repo isn’t guaranteed to have a valid remote; but in practice we can safely assume they will. If we make that assumption that “every git repo has a home” (the home being the remote), then it becomes possible to move some information out of the repo (for example in a home directory) while still connecting it back to local repositories in a way that is robust. For example if you move your local git repo to a new location on your machine, the remote will remain the same… So 7: this is a general principle of computer science that managing state is hard, and the less state your software is responsible for, the better. This applies to Dagger as well. |
@shykes Is this addressed by Europa or other issues (e.g. ok to close)? |
Yes ok to close, thanks. The quest to make Dagger simpler will continue… forever 😀 |
Overview
Dagger is too complicated to use. All the ingredients are there for a game-changing user experience, but it is buried in layers of incremental trial and error.
This proposal describes an leaner version of the
dagger
CLI, with the same core features but packaged in a different UI and API.Objectives
The desired results are:
Relationship to other proposals
This proposal is standalone, but incorporates elements from (and therefore conflicts with) these other proposals:
Proposal
This is a baseline proposal. Omissions and disagreements are an opportunity to find the final design together.
WORK IN PROGRESS
Concepts:
Principles:
The text was updated successfully, but these errors were encountered: