Embedded dev mode

Open
#39 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
30/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Stale
Tech stack
docker, typescript

Research direction

Start by checking how the TypeScript logpanel currently runs and how Graylog is configured, then assess the proposed docker run command and exposed ports 9200, 9300, and 8080. Done means a user can launch a local logpanel with one command and point a development application at its local Graylog instance using simple configuration.

Written by the indexing model from the issue text.

Description

enhancement

As a user I would like to make use of this while developing my own applications that will use the logpanel in production so that I can have a seamless experience between development and diagnosing/fixing issues in prod.

Possible Solution

Since the logpanel pulls its logs from a centralised graylog, we cannot hook everyone's development environment into graylog. Not only would it cause chaos due to the volume of logs, it may present conflict/privacy issues.

A solution is to make some kind of "embedded" logpanel, perhaps a large container that holds the logpanel and graylog together. So a user can run something like

docker run -d --rm --port 9200:9200 --port 9300:9300 --port 8080:8080 gchr.io/diamondlightsource/logpanel-dev

This would expose a graylog instance at http://localhost:9200 and 9300, and a logpanel instance on http://localhost:8080, the user would then have to configure their application to point to the local graylog.

logpanel-dev could also serve as a devcontainer for developing the logpanel itself, so this may also be a solution to #15

Acceptance Criteria

  • A user can easily (ideally with one command) run a local version of the logpanel
  • They can point applications they are developing at it using simple graylog configuration
Dominant language
TypeScript
Stars
1
Forks
0
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from DiamondLightSource/logpanel

All issues in DiamondLightSource/logpanel

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.