Giter Club home page Giter Club logo

konstellate's Introduction

Konstellate

Visualize Kubernetes Applications

image

What is it?

Konstellate is a UI to create edit and manage Kubernetes resources and their relationships. You can easily create complex YAML and export them as Helm charts or Kustomize templates

Try out the alpha build - Konstellate Demo

You can create resources from one of the templates using the editor, or import yaml that you already have.

konstellate-editor

Once you have a few resources created, you can simply drag a line between the two to connect them. Konstellate will look for any possible ways they can be connected and give you a drop down of the options.

konstellate-connect

Once your application is created you can clone it in a new workspace and make additional changes to it there. These changes will be reflected as variables in the helm chart or overlays kustomize templates as you export it.

konstellate-kustomize

How to run konstellate on your machine?

Install Clojure on your machine. To learn more see https://www.clojure.org/guides/getting_started.

Once Clojure is installed, you can clojure -m figwheel.main -b dev -r. This will download the dependencies and start the server and open application in the default browser.

Known Issues

  • Warn users if no connection types are available
  • Implement Export YAML
  • Implement Import Helm + Kustomize
  • Update Add/Remove buttons on editor

Future Roadmap

  • Auto populate required fields in resource templates
  • Add tree view into YAML spec
  • Packaging as electron/docker image + local file system sync
  • Tie Konstellate into running clusters + kubectl plugin
  • Enable GitOps flow

License

MIT

konstellate's People

Contributors

jeremykross avatar kvolkovich-sc avatar phildougherty avatar scottbrenner avatar shekhargulati avatar

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  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  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

konstellate's Issues

Can't zoom, pan workspace

The auto-generated layout can be wrong in some cases.

Imported k8s resources yaml defenition:

Screen Shot 2019-05-16 at 1 25 42 PM

Same result in Safari/Chrome/Firefox.

It would be nice to have a possibility to zoom it using the mouse wheel and pan workspace.

Containership is gone

Description

Executing clojure -m figwheel.main -b dev -r fails.

What is the current behavior?

$ clojure -m figwheel.main -b dev -r
DEPRECATED: Libs must be qualified, change ulmus => ulmus/ulmus (deps.edn)
DEPRECATED: Libs must be qualified, change recurrent => recurrent/recurrent (deps.edn)
DEPRECATED: Libs must be qualified, change garden => garden/garden (deps.edn)
Cloning: https://github.com/containership/konstellate-components
Error building classpath. Unable to clone /Users/marian/.gitlibs/_repos/github.com/containership/konstellate-components
remote: Repository not found.
fatal: repository 'https://github.com/containership/konstellate-components/' not found

The Github organization https://github.com/containership does not seem to exist.

What is the expected behavior?

A clear and concise description of what you expected to happen.

Additional Context

Just cloned the repository and ran the command from master. HEAD is 4801813469b78691d2e8024bd74ebd38468d27f8.

Reproduction

See above

Evidence

n/a

Remove nodes when deleting workspace

Description

What is the current behavior?

Currently, if a user deletes their workspace the nodes remain in the work area and are not deleted.

What is the expected behavior?

Nodes should be cleaned up when the workspace is deleted.

Additional Context

This is happening if the user has multiple workspaces or a single workspace

Reproduction

  1. Delete Workspace
  2. Observe

Evidence

image

Show relationships available on an entity type without linking and Create one

A button, menu item, whatever.
For instance, I click and create a Pod.
I should now be allowed to click on the Pod entity (circle node) and have a way to "Show Relationships Available" in a list view... even cooler would be to allow to then click on one in the list and create from there, just as I do with the + button.

Enable sub-selections in key picker

Description

Why should this feature be added?

To make selecting resources properties & sub-properties a lot simpler. This will save users a lot of unnecessary clicks.

How would you like the feature to work?

We've discussed a tree-view that once you select a property it's children will appear below and also be selectable.

What alternatives have been considered?

None at the moment.

Additional Context

This needs mocks

Add padding on arrays in Konstellate editor

Description

What is the current behavior?

There is currently no top padding, so the array inputs are butting into each other.

What is the expected behavior?

There should be an 8px top margin to match other inputs.

Reproduction

  1. Open the editor
  2. Add an array property
  3. Click the + to add more
  4. Observe

Evidence

image

Fix swagger spec for cron jobs

Description

What is the current behavior?

The swagger spec doesn't seem to be working for cron job creation. I think it's the path for it is not standard

What is the expected behavior?

Pull in spec similarly to what we are doing for all other resources.

Additional Context

This is probably affecting any resources that don't match the standard path

Reproduction

  1. Add a cron job resource
  2. Click on it and edit it
  3. Observe

Evidence

image

Enable removal of single array item

Description

What is the current behavior?

Currently, you can add to an array by +1, but to remove an array you have to remove the whole grouping.

What is the expected behavior?

Users should be able to remove by -1 as well.

Additional Context

This should function similarly to how we treat key/value pairs.

Reproduction

  1. Add multiple arrays
  2. Remove them

Evidence

n/a

Unable to deploy on macos

Description

What is the current behavior?

A clear and concise description of what is happening.
Following docs to deploy on macos with clojure.

What is the expected behavior?

A clear and concise description of what you expected to happen.

Additional Context

Add any other context about the problem.

Reproduction

  1. Run the command '...'
    (โŽˆ |default:gitlab-managed-apps) 2:46:26 [cosmic:~/Devstack/zun] 7s 1 % clojure -m figwheel.main -b dev -r
    Execution error (FileNotFoundException) at clojure.main/main (main.java:40).
    Could not locate figwheel/main__init.class, figwheel/main.clj or figwheel/main.cljc on classpath.

Full report at:
/var/folders/nd/lnt1k7zj5mj3k6fr_kky6ll40000gn/T/clojure-4971199578006207098.edn
zsh: exit 1 clojure -m figwheel.main -b dev -r
2. ...

Evidence

If applicable, add logs or screenshots to help explain your problem.

Extend the connection flow to more resources

Description

Why should this feature be added?

Currently, connections only work for a subset of resources, we need to ensure it works for every possible connection

How would you like the feature to work?

Similarly to how we handle connections now, but we need to allow the user to select how they want the resources to connect and extend it to enable more resources.

What alternatives have been considered?

none

Additional Context

Need mocks for this.

Cancel button for "Edit" modal dialog

Now there is only "Save" button here.

There is a use case where a user can make changes, but don't want to save it.

For example, he made a mistake/typo and not sure that he wants to save it.

Handling Esc button would be useful too.

Intro modal that shows creation or upload process

Description

Why should this feature be added?

This will give users clearer insight into what they can do from the beginning.

How would you like the feature to work?

A modal with the prompt:

"What would you like to do?"

a. Create Resource
b. Upload Resource

What alternatives have been considered?

Eventually, we would like to implement a more in-depth user onboarding process, however, I'm not certain that negates the usefulness of this feature.

Additional Context

Mock coming soon.

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.