* feat(app): add a preview for business edition features
* feat(app): open links in new tab + show storage quota section + grey out unavailable providers
* feat(k8s/resource-pool): set ingress hostname as mandatory and remove default backend
* refactor(k8s/resource-pool): use constants
* feat(k8s/configure): add experimental note about traefik
* feat(k8s/configure): separate ingress class name and ingress class type
* feat(k8s/resource-pool): ability to add custom annotations to ingress classes on RP create/edit
* feat(k8s/ingresses): remove 'allow users to use ingress' switch
* feat(k8s/configure): minor UI update
* feat(k8s/resource-pool): minor UI update
* feat(k8s/application): update ingress route form validation
* refactor(k8s/resource-pool): remove console.log statement
* feat(k8s/resource-pool): update ingress annotation placeholders
* feat(k8s/configure): add pattern form validation on ingress class
* fix(k8s/resource-pool): automatically associate ingress class to ingress
* fix(k8s/resource-pool): fix invalid ingress when updating a resource pool
* fix(k8s/resource-pool): update ingress rewrite target annotation value
* feat(k8s/application): ingress form validation
* fix(k8s/application): squash ingress rules with empty host inside a single one
* feat(k8s/resource-pool): ingress host validation
* fix(k8s/resource-pool): rewrite rewrite option and only display it for ingress of type nginx
* feat(k8s/application): do not expose ingress applications over node port
* feat(k8s/application): add specific notice for ingress
Co-authored-by: Anthony Lapenna <lapenna.anthony@gmail.com>
* feat(application): Support multi-container pods applications
* feat(application): Support multi-container pods applications
* fix(application): use only one pod in app details and fix logs and console links
* fix(application): show all containers in containers datatable
* fix(application): fix order by pod name
* feat(k8s/application): minor UI update
* feat(k8s/application): minor UI update
* feat(k8s/application): minor UI update
* feat(k8s/application): minor UI update
* feat(k8s/application): minor UI update
* fix(application): fix persisted folders in application details
Co-authored-by: Anthony Lapenna <lapenna.anthony@gmail.com>
* feat(k8s/endpoint): expose ingress controllers on endpoints
* feat(k8s/applications): add ability to expose applications over ingress - missing RP and app edits
* feat(k8s/application): add validation for ingress routes
* feat(k8s/resource-pools): edit available ingress classes
* fix(k8s/ingress): var name refactor was partially applied
* feat(kubernetes): double validation on RP edit
* feat(k8s/application): app edit ingress update + formvalidation + UI rework
* feat(k8s/ingress): dictionary for default annotations on ingress creation
* fix(k8s/application): temporary fix + TODO dev notice
* feat(k8s/application): select default ingress of selected resource pool
* feat(k8s/ingress): revert ingressClassName removal
* feat(k8s/ingress): admins can now add an host to ingress in a resource pool
* feat(k8s/resource-pool): list applications using RP ingresses
* feat(k8s/configure): minor UI update
* feat(k8s/configure): minor UI update
* feat(k8s/configure): minor UI update
* feat(k8s/configure): minor UI update
* feat(k8s/configure): minor UI update
* fix(k8s/ingresses): remove host if undefined
* feat(k8s/resource-pool): remove the activate ingresses switch
* fix(k8s/resource-pool): edditing an ingress host was deleting all the routes of the ingress
* feat(k8s/application): prevent app deploy if no ports to publish and publishing type not internal
* feat(k8s/ingress): minor UI update
* fix(k8s/ingress): allow routes without prepending /
* feat(k8s/application): add form validation on ingress route
Co-authored-by: Anthony Lapenna <lapenna.anthony@gmail.com>
* feat(node): Add the ability to apply taints and labels to nodes
* feat(k8s/node): minor UI update
* feat(k8s/node): UI update and disable system labels
* feat(k8s/node): minor UI update
* fix(node): fix add first taint
* refacto(node): add KubernetesNodeHelper
* feat(node): add used label to labels
* feat(node): add node update modals
* fix(node): modal when used label changes
* feat(k8s/node): minor UI update
Co-authored-by: Anthony Lapenna <lapenna.anthony@gmail.com>
* feat(resourcepool): Reducing the Quota assigned to a RP
* fix(k8s/resource-pool): fix an issue with hasResourceQuotaBeenReduce condition
Co-authored-by: Anthony Lapenna <lapenna.anthony@gmail.com>
* feat(applications): update UI to use existing volumes
* feat(application): Add the ability to use existing volumes when creating an application
* feat(application): Existing persisted folders should default to associated volumes
* feat(application): add form validation to existing volume
* feat(application): remove the ability to use an existing volume with statefulset application
* feat(k8s/applications): minor UI update
* feat(k8s/application): minor UI update
* feat(volume): allow to increase volume size and few other things
* feat(volumes): add the ability to allow volume expansion
* fix(storage): fix the storage patch request
* fix(k8s/applications): remove conflict leftover
* feat(k8s/configure): minor UI update
* feat(k8s/volume): minor UI update
* fix(storage): change few things
Co-authored-by: Anthony Lapenna <lapenna.anthony@gmail.com>
* feat(cluster): add kubernetes endpoint resource
* feat(cluster): add kubernetes endpoint service
* feat(node): Show which IP address / port the cluster API is listening on
* fix(cluster): support multi-master clusters
* fix(cluster): support multi-master clusters
* feat(k8s/cluster): minor UI update
* refactor(k8s/cluster): rename variable
* refactor(k8s/endpoints): refactor KubernetesEndpointsFactory
Co-authored-by: Anthony Lapenna <lapenna.anthony@gmail.com>
* feat(application): add horizontalpodautoscaler creation
* feat(application): Add the ability to set the auto-scale policy of an application
* feat(k8s/application): minor UI update
* fix(application): set api version and prevent to use hpa with global deployment type
* feat(settings): add a switch to enable features based on server metrics
* feat(k8s/applications): minor UI update
Co-authored-by: Anthony Lapenna <lapenna.anthony@gmail.com>
* feat(k8s/application): expose placement conditions
* feat(k8s/applications): minor UI update
* feat(k8s/application): update message for admin and non admin users
* feat(kubernetes/applications): minor UI update
Co-authored-by: Anthony Lapenna <lapenna.anthony@gmail.com>
* feat(cluster): Show the cluster leader
* feat(cluster): Restrict leader label only to admin users
* feat(kubernetes): minor UI update
* feat(endpoint): move all KubernetesEndpoint related code to a single endpoint sub-folder and change few things
* fix(k8s/cluster): fix conflict leftover
* feat(k8s/cluster): review component leader UX
* refactor(k8s/node): remove useless call to endpoints
* refactor(k8s/endpoint): relocate variable declaration
Co-authored-by: Anthony Lapenna <lapenna.anthony@gmail.com>
* feat(logs): Add the ability to download application/stack logs
* feat(kubernetes): minor UI update
Co-authored-by: Anthony Lapenna <lapenna.anthony@gmail.com>
* feat(kubernetes): add ingress details
* fix(kubernetes): fix broken ingress generated links + ignore IP retrieval/display info on missing LB ingress ip
* refactor(kubernetes): each ingress rule in apps port mappings has now its own row
* feat(kubernetes): remove protocol column and concat it to container port
* feat(kubernetes): edit display of ingress rules in application details
* feat(kubernetes): minor UI update
Co-authored-by: Anthony Lapenna <lapenna.anthony@gmail.com>