Git Product home page Git Product logo

canonical / juju-dashboard Goto Github PK

View Code? Open in Web Editor NEW
21.0 20.0 23.0 15.21 MB

View the real-time status of your Juju or JAAS environment.

Home Page: https://juju.is

License: GNU Lesser General Public License v3.0

HTML 0.11% Shell 0.06% JavaScript 0.55% Dockerfile 0.05% SCSS 3.04% TypeScript 96.14% Go 0.05%
react redux javascript juju jaas juju-dashboard hacktoberfest web-and-design

juju-dashboard's Introduction

Juju Dashboard

View the real-time status of your Juju or JAAS environment.


codecov Licence: LGPLv3


Juju Dashboard


Juju Dashboard displays your controllers and models, allowing you to see the status of your deployments, manage access, run actions and configure applications. The dashboard can be used with your local Juju environments and can also be found as a part of JAAS.

Deploy

Juju Dashboard can be deployed in your controller model using either the VM charm or Kubernetes charm (pre Juju 3.0 controllers included Juju Dashboard automatically).

To deploy the dashboard, first switch to the controller model:

juju switch controller

Next deploy the charm. For VM deployments run:

juju deploy juju-dashboard dashboard

For Kubernetes deployments run:

juju deploy juju-dashboard-k8s dashboard

Then integrate the controller and the dashboard:

juju integrate dashboard controller

Finally, expose the dashboard:

juju expose dashboard

Now you can access the dashboard by running:

juju dashboard

This command will open a connection to the dashboard output the dashboard address and credentials.

For further details see the docs on managing the dashboard.

Docs

Learn more about the Juju Dashboard in the Juju docs.

If you're new to Juju you may also like to take a look at the getting started docs.

If you think there's something that needs documenting or an issue with the current docs let us know either via the community or file an issue.

Community

Whether you need help, have suggestions or want to get in contact for any reason you can join us in the Juju Discourse or find us on Mattermost.

Issues

If you've found a bug then please let us know by filing an issue. If you're not sure if it's a bug you can discuss the issue with us first.

Juju Dashboard integrates with a number of parts of the Juju ecosystem. Filing bugs for the relevant codebase will help the issue to be seen by the right team:

Contributing

Juju Dashboard is open source and we welcome contributions. Take a look at the contribution guide guide to find out how to contribute to the project.

Development

Juju dashboard is built using a number of open source tools including React, Redux Toolkit and TypeScript as well as some internal libraries, such as Jujulib, bakeryjs, Vanilla Framework, Vanilla React Components and last but not least Juju.

To get started working on the dashboard take a look at our development guide.

Release

Check out the release guide for details about how to release Juju Dashboard and its dependencies.

Licence

Juju Dashboard is licensed under the LGPLv3 by Canonical Ltd.


Want to work on projects like this? We're hiring!

With โ™ฅ from Canonical

juju-dashboard's People

Contributors

anthonydillon avatar barrettj12 avatar barrymcgee avatar dependabot[bot] avatar goulinkh avatar hatched avatar huwshimi avatar jpmartinspt avatar nottrobin avatar petermakowski avatar petesfrench avatar renovate-bot avatar renovate[bot] avatar solazio avatar sowasred2012 avatar tbille avatar vladimir-cucu avatar

Stargazers

 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

juju-dashboard's Issues

Details page: CLI sticky and detail table scrollable

@cristinadresch commented on Fri Oct 11 2019

Latest visuals to follow: https://app.zeplin.io/project/5d2dfd8e5b67f14c5e1d2aef/screen/5da856a44c5d384ecfb054fc

For this issue we can just amend the following (other changes will be in the model details styling issue)

  • We need to add scroll to the table. Please note the left navigation is fixed, so only the table/content area should scroll
  • The CLI needs to be made sticky so only the content on the table scrolls
  • The side navigation when expanded/on hover should go above the CLI module

Update sanitized redux store dump and tests.

With the new modelData structure we need to update the testing data for the redux-store dump.

The sanitization process can take some time so this would be a good time to write a script to take a redux store and sanitize it.

Convert InfoPanel and ModelDetails to use new modelData selector

A combined model data object has been created in the redux store to make working with combined model data easier now and in the future when the new API's become available. Before the old keys can be removed these components need to be converted to use the new data.

Expand TableList component to support empty states

If there is no data available for a table in the model list the table component should render a 'no data' message that's passed in as a prop. This work would be done to the shared component so thought has to be done how this work will effect others.

Unable to log into terminal

Screenshot 2019-10-14 at 13 19 42

The error message:

Close and re-open the terminal window to reconnect.

...is confusing as we don't provide a way for the user to terminate/restart the terminal.

Update dependencies

It doesn't appear that the renovate config is working as intended. I'll update them manually for now.

Pull out model status parser into utils file to be reused

The logic to determine when a model is in error can be used in the selectors but also in the UI when trying to extract error data from the models.

We should move the logic out from the selectors into a util that can be imported elsewhere.

Remove reliance on window.location hack in test

Introduced in #54 In order for the primary nav to interact with the window.location the tests required a little hack around overriding the window.location values. I don't think this is necessary any longer if the tests use the MemoryRouter and the component uses the router hooks.

Controller connection disconnects before subsequent modelInfo calls can be made

Describe the bug
The controller connection appears to disconnect after a short period of time. If you leave the application running you'll eventually see it time out. It's possible we have to enable the pinger to keep the connection alive. With a sufficiently large list of models the model status requests take too long and the next controller request falls outside the 'keep alive' time limit.

To Reproduce
Steps to reproduce the behavior:

  1. Open application and have it list the models
  2. Open the devtools and wait
  3. The controller connection will time out.

Screenshots
Screen Shot 2019-10-23 at 12 22 37 PM

Navigation: After logging out you can't log back in

When logging out we clear the bakery to remove the user data but the application doesn't create a new bakery when logging in so you cannot log back in after logging out.

The login/out mechanisms need to be improved to make for easier clearing of user data and more robust checks for logins.

Introduced #111

Extract route setup into separate component

We rely on the route specifications in the primary navigation as well as to route for the application. We should split it out into a separate component exporting both the route components and the route definitions.

Model table content grows in height on each re-render in Firefox

Describe the bug
Every time the table re-renders, so every time the data changes, each row gets bigger.

To Reproduce
Steps to reproduce the behavior:

  1. Use Firefox
  2. View your models and wait

Screenshots
Screen Shot 2019-10-24 at 1 55 33 PM

Desktop (please complete the following information):

  • OS: OSX
  • Browser Firefox
  • Version 70

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.