+
>
diff --git a/web/src/router.tsx b/web/src/router.tsx
index 9ec0530b..114e4361 100644
--- a/web/src/router.tsx
+++ b/web/src/router.tsx
@@ -1,14 +1,15 @@
import { createBrowserRouter } from "react-router-dom";
import Layout from "./layouts/Layout";
-import BasicGen from "./features/basicGen/BasicGen";
-import BugFix from "./features/bugFix/BugFix";
+import BasicGen from "./features/basicGen";
+import BugFix from "./features/bugFix";
import ErrorPage from "./components/internal-ui/ErrorPage";
import { routes, terraformRoutes } from "./utils/routing";
-import Terraform from "./features/terraform/Terraform";
+import Terraform from "./features/terraform";
import Docker from "./features/terraform/components/Docker";
import EC2 from "./features/terraform/components/EC2";
import S3 from "./features/terraform/components/S3";
import IAM from "./features/terraform/components/IAM";
+import Argocd from "./features/terraform/components/Argocd";
export const router = createBrowserRouter([
{
path: "/",
@@ -37,6 +38,10 @@ export const router = createBrowserRouter([
path: routes.terraformTemplate + terraformRoutes.iamService,
element:
,
},
+ {
+ path: routes.terraformTemplate + terraformRoutes.argocdService,
+ element:
,
+ },
],
},
],
diff --git a/web/src/utils/mapperFunctions.ts b/web/src/utils/mapperFunctions.ts
index 88326fc3..a43033db 100644
--- a/web/src/utils/mapperFunctions.ts
+++ b/web/src/utils/mapperFunctions.ts
@@ -11,7 +11,9 @@ import {
ApiRequestTerraformS3,
TerraformIAMFormData,
ApiRequestTerraformIam,
-} from "../features/model";
+ ApiRequestTerraformArgocd,
+ TerraformArgocdFormData,
+} from "../features/models";
export const basicGenMapper = (data: BasicGenFormData): ApiRequestBasicGen => ({
min_token: data.minToken,
@@ -59,3 +61,21 @@ export const terraformIAMMapper = (
iam_user: data.iamUser,
iam_group: data.iamGroup,
});
+
+export const terraformArgocdMapper = (
+ data: TerraformArgocdFormData
+): ApiRequestTerraformArgocd => ({
+ argocd_application: {
+ sync_policy: {
+ auto_prune: data.autoPrune,
+ self_heal: data.selfHeal,
+ },
+ sync_options: {
+ apply_out_of_sync_only: data.applyOutOfSyncOnly,
+ create_namespace: data.createNamespace,
+ fail_or_share_resource: data.failOrShareResource,
+ },
+ },
+ argocd_cluster: data.argocdCluster,
+ argocd_repository: data.argocdRepository,
+});
diff --git a/web/src/utils/nameGenerator.ts b/web/src/utils/nameGenerator.ts
index 56c0c3ed..11405a18 100644
--- a/web/src/utils/nameGenerator.ts
+++ b/web/src/utils/nameGenerator.ts
@@ -1,19 +1,22 @@
import { Endpoints } from "../features/constants";
export const nameGenerator = (endpoint: Endpoints | "") => {
- let name = "Terraform";
+ let name = "";
switch (endpoint) {
case Endpoints.POST_IAC_T_DOCKER:
- name = `${name}_Docker`;
+ name = "DOCKER";
break;
case Endpoints.POST_IAC_T_EC2:
- name = `${name}_EC2`;
+ name = "EC2";
break;
case Endpoints.POST_IAC_T_S3:
- name = `${name}_S3`;
+ name = "S3";
break;
case Endpoints.POST_IAC_T_IAM:
- name = `${name}_IAM`;
+ name = "IAM";
+ break;
+ case Endpoints.POST_IAC_ARGOCD:
+ name = "ARGOCD";
break;
}
return name;
diff --git a/web/src/utils/routing.ts b/web/src/utils/routing.ts
index 6bbb85e5..5f7c9c24 100644
--- a/web/src/utils/routing.ts
+++ b/web/src/utils/routing.ts
@@ -19,6 +19,7 @@ export const terraformRoutes = {
ec2Service: "/ec2-service",
s3Service: "/s3-service",
iamService: "/iam-service",
+ argocdService: "/argocd-service",
};
export const terraformBtnMapping = [
@@ -26,4 +27,5 @@ export const terraformBtnMapping = [
{ label: "EC2 service", route: terraformRoutes.ec2Service },
{ label: "S3 service", route: terraformRoutes.s3Service },
{ label: "IAM service", route: terraformRoutes.iamService },
+ { label: "ARGOCD service", route: terraformRoutes.argocdService },
];
diff --git a/web/src/utils/store.ts b/web/src/utils/store.ts
index 64a31c2c..ea09ebfd 100644
--- a/web/src/utils/store.ts
+++ b/web/src/utils/store.ts
@@ -1,6 +1,6 @@
import { create } from "zustand";
import { Endpoints, UserType } from "../features/constants";
-import { Message } from "../features/model";
+import { Message } from "../features/models";
interface GeneratorQuery {
isSuccess: boolean;
diff --git a/web/tsconfig.json b/web/tsconfig.json
index 432cab58..209f5ce8 100644
--- a/web/tsconfig.json
+++ b/web/tsconfig.json
@@ -1,7 +1,7 @@
{
"files": [],
"compilerOptions": {
- "module": "ESNext",
+ "module": "ES6",
"types": ["vite/client", "node"],
"moduleResolution": "Bundler",
"skipLibCheck": true,
diff --git a/web/vite.config.ts b/web/vite.config.ts
index e5e530ca..f3a302cc 100644
--- a/web/vite.config.ts
+++ b/web/vite.config.ts
@@ -1,12 +1,13 @@
import { defineConfig, loadEnv } from "vite";
import react from "@vitejs/plugin-react";
+import tsconfigPaths from "vite-tsconfig-paths";
export default defineConfig(({ mode }) => {
// Load environment variables based on the current mode
const env = loadEnv(mode, process.cwd(), "");
return {
- plugins: [react()],
+ plugins: [react(), tsconfigPaths()],
server: {
port: Number(env.VITE_PORT) || 5173, // Use VITE_PORT from .env file or fallback
},