geldata / geldata/rfcs

RFC 1001: Explicit installation method in `edgedb server install`

Open
#9 15 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.