From 89c1d0e3370773b26d1cd263b56e48b8dec862f5 Mon Sep 17 00:00:00 2001
From: Ali <83188384+testA113@users.noreply.github.com>
Date: Mon, 26 Jun 2023 16:21:19 +1200
Subject: [PATCH] feat(app): add ingress to app service form [EE-5569] (#9106)
---
.../images/ingress-explanatory-diagram.png | Bin 0 -> 68585 bytes
.../applications-datatable-url.css | 10 -
.../applications-datatable-url.html | 7 -
.../applications-datatable-url.js | 9 -
.../applicationsDatatable.css | 11 +
.../applicationsDatatable.html | 14 +-
.../applicationsDatatableController.js | 6 +-
app/kubernetes/helpers/application/index.js | 24 +-
app/kubernetes/ingress/converter.js | 6 +-
.../models/application/formValues.js | 1 -
app/kubernetes/models/service/models.js | 14 -
app/kubernetes/react/components/index.ts | 8 +-
app/kubernetes/services/applicationService.js | 51 ++-
.../create/createApplication.html | 6 +-
.../create/createApplicationController.js | 213 +-----------
.../summary/resources/applicationResources.js | 43 +--
.../FormSection/FormSection.tsx | 7 +-
.../FormSectionTitle/FormSectionTitle.tsx | 25 +-
.../InputGroup/InputGroupButtonWrapper.tsx | 14 +-
.../form-components/ReactSelect.css | 48 +++
.../form-components/ReactSelect.tsx | 21 +-
.../ClusterIpServiceForm.tsx | 167 ----------
.../application-services/KubeServicesForm.tsx | 313 ++++--------------
.../LoadBalancerServiceForm.tsx | 200 -----------
.../NodePortServiceForm.tsx | 197 -----------
.../PublishingExplaination.tsx | 90 +++++
.../cluster-ip/ClusterIpServiceForm.tsx | 196 +++++++++++
.../ClusterIpServicesForm.tsx | 15 +-
.../{ => components}/ContainerPortInput.tsx | 14 +-
.../{ => components}/ServicePortInput.tsx | 14 +-
.../components/ServiceTabLabel.tsx | 33 ++
.../{ => components}/ServiceTabs.tsx | 2 +-
.../ingress/AppIngressPathForm.tsx | 161 +++++++++
.../ingress/AppIngressPathsForm.tsx | 171 ++++++++++
.../kubeServicesValidation.ts | 311 +++++++++++++++++
.../load-balancer/LoadBalancerServiceForm.tsx | 238 +++++++++++++
.../LoadBalancerServicesForm.tsx | 19 +-
.../node-port/NodePortServiceForm.tsx | 236 +++++++++++++
.../{ => node-port}/NodePortServicesForm.tsx | 15 +-
.../CreateView/application-services/types.ts | 14 +-
.../CreateView/application-services/utils.ts | 106 +++++-
.../ApplicationIngressesTable.tsx | 7 +-
.../IngressDatatable/columns/ingressRules.tsx | 2 +-
app/react/kubernetes/ingresses/queries.ts | 48 +--
app/react/kubernetes/ingresses/types.ts | 2 +-
app/react/portainer/environments/.keep | 0
app/react/portainer/environments/types.ts | 1 +
47 files changed, 1929 insertions(+), 1181 deletions(-)
create mode 100644 app/assets/images/ingress-explanatory-diagram.png
delete mode 100644 app/kubernetes/components/datatables/applications-datatable-url/applications-datatable-url.css
delete mode 100644 app/kubernetes/components/datatables/applications-datatable-url/applications-datatable-url.html
delete mode 100644 app/kubernetes/components/datatables/applications-datatable-url/applications-datatable-url.js
delete mode 100644 app/react/kubernetes/applications/CreateView/application-services/ClusterIpServiceForm.tsx
delete mode 100644 app/react/kubernetes/applications/CreateView/application-services/LoadBalancerServiceForm.tsx
delete mode 100644 app/react/kubernetes/applications/CreateView/application-services/NodePortServiceForm.tsx
create mode 100644 app/react/kubernetes/applications/CreateView/application-services/PublishingExplaination.tsx
create mode 100644 app/react/kubernetes/applications/CreateView/application-services/cluster-ip/ClusterIpServiceForm.tsx
rename app/react/kubernetes/applications/CreateView/application-services/{ => cluster-ip}/ClusterIpServicesForm.tsx (90%)
rename app/react/kubernetes/applications/CreateView/application-services/{ => components}/ContainerPortInput.tsx (67%)
rename app/react/kubernetes/applications/CreateView/application-services/{ => components}/ServicePortInput.tsx (68%)
create mode 100644 app/react/kubernetes/applications/CreateView/application-services/components/ServiceTabLabel.tsx
rename app/react/kubernetes/applications/CreateView/application-services/{ => components}/ServiceTabs.tsx (95%)
create mode 100644 app/react/kubernetes/applications/CreateView/application-services/ingress/AppIngressPathForm.tsx
create mode 100644 app/react/kubernetes/applications/CreateView/application-services/ingress/AppIngressPathsForm.tsx
create mode 100644 app/react/kubernetes/applications/CreateView/application-services/kubeServicesValidation.ts
create mode 100644 app/react/kubernetes/applications/CreateView/application-services/load-balancer/LoadBalancerServiceForm.tsx
rename app/react/kubernetes/applications/CreateView/application-services/{ => load-balancer}/LoadBalancerServicesForm.tsx (92%)
create mode 100644 app/react/kubernetes/applications/CreateView/application-services/node-port/NodePortServiceForm.tsx
rename app/react/kubernetes/applications/CreateView/application-services/{ => node-port}/NodePortServicesForm.tsx (90%)
delete mode 100644 app/react/portainer/environments/.keep
diff --git a/app/assets/images/ingress-explanatory-diagram.png b/app/assets/images/ingress-explanatory-diagram.png
new file mode 100644
index 0000000000000000000000000000000000000000..20b5599e00210414897a13d859faf878e70eab9f
GIT binary patch
literal 68585
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
*#EkNs+ZM-
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