Go to file
Chaim Lev-Ari 24528ecea8
feat(edge-compute): move host jobs to edge (#3840)
* feat(endpoints): create an associated endpoints selector

* feat(schedules): remove edge specific explanations

* refactor(schedule): replace multi-endpoint-selector

* refactor(schedule): move controller to single file

* refactor(endpoints): remove multi-endpoint-selector

* feat(edge): rename host jobs to edge jobs

* feat(edge-jobs): remove edge warning

* refactor(edge-jobs): move schedule pages to edge

* refactor(edge-jobs): mv views to edgeJobs

* refactor(edge-jobs): rename edge jobs

* refactor(edge-jobs): move services to edge

* refactor(edge-jobs): move tasks datatable

* fix(edge-jobs): fix import

* fix(edge-jobs): use right services

* feat(settings): adjust host management description

* feat(edge-jobs): introduce interfaces and types

* feat(edge-jobs): implement bolt service

* refactor(edge-jobs): replace schedule routes

* refactor(edge-job): replace Schedule service

* refactor(edge-jobs): remove job_script_exec

* refactor(host): remove jobs table

* feat(edge-jobs): replace schedule

* feat(edge-jobs): load file on inspect

* fix(edge-job): parse cron correctly

* feat(edge-jobs): show tasks

* feat(host): rename tooltip

* refactor(host): remove old components

* refactor(main): remove schedule types

* refactor(snapshot): replace job service with snapshot service

* refactor(jobs): remove jobs form and datatable

* feat(edge-jobs): create db migration

* fix(main): start snapshot service with correct interval

* feat(settings): change host tooltip

* feat(edge-jobs): load endpoints

* fix(edge-job): disable form submit when form is invalid

* refactor(edge-compute): use const

* refactor(edge-jobs): use generic controller

* refactor(edge-jobs): replace $scope with controllerAs

* refactor(edge-jobs): replace routes with components

* refactor(edge-jobs): replace functions with classes

* refactor(edge-jobs): use async/await

* refactor(edge-jobs): rename functions

* feat(edge-jobs): introduce beta panel

* feat(edge-jobs): allow single character names

* fix(snapshot): run snapshot in coroutine

* feat(edge-jobs): add logs status

* feat(filesystem): add edge job logs methods

* feat(edge-jobs): intoduce edge jobs tasks api

* feat(edge-jobs): remove schedule task model

* fix(fs): build edge job task file path

* fix(edge-jobs): update task meta

* fix(edge-jobs): return a list of endpoints

* feat(edge-jobs): update logs from agent

* feat(edge-jobs): collect logs

* feat(edge-jobs): rename url

* feat(edge-jobs): refresh to same tab

* feat(edge-jobs): remove old info

* refactor(edge-jobs): rename script path json

* fix(edge-job): save file before adding job

* feat(edge-job): show retrieving logs label

* feat(edge-job): replace cron with 5 places

* refactor(edge-jobs): replace tasks with results

* feat(edge-jobs): add auto refresh until logs are collected

* feat(edge-jobs): fix column size

* feat(edge-job): display editor

* feat(edge-job): add name validation

* feat(edge-job): set default time for 1 hour from now

* feat(edge-job): add validation for cron format

* feat(edge-job): add a note about timezone

* fix(edge-job): replace regex

* fix(edge-job): check for every minute cron

* style(edge-jobs): add reference for cron regex

* refactor(edge-jobs): rename migration name

* refactor(edge-job): rename edge job response

* refactor(snapshot): rename snapshot endpoint method

* refactor(edge-jobs): move tasks handler to edgejobs

* feat(security): introduce a middleware for edge compute operations

* feat(edge-job): use edge compute middleware

* feat(edge-groups): filter http actions based on edge setting

* fix(security): return from edge bouncer if failed

* feat(edge-stacks): filter http actions based on edge setting

* feat(edge-groups): show error when failed to load groups

* refactor(db): remove edge-jobs migration

* refactor(migrator): remove unused dependency

Co-authored-by: Anthony Lapenna <lapenna.anthony@gmail.com>
2020-06-25 15:25:51 +12:00
.github chore(project): require Portainer logs (#3508) 2020-01-19 18:46:40 +13:00
.vscode chore(project): add angular components code snippets (#3649) 2020-06-04 17:01:31 +12:00
api feat(edge-compute): move host jobs to edge (#3840) 2020-06-25 15:25:51 +12:00
app feat(edge-compute): move host jobs to edge (#3840) 2020-06-25 15:25:51 +12:00
build feat(project): introduce toolkit for containerized dev (#3863) 2020-06-17 13:36:11 +12:00
distribution chore(version): bump version number 2020-06-03 11:40:03 +12:00
plop-templates chore(plop): fix controller import in template (#3948) 2020-06-22 19:38:22 +12:00
test chore(project): add prettier for code format (#3645) 2020-04-11 09:54:53 +12:00
webpack revert(azure): revert removal (#3890) 2020-06-09 14:43:32 +12:00
.babelrc fix(registry): Performance issues with Registry Manager (#2648) 2019-10-14 15:45:09 +02:00
.codeclimate.yml refactor(app): introduce webpack and babel (#2407) 2019-03-21 18:46:49 +13:00
.dockerignore chore(codefresh): add codefresh.yml (#887) 2017-05-25 11:08:26 +02:00
.eslintignore refactor(app): introduce webpack and babel (#2407) 2019-03-21 18:46:49 +13:00
.eslintrc.yml chore(eslint): add rule to sort imports (#3715) 2020-04-15 11:46:34 +12:00
.gitignore chore(project): add angular components code snippets (#3649) 2020-06-04 17:01:31 +12:00
.godir refactor(global): rename uifd to portainer 2016-09-04 14:50:37 +12:00
.prettierrc chore(project): add prettier for code format (#3645) 2020-04-11 09:54:53 +12:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md (#946) 2017-06-22 05:11:40 +02:00
CONTRIBUTING.md Update CONTRIBUTING.md 2020-04-21 11:45:01 +12:00
LICENSE chore(license): update license info so that GitHub recognizes it (#1924) 2018-05-23 14:47:43 +02:00
README.md docs(readme): update README 2020-05-12 10:30:12 +12:00
build.sh chore(build): update build script and add grunt yarn script (#2276) 2018-09-16 10:34:46 +08:00
docker-compose.pull-dog.yml feat(project): update pull-dog configuration 2020-05-11 11:23:56 +12:00
extensions.json feat(extensions): update offline manifest 2019-12-03 09:50:10 +13:00
gruntfile.js feat(project): introduce toolkit for containerized dev (#3863) 2020-06-17 13:36:11 +12:00
jsconfig.json revert(azure): revert removal (#3890) 2020-06-09 14:43:32 +12:00
package.json feat(project): introduce toolkit for containerized dev (#3863) 2020-06-17 13:36:11 +12:00
plopfile.js chore(project): add angular components code snippets (#3649) 2020-06-04 17:01:31 +12:00
postcss.config.js chore(project): add prettier for code format (#3645) 2020-04-11 09:54:53 +12:00
pull-dog.json feat(pulldog): configure expiry 2020-06-15 13:31:28 +12:00
webpack.config.js refactor(app): introduce webpack and babel (#2407) 2019-03-21 18:46:49 +13:00
yarn.lock feat(project): introduce toolkit for containerized dev (#3863) 2020-06-17 13:36:11 +12:00

README.md

Docker Pulls Microbadger Build Status Code Climate Donate

Portainer is a lightweight management UI which allows you to easily manage your different Docker environments (Docker hosts or Swarm clusters). Portainer is meant to be as simple to deploy as it is to use. It consists of a single container that can run on any Docker engine (can be deployed as Linux container or a Windows native container, supports other platforms too). Portainer allows you to manage all your Docker resources (containers, images, volumes, networks and more) ! It is compatible with the standalone Docker engine and with Docker Swarm mode.

Demo

You can try out the public demo instance: http://demo.portainer.io/ (login with the username admin and the password tryportainer).

Please note that the public demo cluster is reset every 15min.

Alternatively, you can deploy a copy of the demo stack inside a play-with-docker (PWD) playground:

Unlike the public demo, the playground sessions are deleted after 4 hours. Apart from that, all the settings are same, including default credentials.

Getting started

Getting help

For FORMAL Support, please purchase a support subscription from here: https://www.portainer.io/products-services/portainer-business-support/

For community support: You can find more information about Portainer's community support framework policy here: https://www.portainer.io/2019/04/portainer-support-policy/

Reporting bugs and contributing

  • Want to report a bug or request a feature? Please open an issue.
  • Want to help us build portainer? Follow our contribution guidelines to build it locally and make a pull request. We need all the help we can get!

Security

Limitations

Portainer supports "Current - 2 docker versions only. Prior versions may operate, however these are not supported.

Licensing

Portainer is licensed under the zlib license. See LICENSE for reference.

Portainer also contains the following code, which is licensed under the MIT license:

UI For Docker: Copyright (c) 2013-2016 Michael Crosby (crosbymichael.com), Kevan Ahlquist (kevanahlquist.com), Anthony Lapenna (portainer.io)

rdash-angular: Copyright (c) [2014][elliot hesp]