Skip to content

RFC 1001: Explicit installation method in edgedb server install #9

@tailhook

Description

@tailhook

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'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions