Giter Club home page Giter Club logo

mission-kontrol / missionkontrol Goto Github PK

View Code? Open in Web Editor NEW
64.0 5.0 5.0 16.9 MB

A modern, self-hosted admin panel that supports MySQL & PostGres DBs good alternative to rails admin or phpmyadmin.

Home Page: https://www.missionkontrol.io

License: GNU Affero General Public License v3.0

Dockerfile 0.13% Ruby 20.46% Makefile 0.01% JavaScript 63.32% SCSS 3.77% HTML 11.12% Shell 1.17%
admin-dashboard admin-panel admin-ui postgres-gui mysql-client postgres-client

missionkontrol's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

missionkontrol's Issues

API based data-sources for custom application, domain and authorization logic

I am searching for a model-driven UI and found Mission Kontrol. The docs state, that it integrates directly on persistence layer:

Once hosted in your local environment you connect it to your database(s) and it will partially self-configure based on the schema. ...

We currently support both PostgreSQL and MySQL databases. We have future plans to support other databases, such as MSSQL.

This is direct integration with persistence layer is a bit too low. And, Mission Kontrol also implements own access control.

Is it possible to integrate Mission Kontrol on top of an existing API, which provides metadata about structure of entities and available commands, by implementing some adapter? I.e.:

  1. Missing Kontrol for UI layer:
    • custom adapter implementation transforming API's model metadata to Mission Kontrol definitions,
  2. custom Application API:
    • provides model metadata and schema,
    • provides data query and command endpoints,
  3. custom Application access control layer:
    • enforcing ABAC, ReBAC or else,
  4. custom Application domain logic layer,
  5. custom Application persistence Layer.

To be honest, I had already implemented such model-driven UI-only panel on my own. However, it's a bit of ugly piece of code, and not published. Also, it's hard-coded to support exactly one type of model schema metadata API - not supporting adapters for custom API. And, so I'm researching open-source solutions to not reinvent the wheel, if it's already invented / implemented.

"Blocked Host" error after docker-based install

Using the Docker-based install script instructions from the website, I installed MissionKontrol (kuwinda/kuwinda container) using the command:

./auto-install.sh --run --use_https --ssl_cert /path/to/cert.pem --ssl_cert_key /path/to/privkey.pem

And when loading the application in my browser, I get:

Blocked host: my.hostname.net
To allow requests to my.hostname.net, add the following to your environment configuration:
config.hosts << "my.hostname.net"

There doesn't appear to be a way to do this via the script+docker install method.

Edit: Realized after simplifying the install that this isn't specific to SSL or remote. I ran the container with barebones settings and accessed via localhost, and still got the message that localhost is blocked. Did I miss a step? This seems like something everyone would be running into... but that doesn't appear to be the case.

Authentication plugin 'sha256_password' cannot be loaded

Tried to add my db and the test connection gives to UI feedback. refreshing page E.G http://localhost/dashboard gives me this error?

Puma caught this error: Authentication plugin 'sha256_password' cannot be loaded: /usr/lib/x86_64-linux-gnu/mariadb18/plugin/sha256_password.so: cannot open shared object file: No such file or directory (Mysql2::Error)
/bundle/gems/mysql2-0.5.3/lib/mysql2/client.rb:90:in `connect'
/bundle/gems/mysql2-0.5.3/lib/mysql2/client.rb:90:in `initialize'
/bundle/bundler/gems/rails-35ebac1fb862/activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb:24:in `new'
/bundle/bundler/gems/rails-35ebac1fb862/activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb:24:in `mysql2_connection'
/bundle/bundler/gems/rails-35ebac1fb862/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:887:in `new_connection'
/bundle/bundler/gems/rails-35ebac1fb862/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:931:in `checkout_new_connection'
/bundle/bundler/gems/rails-35ebac1fb862/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:910:in `try_to_checkout_new_connection'
/bundle/bundler/gems/rails-35ebac1fb862/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:871:in `acquire_connection'
/bundle/bundler/gems/rails-35ebac1fb862/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:593:in `checkout'
/bundle/bundler/gems/rails-35ebac1fb862/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:433:in `connection'
/bundle/bundler/gems/rails-35ebac1fb862/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:1112:in `retrieve_connection'
/bundle/bundler/gems/rails-35ebac1fb862/activerecord/lib/active_record/connection_handling.rb:254:in `retrieve_connection'
/bundle/bundler/gems/rails-35ebac1fb862/activerecord/lib/active_record/connection_handling.rb:210:in `connection'
/app/lib/catch_error_from_rack.rb:12:in `call'
/bundle/gems/newrelic_rpm-6.11.0.365/lib/new_relic/agent/instrumentation/middleware_tracing.rb:99:in `call'
/bundle/bundler/gems/rails-35ebac1fb862/railties/lib/rails/engine.rb:528:in `call'
/bundle/gems/newrelic_rpm-6.11.0.365/lib/new_relic/agent/instrumentation/middleware_tracing.rb:99:in `call'
/bundle/gems/puma-3.12.6/lib/puma/configuration.rb:227:in `call'
/bundle/gems/puma-3.12.6/lib/puma/server.rb:706:in `handle_request'
/bundle/gems/puma-3.12.6/lib/puma/server.rb:476:in `process_client'
/bundle/gems/puma-3.12.6/lib/puma/server.rb:334:in `block in run'
/bundle/gems/puma-3.12.6/lib/puma/thread_pool.rb:135:in `block in spawn_thread'

View preview button not working

When creating a view for the first time, if you click on 'preview' in the top right corner a blank screen shows and the view is not saved.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.