Просмотр исходного кода

clean up preflight check struct

sunguroku 3 лет назад
Родитель
Сommit
a5490f951a

+ 20 - 20
Tiltfile

@@ -54,25 +54,25 @@ docker_build_with_restart(
 #     only=['dashboard/package.json', 'dashboard/package-lock.json']
 # )
 
-# docker_build(
-#     ref="porter1/porter-dashboard",
-#     context=".",
-#     dockerfile="zarf/docker/Dockerfile.dashboard.tilt",
-#     build_args={'node_env': 'development'},
-#     entrypoint='npm start',
-#     ignore=[
-#         "dashboard/node_modules",
-#         "dashboard/package-lock.json",
-#         "dashboard/webpack.config.js"
-#     ],
-#     live_update=[
-#         sync('dashboard', '/app'),
-#         run('cd /app && npm start', trigger=['./package.json']),
+docker_build(
+    ref="porter1/porter-dashboard",
+    context=".",
+    dockerfile="zarf/docker/Dockerfile.dashboard.tilt",
+    build_args={'node_env': 'development'},
+    entrypoint='npm start',
+    ignore=[
+        "dashboard/node_modules",
+        "dashboard/package-lock.json",
+        "dashboard/webpack.config.js"
+    ],
+    live_update=[
+        sync('dashboard', '/app'),
+        run('cd /app && npm start', trigger=['./package.json']),
 
-#         # # if all that changed was start-time.txt, make sure the server
-#         # # reloads so that it will reflect the new startup time
-#         # run('touch /app/index.js', trigger='./start-time.txt'),
-# ])
+        # # if all that changed was start-time.txt, make sure the server
+        # # reloads so that it will reflect the new startup time
+        # run('touch /app/index.js', trigger='./start-time.txt'),
+])
 
 dotenv(fn='zarf/helm/.dashboard.env')
 
@@ -101,7 +101,7 @@ if (cluster.startswith("kind-")):
     updated_install = encode_yaml_stream(decoded)
     k8s_yaml(updated_install)
     k8s_resource(workload='porter-server-web', port_forwards="8080:8080", labels=["porter"])
-    # k8s_resource(workload='porter-dashboard-web', port_forwards="8081:8081", labels=["porter"], resource_deps=["postgresql"])
+    k8s_resource(workload='porter-dashboard', port_forwards="8081:8081", labels=["porter"], resource_deps=["postgresql"])
 else:
     local("echo 'Be careful that you aren't connected to a staging or prod cluster' && exit 1")
-    exit()
+    exit()

+ 3 - 3
api/server/handlers/project_integration/preflight_check_aws.go

@@ -42,9 +42,9 @@ func (p *CreatePreflightCheckAWSHandler) ServeHTTP(w http.ResponseWriter, r *htt
 	}
 
 	checkReq := porterv1.RolePreflightCheckRequest{
-		ProjectID:       int64(project.ID),
-		TargetARN:		 request.TargetARN,
-		ExternalID: 	 request.ExternalID,
+		ProjectId:       int64(project.ID),
+		TargetArn:		 request.TargetARN,
+		ExternalId: 	 request.ExternalID,
 	}
 
 	checkResp, err := p.Config().ClusterControlPlaneClient.RolePreflightCheck(ctx, connect.NewRequest(&checkReq))

+ 0 - 56
dashboard/src/components/CloudFormationForm.tsx

@@ -11,32 +11,17 @@ import Heading from "components/form-components/Heading";
 import Helper from "./form-components/Helper";
 import InputRow from "./form-components/InputRow";
 import SaveButton from "./SaveButton";
-import Loading from "./Loading";
 
 type Props = {
   goBack: () => void;
   proceed: () => void;
 };
 
-type AWSCredential = {
-  created_at: string;
-  id: number;
-  user_id: number;
-  project_id: number;
-  aws_arn: string;
-};
-
-
 const CloudFormationForm: React.FC<Props> = ({
   goBack,
   proceed,
 }) => {
-  const { currentProject } = useContext(Context);
-  const [AWSCredentials, setAWSCredentials] = useState<AWSCredential[]>(null);
-  const [isLoading, setIsLoading] = useState(true);
   const [AWSAccountID, setAWSAccountID] = useState("");
-  const [selectedCredentials, setSelectedCredentials] = useState<AWSCredential>(null);
-  const [showCreateForm, setShowCreateForm] = useState(false);
   const [roleStatus, setRoleStatus] = useState("");
 
   const checkIfRoleExists = () => {
@@ -126,52 +111,11 @@ const CloudFormationForm: React.FC<Props> = ({
 
 export default CloudFormationForm;
 
-const CloseButton = styled.div`
-  position: absolute;
-  top: 15px;
-  right: 15px;
-  padding: 5px;
-  border-radius: 100px;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  cursor: pointer;
-  background: #ffffff11;
-  :hover {
-    background: #ffffff22;
-    > i {
-      color: #ffffff;
-    }
-  }
-  > i {
-    font-size: 20px;
-    color: #aaaabb;
-  }
-`;
-
 const Spacer = styled.div`
   height: 1px;
   width: 17px;
 `;
 
-const Icon = styled.img`
-  width: 15px;
-  margin-right: 15px;
-`;
-
-const CreateRow = styled.div`
-  height: 50px;
-  display: flex;
-  cursor: pointer;
-  align-items: center;
-  font-size: 13px;
-  padding: 20px;
-  background: #ffffff11;
-  :hover {
-    background: #ffffff18; 
-  }
-`;
-
 const Img = styled.img`
   height: 18px;
   margin-right: 15px;

+ 1 - 1
go.mod

@@ -74,7 +74,7 @@ require (
 	github.com/glebarez/sqlite v1.6.0
 	github.com/nats-io/nats.go v1.24.0
 	github.com/open-policy-agent/opa v0.44.0
-	github.com/porter-dev/api-contracts v0.0.47
+	github.com/porter-dev/api-contracts v0.0.48
 	github.com/santhosh-tekuri/jsonschema/v5 v5.0.1
 	github.com/stefanmcshane/helm v0.0.0-20221213002717-88a4a2c6e77d
 	github.com/xanzy/go-gitlab v0.68.0

+ 2 - 2
go.sum

@@ -1466,8 +1466,8 @@ github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77
 github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
 github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
 github.com/polyfloyd/go-errorlint v0.0.0-20210722154253-910bb7978349/go.mod h1:wi9BfjxjF/bwiZ701TzmfKu6UKC357IOAtNr0Td0Lvw=
-github.com/porter-dev/api-contracts v0.0.47 h1:27oAGW8i+SXQFF3LZG0FrGz7KUolNenbjRPPn0/V+og=
-github.com/porter-dev/api-contracts v0.0.47/go.mod h1:qr2L58mJLr5DUGV5OPw3REiSrQvJq6TgkKyEWP95dyU=
+github.com/porter-dev/api-contracts v0.0.48 h1:i6B6H26+am/H61YC1u9u7gAah+opnWS7qfUxZQrkWjo=
+github.com/porter-dev/api-contracts v0.0.48/go.mod h1:qr2L58mJLr5DUGV5OPw3REiSrQvJq6TgkKyEWP95dyU=
 github.com/porter-dev/switchboard v0.0.0-20221019155755-67ff2bf04935 h1:hfb3nt3AJXIBbevu6ARTg9SdOkMP6WLbKBiG5hT5rcc=
 github.com/porter-dev/switchboard v0.0.0-20221019155755-67ff2bf04935/go.mod h1:xSPzqSFMQ6OSbp42fhCi4AbGbQbsm6nRvOkrblFeXU4=
 github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI=

+ 69 - 0
zarf/cloudformation-policy.json

@@ -0,0 +1,69 @@
+{
+    "AWSTemplateFormatVersion": "2010-09-09",
+    "Resources": {
+        "RootRole": {
+            "Type": "AWS::IAM::Role",
+            "Properties": {
+                "AssumeRolePolicyDocument": {
+                    "Version": "2012-10-17",
+                    "Statement": [
+                        {
+                            "Effect": "Allow",
+                            "Principal": {
+                                "AWS": [
+                                    "arn:aws:iam::108458755588:role/CAPIManagement"
+                                ]
+                            },
+                            "Condition": {
+                                "StringEquals": {
+                                    "sts:ExternalId": {
+                                        "Ref": "ExternalIdParameter"
+                                    }
+                                }
+                            },
+                            "Action": [
+                                "sts:AssumeRole"
+                            ]
+                        },
+                        {
+                            "Effect": "Allow",
+                            "Principal": {
+                                "Service": [
+                                    "ec2.amazonaws.com"
+                                ]
+                            },
+                            "Action": [
+                                "sts:AssumeRole"
+                            ]
+                        },
+                        {
+                            "Effect": "Allow",
+                            "Principal": {
+                                "Service": [
+                                    "eks.amazonaws.com"
+                                ]
+                            },
+                            "Action": [
+                                "sts:AssumeRole"
+                            ]
+                        }
+                    ]
+                },
+                "Path": "/",
+                "ManagedPolicyArns": [
+                    "arn:aws:iam::aws:policy/AdministratorAccess",
+                    "arn:aws:iam::aws:policy/AmazonEKSClusterPolicy",
+                    "arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy",
+                    "arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly",
+                    "arn:aws:iam::aws:policy/service-role/AmazonEBSCSIDriverPolicy"
+                ]
+            }
+        }
+    },
+    "Parameters": {
+        "ExternalIdParameter": {
+            "Type" : "String",
+            "Description": "External ID required for CAPIManagement role to access target ARN."
+        }
+    }
+}

+ 0 - 8
zarf/helm/.serverenv

@@ -1,8 +0,0 @@
-# Fill out this file, and renamed to '.server.env' in order to run this with Tilt
-SQL_LITE=false
-DB_NAME=porter
-DB_USER=porter
-DB_PASSWORD=porter
-DB_HOST=postgresql
-DB_PORT=5432
-CLUSTER_CONTROL_PLANE_ADDRESS=http://ccp-web:7833