Skip to content

Add "checkup" or "doctor" option to gp command line #12893

Open
@david-bakin

Description

@david-bakin

Add a command checkup to the gp tool that does some basic "diagnostics"/"troubleshooting"/"sanity checks" on the workspace/repo.

For example:

  • Does it have a .gitpod.yml?
    • If not, does it have something else that might be a .gitpod.yml, e.g., gitpod.yml or .gitpod.yaml?
    • If so, does it syntax check? Any unknown attributes? Anything else that can be detected that is wrong about it?
      • E.g., it references an image: image doesn't exist. It references a custom dockerfile: that doesn't exist. It references a vscode extension: that extension doesn't exist at open-vsx.
      • E.g., it looks like it is trying to put something under /home/gitpod in an init: start task section (!! extra credit !!)
      • Are duplicate ports specified?
      • If there's an additionalRepositories key do the named repos exist?
      • If there's a mainConfiguration key does the named repo exist and have a .gitpod.yml pointing back to this repo?
  • Does it have a custom dockerfile?
    • Does it syntax check?
    • Is there something that looks like it could be a custom dockerfile (.e.g, a file named .gitpod.Dockerfile per the documentation examples) but it isn't mentioned in the .gitpod.yml? (Or there isn't a .gitpod.yml?)
    • Does it look like the custom dockerfile is trying to put stuff under /workspace?
  • Look in start task logs, the dotfile repo log, to find problems
    • task errored out on last run
    • task timed out on last run
  • How big is the workspace relative to the resource limits (mainly, but probably not exclusively, max size of the backup archive)

Etc. etc. Goal is to help a gitpod user (especially, but not only, new users) quickly get on board and/or fix problems that are impacting them.


  • (checkup is what it is called in the scoop command line tool, for example - probably others too.)
  • (doctor is what it is called in the brew command line tool, for example.)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions