GithubHelp home page GithubHelp logo

portainer / portainer Goto Github PK

View Code? Open in Web Editor NEW
28.9K 28.9K 2.3K 75.16 MB

Making Docker and Kubernetes management easy.

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

License: zlib License

JavaScript 17.42% HTML 9.80% CSS 1.35% Go 32.45% Shell 0.20% Dockerfile 0.14% Handlebars 0.01% TypeScript 38.53% EJS 0.03% Makefile 0.06% Mustache 0.01%
docker docker-compose docker-container docker-deployment docker-image docker-swarm docker-ui dockerfile hacktoberfest kubernetes moby portainer ui

portainer's Issues

Do not display duplicated volumes in Swarm mode

When the UI points to a Swarm cluster, the global volumes are listed for each node in the cluster (Docker Swarm standard behaviour).

It would be clearer to not display duplicates volumes.

Fix typo in Docker view

The Docker engine info table is called 'Cluster status'. This should be replaced with 'Engine status'.

Coherent style for all entity tables

Actually only the container table in the containers view is using the class table-hover. Either the volume, network and image tables should use it all or none of them.

Unable to remove running container

When trying to remove a running container, a message is issued 'Container removed' but the container is not removed as the -f option is not passed to the remove command.

Fix CSRF header issue when using grunt-dev

When using grunt-dev, a new container is created upon changes in the code. This cause the authKey.dat file to be recreated each time and leads to CSRF issues when trying to use POST requests against the Docker API.

ViewSpinner is not always triggered

When triggering actions that requires some processing time (such as creating a container, a network...) a spinner is displayed.

Sometimes, this spinner is not displayed which could lead to confusion.

Define a --swarm flag

The current version displays a Swarm tab in the UI. This tab should only be defined when connected to a Swarm endpoint.

Proposition: Start the application with a --swarm flag, when this flag is present, display the Swarm tab. If not, we'll consider that the application is connected to a Docker engine and then a Docker tab with information about the engine should be displayed.

CLI preview

Add a CLI preview in creation forms to display the Docker CLI command that would be created based on form parameters.

E.g. when creating a container with the following fields:

  • Name: web
  • image: nginx

The preview would output:

docker run --name web nginx:latest

Wide screen support

The UI is responsive to screen size using Bootstrap grid system, currently there's no way to support wide screens (e.g. width > 1500px) but this should be available in BS4.

twbs/bootstrap#12802

Pull image before running container

Actually, when trying to start a container with an image that is not present on the Docker host an error is issued 'No such image:'.

The image should be pulled before trying to run the container.

Rename angular modules filter and services

The name of the modules are currently:

  • dockerui.filters
  • dockerui.services

Rename them to uifordocker.filters and uifordocker.services to stay coherent with the rest of the app.

Duplicate a container

Sometimes, you want to create containers with the same configuration (network, volumes, command...) and actually you need to recreate a container from scratch.

Add the ability to duplicate an existing container configuration.

Refactor grunt tasks

Taken from #300

All the following grunt tasks are similar except for their parameters:

  • run
  • runSwarm
  • runSsl
  • runSwarmLocal
    There should be a way to specify command line options/flags to grunt so we could actually refactor all these task into one.

It would be nice to be able to use the grunt command like this:

# Local portainer instance using /var/run/docker.sock
$ grunt run
# Local portainer instance in swarm mode
$ grunt run --swarm
# Remote portainer instance using -H tcp://IP:PORT
$ grunt run IP:PORT
# Remote portainer instance in swarm mode
$ grunt run IP:PORT --swarm

Being able to specify the IP:PORT of the remote instance on the command line would also be handy and avoid hardcoding fixed IP addresses in the gruntfile.

The same issue is present for for the buildBinary, buildUnixArmBinary and buildWindowsBinary grunt tasks.

See http://gruntjs.com/frequently-asked-questions#options

Revamp dashboard

The actual dashboard does not display enough information and is useless.

Need to review and replace it's content with useful information.

Container templates

Add a new section that will allow the user to deploy container in one click.

E.g. a view with a list of templates (Elasticsearch, MySQL, Tomcat...), the user then should have the choice between 'deploy' which will trigger a container creation with predefined parameters or 'run from' which will open the container creation view with predefined parameters autofilling the form.

The templates should be declared externally and be available via REST.

  • Templates view
  • Backend
  • External definition
  • Documentation

Prometheus integration

Add the ability to poll metrics from a Prometheus backend.

Metrics from node_exporter to be added in the Swarm view.

Metrics from cAdvisor should replace the metrics available in the stats view for a specific container.

Dynamic breadcrumb

The upper part of each view is used to display a breadcrumb of the app. This breadcrumb is currently static. It needs to be updated depending on the current view in the application.

Line up dockerui flags with Docker CLI flags

We should line up the flags passed to the container with the Docker flags to provide a familiar API to anyone that's already in the docker ecosystem.

Changes:

  • --endpoint, -e updated to --host, -H and must use the following format: tcp://mydockerhost.com or unix://path/to/socket
  • add the --tlsverify flag to enable TLS support
  • add the --tlscacert flag to specify the path to the CA
  • add the --tlscert flag to specify the path to the TLS certificate file
  • add the --tlskey flag to specify the path to the TLS key file

Display all containers by default

Currently, stopped/exited containers are hidden from the containers view unless you enable Display All.

All containers should be listed, and exited/stopped containers should be hidden when disabling 'Show only running containers'.

Form validation

At the moment there is no form validation in any creation view, from validation should be added for required fields at least.

Readonly user account

Add the ability to define 'read-only' user accounts.

Such accounts have the following permissions:

  • Unable to start/alter/delete any resources (such as cannot create a container, execute actions against a container, remove an image...)
  • Ability to inspect resources (such as inspect image details, container stats, containers logs...)
  • An optional ability to use the container console

The 3rd option will be treated as an optional case during the user account creation (read only or read only with console access).

New container creation view

The current container creation tool is too messy, we need to have a cleaner/easier way to create containers.

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.