mirror of https://github.com/portainer/portainer
develop
release/2.24.0
release/2.24
release/2.23
release/2.22
release/2.21
release/2.21.4
placeholder
sync-test
fix/r8s-120/app-table-settings-persistence
fix/r8s-109/alow-standard-user-to-edit-volumes
fix/r8s-103/more-resources-system-filtering
fix/BE-11102/force-redeploy-edge-stack
sync-test-222
sync-test-221
test-update
vault/release-2.21
vault/develop
refactor/EE-7128/webeditor-doc-type
test-version-semver
feat/be-11276/be-ce-agent-change
feat/be-11276/be-ce-agent-change-lts
feat/be-11275/be-ce-change
feat/be-11275/change-be-ce-lts
vault/release-2.22
fix/r8s-99/create-application-ns-dropdown
rc/2.22.0-rc1
chore/BE-11236/change-linode-branding-to-akamai-connected-cloud
rc/2.21.0-rc2
refactor/k8s-namespaces
rc/2.21.0-rc1
yd-test
fix/EE-7284/show-services-explaination
refactor/EE-2229/docker-images-list-view
refactor/EE-2208/docker-configs-list-view
refactor/EE-2300/env-item-view-react
develop-james-nfs
refactor/EE-6923/settings-api
fix/EE-7150/tls-cipher-suites-2.20
release/2.20
fix/7011/refactor3
fix/EE-6631/wait-in-defer-close-websocket
fix/EE-7049/update-reachable-check-release
fix/EE-6705/namespace-yaml-no-rq
release/2.19
refactor/data-cy
fix/EE-6855/removed-user-cause-auto-update-fail
fix/release/EE-6855/removed-user-cause-auto-update-failure
fix/release/EE-6855/removed-user-cause-auto-update-fail
dependabot/npm_and_yarn/undici-6.11.1
dependabot/npm_and_yarn/vite-5.2.8
fix/release/EE-6808/add-api-endpoint-access-check-1
dependabot/npm_and_yarn/express-4.19.2
dependabot/npm_and_yarn/webpack-dev-middleware-5.3.4
dependabot/go_modules/github.com/docker/docker-24.0.9incompatible
chore/XT-1188/add-data-cy-for-backup-and-restore
dependabot/npm_and_yarn/follow-redirects-1.15.6
fix/EE-6843/tunnel-timeout
dependabot/go_modules/google.golang.org/protobuf-1.33.0
fix/EE-6818/api-error-message-rel
fix/EE-6818/api-error-message
dependabot/npm_and_yarn/sanitize-html-2.12.1
fix/EE-6744/compose-runc-develop
dependabot/npm_and_yarn/ip-2.0.1
fix/EE-5936/EE-6736/reject-to-assign-edge-admin
fix/release/EE-5936/EE-6736/reject-to-assign-edge-admin
fix/release/EE-6627/lint-failure
fix/EE-6627/lint-failure
fix/EE-6723/use-pure-admin-release
fix/EE-6723/use-pure-admin
fix/EE-6647/tables-correct-external-display-for-resource-release
fix/EE-6647/tables-correct-external-display-for-resource
fix/EE-6596/edge-stack-create-template
dependabot/npm_and_yarn/browserslist-4.22.2
feat/EE-6454/support-docker-compose-run
dependabot/npm_and_yarn/semver-5.7.2
refactor/EE-6549/EE-6444/git-redeploy-form-section
fix/EE-6411/env-vars-cursor-shift
fix/EE-6459/CVEs
fix/EE-661/staticcheck
fix/EE-6435/close-before-restore-release
revert-10718-fix/EE-6392/show-edit-external-app
fix/EE-6346/gitops-commit-links-2-release
fix/EE-5664/oauth-show-asterisks-placeholder-release
fix/release/EE-6373/target-path-exist-error-when-upgrade
fix/EE-6373/target-path-exist-error-when-upgrade
fix/EE-661/enable-ineffassign
fix/EE-6377/singleflight-gitops-rel
fix/EE-6114/gitops-data-race-rel
fix/EE-6114/gitops-data-race-dev
fix/EE-6373/upgrade-target-path-exists
fix/EE-6321/gitops-online-check-rel
fix/EE-6211/stack-build-context-validation-rel
fix/EE-6211/stack-build-context-validation-dev
release/2.19.2
feat/EE-5573/related-changes
refactor/with-form-validation-set-field-value
refactor/EE-5521/migrate-app-create-form-to-react
refactor/EE-2307/EE-5207/container-base-form
fix/EE-4602/switch-color-fix-rel
fix/EE-4602/switch-color-fix-rel-new
feat/EE-4337/EE-4484/CE/docker-networks-datatable
refactor/EE-4337/service-task-datatable
fix/EE-5980/version-stack-backward-capability
snyk-fix-0fc01e6b5b4266e90ae8d7d367ac399f
feat/EE-4500/gorm-sqlite-poc
release/2.18
fix/EE-5695/env-manage-access
fix/EE-5497/helm-repo-url-update
fix/EE-5406/remove-path-ingress-host-rel
fix/EE-3841/fix-associated-environments
refactor/EE-2270/EE-5502/settings-components
feat/EE-4986/enable-lb-np-type-ingresses
fix/EE-1976/support-copy-paste-in-container-console
fix/revert-makefile-218
fix/dev-build-scripts
fix/EE-5311/endpoint-api-swagger-doc
fix/EE-3059/security-scan-debug
feat/EE-5028/security_teaser
fix/EE-5234/non-existent-pvc-rel
fix/EE-5234/non-existent-pvc
fix/EE-5149/namespace-cache-refresh-rel
fix/EE-4498/fix-swagger-id-types
dependabot/npm_and_yarn/minimist-1.2.8
fix/EE-4839/normalize-project-name
dependabot/go_modules/api/golang.org/x/net-0.7.0
release/2.17
feat/EE-4754/omit-empty
chore/update-tool-versions
fix/EE-4991/kube-storage-detection
chore/EE-4951/update-edgestack-test
chore/remove-old-pkg-path
dependabot/npm_and_yarn/fast-json-patch-3.1.1
feat/EE-4752/go-json
fix/release/EE-4781/no-error-message-if-ce-upgrade-fails
dependabot/npm_and_yarn/json5-1.0.2
fix/EE-4766/fix-data-race-in-edgeJobTasksCollect
fix/EE-4781/no-error-message-if-ce-upgrade-fails
feat/EE-3604/ui-edge-devices
dependabot/npm_and_yarn/decode-uri-component-0.2.2
feat/EE-3417/EE-3418/multiple-git-repository
release/2.16
dependabot/npm_and_yarn/loader-utils-1.4.2
dependabot/npm_and_yarn/deep-object-diff-1.1.9
fix/EE-4548/vulnerable-to-path-traversal-attacks
fix/EE-3155/cannot-save-internal-authentication
fix/EE-4286/update-tls-cert-for-docker-env
feat/fedex/sqlite
feat/fedex/sqlite-settings
revert-7749-bug/EE-4311/ingressclass-disallowed-rel
fix/EE-4322/namespace-disallow
fix/EE-4312/js-paths
release/2.15
fix/EE-3641/page-title-fix
fix/root-provider
feat-fdo-1.1
feat/EE-3894/ui-waiting-room-icon
snyk-fix-afd68b0b2e0ac933fa52b1544ba67c24
feat/EE-3513/ui-docker-volume-browser-2
feat/EE-3388/EE-3478/ui-improvements-namespace-access
feat/EE-3505/ui-docker-images-item-test
fix/EE-3683/stack-permissions-are-ignored
feat/EE-3576/portainer-wizard-ui-change
feat/EE-3375/ce/wizard-add-identifiers-for-TA
feat/EE-3491/new-docker-create-ui
release/2.14
feat/DTD-102/new-logger
feat/EE-3533/ui-edge-stacks-create
dependabot/npm_and_yarn/terser-4.8.1
fix/EE-2907/ce/missing-kubernetes-sidebar-entries
fix/EE-3686/fix-tooltip-double-issue
fix/ee-3506/update-image-list-ui
fix/EE-3521/swarm-service-list-ui
feature/EE-3636/icon-styling
fix/EE-3512/swarm-secrets-list-ui
fix/EE-3488/swarm-config-list-ui
fix/ee-3509/update-network-list-ui
fix/ee-3516/update-vol-list-ui
feat/EE-2552/EE-3451/-be-supply-build-info
oscarzhou-portainer-patch-1
feat/EE-3079/edge-stack-logs
fix/EE-3445/open-tooltip-on-hover
fix/EE-3324/password-change-error
feat/EE-3252/remove-unused-port-on-extension
feat/3143-nvidia-container-toolkit
edge-wss
dependabot/npm_and_yarn/grunt-1.5.3
podman-2022
release/2.13
debug-api-endpoint
fix/EE-3152/tls-downgrade-release
feat/EE-3152/tls-downgrade
feat/EE-3062/EE-3085/document-extension
feat/ce-220-security-scan
fix/EE-2835/add-edge-groups-column-in-edge-device-view
feat/EE-2680/allow-env-vars-passed-on-webhooks
fix/EE-2966/migration-test-dev
dependabot/npm_and_yarn/async-2.6.4
feat/EE-2747/docker-desktop-extension-auto-generation
dependabot/npm_and_yarn/node-forge-1.3.1
snyk-fix-bcb96aa2f9b730b2f44c3825ceba182a
fix/EE-2594/empty-network-option-in-windows
EE-2691-experiment
snyk-fix-af06d21279ebae87a2d003141849185d
fix/broken-go-lint-settings
release/1.25
snyk-fix-411816fd9cf6e70ce95f0fc76a2e8f42
feat/EE-810/EE-2691/disable-instance-if-not-initialized
fix/EE-2167/Migrate-124-users-to-213
refactor/EE-2545/migration-improvements
feat/EE-2597/create-object-with-string-id
feat/EE-2404/async-edge-command-queue
1.24
feat/support-agent-auto-upgrade
chore/reduce-dependency-obfuscation
fix/EE-2167/Migrate-1x-users-to-2x
feat/EE-2493/poc-mtls-for-edge-agent
spike/DTD-58/DTD-72/useractivity-middleware
fix/EE-2432/edge-stacks-status-update
master
release/2.11
feat/dev-metrics
fix/EE-2489/release/amt-devices-table-hide-expand
2.11.1-fdo
fix/release/remove-double-import
feat/EE-1905/environment-type-filter
db-fixture-support
feat/edge-devices-view-react
dependabot/npm_and_yarn/y18n-4.0.3
feat/INT-32/intel-images-openamt
dependabot/npm_and_yarn/dns-packet-1.3.4
dependabot/npm_and_yarn/hosted-git-info-2.8.9
dependabot/npm_and_yarn/ssri-6.0.2
feat/EE-1852/EE-1983/encryption-key-with-store-refactor
feat/ee-1977/rollup-duplicated-volumes
feat/EE-1852/EE-1983/encryption-key
feat/EE-506/release-2.11-support-base-url
revert-6182-revert-6172-fix/INT-6/open-amt-config
fix/ee-2060/support-upload-huge-file
feat/INT-16/poc-amt-api-rpc-handler
fix/EE-1939/provide-right-order-to-registries-in-dropdown-menu
fix/EE-1973/container-logs-download-extra-CR
feat/INT-15/proxy-mps
release/2.9
fix/swagger/restore-params
fork_branch
feat/EE-1942/resource-setting-update
toolkit-v2
fix/EE-1922/harden-filesystem-service
fix/EE-1971/bubble-panic-error
fix/EE-1971/bubble-panic-error-release
chore/upgrade-to-bbolt
poc-searchbar
fix/EE-1867/standard-user-unable-to-access-pod-and-node-stats
fix/EE-1911/can-not-update-application-publishing-mode-develop
fix/EE-1911/can-not-update-application-publishing-mode
feat/EE-1611/EE-1878/pull-and-redeploy-button-visibility
fix/EE-1872/namespaces-stack-deletion-develop
fix/EE-1872/namespaces-stack-deletion
feat/EE-568/admin-auto-population-ldap-ce
fix/release-conflicts
feat/EE-568/admin-auto-population-ldap
snyk-fix-234920d529b1716a428f2b20a3048d37
fix/EE-1845/ldap-user-enable-release
fix/EE-1845/ldap-user-enable
fix/EE-882/EE-1793/box-selector-icon-position
fix/EE-1316/jwt-is-exposed-in-the-activity-log
feat/EE-1543/Allow-Services-to-be-managed-for-external-kube-apps
feat/EE-189/EE-577/support-git-automated-sync-for-k8s-applications
feat/EE-577/EE-1760/remove-stack-when-no-app
XT-807-ui-automation-kube-smoke-tests-helm
feat/EE-1627/introduce-the-ability-to-filter-applications-by-type
bug/EE-1734/Registry-page-displays-No-registry-available-despite-being-dockerhub-registry-available
feat/EE-882/EE-1672/registry-view
feat/EE882/EE-1675/logs
fix/EE-1439/modify-new-data-store-check-logic
docs/add-tool-versions
fix/EE-1696/polling-webhook-of-stack-from
fix-release-production
fix/EE-1714/add-debug-log-for-volume-migration-develop
fix/EE-1714/add-debug-log-for-volume-migration
fix/EE-1707/cannot-deploy-git-stack-without-username-de
fix/EE-1707/cannot-deploy-git-stack-without-username
fix/EE-1678/failed-to-create-namespace-when-having-registry-de
feat/EE-1635/remove-stack-from-app-list
fix/EE-1710/Error-message-in-stats-view-non-admin-missing-description
fix/EE-1710/error-message-in-stats-view-non-admin-missing-description
fix/EE-1709/Fix-git-stack-authentication-on-by-default
fix/EE-1709/fix-git-stack-authentication-on-by-default
fix/EE-1712/no-icon-displayed-when-template-created-via-upload-file
fix/EE-1712/No-icon-displayed-when-template-created-via-upload-file
fix/EE-1678/failed-to-create-namespace-when-having-registry
fix/EE-1661/fully-rename-endpoint-to-environment-in-swagger-doc
fix/EE-1660/fix-custom-logo-not-updated
fix/EE-1636/fix-question-mark-alignment-in-PAT-field
test/node_env
fix/EE-1653/wrong_table_background_color_for_helm_application_listing
feat/ee-834/fix-openapi-errors
fix/EE-1073/fix_difficulties_selecting_mixed_protocols_for_k8s
feat/EE-1635/removed-stack-deletion-in-app-list-page
feat/EE-1089/First-UX-experience
fix/EE-1586/file-not-persisted-after-deployed-with-url
feat/EE-577/EE-1594/use-user-token-for-autoupdate
chore/EE-1052/Replace-all-the-references-to-deviantony
fix/EE-1591/non-admin-users-cannot-deploy-charts-containing-secrets
feat/EE-909/Dark_high_contrast_mode_supported
feat/EE-1206/Rename_endpoints_to_environments
snyk-fix-ed0fa419898eea7805b20ec7511ebde2
fix/EE-1553/unable-to-apply-note-to-k8s-application
feat/EE-809/EE-466/kube-advanced-apps
feat/EE-1278/swagger-doc-fixes
fix/EE-1454/tag-not-attached-to-local-k8s-endpoint
fix/EE-1564/CE-missing-header-namespace-create-view
feat/EE-1096/CE-registry-delete-warning-modal
default-namespace-selector-behavior
snyk-fix-f52082e2df9f9108004d0a670eeb3f6a
snyk-fix-491ba6a89fe0b2b0e65e3b4c0ef0fd14
fix/EE-1505/CE-update-default-namespace
fix/EE-1424/CE-equal-in-env-vars
fix/EE-1291/EE-1292/git-stack-form-validation-improvements
fix/release-commits-cherrypick
fix/EE-1540/fix_changing_helm_repo_not_refresh_issue
fix/EE-1540/changing_the_default_helm_repo_still_shows_old_charts
fix/EE-1511/robust-kubernetes-API-proxy
poc-kube-deploy-from-url
toolkit-update
release/2.6
chore/EE-1509/replace-stalebot-with-action
feat/EE-466/EE-1199/front-end-CE-backport
release/2.6.3/EE-1143/update-networking-v1beta1-to-v1
feat/EE-1502/auth-detail-not-remembered
feat/EE-466/EE-1189/backport-to-ce
feat/EE-248/EE-1425/enable-save-button-when-password-exists
fix/EE-1402/increment-api-version
feat/EE-1178/CE-clarify-metrics-switch
demo-v2
feat/EE-248/EE-1323/dont-return-password-back
feat/EE-248/EE-1310/substituting-from-env-file-in
feat/update-github-banner
feat/update-readme-from-marketing
snyk-fix-6a198797807c43d474095224f758f0b8
refactor/EE-1053/CE-rename-storage-section
feat/EE-951/CE-registries-accesses-relocation-indicator
feat/EE-883/CE-getting-started-page
snyk-fix-8976c3e2173dcb1c31a7b3f2e97ebc23
fix/EE-1152/importing-images
feat/EE-1148/modify-ldap-get-groups-func
feat/EE-986/add-admin-mapping-section-inLDAP
feat/EE-1021/fe-backport-automated-sync-for-stacks
528
feat/ee-370/ee-515/ce-update-to-1-16
fix/EE-1072/ingresses-hostname-fields-fix
feat/EE-992/update-ldap-settings
feat/EE-930/admin-auto-population-oauth
feat/EE-971/admin-mapping-section-oauth
snyk-fix-f7a7da24eb70f58d73a6949d4765aa68
feat/EE-975/mapping-oauth-group-to-admin-role
refactor4071-constants-step2
feat/EE-971/admin-mapping-section
feat/EE-161/redeploy-stack-from-git
feat/EE-781/change-edit-stack-view
feat/EE-829/implement-edit-git-deploy-stack-endpoint
feat/EE-780/change-add-stack-view
snyk-fix-e6fed59bc40accf75940b773b4175580
snyk-fix-536f1662b19d0dec5659b4501ba650d2
feat/EE-447/k8s-advanced-deployment-from-git-repo
snyk-fix-6f2c5f2ac6b982591828a069f9645d54
Testing-merge-of-161-446-447
fix/EE-948/swagger-param-name-fix-for-endpoint-create
release/2.5
feat/EE-786/create-stack-updates-for-git-sync
feat/GH/827-service-healthchecks
epic/CE-309/backup-private-registries-20210531
fix/EE-812/can-not-deploy-stack-app-templates
snyk-fix-19f7491fbb67710fad7da7da2d291d88
epic/CE-309/feat/CE-512/backport-ee-30-backend
feat/EE-608/update-store-and-retrieve-settings-handler
epic/CE-309/feat/CE-513/backport-ee-30-frontend
feat/EE-643/logout-logic-changes
feat/EE-672/CE-reorder-placement-policies-options
feat/EE-607/settings-view
fix/CE-575/type-downgrade-error
fix/EE-645/ACI-UAC-breaks-when-redeploying-container-with-same-name-as-one-already-existing
revert-5021-feat/EE-596/update-agent-version-in-deployment-instructions
feat/CE-223/migrate-selector
snyk-fix-520e95e409cb8ddd217a7f0aa2160ce9
feat/EE-596/update-agent-version-in-deployment-instructions
snyk-fix-6fd487252f28262d8a4f0f6a99808327
snyk-fix-5aff38ac9bd148fe8a3b5d45adb2dcc8
snyk-fix-bdfbcf8def6d0925eb3a3090aa4fec17
snyk-fix-c741bd40fab715925bb9221fefb7f1d9
revert-4952-feat/CE-414/add-UAC-to-ACI
refactor/EE-31/use-docker-compose-wrapper
snyk-fix-89cdb3c26b67f4a51e27f70eeefcb3c4
feat(backup)-backup-restore-system
feat(backup)-add-s3-stubs-to-ce
snyk-fix-a8022c23ed6afd9c00eb9dd4441da8ef
snyk-fix-b72acb2aca16fd54a76ac2eda18230d2
fix/EE-458/pull-latest-image-toggle-missing
snyk-fix-dbde1a343d9bd699ea8bb876f27953de
snyk-fix-9de633ccccac0fa6c366b8c9747b637e
snyk-fix-d3a07bfe2eea4450b0c42fa6adb9007c
Chore--Add-Licenses-attributions
feat-1.24.2
feat/CE/487-registry-access-control-merge
epic/CE-309/private-registries-backup
feat/CE/487-registry-access-control
fix/CE-478/Unable-to-save-cluster-configuration-with-fresh-deployment
feat/CE-493/update-docker-swarm-kubernetes-sidebars
feat/CE-490/kubernetes-registries-support
feat/CE-485/remove-registry-usage-information-panel
feat/CE-486/introduce-dockerhub-authenticated
feat/GH/4419-kubernetes-create-volume
feat/GH/4240-show-error-reason-when-custom-template-creation-fails
fix/CE-471/config-vars-showing-on-environment-variables-section-on-application-edit-screen
fix/CE/466-app-templates-not-loading-error
fix/CE/466-app-templates-not-loading
fix/CE-463/cluster-configuration-fresh-deployment
fix/CE/4843-update-application-persisted-data
fix/ce-51-labels
feat(dev)--CE-420-Add-automatic-rebase-to-github
2.1.1
feat/GH/3143-nvidia-container-toolkit
feat/GH/4743-not-filter-custom-templates
release/2.1
fix/private-registries
fix/ce-401-private-registry
feat/GH/4779-kubernetes-edit-yaml
fix-ce395-parse-empty-configuration-as-empty-string-yaml
fix-ce#394-trigger-port-validation-while-changing-protocol
fix-ce394-trigger-port-validation-while-changing-protocol
fix/missing-kubectl-download
sec/utils-extend
fix/compose-Bump-docker-compose-to-1.28.2
feat/cd-187-docker-compose-wrapper
feat-4728-better-form-validation-for-configuration-keys
feat/cd-187-add-auth-proxy-to-docker-compose
chore-4473-bump-kompose-version
fix-4503-cannot-access-configuration-details-view-containing-binary-data
release/2.0.1
feat/GH/4419-create-volume
fix/201-api-version
revert-4475-chore-ce-86-bump-kompose-version
CE-185-build-static-docker-compose-linux-binary
revert-4418-feat/gh/3889-stacks-create-update-dates
fix-4595-transform-username-to-be-dns-compliant
feat/GH/4011-pods-as-applications
fix-4553-revalidate-configuration-name-when-change-resource-pool
fix-4547-override-confgiuration-keys-disappear
feat4545-matomo
fix4463-resourcecontrol-deletion
feat95-applications-configurations-modals
fix/GH/4502-update-sensitive-configuration
feat/GH/4404-start-without-endpoint
fix/GH/4488-refreshing-yaml-panel-change-panel
fix/GH/4492-cluster-setup-incorrectly-expand-endpoint-sidebar
fix/GH/4490-invalid-display-load-balancer-panel
chore56-add-JS-source-map
Disable-Container-Capabilities-for-non-admins
fix/gh/4390-sort-labels
fix-k8s-daemonset-noschedule
fix-k8s-volume-filter
fix-k8s-system-volumes-filter
feat4204-banner
revert-4197-fix-login-after-restart
telemetry-matomo
mockup4003-placement
demo
feat-db-migration-1.24.1
revert-3966-feat454-endpoint-url
fix3604-remove-runtime-persistence
fix3936-add-database-migration
feat-rbac-tests
poc-orphaned-stack
2.0
feat3742-telemetry
feat3744-aci
feat3580-username-lowercase
fix3272-bad-volume-ownership
fix-windows-multiarch-build
feat-1807-service-network-management
fix3429-networks-object-undefined
hotfix-1.22.2
feat2901-introduce-backup
feat2928-dockerhub-registry
feat1752-introduce-deploymentkeys
feat-upload-files-container
storidge-standalone
dbg11042019
refactor-es9-migration
fix2626-endpoint-management-cmd-line
feat2456-ux-high-latency
feat1752-stack-deploy-keys
adsense
feat807-i18n
gh-pages
2.24.0
2.21.4
2.23.0
2.21.3
2.22.0
2.22.0-rc1
2.21.2
2.21.1
2.21.0
2.21.0-rc2
2.21.0-rc1
2.19.3
2.19.2
2.19.1
2.19.0
2.18.4
2.18.3
2.18.2
2.18.1
2.17.1
2.17.0
2.16.2
2.16.1
2.16.0
2.15.1
2.15.0
2.14.2
2.14.1
2.14.0
2.13.1
2.13.0
2.11.1
1.24.1
1.24.0
1.23.2
1.23.1
1.23.0
1.22.2
1.22.1
1.22.0
edge_m2
1.21.0
1.20.2
1.20.1
1.20.0
1.19.2
1.19.1
1.19.0
1.18.1
1.18.0
1.17.1
1.17.0
1.16.5
1.16.4
1.16.3
1.16.2
1.16.1
1.16.0
1.15.5
1.15.4
1.15.3
1.15.2
1.15.1
1.15.0
1.14.3
1.14.2
1.14.1
1.14.0
1.13.6
1.13.5
1.13.4
1.13.3
1.13.2
1.13.1
1.13.0
1.12.4
1.12.3
1.12.2
1.12.1
1.12.0
1.11.4
1.11.3
1.11.2
1.11.1
1.11.0
1.10.2
1.10.1
1.10.0
1.9.3
1.9.2
1.9.1
1.9.0
internal-1.8.1
1.8.1
internal-1.8.0
1.8.0
internal-1.7.0
1.7.0
internal-1.6.0
1.6.0
internal-1.5.0
1.5.0
internal-1.4.0
1.4.0
internal-1.3.0
1.3.0
internal-1.2.0
1.2.0
1.1.0
1.0.4
1.0.3
1.0.2
1.0.1
1.0.0
v0.10.1
v0.10.0
v0.9.0
v0.8.0
v0.5
1.24.2
1.25.0
2.0.0
2.0.1
2.1.0
2.1.1
2.11.0
2.19.4
2.19.5
2.20.0
2.20.1
2.20.2
2.20.3
2.5.0
2.5.1
2.6.0
2.6.1
2.6.2
2.6.3
2.9.0
2.9.1
2.9.2
2.9.3
v0.6.0
v0.7.0
v0.8.1
${ noResults }
64 Commits (2555dfc78b04631a58907db330b0405c52f2bc44)
Author | SHA1 | Message | Date |
---|---|---|---|
Matt Hook |
b280eb6997
|
fix(dockerhub-migration): prevent duplicate migrated dockerhub entries EE-2042 (#6083)
* fix(migration) make dockerhub registry migration idempotent EE-2042 * add missing changes to make updateDockerhubToDB32 idempotent * add tests for bad migrations |
3 years ago |
Hui |
0caf5ca59e
|
fix(migration): ignore volumes with no created timestamp EE-1966
|
3 years ago |
Chaim Lev-Ari |
fc4ff59bfd
|
fix(db): warn on missing docker id when migrating to db 31 (#5781)
* fix(db): warn on missing docker id when migrating to db 31 * fix(db): guard against nil exception |
3 years ago |
Matt Hook |
7b72130433
|
feat(kubeshell) allow overriding default kubeshell image EE-1756 (#5755)
* feat(kubeshell) allow overriding default kubeshell * Add missing error check and struct tag * Add migrator for kube shell image and add it as a default in the db * Fix file name to match migrator pattern * remove default as it's now coming from the db * remove blank line * - conflict resolution code update - logging migration error on migration failures * - migrateDBVersionTo34 -> migrateDBVersionToDB34 (naming consistency) Co-authored-by: zees-dev <dev.786zshan@gmail.com> |
3 years ago |
zees-dev |
377326085d
|
feat(db): upgrade auto-backup backup and rollback support EE-867 EE-1158 (#5341)
* backport migration EE code structure * filesystem copy function * set db status to updating before migration - reset on completion * support for auto-backup on version upgrade * - rollback cli flag support (with confirmation) - rollback implementation backport from EE * removed edition as it is not required in CE * migrated test datastore from bolttest to bolt package to make it usable for testing * backported failsafe migration * - backported tests from EE - refactored tests to use test datastore * test store implementing datastore interface * addressed PR issues/improvements * refactor test * added backup file removal error logging * resolved conflicts, updated code * fixed missing bolttest package - migrated to bolt * feat(migration): wrap migration errors to provide context for failure EE-1742 (#5711) * feat(migrator): wrap errors to provide more context to failures EE-1742 * add overall failure back in. diff log file * updated helm tests pointing to correct teststore Co-authored-by: Matt Hook <hookenz@gmail.com> |
3 years ago |
Hui |
5752e74be6
|
add debug log (#5702)
|
3 years ago |
zees-dev |
2a60b8fcdf
|
feat(helm/templates): helm app templates EE-943 (#5449)
* feat(helm): add helm chart backport to ce EE-1409 (#5425) * EE-1311 Helm Chart Backport from EE * backport to ce Co-authored-by: Matt Hook <hookenz@gmail.com> * feat(helm): list and configure helm chart (#5431) * backport and tidyup code * --amend * using rocket icon for charts * helm chart bugfix - clear category button * added matomo analytics for helm chart install * fix web editor exit warning without changes * editor modified exit bugfix * fixed notifications typo * updated helm template text * helper text to convey slow helm templates load Co-authored-by: zees-dev <dev.786zshan@gmail.com> * removing redundant time-consuming api call by using prop attribute * feat(helm) helm chart backport from ee EE-1311 (#5436) * Add missing defaultHelmRepoUrl and mock testing * Backport EE-1477 * Backport updates to helm tests from EE * add https by default changes and ssl to tls renaming from EE * Port install integration test. Disabled by default to pass CI checks * merged changes from EE for the integration test * kube proxy whitelist updated to support internal helm install command Co-authored-by: zees-dev <dev.786zshan@gmail.com> * Pull in all changes from tech review in EE-943 * added helm to sidebar after rebase, sync CE with EE * bugfix: kubectl shell not opening - bearer token bug * tidy go modules & remove yarn-error.log * removed redundant handler (not used) - to match EE * resolved merge conflicts, updated code * feat(helm/views): helm release and application views EE-1236 (#5529) * feat(helm): add helm chart backport to ce EE-1409 (#5425) * EE-1311 Helm Chart Backport from EE * backport to ce Co-authored-by: Matt Hook <hookenz@gmail.com> * Pull in all changes from tech review in EE-943 * added helm to sidebar after rebase, sync CE with EE * removed redundant handler (not used) - to match EE * feat(helm) display helm charts - backend EE-1236 * copy over components for new applications view EE-1236 * Add new applications datatable component * Add more migrated files * removed test not applicable to CE * baclkported EE app data table code to CE * removed redundant helm repo url * resolved conflicts, updated code * using endpoint middleware * PR review fixes * using constants, openapi updated Co-authored-by: Richard Wei <54336863+WaysonWei@users.noreply.github.com> Co-authored-by: zees-dev <dev.786zshan@gmail.com> * fixed test conflicts, go linted * feat(helm/templates-add): helm templates add repo for user support EE-1278 (#5514) * feat(helm): add helm chart backport to ce EE-1409 (#5425) * EE-1311 Helm Chart Backport from EE * backport to ce Co-authored-by: Matt Hook <hookenz@gmail.com> * feat(helm) helm chart backport from ee EE-1311 (#5436) * Add missing defaultHelmRepoUrl and mock testing * Backport EE-1477 * Backport updates to helm tests from EE * add https by default changes and ssl to tls renaming from EE * Port install integration test. Disabled by default to pass CI checks * merged changes from EE for the integration test * kube proxy whitelist updated to support internal helm install command Co-authored-by: zees-dev <dev.786zshan@gmail.com> * Pull in all changes from tech review in EE-943 * feat(helm): add helm chart backport to ce EE-1409 (#5425) * EE-1311 Helm Chart Backport from EE * backport to ce Co-authored-by: Matt Hook <hookenz@gmail.com> * Pull in all changes from tech review in EE-943 * added helm to sidebar after rebase, sync CE with EE * backport EE-1278, squashed, diffed, updated * helm install openapi spec update * resolved conflicts, updated code * - matching ee codebase at 0afe57034449ee0e9f333d92c252a13995a93019 - helm install using endpoint middleware - remove trailing slash from added/persisted helm repo urls * feat(helm) use libhelm url validator and improved path assembly EE-1554 (#5561) * feat(helm/userrepos) fix getting global repo for ordinary users EE-1562 (#5567) * feat(helm/userrepos) fix getting global repo for ordinary users EE-1562 * post review changes and further backported changes from EE * resolved conflicts, updated code * fixed helm_install handler unit test * user cannot add existing repo if suffix is '/' (#5571) * feat(helm/docs) fix broken swagger docs EE-1278 (#5572) * Fix swagger docs * minor correction * fix(helm): migrating code from user handler to helm handler (#5573) * - migrated user_helm_repos to helm endpoint handler - migrated api operations from user factory/service to helm factory/service - passing endpointId into helm service/factory as endpoint provider is deprecated * upgrade libhelm to hide secrets Co-authored-by: Matt Hook <hookenz@gmail.com> * removed duplicate file - due to merge conflict * dependency injection in helm factory Co-authored-by: Richard Wei <54336863+WaysonWei@users.noreply.github.com> Co-authored-by: Matt Hook <hookenz@gmail.com> * kubernetes.templates -> kubernetes.templates.helm name conflict fix * Validate the URL added as a public helm repo (#5579) * fix(helm): helm app deletion fix EE-1581 (#5582) * updated helm lib to show correct error on uninstall failure * passing down helm app namespace on deletion * fix(k8s): EE-1591 non-admin users cannot deploy charts containing secrets (#5590) Co-authored-by: Simon Meng <simon.meng@portainer.io> * fix(helm): helm epic bugfixes EE-1582 EE-1593 (#5585) * - trim trailing slash and lowercase before persisting helm repo - browser helm templates url /kubernetes/templates/templates -> /kubernetes/templates/helm - fix publish url - fix helm repo add refresh - semi-fix k8s app expansion * Tidy up swagger documentation related to helm. Make json consistent * fixed helm release page for non-default namespaces * k8s app view table expansion bugfix * EE-1593: publish url load balancer fallback Co-authored-by: Matt Hook <hookenz@gmail.com> * k8s app list fix for charts with deployments containing multiple pods - which use the same label (#5599) * fix(kubernetes): app list view fix for secrets with long keys or values EE-1600 (#5600) * k8s app secrets key value text overflow ellipses * wrapping key value pairs instead of ellipses * fix(helm): helm apps bundling issue across different namespaces EE-1619 (#5602) * helm apps bundling issue across different namespaces * - code comments and indentation to ease reading - moved namespace calc out of loop * feat(helm/test) disable slow helm search test by default EE-1599 (#5598) * skip helm_repo_search as it's an integration test * switch to portainer built in integration test checker * make module order match EE * don't print test struct out when skipping integration test Co-authored-by: Richard Wei <54336863+WaysonWei@users.noreply.github.com> Co-authored-by: Matt Hook <hookenz@gmail.com> Co-authored-by: cong meng <mcpacino@gmail.com> Co-authored-by: Simon Meng <simon.meng@portainer.io> |
3 years ago |
Richard Wei |
9f179fe3ec
|
feat(ui):rename endpoint(s) to environment(s) EE-1206 (#5588)
* rename endpoints to environments EE-1206 |
3 years ago |
cong meng |
35013e7b6a
|
feat(kubeconfig): Introduce the ability to change the expiry of a kubeconfig EE-1153 (#5421)
* feat(kubeconfig) EE-1153 Introduce the ability to change the expiry of a kubeconfig * feat(kubeconfig) EE-1153 pr feedback update * feat(kubeconfig) EE-1153 code cleanup Co-authored-by: Simon Meng <simon.meng@portainer.io> |
3 years ago |
Chaim Lev-Ari |
1830a80a61
|
feat(k8s/resource-pool): add the ability to mark/unmark resource pool as system (#5360)
* feat(k8s/resource-pool): add the ability to mark/unmark resource pool as system fix(kube/ns): check label to see if namespace is system refactor(k8s/namespaces): rename variables feat(kubernetes): toggle system state in the server (#5361) fix(app/resource-pool): UI fixes feat(app/resource-pool): add confirmation modal when unamrking system namespace * refactor(app): review changes * feat(app/namespaces): introduce store to retrieve namespace system status without changing all the kubernetes models refactor(app/namespaces): remove unused code first introduced for system tagging fix(app/namespaces): cache namespaces to retrieve system status regardless of namespace reference format refactor(app): migrate namespace store from helper to a separate singleton refactor(app): remove KubernetesNamespaceHelper from DI cycle * refactor(app): normalize usage of KubernetesNamespaceHelper functions * refactor(app/k8s): change namespace store to functions instead of class Co-authored-by: LP B <xAt0mZ@users.noreply.github.com> |
3 years ago |
Dmitry Salakhov |
bcccdfb669
|
feat(stacks): support automated sync for stacks [EE-248] (#5340)
|
3 years ago |
Chaim Lev-Ari |
db16299aab
|
feat(docker/volumes): change how volume resource id is calculated (#5067)
[EE-494] |
3 years ago |
LP B |
179df06267
|
feat(app): rework private registries and support private registries in kubernetes EE-30 (#5131)
* feat(app): rework private registries and support private registries in kubernetes [EE-30] feat(api): backport private registries backend changes (#5072) * feat(api/bolt): backport bolt changes * feat(api/exec): backport exec changes * feat(api/http): backport http/handler/dockerhub changes * feat(api/http): backport http/handler/endpoints changes * feat(api/http): backport http/handler/registries changes * feat(api/http): backport http/handler/stacks changes * feat(api/http): backport http/handler changes * feat(api/http): backport http/proxy/factory/azure changes * feat(api/http): backport http/proxy/factory/docker changes * feat(api/http): backport http/proxy/factory/utils changes * feat(api/http): backport http/proxy/factory/kubernetes changes * feat(api/http): backport http/proxy/factory changes * feat(api/http): backport http/security changes * feat(api/http): backport http changes * feat(api/internal): backport internal changes * feat(api): backport api changes * feat(api/kubernetes): backport kubernetes changes * fix(api/http): changes on backend following backport feat(app): backport private registries frontend changes (#5056) * feat(app/docker): backport docker/components changes * feat(app/docker): backport docker/helpers changes * feat(app/docker): backport docker/views/container changes * feat(app/docker): backport docker/views/images changes * feat(app/docker): backport docker/views/registries changes * feat(app/docker): backport docker/views/services changes * feat(app/docker): backport docker changes * feat(app/kubernetes): backport kubernetes/components changes * feat(app/kubernetes): backport kubernetes/converters changes * feat(app/kubernetes): backport kubernetes/models changes * feat(app/kubernetes): backport kubernetes/registries changes * feat(app/kubernetes): backport kubernetes/services changes * feat(app/kubernetes): backport kubernetes/views/applications changes * feat(app/kubernetes): backport kubernetes/views/configurations changes * feat(app/kubernetes): backport kubernetes/views/configure changes * feat(app/kubernetes): backport kubernetes/views/resource-pools changes * feat(app/kubernetes): backport kubernetes/views changes * feat(app/portainer): backport portainer/components/accessManagement changes * feat(app/portainer): backport portainer/components/datatables changes * feat(app/portainer): backport portainer/components/forms changes * feat(app/portainer): backport portainer/components/registry-details changes * feat(app/portainer): backport portainer/models changes * feat(app/portainer): backport portainer/rest changes * feat(app/portainer): backport portainer/services changes * feat(app/portainer): backport portainer/views changes * feat(app/portainer): backport portainer changes * feat(app): backport app changes * config(project): gitignore + jsconfig changes gitignore all files under api/cmd/portainer but main.go and enable Code Editor autocomplete on import ... from '@/...' fix(app): fix pull rate limit checker fix(app/registries): sidebar menus and registry accesses users filtering fix(api): add missing kube client factory fix(kube): fetch dockerhub pull limits (#5133) fix(app): pre review fixes (#5142) * fix(app/registries): remove checkbox for endpointRegistries view * fix(endpoints): allow access to default namespace * fix(docker): fetch pull limits * fix(kube/ns): show selected registries for non admin Co-authored-by: Chaim Lev-Ari <chiptus@gmail.com> chore(webpack): ignore missing sourcemaps fix(registries): fetch registry config from url feat(kube/registries): ignore not found when deleting secret feat(db): move migration to db 31 fix(registries): fix bugs in PR EE-869 (#5169) * fix(registries): hide role * fix(endpoints): set empty access policy to edge endpoint * fix(registry): remove double arguments * fix(admin): ignore warning * feat(kube/configurations): tag registry secrets (#5157) * feat(kube/configurations): tag registry secrets * feat(kube/secrets): show registry secrets for admins * fix(registries): move dockerhub to beginning * refactor(registries): use endpoint scoped registries feat(registries): filter by namespace if supplied feat(access-managment): filter users for registry (#5191) * refactor(access-manage): move users selector to component * feat(access-managment): filter users for registry refactor(registries): sync code with CE (#5200) * refactor(registry): add inspect handler under endpoints * refactor(endpoint): sync endpoint_registries_list * refactor(endpoints): sync registry_access * fix(db): rename migration functions * fix(registries): show accesses for admin * fix(kube): set token on transport * refactor(kube): move secret help to bottom * fix(kuberentes): remove shouldLog parameter * style(auth): add description of security.IsAdmin * feat(security): allow admin access to registry * feat(edge): connect to edge endpoint when creating client * style(portainer): change deprecation version * refactor(sidebar): hide manage * refactor(containers): revert changes * style(container): remove whitespace * fix(endpoint): add handler to registy on endpointService * refactor(image): use endpointService.registries * fix(kueb/namespaces): rename resource pool to namespace * fix(kube/namespace): move selected registries * fix(api/registries): hide accesses on registry creation Co-authored-by: LP B <xAt0mZ@users.noreply.github.com> refactor(api): remove code duplication after rebase fix(app/registries): replace last registry api usage by endpoint registry api fix(api/endpoints): update registry access policies on endpoint deletion (#5226) [EE-1027] fix(db): update db version * fix(dockerhub): fetch rate limits * fix(registry/tests): supply restricred context * fix(registries): show proget registry only when selected * fix(registry): create dockerhub registry * feat(db): move migrations to db 32 Co-authored-by: Chaim Lev-Ari <chiptus@gmail.com> |
3 years ago |
Hui |
2170ad49ef
|
fix(DB): downgrade DB version from 31 to 30 EE-955 (#5193)
* downgrade DB version from 31 to 30 * rename unit test func * refactor migration func for DB 30 * move test helper func * use struct method |
4 years ago |
Hui |
f674573cdf
|
feat(OAuth): Add SSO support for OAuth EE-390 (#5087)
* add updateSettingsToDB28 func and test * update DBversion const * migration func naming modification * feat(oauth): add sso, hide internal auth teaser and logout options. (#5039) * cleanup and make helper func for unit testing * dbversion update * feat(publicSettings): public settings response modification for OAuth SSO EE-608 (#5062) * feat(oauth): updated logout logic with logoutUrl. (#5064) * add exclusive token generation for OAuth * swagger annotation revision * add unit test * updates based on tech review feedback * feat(oauth): updated oauth settings model * feat(oauth): added oauth logout url * feat(oauth): fixed SSO toggle and logout issue. * set SSO to ON by default * update migrator unit test * set SSO to true by default for new instance * prevent applying the SSO logout url to the initial admin user Co-authored-by: fhanportainer <79428273+fhanportainer@users.noreply.github.com> Co-authored-by: Felix Han <felix.han@portainer.io> |
4 years ago |
Chaim Lev-Ari |
7e7127831d
|
fix(db): skip resource control migration if stack doesn't exist (#4879)
|
4 years ago |
Chaim Lev-Ari |
86ad1c6af1
|
feat(stacks): scope stack names to endpoint (#4520)
* refactor(stack): create unique name function * refactor(stack): change stack resource control id * feat(stacks): validate stack unique name in endpoint * feat(stacks): prevent name collision with external stacks * refactor(stacks): move resource id util * refactor(stacks): supply resource id util with name and endpoint * fix(docker): calculate swarm resource id * feat(stack): prevent migration if stack name already exist * feat(authorization): use stackutils |
4 years ago |
Chaim Lev-Ari |
46dec01fe3
|
feat(endpoint): relocate docker security settings (#4657)
* feat(endpoint): migrate security settings to endpoint * feat(endpoint): check for specific endpoint settings * feat(endpoint): check security settings * feat(docker): add config page * feat(endpoint): save settings page * feat(endpoints): disable features when not agent * feat(sidebar): hide docker settings for regular user * fix(docker): small fixes in configs * fix(volumes): hide browse button for non admins * refactor(docker): introduce switch component * refactor(components/switch): seprate label from switch * feat(app/components): align switch label * refactor(app/components): move switch css * fix(docker/settings): add ngijnect * feat(endpoints): set default security values * style(portainer): sort types * fix(endpoint): rename security heading * fix(endpoints): update endpoints settings |
4 years ago |
Anthony Lapenna | ce8e245759 |
chore(version): bump version number
|
4 years ago |
Chaim Lev-Ari |
2158cc5157
|
feat(telemetry): replace GA with matomo (#4140)
* feat(core/telemetry): add posthog * feat(core/telemetry): add posthog * feat(core/telemetry): add matomo * feat(core/telemetry): update matomo * feat(core/telemetry): update matomo * feat(core/telemetry): update matomo * feat(telemetry): remove google analytics code * refactor(telemetry): move matomo code to bundle * refactor(telemetry): move matomo lib to assets * refactor(telemetry): depreciate --no-analytics * feat(settings): introduce a setting to enable telemetry * fix(cli): fix typo * feat(settings): allow toggle telemetry from settings * fix(settings): handle case where AuthenticationMethod is missing * feat(admin): set telemetry on admin init * refactor(app); revert file * refactor(state-manager): move optout to state manager * feat(telemetry): set matomo url * feat(core/settings): minor UI update * feat(core/telemetry): update custom URL * feat(core/telemetry): add placeholder for privacy policy * feat(core/telemetry): add privacy policy link Co-authored-by: Anthony Lapenna <lapenna.anthony@gmail.com> |
4 years ago |
Chaim Lev-Ari |
4d5836138b
|
feat(stacks): add the ability to stop a stack (#4042)
* feat(stacks): add stack status * feat(stacks): add empty start/stop handlers * feat(stacks): show start/stop button * feat(stacks): implement stack stop * feat(stacks): implement start stack * feat(stacks): filter by active/inactive stacks * fix(stacks): update authorizations for stack start/stop * feat(stacks): assign default status on create * fix(bolt): fix import * fix(stacks): show external stacks * fix(stacks): reload on stop/start * feat(stacks): confirm before stop |
4 years ago |
Chaim Lev-Ari |
1a3f77137a
|
feat(settings): introduce setting to disable container caps for non-admins (#4109)
* feat(settings): introduce settings to allow/disable * feat(settings): update the setting * feat(docker): prevent user from using caps if disabled * refactor(stacks): revert file * style(api): remove portainer ns |
4 years ago |
Chaim Lev-Ari |
fa9eeaf3b1
|
feat(settings): introduce disable stack management setting (#4100)
* feat(stacks): add a setting to disable the creation of stacks for non-admin users * feat(settings): introduce a setting to prevent non-admin from stack creation * feat(settings): update stack creation setting * feat(settings): fail stack creation if user is non admin * fix(settings): save preventStackCreation setting to state * feat(stacks): disable add button when settings is enabled * format(stacks): remove line * feat(stacks): setting to hide stacks from users * feat(settings): rename disable stacks setting * refactor(settings): rename setting to disableStackManagementForRegularUsers * feat(settings): hide stacks for non admin when settings is set * refactor(settings): replace disableDeviceMapping with allow * feat(dashboard): hide stacks if settings disabled and non admin * refactor(sidebar): check if user is endpoint admin * feat(settings): set the default value for stack management * feat(settings): rename field label * fix(sidebar): refresh show stacks state * fix(docker): hide stacks when not admin |
4 years ago |
Chaim Lev-Ari |
07efd4bdda
|
feat(settings): add setting to disable device mapping for regular users (#4099)
* feat(settings): add setting to disable device mapping for regular users * feat(settings): introduce device mapping service * feat(containers): hide devices field when setting is on * feat(containers): prevent passing of devices when not allowed * feat(stacks): prevent non admin from device mapping * feat(stacks): disallow swarm stack creation for user * refactor(settings): replace disableDeviceMapping with allow * fix(stacks): remove check for disable device mappings from swarm * feat(settings): rename field to disable * feat(settings): supply default value for disableDeviceMapping * feat(container): check for endpoint admin * style(server): sort imports |
4 years ago |
Chaim Lev-Ari |
adf33385ce
|
feat(containers): Prevent non-admin users from running containers using the host namespace pid (#4098)
* feat(containers): prevent non-admin users from running containers using the host namespace pid (#3970) * feat(containers): Prevent non-admin users from running containers using the host namespace pid * feat(containers): add rbac check for swarm stack too * feat(containers): remove forgotten conflict * feat(containers): init EnableHostNamespaceUse to true and return 403 on forbidden action * feat(containers): change enableHostNamespaceUse to restrictHostNamespaceUse in html * feat(settings): rename EnableHostNamespaceUse to AllowHostNamespaceForRegularUsers * feat(database): trigger migration for AllowHostNamespace * feat(containers): check container creation authorization Co-authored-by: Maxime Bajeux <max.bajeux@gmail.com> |
4 years ago |
Anthony Lapenna | e78aaec558 |
feat(api/bolt): update DBVersion to 25
|
4 years ago |
Chaim Lev-Ari |
db4a5292be
|
refactor(errors): reorganize errors (#3938)
* refactor(bolt): move ErrObjectNotFound to bolt * refactor(http): move ErrUnauthorized to http package * refactor(http): move ErrResourceAccessDenied to http errors * refactor(http): move security errors to package * refactor(users): move user errors to users package * refactor(errors): move single errors to their package * refactor(schedules): move schedule error to package * refactor(http): move endpoint error to http package * refactor(docker): move docker errors to package * refactor(filesystem): move filesystem errors to package * refactor(errors): remove portainer.Error * style(chisel): reorder imports * fix(stacks): remove portainer.Error |
4 years ago |
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> |
5 years ago |
Chaim Lev-Ari |
7c3b83f6e5
|
refactor(portainer): introduce internal package (#3924)
* refactor(auth): move auth helpers to internal package * refactor(edge-compute): move edge helpers to internal package * refactor(tags): move tags helper to internal package * style(portainer): sort imports |
5 years ago |
Chaim Lev-Ari |
b02749f877
|
feat(auth): add custom user timeout (#3871)
* feat(auth): introduce new timeout constant * feat(auth): pass timeout from handler * feat(auth): add timeout selector to auth settings view * feat(settings): add user session timeout property * feat(auth): load user session timeout from settings * fix(settings): use correct time format * feat(auth): remove no-auth flag * refactor(auth): move timeout mgmt to jwt service * refactor(client): remove no-auth checks from client * refactor(cli): remove defaultNoAuth * feat(settings): create settings with default user timeout value * refactor(db): save user session timeout always * refactor(jwt): return error * feat(auth): set session timeout in jwt service on update * feat(auth): add description and time settings * feat(auth): parse duration * feat(settings): validate user timeout format * refactor(settings): remove unneccesary import |
5 years ago |
Anthony Lapenna | 334c015f81 |
fix(bolt): migrate empty templates URL settings (#3856)
|
5 years ago |
Anthony Lapenna | 25103f08f9 |
feat(api): introduce new datastore interface (#3802)
* feat(api): introduce new datastore interface * refactor(api): refactor http and main layers * refactor(api): refactor http and bolt layers |
5 years ago |
Anthony Lapenna | 5563ff60fc |
feat(templates): remove template management features (#3719)
* feat(api): remove template management features * feat(templates): remove template management features |
5 years ago |
Anthony Lapenna | bfcdeecac9 |
chore(version): bump version number
|
5 years ago |
Chaim Lev-Ari |
8eac1d2221
|
feat(edge-compute): add support for Edge stacks (#3827)
* feat(api): introduce Edge group API (#3639) * feat(edge-groups): add object definition and service definition * feat(edge-groups): implement bolt layer * feat(edge-groups): bind service to server * feat(edge-group): add edge-group create http handler * feat(edge-groups): add list method to edge group handler * feat(edge-group): add inspect http handler * feat(edge-groups): add delete edge-group handler * feat(edge-groups): add update group handler * style(db): order by alphabetical order * fix(edge-groups): rewrite http error messages Co-Authored-By: Anthony Lapenna <anthony.lapenna@portainer.io> * fix(main): order by alphabetical order * refactor(edge-group): relocate fetch group * fix(edge-group): reset tagids/endpoints if dynamic * refactor(server): order by alphabetical order * refactor(server): order by alphabetical order Co-authored-by: Anthony Lapenna <anthony.lapenna@portainer.io> * Introduce a new setting to enable Edge compute features (#3654) * feat(edge-compute): add edge compute setting * feat(edge-compute): add edge compute group to sidebar * fix(settings): rename settings form group * fix(settings): align form control * Edge group associated endpoints (#3659) * chore(version): bump version number * chore(version): bump version number * feat(endpoints): filter by endpoint type (#3646) * refactor(tags): migrate tags to have association objects * refactor(tags): refactor tag management (#3628) * refactor(tags): replace tags with tag ids * refactor(tags): revert tags to be strings and add tagids * refactor(tags): enable search by tag in home view * refactor(tags): show endpoint tags * refactor(endpoints): expect tagIds on create payload * refactor(endpoints): expect tagIds on update payload * refactor(endpoints): replace TagIds to TagIDs * refactor(endpoints): set endpoint group to get TagIDs * refactor(endpoints): refactor tag-selector to receive tag-ids * refactor(endpoints): show tags in multi-endpoint-selector * chore(tags): revert reformat * refactor(endpoints): remove unneeded bind * refactor(endpoints): change param tags to tagids in endpoint create * refactor(endpoints): remove console.log * refactor(tags): remove deleted tag from endpoint and endpoint group * fix(endpoints): show loading label while loading tags * chore(go): remove obsolete import labels * chore(db): add db version comment * fix(db): add tag service to migrator * refactor(db): add error checks in migrator * style(db): sort props in alphabetical order * style(tags): fix typo Co-Authored-By: Anthony Lapenna <anthony.lapenna@portainer.io> * refactor(endpoints): replace tagsMap with tag string representation * refactor(tags): rewrite tag delete to be more readable * refactor(home): rearange code to match former style * refactor(tags): guard against missing model in tag-selector * refactor(tags): rename vars in tag_delete * refactor(tags): allow any authenticated user to fetch tag list * refactor(endpoints): replace controller function with class * refactor(endpoints): replace function with helper * refactor(endpoints): replace controller with class * refactor(tags): revert tags-selector to use 1 way bindings * refactor(endpoints): load empty tag array instead of nil * refactor(endpoints): revert default tag ids * refactor(endpoints): use function in place * refactor(tags): use lodash * style(tags): use parens in arrow functions * fix(tags): remove tag from tag model Co-authored-by: Anthony Lapenna <anthony.lapenna@portainer.io> * refactor(tags): create tag association when creating tag * refactor(tags): delete tag association when deleting tag * refactor(db): handle error in tag association create * feat(endpoint-group): update tag assoc when creating endpoint group * feat(endpoint-group): update tag association when updating group * feat(endpoint-groups): remove group from tag associations * feat(endpoints): associate endpoint with tag on create * feat(endpoints): edit tag association when updating endpoint * fix(tags): fix merge problems * refactor(tags): remove tag association resource * fix(db): use regular tags map * style(tags): reorder props and imports * refactor(endpoint-groups): replace tag-association with tag * feat(edge-group): get associated endpoints when fetching * refactor(tags): refactor algo to update endpoint and group tags * refactor(edge-group): rename variable * refactor(tags): move calc of tags to remove to global function * fix(tags): update tag after adding association Co-authored-by: Anthony Lapenna <lapenna.anthony@gmail.com> Co-authored-by: Anthony Lapenna <anthony.lapenna@portainer.io> * fix(edge-groups): associate groups only with edge endpoints (#3667) * fix(edge-groups): check endpoint type when adding to edge-group * fix(edge-groups): return only edge endpoints for dynamic groups * fix(edge-compute): load edge compute setting on public setting (#3665) * Edge group list (#3644) * feat(edge-groups): add edge module * feat(edge-groups): add edge-group service * feat(edge-group): add groups list view * feat(edge-groups): add link to groups in the sidebar * feat(edge-group): show endpoints count and group type * feat(edge-group): enable removal of edge groups * refactor(edge-groups): replace datatable controller with class * refactor(edge-groups): replace function with class * fix(edge-groups): sort items by endpoints count and group type * refactor(edge-groups): use generic datatable-header component * feat(app): add trace for ui router * fix(edge-compute): add ng injection to onEnter guard * fix(edge-compute): add ng injection to onEnter guard * style(edge-compute): remove space * refactor(edge-compute): import angular * fix(app): remove ui router trace * refactor(product): revert app.js * fix(edge-compute): remove admin guard from edge routes * fix(edge-groups): change label of empty datatable Co-Authored-By: Anthony Lapenna <anthony.lapenna@portainer.io> * refactor(edge-groups): rename service * fix(edge-groups): replace icon in sidebar Co-Authored-By: Anthony Lapenna <anthony.lapenna@portainer.io> * refactor(edge-groups): remove datatable controller * refactor(edge-groups): move datatable icon to binding * refactor(edge-groups): use vanilla datatable header * refactor(datatable): remove datatable header Co-authored-by: Anthony Lapenna <anthony.lapenna@portainer.io> * refactor(edge): rename edge group to Edge group * feat(edge-groups): edge group creation view (#3671) * feat(edge-groups): add create group view * feat(edge-groups): allow to choose group type * feat(edge-groups): implement create service handler * feat(edge-group): filter by edge endpoints * refactor(edge-groups): rename to camel case * refactor(edge-groups): replace controller with class * feat(endpoints): filter endpoints by type * refactor(edge-groups): remove comments and unneccesary async keyword * refactor(edge-group): use $async service * fix(edge-groups): replace view title Co-Authored-By: Anthony Lapenna <anthony.lapenna@portainer.io> * fix(edge-groups): change icon Co-Authored-By: Anthony Lapenna <anthony.lapenna@portainer.io> * fix(edge-groups): change icon Co-Authored-By: Anthony Lapenna <anthony.lapenna@portainer.io> * refactor(edge-groups): remove obsolete function * feat(edge-groups): add empty list messages * feat(edge-group): add description to group types * refactor(edge-groups): add finally block * feat(endpoints): search server in multi-endpoint-selector Co-authored-by: Anthony Lapenna <anthony.lapenna@portainer.io> * feat(edge-group) edit view (#3672) * feat(edge-groups): add edit group view * refactor(edge-group): replace edit controller with class * refactor(edge-groups): remove async keyword * refactor(edge-groups): use $async service * refactor(edge-group): remove unnecessary functions * fix(endpoints): group by groups in endpoint-selector * feat(edge-groups): minor UI update * fix(edge-groups): provide defaults for edge group (#3682) * feat(edge-stacks): add basic views and sidebar link (#3689) * feat(edge-stacks): add mock routes * feat(edge-stacks): add link to stacks on sidebar * feat(edge-stacks): add edge stacks view * feat(edge-stacks): add create view * feat(edge-stacks): add edit view * fix(edge-stacks): use class in controller * feat(edge-stacks): add edge-stacks api (#3688) * feat(edge-stack): add edge stack types * feat(edge-stacks): add edge stack service interface * feat(edge-stacks): implement store * feat(edge-stacks): bind service to datastore * feat(edge-stacks): bind service to server * feat(edge-stack): create basic api * feat(edge-stack): create stack api * feat(edge-stacks): update api * refacotor(edge-stack): rename files * feat(edge-stack): update endpoint status * style(edge-stacks): remove comments * feat(edge-stacks): use edge stacks folder for files * fix(edge-stacks): replace bucket name Co-Authored-By: Anthony Lapenna <anthony.lapenna@portainer.io> * fix(edge-stacks): replace unmarshal function Co-Authored-By: Anthony Lapenna <anthony.lapenna@portainer.io> * fix(edge-stacks): replace edge stacks path Co-Authored-By: Anthony Lapenna <anthony.lapenna@portainer.io> Co-authored-by: Anthony Lapenna <anthony.lapenna@portainer.io> * chore(git): merge develop to edge compute (#3692) * feat(support): make support type dynamic (#3621) * chore(version): bump version number * chore(version): bump version number * feat(endpoints): filter by endpoint type (#3646) * chore(assets): double UI image resolutions for HiDPI displays (#3648) Fixes #3069 Prevents users seeing blurry logos and other images when using a hidpi display (like scaled 4k, or a Retina display). These images have been recreated manually with 2x the original resolution but should resemble the originals as much as possible. They have also been run through pngcrush for compression. * fix(services): enforce minimum replica count of 0 (#3653) * fix(services): enforce minimum replica count of 0 Fixes #3652 Prevents replica count from being set below zero and causing an error. * fix(services): enforce replica count is an integer Prevents users entering decimals in the replica count * refactor(tags): refactor tag management (#3628) * refactor(tags): replace tags with tag ids * refactor(tags): revert tags to be strings and add tagids * refactor(tags): enable search by tag in home view * refactor(tags): show endpoint tags * refactor(endpoints): expect tagIds on create payload * refactor(endpoints): expect tagIds on update payload * refactor(endpoints): replace TagIds to TagIDs * refactor(endpoints): set endpoint group to get TagIDs * refactor(endpoints): refactor tag-selector to receive tag-ids * refactor(endpoints): show tags in multi-endpoint-selector * chore(tags): revert reformat * refactor(endpoints): remove unneeded bind * refactor(endpoints): change param tags to tagids in endpoint create * refactor(endpoints): remove console.log * refactor(tags): remove deleted tag from endpoint and endpoint group * fix(endpoints): show loading label while loading tags * chore(go): remove obsolete import labels * chore(db): add db version comment * fix(db): add tag service to migrator * refactor(db): add error checks in migrator * style(db): sort props in alphabetical order * style(tags): fix typo Co-Authored-By: Anthony Lapenna <anthony.lapenna@portainer.io> * refactor(endpoints): replace tagsMap with tag string representation * refactor(tags): rewrite tag delete to be more readable * refactor(home): rearange code to match former style * refactor(tags): guard against missing model in tag-selector * refactor(tags): rename vars in tag_delete * refactor(tags): allow any authenticated user to fetch tag list * refactor(endpoints): replace controller function with class * refactor(endpoints): replace function with helper * refactor(endpoints): replace controller with class * refactor(tags): revert tags-selector to use 1 way bindings * refactor(endpoints): load empty tag array instead of nil * refactor(endpoints): revert default tag ids * refactor(endpoints): use function in place * refactor(tags): use lodash * style(tags): use parens in arrow functions * fix(tags): remove tag from tag model Co-authored-by: Anthony Lapenna <anthony.lapenna@portainer.io> * chore(yarn): change start:client to start webpack dev server (#3595) * chore(yarn): change start:client to start webpack dev server * Update package.json Co-authored-by: Anthony Lapenna <anthony.lapenna@portainer.io> * create tag from tag selector (#3640) * feat(tags): add button to save tag when doesn't exist * feat(endpoints): allow the creating of tags in endpoint edit * feat(groups): allow user to create tags in create group * feat(groups): allow user to create tags in edit group * feat(endpoint): allow user to create tags from endpoint create * feat(tags): allow the creation of a new tag from dropdown * feat(tag): replace "add" with "create" * feat(tags): show tags input when not tags * feat(tags): hide create message when not allowed * refactor(tags): replace component controller with class * refactor(tags): replace native methods with lodash * refactor(tags): remove unused onChangeTags function * refactor(tags): remove on-change binding * style(tags): remove white space * refactor(endpoint-groups): move controller to separate file * fix(groups): allow admin to create tag in group form * refactor(endpoints): wrap async function with try catch and $async * style(tags): wrap arrow function args with parenthesis * refactor(endpoints): return $async functions * refactor(tags): throw error in the format Notification expects * chore(yarn): add start:client script back (#3691) * feat(endpoints): filter by ids and/or tag ids (#3690) * feat(endpoints): add filter by tagIds * refactor(endpoints): change endpoints service to query by tagIds * fix(endpoints): filter by tags * feat(endpoints): filter by endpoint groups tags * feat(endpoints): filter by ids Co-authored-by: itsconquest <william.conquest@portainer.io> Co-authored-by: Anthony Lapenna <lapenna.anthony@gmail.com> Co-authored-by: Ben Brooks <ben@bbrks.me> Co-authored-by: Anthony Lapenna <anthony.lapenna@portainer.io> * Chore merge develop to edge compute (#3702) * feat(support): make support type dynamic (#3621) * chore(version): bump version number * chore(version): bump version number * feat(endpoints): filter by endpoint type (#3646) * chore(assets): double UI image resolutions for HiDPI displays (#3648) Fixes #3069 Prevents users seeing blurry logos and other images when using a hidpi display (like scaled 4k, or a Retina display). These images have been recreated manually with 2x the original resolution but should resemble the originals as much as possible. They have also been run through pngcrush for compression. * fix(services): enforce minimum replica count of 0 (#3653) * fix(services): enforce minimum replica count of 0 Fixes #3652 Prevents replica count from being set below zero and causing an error. * fix(services): enforce replica count is an integer Prevents users entering decimals in the replica count * refactor(tags): refactor tag management (#3628) * refactor(tags): replace tags with tag ids * refactor(tags): revert tags to be strings and add tagids * refactor(tags): enable search by tag in home view * refactor(tags): show endpoint tags * refactor(endpoints): expect tagIds on create payload * refactor(endpoints): expect tagIds on update payload * refactor(endpoints): replace TagIds to TagIDs * refactor(endpoints): set endpoint group to get TagIDs * refactor(endpoints): refactor tag-selector to receive tag-ids * refactor(endpoints): show tags in multi-endpoint-selector * chore(tags): revert reformat * refactor(endpoints): remove unneeded bind * refactor(endpoints): change param tags to tagids in endpoint create * refactor(endpoints): remove console.log * refactor(tags): remove deleted tag from endpoint and endpoint group * fix(endpoints): show loading label while loading tags * chore(go): remove obsolete import labels * chore(db): add db version comment * fix(db): add tag service to migrator * refactor(db): add error checks in migrator * style(db): sort props in alphabetical order * style(tags): fix typo Co-Authored-By: Anthony Lapenna <anthony.lapenna@portainer.io> * refactor(endpoints): replace tagsMap with tag string representation * refactor(tags): rewrite tag delete to be more readable * refactor(home): rearange code to match former style * refactor(tags): guard against missing model in tag-selector * refactor(tags): rename vars in tag_delete * refactor(tags): allow any authenticated user to fetch tag list * refactor(endpoints): replace controller function with class * refactor(endpoints): replace function with helper * refactor(endpoints): replace controller with class * refactor(tags): revert tags-selector to use 1 way bindings * refactor(endpoints): load empty tag array instead of nil * refactor(endpoints): revert default tag ids * refactor(endpoints): use function in place * refactor(tags): use lodash * style(tags): use parens in arrow functions * fix(tags): remove tag from tag model Co-authored-by: Anthony Lapenna <anthony.lapenna@portainer.io> * chore(yarn): change start:client to start webpack dev server (#3595) * chore(yarn): change start:client to start webpack dev server * Update package.json Co-authored-by: Anthony Lapenna <anthony.lapenna@portainer.io> * create tag from tag selector (#3640) * feat(tags): add button to save tag when doesn't exist * feat(endpoints): allow the creating of tags in endpoint edit * feat(groups): allow user to create tags in create group * feat(groups): allow user to create tags in edit group * feat(endpoint): allow user to create tags from endpoint create * feat(tags): allow the creation of a new tag from dropdown * feat(tag): replace "add" with "create" * feat(tags): show tags input when not tags * feat(tags): hide create message when not allowed * refactor(tags): replace component controller with class * refactor(tags): replace native methods with lodash * refactor(tags): remove unused onChangeTags function * refactor(tags): remove on-change binding * style(tags): remove white space * refactor(endpoint-groups): move controller to separate file * fix(groups): allow admin to create tag in group form * refactor(endpoints): wrap async function with try catch and $async * style(tags): wrap arrow function args with parenthesis * refactor(endpoints): return $async functions * refactor(tags): throw error in the format Notification expects * chore(yarn): add start:client script back (#3691) * feat(endpoints): filter by ids and/or tag ids (#3690) * feat(endpoints): add filter by tagIds * refactor(endpoints): change endpoints service to query by tagIds * fix(endpoints): filter by tags * feat(endpoints): filter by endpoint groups tags * feat(endpoints): filter by ids * refactor(project): sort portainer types and interface definitions (#3694) * refactor(portainer): sort types * style(portainer): add comment about role service * refactor(portainer): sort interface types * refactor(portainer): sort enums * Update README.md * Update README.md * Update README.md * chore(project): add prettier for code format (#3645) * chore(project): install prettier and lint-staged * chore(project): apply prettier to html too * chore(project): git ignore eslintcache * chore(project): add a comment about format script * chore(prettier): update printWidth * chore(prettier): remove useTabs option * chore(prettier): add HTML validation * refactor(prettier): fix closing tags * feat(prettier): define angular parser for html templates * style(prettier): run prettier on codebase Co-authored-by: Anthony Lapenna <lapenna.anthony@gmail.com> * chore(prettier): run format on client codebase Co-authored-by: itsconquest <william.conquest@portainer.io> Co-authored-by: Anthony Lapenna <lapenna.anthony@gmail.com> Co-authored-by: Ben Brooks <ben@bbrks.me> Co-authored-by: Anthony Lapenna <anthony.lapenna@portainer.io> Co-authored-by: Neil Cresswell <neil@cresswell.net.nz> * feat(edge-stacks): create basic edge stack service (#3704) Co-authored-by: Anthony Lapenna <anthony.lapenna@portainer.io> * feat(edge-groups): Provide a switch to use AND or OR for tags (#3695) * feat(edge-groups): add switch to form * feat(project): add property to EdgeGroup * feat(edge-groups): save mustHaveAllTags * feat(edge-groups): fetch associated endpoints (AND and OR) * feat(edge-groups): add AND selector * feat(edge-groups): default to AND * fix(edge-groups): rewrite selector options Co-Authored-By: Anthony Lapenna <anthony.lapenna@portainer.io> * refactor(endpoints): move margin to schedule form * fix(edge-groups): move the selector to top of group * refactor(edge-groups): replace partialMatch property Co-authored-by: Anthony Lapenna <anthony.lapenna@portainer.io> * feat(edge-stacks): add Edge stack creation view (#3705) * feat(edge-stacks): basic creation view * feat(edge-stacks): add group selector * feat(edge-stack): create edge stack * fix(code-editor): apply digest cycle after editor is changed * style(project): reformat constants file * feat(edge-stacks): add a note about missing edge groups * fix(edge-stacks): add groups when creating stack from file * feat(edge-groups): add associated endpoints table (#3710) * feat(edge-groups): load associated endpoints * feat(endpoints): add option to filter endpoint by partial match tags * feat(edge-groups): query endpoints by PartialMatch * feat(edge-groups): reload endpoints when form changes * feat(edge-groups): remove columns * feat(edge-group): remove url column * refactor(edge-group): remove props * feat(edge-stacks): add list view (#3713) * feat(edge-stacks): basic datatable * feat(edge-stacks): remove stack * refactor(edge-stacks): convert to class * refactor(edge-stacks): replace id with stackId * feat(edge-stacks) edit edge stack view (#3716) * feat(edge-stack): load file content * feat(edge-stack): edit view * feat(edge-stack): enable update stack * refactor(edge-stacks): move form to component * feat(edge-stacks): add endpoints status * feat(edge-stacks): minor UI update Co-authored-by: Anthony Lapenna <lapenna.anthony@gmail.com> * feat(edge-groups) prevent deletion of edge group used by an edge stack (#3722) * feat(edge-groups): show if group belonges to edge stack * feat(edge-group): protect deletion of used edge group * feat(edge-groups): diable selection of used group * feat(edge-groups): add inuse tag (#3739) * feat(edge-groups): add inuse tag * Update app/edge/components/groups-datatable/groupsDatatable.html Co-authored-by: Anthony Lapenna <anthony.lapenna@portainer.io> * feat(edge-stack): update stack version when stack file is changed (#3746) * feat(edge-stack): update version when stack file is changed * refactor(edge-stacks): move update of version to clientside * feat(edge-groups): replace Edge group endpoint selector (#3738) * feat(edge-groups): replace selector * feat(edge-group): add selector in edit form * feat(edge-groups): show tags in endpoint selector * feat(edge-groups): show the endpoint group name * fix(edge-group): remove element from associated endpoints * feat(edge-groups): add group column * feat(edge-groups): move endpoints to other column * fix(groups): disable sort * refactor(endpoints): toggle backend pagination as a property * fix(endpoints): show group name in group-association-table * feat(endpoints): truncate table columns * fix(endpoints): update group association table colspan * fix(endpoint-groups): show dash when no tags Co-authored-by: Anthony Lapenna <lapenna.anthony@gmail.com> * feat(edge-stacks): add api for edge to query stack config (#3748) * refactor(http): move edge validation to bouncer * feat(edge-stacks): add api for edge to query stack config * style(edge-stack): remove parentheses * Update api/http/security/bouncer.go * refactor(edge-stacks): move config inspect to endpoints handler * refactor(endpoints): move stack inspect to edge handler * style(security): fix typo Co-Authored-By: Anthony Lapenna <anthony.lapenna@portainer.io> * refactor(endpoints): rename file Co-authored-by: Anthony Lapenna <anthony.lapenna@portainer.io> * feat(edge-groups): add dynamic group endpoints table (#3780) * fix(edge-stacks): update version when updating stack files (#3778) * feat(edgestacks): change status permission to edge enpoints * feat(edge-compute): add stack info to edge status inspect (#3764) * feat(edge-compute): create helper functions * feat(endpoints): add relation object and service * feat(db): create endpoint relation migration * feat(endpoints): create relation when creating endpoint * feat(endpoints): update relation when updating endpoint * feat(endpoints): delete relation when deleting endpoint * feat(endpoint): add stack status to endpoint_status * feat(edge-stacks): connect new edge stack to endpoint * refactor(edgestack): return errors.New * refactor(edgestacks): return error * refactor(edgegroup): endpoint can be related only if edge endpoint * feat(endpoints): update relation only when tags or groups were changd * refactor(tags): change tags functions to set functions * refactor(edgestack): return a list of endpoints for a list of edgegroups * feat(edgestacks): update relation when updating stack * feat(edgestacks): remove relations when deleting edge stack * feat(edgegroup): update related endpoints * feat(endpoint-group): update endpoints relations on create * feat(endpointgroup): add relatd stacks to endpoint when added to group * feat(endpoint-groups): update relation when group is changed * feat(endpointgroup): when deleting group, update its endpoints relations * feat(tags): update related endpoints when deleting tag * refactor(edge-compute): use pointers * refactor(endpointgroup): handle unassociated endpoint * fix(edgestack): show correct stack status * fix(endpoint): remove deleted endpoint from related tags * feat(edge-stacks): change acknowledged status color to blue (#3810) * feat(edge-compute): provide stack name to edge endpoint (#3809) * feat(edge-groups): when no tags selected show empty list of endpoints (#3811) * feat(edge-groups): when no tags selected show empty list of endpoints * fix(edge-group): change empty associated endpoint text * fix(edge-compute): add missing relations updates (#3817) * fix(endpoint): remove deleted endpoint from edge group * fix(tags): remove deleted tag from edge group * fix(endpoint): remove deleted endpoint from edge stack * fix(edge-groups): remove clearing of edgeGroup fields * fix(edge-groups): show dynamic edge groups without tags * fix(edge-compute): use sequential delete in resources (#3818) * fix(endpoints): delete endpoints on by one * fix(tags): remove tags one by one * fix(groups): remove endpoint groups one by one * fix(edge-stacks): remove stack one by one * fix(edge-groups): remove edge group one by one * fix(edge-stacks): add link to root in breadcrumbs * style(edge): add empty line after errors * refactor(tags): remove old function * refactor(endpoints): revert changes to multi-endpoint-selector * feat(edge-stacks): support Edge stack templates (#3812) * feat(edge-compute): fetch templates from url * feat(edge-stacks): fetch edge templates * feat(edge-stacks): choose template and save * feat(edge-stacks): add placeholder to templates select * feat(edge-templates): show info * fix(edge-stacks): fix typo * feat(edge-templates): replace template url * feat(edge-compute): use custom url if available * fix(edge-stacks): show error message when failing * feat(edge-compute): show description in template * feat(edge-templates): change access to route * style(edge-compute): change EdgeTemplatesURL description Co-authored-by: Anthony Lapenna <anthony.lapenna@portainer.io> Co-authored-by: Anthony Lapenna <anthony.lapenna@portainer.io> Co-authored-by: Anthony Lapenna <anthony.lapenna@portainer.io> Co-authored-by: Anthony Lapenna <lapenna.anthony@gmail.com> Co-authored-by: itsconquest <william.conquest@portainer.io> Co-authored-by: Ben Brooks <ben@bbrks.me> Co-authored-by: Neil Cresswell <neil@cresswell.net.nz> |
5 years ago |
Chaim Lev-Ari |
edd86f2506
|
refactor(tags): refactor tag management (#3628)
* refactor(tags): replace tags with tag ids * refactor(tags): revert tags to be strings and add tagids * refactor(tags): enable search by tag in home view * refactor(tags): show endpoint tags * refactor(endpoints): expect tagIds on create payload * refactor(endpoints): expect tagIds on update payload * refactor(endpoints): replace TagIds to TagIDs * refactor(endpoints): set endpoint group to get TagIDs * refactor(endpoints): refactor tag-selector to receive tag-ids * refactor(endpoints): show tags in multi-endpoint-selector * chore(tags): revert reformat * refactor(endpoints): remove unneeded bind * refactor(endpoints): change param tags to tagids in endpoint create * refactor(endpoints): remove console.log * refactor(tags): remove deleted tag from endpoint and endpoint group * fix(endpoints): show loading label while loading tags * chore(go): remove obsolete import labels * chore(db): add db version comment * fix(db): add tag service to migrator * refactor(db): add error checks in migrator * style(db): sort props in alphabetical order * style(tags): fix typo Co-Authored-By: Anthony Lapenna <anthony.lapenna@portainer.io> * refactor(endpoints): replace tagsMap with tag string representation * refactor(tags): rewrite tag delete to be more readable * refactor(home): rearange code to match former style * refactor(tags): guard against missing model in tag-selector * refactor(tags): rename vars in tag_delete * refactor(tags): allow any authenticated user to fetch tag list * refactor(endpoints): replace controller function with class * refactor(endpoints): replace function with helper * refactor(endpoints): replace controller with class * refactor(tags): revert tags-selector to use 1 way bindings * refactor(endpoints): load empty tag array instead of nil * refactor(endpoints): revert default tag ids * refactor(endpoints): use function in place * refactor(tags): use lodash * style(tags): use parens in arrow functions * fix(tags): remove tag from tag model Co-authored-by: Anthony Lapenna <anthony.lapenna@portainer.io> |
5 years ago |
Anthony Lapenna | 2189deb3bd |
chore(version): bump version number
|
5 years ago |
Anthony Lapenna |
81c0bf0632
|
fix(api): introduce priority based logic for RBAC roles (#3374)
* fix(api): introduce priority based logic for RBAC roles * refactor(api): rename method |
5 years ago |
Anthony Lapenna | 9decbce511 |
chore(version): bump version number
|
5 years ago |
Anthony Lapenna |
19d4db13be
|
feat(api): rewrite access control management in Docker (#3337)
* feat(api): decorate Docker resource creation response with resource control * fix(api): fix a potential resource control conflict between stacks/volumes * feat(api): generate a default private resource control instead of admin only * fix(api): fix default RC value * fix(api): update RC authorizations check to support admin only flag * refactor(api): relocate access control related methods * fix(api): fix a potential conflict when fetching RC from database * refactor(api): refactor access control logic * refactor(api): remove the concept of DecoratedStack * feat(api): automatically remove RC when removing a Docker resource * refactor(api): update filter resource methods documentation * refactor(api): update proxy package structure * refactor(api): renamed proxy/misc package * feat(api): re-introduce ResourceControlDelete operation as admin restricted * refactor(api): relocate default endpoint authorizations * feat(api): migrate RBAC data * feat(app): ResourceControl management refactor * fix(api): fix access control issue on stack deletion and automatically delete RC * fix(api): fix stack filtering * fix(api): fix UpdateResourceControl operation checks * refactor(api): introduce a NewTransport builder method * refactor(api): inject endpoint in Docker transport * refactor(api): introduce Docker client into Docker transport * refactor(api): refactor http/proxy package * feat(api): inspect a Docker resource labels during access control validation * fix(api): only apply automatic resource control creation on success response * fix(api): fix stack access control check * fix(api): use StatusCreated instead of StatusOK for automatic resource control creation * fix(app): resource control fixes * fix(api): fix an issue preventing administrator to inspect a resource with a RC * refactor(api): remove useless error return * refactor(api): document DecorateStacks function * fix(api): fix invalid resource control type for container deletion * feat(api): support Docker system networks * feat(api): update Swagger docs * refactor(api): rename transport variable * refactor(api): rename transport variable * feat(networks): add system tag for system networks * feat(api): add support for resource control labels * feat(api): upgrade to DBVersion 22 * refactor(api): refactor access control management in Docker proxy * refactor(api): re-implement docker proxy taskListOperation * refactor(api): review parameters declaration * refactor(api): remove extra blank line * refactor(api): review method comments * fix(api): fix invalid ServerAddress property and review method visibility * feat(api): update error message * feat(api): update restrictedVolumeBrowserOperation method * refactor(api): refactor method parameters * refactor(api): minor refactor * refactor(api): change Azure transport visibility * refactor(api): update struct documentation * refactor(api): update struct documentation * feat(api): review restrictedResourceOperation method * refactor(api): remove unused authorization methods * feat(api): apply RBAC when enabled on stack operations * fix(api): fix invalid data migration procedure for DBVersion = 22 * fix(app): RC duplicate on private resource * feat(api): change Docker API version logic for libcompose/client factory * fix(api): update access denied error message to be Docker API compliant * fix(api): update volume browsing authorizations data migration * fix(api): fix an issue with access control in multi-node agent Swarm cluster |
5 years ago |
Anthony Lapenna |
0175490161
|
fix(api): data migration to update default Portainer authorizations (#3314)
|
5 years ago |
Anthony Lapenna | 4fad28590d |
chore(version): bump version number
|
5 years ago |
Anthony Lapenna |
182f3734d0
|
fix(api): fix an issue with unsupported cron format (#3240)
* fix(api): fix an issue with unsupported cron format * refactor(api): review migration method |
5 years ago |
Anthony Lapenna |
9aa52a6975
|
feat(settings): add new settings to disable volume browser (#3239)
* feat(settings): add new settings to disable volume browser * feat(api): update setting to be compliant with RBAC * refactor(api): update method comment * fix(api): remove volume browsing authorizations by default * feat(settings): rewrite volume management setting description * feat(settings): rewrite volume management setting tooltip * Update app/portainer/views/settings/settings.html Co-Authored-By: William <william.conquest@portainer.io> |
5 years ago |
Anthony Lapenna |
b7c38b9569
|
feat(api): trigger user authorization update when required (#3213)
* refactor(api): remove useless type cast * feat(api): trigger user authorization update when required * fix(api): fix missing RegistryService injection |
5 years ago |
Anthony Lapenna |
7d76bc89e7
|
feat(api): relocate authorizations outside of JWT (#3079)
* feat(api): relocate authorizations outside of JWT * fix(api): update user authorization after enabling the RBAC extension * feat(api): add PortainerEndpointList operation in the default portainer authorizations * feat(auth): retrieve authorization from API instead of JWT * refactor(auth): move permissions retrieval to function * refactor(api): document authorizations methods |
5 years ago |
Anthony Lapenna | 8cb18f9877 |
chore(version): bump version number
|
5 years ago |
Anthony Lapenna |
12a512f01f
|
feat(edge): introduce support for Edge agent (#3031)
* feat(edge): fix webconsole and agent deployment command * feat(edge): display agent features when connected to IoT endpoint * feat(edge): add -e CAP_HOST_MANAGEMENT=1 to agent command * feat(edge): add -v /:/host and --name portainer_agent_iot to agent command * style(endpoint-creation): refactor IoT agent to Edge agent * refactor(api): rename AgentIoTEnvironment to AgentEdgeEnvironment * refactor(api): rename AgentIoTEnvironment to AgentEdgeEnvironment * feat(endpoint-creation): update Edge agent deployment instructions * feat(edge): wip edge * feat(edge): refactor key creation * feat(edge): update deployment instructions * feat(home): update Edge agent endpoint item * feat(edge): support dynamic ports * feat(edge): support sleep/wake and snapshots * feat(edge): support offline mode * feat(edge): host job support for Edge endpoints * feat(edge): introduce STANDBY state * feat(edge): update Edge agent deployment command * feat(edge): introduce EDGE_ID support * feat(edge): update default inactivity interval to 5min * feat(edge): reload Edge schedules after restart * fix(edge): fix execution of endpoint job against an Edge endpoint * fix(edge): fix minor issues with scheduling UI/UX * feat(edge): introduce EdgeSchedule version management * feat(edge): switch back to REQUIRED state from ACTIVE on error * refactor(edge): remove comment * feat(edge): updated tunnel status management * feat(edge): fix flickering UI when accessing Edge endpoint from home view * feat(edge): remove STANDBY status * fix(edge): fix an issue with console and Swarm endpoint * fix(edge): fix an issue with stack deployment * fix(edge): reset timer when applying active status * feat(edge): add background ping for Edge endpoints * fix(edge): fix infinite loading loop after Edge endpoint connection failure * fix(home): fix an issue with merge * feat(api): remove SnapshotRaw from EndpointList response * feat(api): add pagination for EndpointList operation * feat(api): rename last_id query parameter to start * feat(api): implement filter for EndpointList operation * fix(edge): prevent a pointer issue after removing an active Edge endpoint * feat(home): front - endpoint backend pagination (#2990) * feat(home): endpoint pagination with backend * feat(api): remove default limit value * fix(endpoints): fix a minor issue with column span * fix(endpointgroup-create): fix an issue with endpoint group creation * feat(app): minor loading optimizations * refactor(api): small refactor of EndpointList operation * fix(home): fix minor loading text display issue * refactor(api): document bolt services functions * feat(home): minor optimization * fix(api): replace seek with index scanning for EndpointPaginated * fix(api): fix invalid starting index issue * fix(api): first implementation of working filter * fix(home): endpoints list keeps backend pagination when it needs to * fix(api): endpoint pagination doesn't drop the first item on pages >=2 anymore * fix(home): UI flickering on page/filter load/change * feat(auth): login spinner * feat(api): support searching in associated endpoint group data * refactor(api): remove unused API endpoint * refactor(api): remove comment * refactor(api): refactor proxy manager * feat(api): declare EndpointList params as optional * feat(api): support groupID filter on endpoints route * feat(api): add new API operations endpointGroupAddEndpoint and endpointGroupDeleteEndpoint * feat(edge): new icon for Edge agent endpoint * fix(edge): fix missing exec quick action * fix(edge): add loading indicator when connecting to Edge endpoint * feat(edge): disable service webhooks for Edge endpoints * feat(endpoints): backend pagination for endpoints view (#3004) * feat(edge): dynamic loading for stack migration feature * feat(edge): wordwrap edge key * feat(endpoint-groups): backend pagination support for create and edit * feat(endpoint-groups): debounce on filter for create/edit views * feat(endpoint-groups): filter assigned on create view * (endpoint-groups): unassigned endpoints edit view * refactor(endpoint-groups): code clean * feat(endpoint-groups): remove message for Unassigned group * refactor(websocket): minor refactor associated to Edge agent * feat(endpoint-group): enable backend pagination (#3017) * feat(api): support groupID filter on endpoints route * feat(api): add new API operations endpointGroupAddEndpoint and endpointGroupDeleteEndpoint * feat(endpoint-groups): backend pagination support for create and edit * feat(endpoint-groups): debounce on filter for create/edit views * feat(endpoint-groups): filter assigned on create view * (endpoint-groups): unassigned endpoints edit view * refactor(endpoint-groups): code clean * feat(endpoint-groups): remove message for Unassigned group * refactor(api): endpoint group endpoint association refactor * refactor(api): rename files and remove comments * refactor(api): remove usage of utils * refactor(api): optional parameters * Merge branch 'feat-endpoint-backend-pagination' into edge # Conflicts: # api/bolt/endpoint/endpoint.go # api/http/handler/endpointgroups/endpointgroup_update.go # api/http/handler/endpointgroups/handler.go # api/http/handler/endpoints/endpoint_list.go # app/portainer/services/api/endpointService.js * fix(api): fix default tunnel server credentials * feat(api): update endpointListOperation behavior and parameters * fix(api): fix interface declaration * feat(edge): support configurable Edge agent checkin interval * feat(edge): support dynamic tunnel credentials * feat(edge): update Edge agent deployment commands * style(edge): update Edge agent settings text * refactor(edge): remove unused credentials management methods * feat(edge): associate a remote addr to tunnel credentials * style(edge): update Edge endpoint icon * feat(edge): support encrypted tunnel credentials * fix(edge): fix invalid pointer cast * feat(bolt): decode endpoints with jsoniter * feat(edge): persist reverse tunnel keyseed * refactor(edge): minor refactor * feat(edge): update chisel library usage * refactor(endpoint): use controller function * feat(api): database migration to DBVersion 19 * refactor(api): refactor AddSchedule function * refactor(schedules): remove comment * refactor(api): remove comment * refactor(api): remove comment * feat(api): tunnel manager now only manage Edge endpoints * refactor(api): clean-up and clarification of the Edge service * refactor(api): clean-up and clarification of the Edge service * fix(api): fix an issue with Edge agent snapshots * refactor(api): add missing comments * refactor(api): update constant description * style(home): remove loading text on error * feat(endpoint): remove 15s timeout for ping request * style(home): display information about associated Edge endpoints * feat(home): redirect to endpoint details on click on unassociated Edge endpoint * feat(settings): remove 60s Edge poll frequency option |
5 years ago |
Anthony Lapenna | 48281df41a |
chore(version): bump version number
|
6 years ago |
Anthony Lapenna |
8057aa45c4
|
feat(extensions): introduce RBAC extension (#2900)
|
6 years ago |