felice-n-franz

command module
v0.58.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 13, 2022 License: MIT Imports: 10 Imported by: 0

README

Felice & Franz

A generic, web-based producer and consumer for Apache Kafka.

Contents

Requirements

  • Go version 1.16 or higher. You can probably install it through your system's package manager (apt, brew, etc.). For general instructions, go here --no pun intended.

  • Any web browser with decent support for ES2020 (e.g., Mozilla Firefox or any Chromium-based browser).

Installation

To install, open a terminal and execute the following

go get -u github.com/jwmwalrus/felice-n-franz

The same command can be used for subsequent updates.

Usage

Assuming $GOBIN is in your PATH, open a terminal and execute the following

felice-n-franz

Then click on the displayed URL (which by default should be http://localhost:9191).

The web interface is pretty self-explanatory (select environment, consume or produce messages by topic, filter, etc.).

Logging Flags

Passing -h upon executing the felice-n-franz command, will display options related to logging.

The application's logs can be found at ${XDG_DATA_HOME}/felice-n-franz/.

Configuration

In order to operate properly (or at all), a config.json file is required.

Upon first run, one is generated at ${XDG_CONFIG_HOME}/felice-n-franz/. The expected contents are as follows:

version
type
int
description
Configuration file version
default
1
required/optional
required
firstRun
type
bool
description
If true, overwrite the ${XDG_CONFIG_HOME}/felice-n-franz/config.json file with in-memory values
default
false
required/optional
optional
port
type
int
description
Application's port
default
9191
required/optional
required
maxTailOffset
type
int
description
Keep only the last n messages per consumer, with n given by this value
default
100
required/optional
required
envs
type
array
description
Configured environments
default
[]
required/optional
required
env.name
type
string
description
Environment's name
default
required/optional
required
env.active
type
bool
description
If false, this environent's configuration will be ignored
default
false
required/optional
optional
env.configuration
type
object
description
librdkafka configuration for this environment. See [here](https://github.com/edenhill/librdkafka/blob/master/CONFIGURATION.md) for further details
default
{}
required/optional
required
env.vars
type
object
description
Environment variables used for topic values
example
{"env": ""}
default
{}
required/optional
optional
env.headerPrefix
type
string
description
Common prefix for topic's headers
default
required/optional
optional
env.topicsFrom
type
string
description
Copy env.schemas, env.topics and env.groups from the given environment
default
required/optional
optional
env.schemas
type
object
description
TBD
default
{}
required/optional
optional
env.topics
type
array
description
Configured topics for this environment
default
[]
required/optional
required
env.topic.name
type
string
description
Topic name
default
required/optional
optional
env.topic.description
type
string
description
Topic description
default
required/optional
optional
env.topic.key
type
string
description
Topic key. Must be a unique identifier for this environment
default
required/optional
required
env.topic.value
type
string
description
Topic value. Actual topic definition. Shall be unique for this environment.
default
required/optional
required
env.topic.headers
type
array
description
Array of key-value objects defining the headers associated to this topic
example
[{"key": "Content-Type","value": "application/json"}]
default
[]
required/optional
optional
env.topic.schema
type
object
description
TBD
default
{}
required/optional
optional
env.groups
type
array
description
Groups of topics
default
[]
required/optional
optional
env.group.name
type
string
description
Group's display name
default
required/optional
optional
env.group.description
type
array
description
Group'ss description
default
required/optional
optional
env.group.category
type
string
description
TBD
default
required/optional
optional
env.group.id
type
string
description
Group's identifier. Must be unique for this environment and not to collide with topic keys
default
required/optional
required
env.group.keys
type
array
description
List of topic keys that belong to this group. Must not be empty
default
required/optional
required

TODO

  • Add a way of reordering consumer cards.
  • Add topic schema validation.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL