All Projects → gtamas → Etcdmanager

gtamas / Etcdmanager

Licence: mit
A cross-platform GUI and ETCD client

Projects that are alternatives of or similar to Etcdmanager

Dock
A docking layout system.
Stars: ✭ 204 (+48.91%)
Mutual labels:  multi-platform, gui
Panandzoom
Pan and zoom control for Avalonia.
Stars: ✭ 159 (+16.06%)
Mutual labels:  multi-platform, gui
Avalonia
A cross platform XAML framework for .NET
Stars: ✭ 12,588 (+9088.32%)
Mutual labels:  multi-platform, gui
Core2d
A multi-platform data driven 2D diagram editor.
Stars: ✭ 475 (+246.72%)
Mutual labels:  multi-platform, gui
Git Cola
git-cola: The highly caffeinated Git GUI
Stars: ✭ 1,787 (+1204.38%)
Mutual labels:  gui
React Nodegui Starter
Starter repository for react based native desktop apps using react-nodegui
Stars: ✭ 132 (-3.65%)
Mutual labels:  gui
Electron Python Example
Electron as GUI of Python Applications
Stars: ✭ 1,749 (+1176.64%)
Mutual labels:  gui
Pgbouncerhero
A dashboard for your PgBouncers.
Stars: ✭ 129 (-5.84%)
Mutual labels:  gui
Elements
Elements C++ GUI library
Stars: ✭ 2,004 (+1362.77%)
Mutual labels:  gui
Borealis
Hardware accelerated, controller and TV oriented UI library for PC and Nintendo Switch (libnx).
Stars: ✭ 135 (-1.46%)
Mutual labels:  gui
Imgui sdl
ImGuiSDL: SDL2 based renderer for Dear ImGui
Stars: ✭ 134 (-2.19%)
Mutual labels:  gui
Imgui
Immediate Mode GUI for C#
Stars: ✭ 133 (-2.92%)
Mutual labels:  gui
Attendace management system
In this system we can fill attendance by face recognition
Stars: ✭ 135 (-1.46%)
Mutual labels:  gui
Particl Desktop
The GUI application for Particl Markeplace and PART coin wallet. A decentralized peer to peer marketplace –free, secure, private, untraceable.
Stars: ✭ 131 (-4.38%)
Mutual labels:  gui
Cedar
Rust framework for building visual/interactive applications
Stars: ✭ 136 (-0.73%)
Mutual labels:  gui
Litegui.js
Javascript Library to create webapps with a desktop look-alike interface. All the widgets are created from Javascript instead of using HTML.
Stars: ✭ 131 (-4.38%)
Mutual labels:  gui
Atlas Python
For versatile GUIs written in HTML/CSS and Python (no JavaScript needed; also available for other languages) - The lightweight and easy-to-use toolkit to begin with GUI programming.
Stars: ✭ 133 (-2.92%)
Mutual labels:  gui
Lambdaattack
Minecraft bot for servers. Currently supports stress testing. More features are planned
Stars: ✭ 133 (-2.92%)
Mutual labels:  gui
Tunapanel
Autogenerate live Web-based control panels for Rust programs
Stars: ✭ 133 (-2.92%)
Mutual labels:  gui
Kanban App
Kanban board built with Rust and Elm
Stars: ✭ 1,711 (+1148.91%)
Mutual labels:  gui

ETCD Manager

etcd-manager

Alt text

Alt text

Alt text

This is a free, cross-platform ETCD v3 client and GUI. The goal of the project is twofold:

  • Provide an efficient, modern GUI for desktop (Windows, Linux, Mac), mobile (iOS and Android) and web.
  • Cover all ETCD functionality. Anything you can do with etcdctl, you should be able to do with this tool as well. This app should be useful for simple and power users alike.

Please note that currently ETCD V2 API is not supported! At the moment, we support V3 only.

Features

Available now (v1.2)

Currently, the following features are implemented:

  • Key management:
    • Manage (browse, create, edit, delete) keys.
    • Create keys with TTL
    • Key browser has multiple views: tree or list with paging.
    • Key list live updates: refresh list when the value of any key changes.
    • Manage revisions: list revisions of any key and revert to any previous value.
  • Settings and config:
    • Able to use multiple config profiles, allowing you to manage any number of ETCD clusters with dedicated settings.
    • Import / export settings: save settings to or load from file.
  • Authentication and security:
    • Basic authentication: (username / password)
    • HTTPS client certificate authentication
    • Supports both HTTP and HTTPS (secure) connections
    • Supports no auth (ETCD with authentication disabled)
  • Other functions:
    • Display basic info about ETCD cluster and its nodes, perform health checks.
    • Manage leases: list and revoke leases, view details.
    • Manage users: create, update or delete users.
    • Manage roles and permissions: create, update delete roles, assign / revoke permissions.
    • Manage watchers. Supported event responders: app or desktop notification, app console logger.
    • Intranet mode: works without internet connection.

Coming up (v1.3)

This release is mainly for contributors. There will be no new features in this one. Instead, we gonna focus solely on making it easier to understand how the code works and how to get started with contributing. In order to achieve this, we'll refactor many parts of the code and we'll also try to provide better documentation for contributors and a project dashboard.

As for refactoring, some of the things we gonna change are:

  • Better typing (we gonna add missing types, no "any", "unknown" and crap like that)
  • Better tests (we are planning to replace Spectron with Cypress)
  • Smaller, more focused, easy to maintain components. We are going to to use the Vue 3 Composition API here.
  • Better folder structure for source files.
  • Proper Dependency Injection support (for services, filters etc).
  • Missing something? Please open a feature request!

Planned

We plan to add tons of cool features in the future. The most important ones are listed below.:

Features

  • Watchers: more responders, such as Email, Log to file, Log to REST API as well as app integrations like Slack, Google Chat, Viber etc.
  • Cluster: maintenance / admin features and more detailed cluster info
  • ETCD Dashboard: live dashboard with graphs.
  • Complex queries using transactions.
  • Diff tool: compare the revisions of any two keys (much like Total Commander).
  • Report generation in different formats (HTML, PDF, XML etc)
  • Better in-app console
  • ... and much more!

Future platforms

  • Android and iOS
  • Web (browser version)

A better organized overview of these plans will be available soon. Stay tuned :)

Installation

End users..

The current stable (prod) version is 1.2. It's available for Mac OS X (10.15.5 Catalina+), MS Windows (7, 8, 10+) and some major Linux distros (Ubuntu 10.04+, Arch etc). The following are pre-built binaries and this is the recommended way to install.

If you are using a more or less recent major Linux distro (Ubuntu, Redhat, Suse etc), or Ubuntu LTS or some up-to-date rolling release distro like Arch, everything should work fine. Most older Linux systems should be supported as well. However, very old Linux versions might not work as expected. If you have difficulties installing the app, please report the problem using our issue tracker.

Grab one now:

Other packages are available for download as well, please see the releases page.

We are on SnapCraft!

Get it from the Snap Store

Install snap and run the following command:

snap install etcd-manager

Contributors..

You may install the dev version by cloning this repository.

git clone https://github.com/i-Cell-Mobilsoft-Open-Source/etcdmanager.git

Or you may also install the NPM package (although this is not recommended, since the package might not contain the latest code).

First of all, you must install Yarn. Please see this page for details.

yarn add etcd-manager
cd node_modules/etcd-manager

Please also check out the contribution guide before writing any code.

Running the dev build

Once you have the code, simply execute the following commands:

yarn install

The next step is to compile the GRPC Node extension. This requires the usual build tools (gcc, make etc) to be installed. Make sure you have these, then run:

npm rebuild --target=ELECTRON_VERSION --runtime=electron --dist-url=https://atom.io/download/electron

... where ELECTRON_VERSION is the exact version number of the Electron framework the app uses. You can determine this by running:

yarn list electron

Finally, start the dev server in the following way:

yarn electron:serve

This will start a dev build and the app should appear shortly.

Usage and support

First of all, in order to work properly, ETCD Manager must be configured.

You need to provide only two mandatory settings: the host and the port ETCD is running at. You'll find these on the settings screen, under the ETCD tab. If your ETCD host requires authentication, you will also need to provide a password / username pair or certificates / keys, which you can do under the auth tab. There are several additional configuration options, but those are all optional.

Detailed documentation is not available (yet), but you may want to activate quick help, which is available everywhere. Press CTRL / CMD + H to open the help pane. Here you'll find some basic info as well as all the keyboard shortcuts. This should be enough to get you started.

If you still need help, please feel free to contact us. Create a issue (question / support request).

Once the documentation is ready, we'll upload it to the website.

Upgrading

If you've installed the app using the Windows or Mac installer or the Linux AppImage, you'll be notified automatically whenever a new release is available. Simply restart the app, and it'll check for updates.

Otherwise, you have to download and install the new version manually.

As for the dev version, you may update that by the usual means (Yarn or Git). In any case, please read our changelog for an overview of the most recent changes.

Bugs and feature requests

If you find a bug, please report it using our issue tracker.

This is also the place for requesting new features or asking questions. Please label your issue appropriately, use the "bug", "enchantment" and "question" labels, respectively.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].