RFC 1001: Explicit installation method in `edgedb server install`
- Dominant language
- Python
- Stars
- 38
- Forks
- 5
- PR merge metrics
- No merged PRs in 30d
Description
# Proposal
1. Always require `edgedb install --method=package` or `edgedb install --method=docker` for installation in non-interactive mode
2. Without that, print something like this:
```
No installation method chosen, add:
* --method=package -- to install Ubuntu native package (recommended)
* --method=docker -- to install into a Docker container
* --method=tar.gz -- install generic self-contained package
or run `edgedb server install --interactive` and follow instructions
```
Or
```
No installation method chosen, add:
* --method=docker -- to install into a Docker container (recommended)
* Note: no package available for Ubuntu eoan
or run `edgedb server install --interactive` and follow instructions
```
Or
```
No installation method chosen, add:
* --method=package -- to install Ubuntu native package (recommended)
* Note: docker installation unavailable, permission denied for /var/lib/docker.sock
or run `edgedb server install --interactive` and follow instructions
```
We can simplify parameters like
# Motivation
If we choose "the best available method" automatically, we can have unexpected switch between method in certain situations:
1. User upgraded the desktop from LTS version to unsupported one (only docker and tar.gz becomes available)
2. We started support of distribution/version we haven't supported yet
3. User failed to set permissions for docker socket
4. User intentionally set permissions for docker socket for root, and forgot to use `sudo` when running `edgedb server`
Even if we don't consider `edgedb server install` be used in production, there still a point of confusion:
1. If it's written in some corporate docs on installation
2. If there is automation for installing users' workspaces
# Docs and Tutorials
We're going to recommend `edgedb server install --interactive'
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing the `edgedb server install` command and the RFC discussion. Done means non-interactive installation requires an explicit method, reports available or unavailable methods clearly, and directs users to interactive installation when appropriate.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, python
- Domain
- cli, devops
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100