diff --git a/docker-compose.yml b/docker-compose.yml index bc475d8..6eff75d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,7 +7,7 @@ services: - SQL_PASS=7CpV#RdTgttC - SQL_HOST=db - SQL_DB=cloud_api - - PROXY_ADDR=35.211.84.216:8081 + - PROXY_ADDR=localhost:8888 ports: - "8080:8080" depends_on: diff --git a/infrastructure/repositories/containerRepository.go b/infrastructure/repositories/containerRepository.go index a2a657d..545a137 100644 --- a/infrastructure/repositories/containerRepository.go +++ b/infrastructure/repositories/containerRepository.go @@ -115,6 +115,7 @@ func (repo containerRepository) CreateContainer(uniqueUserID, imageName string) now := util.GetNowString() + isPrivileged := true deployment := &appsv1.Deployment{ ObjectMeta: metav1.ObjectMeta{ Name: now, @@ -137,6 +138,10 @@ func (repo containerRepository) CreateContainer(uniqueUserID, imageName string) { Name: now, Image: imageName, + SecurityContext: &corev1.SecurityContext{ + Privileged: &isPrivileged, + }, + ImagePullPolicy: corev1.PullIfNotPresent, }, }, }, @@ -181,7 +186,7 @@ func (repo containerRepository) DeleteContainer(uniqueUserID, containerID string } func getWebSocketPath(selfLink, container string) string { - return fmt.Sprintf("ws://%s?connect_info=wss://%s%s/exec?container=%s%%26stdin=1%%26stdout=1%%26stderr=1%%26tty=1%%26command=/bin/bash", config.GetProxyAddr(), config.GetKubeIP(), selfLink, container) + return fmt.Sprintf("ws://%s%s/exec?container=%s&stdin=1&stdout=1&stderr=1&tty=1&command=/bin/bash", config.GetProxyAddr(), selfLink, container) } func getPodState(pod corev1.Pod) string { diff --git a/kubeconfig b/kubeconfig index 078f86b..a3371d0 100644 --- a/kubeconfig +++ b/kubeconfig @@ -1,19 +1,20 @@ apiVersion: v1 clusters: - cluster: - certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURDekNDQWZPZ0F3SUJBZ0lRUHoreDhqVURwanM2UlhBWCtJd09zakFOQmdrcWhraUc5dzBCQVFzRkFEQXYKTVMwd0t3WURWUVFERXlRd1l6SmhOVFJpTXkweU16YzFMVFE1WmprdE9URTRNeTAxWldNek16azFZMkk1TXpJdwpIaGNOTVRneE1qRXdNRFkwTWpFeFdoY05Nak14TWpBNU1EYzBNakV4V2pBdk1TMHdLd1lEVlFRREV5UXdZekpoCk5UUmlNeTB5TXpjMUxUUTVaamt0T1RFNE15MDFaV016TXprMVkySTVNekl3Z2dFaU1BMEdDU3FHU0liM0RRRUIKQVFVQUE0SUJEd0F3Z2dFS0FvSUJBUUN3NHRWR2Q2V3hUOFQ4VnlQaEZySE1meWEvTGhSUHRLTUNkdWZLcDN5Ygo5dVBibEtYczNDTS85bFhxNDJyOGNFdllma0RZM2theVpuL1JITGpDOXE1V3BXSEJSSmZoSStlUmdJRlBJMW5ZCk5ySnErZFgrUXYwNnZmQkNaRGZITDdRLzdIZVJxQXlmWmVsaGJsMUVnS1k4MGsvcytBT1NuNjU2TFNWQTZHY2gKWlJmbkRzd0E1d2pnWDU1R2dvU0VtdGkvTkxJM1RRMW8renhGdCtjZkVuT1lWdlg1K1R1QVdnZGNtYjlnSEdKdgpHSlNkdTZlbGwzQVlteG93N0FQYWxweWxpUHVRVDF0ZkZiSGV1ZXJpWXR5Rk4vdDlHM0FsK0ZvTTlySzY3RGFsCktSTWlXUkhWM1NocVNQbnI3VHdZa1RlaFFRaTlBQ3lLd0k4L011dHZ4amVyQWdNQkFBR2pJekFoTUE0R0ExVWQKRHdFQi93UUVBd0lDQkRBUEJnTlZIUk1CQWY4RUJUQURBUUgvTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFBaQpsOFdEeHppRVVONW5Za3BrV3RJcXh3a0oza0tIeWRYK09FcGQwbGpqUjJRVzBDSUhYbkw5UWxuUnNjNzkxZG56CmY3bXZBWnZEL1J6REpVNk4xcWxMT283MFhveU9IWnBNd2dwditCdk9kc2ZLR3h4UWZQZFdNbXdZRDY4QlVlZW4KTXZpV2hXbmJNMUNQSk5qblhxSlFWSzRUL3hmV3ZTUEV1M2pRNjNhb1NKalZJWjArS1dSVU1pQkNBYXZjaHYzbAoyYXJVY0hYeXpNUjlWMFk2VDk0NGd6SFIvVUNTakhGbHJxc2luQitXc1p2RU84c04xSjd4U2RIejYwR3ZoN1ZtCk1iTFAvV1J6dUFsSEZ1K0I0azNlRWN5OGI5ZnhaaTVzQWhSVmpEVGFuRGNmSVByWUVPaGo5SVZMWEhnU0VDZW4KZUhUUURKQnBMWHFhWmtnY1RBMW4KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo= - server: https://35.232.60.106 - name: gke_proud-shoreline-225107_us-central1-a_standard-cluster-1 + certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN5RENDQWJDZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRFNU1EVXlPVEV4TXpJd01sb1hEVEk1TURVeU5qRXhNekl3TWxvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTVJKCjBuemtxTUczK2tXQUM5VHorWlczZURISTNJS3NmaTY4eDA3cEw2NGRrNElQcGJHY3FiZy9oNlR6UE9Xb3Q4UFcKS1NVcnVzVndmeHR2SVpUWHVKcHBSMVFoM3E3RVhZdGdCMlhsRTAydXBjZWoxcUNRUllSWTlnUjNBQ1JtQXFHVwpSM1dRRzAzQmpUWG43RTJ1eDkvQ1RKaGxvdGF3Yi9iWkFMdU1TS3lTWGhXK1NlNk5WVHBCYXEwazhqbFBDYmZzCjdHS0REcDUrRk9PR01tRFFXUXVLZG41VGFtcnNzK3A4RG1lelRQS3FBQ3JIVE4xNFVCYzhkSVNMaVpvTzY2Q3gKVzNMME5KM2UrUFVRYXYrZ1laWDBHSUdIVTVkc1JpdmJ5dVJWNklRallDaUlTMk5CZTQzbXVhT3Z5UStYbktjVApSMVVRVmdQalRmSElYVk55ZE9VQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFCVmpDQmk4UFlQZEoxOU5GanRtQThWbVJ3TE8KUlBHZWR4MGg0Tkx3TkQ3T3BtdjlxeU1KemNSVXd3Y29TMFBVcU12V05MYzhYZWNyVHJoNXl1aVBRTW9icTUyawpndCtCVDlRTlRIa2pOc1ptMllLT2YyL216cjg0aUpGQkc1eXFQRjl0TUpNVUtHUGRXTzBzcDJ5ZnB3Mk9pcUVsCnJmUXk1NnpaWDFRaXgvaHNKUUFvVEN6YktDN3l3elBsOHBRN2FraEovQTBQTzcwU0RNbmRLdzFwWVp1TGpZbVoKdG0wcGtHdDF0aUR5TmRMSUlnOFVrcTlvK2dHd1dtd1Q3TjJsS3VUL3lXTi9jUU83V0J2Vm1ITUY2Q1JGbUR0agpZM25LN0NRNWx5R0Zkd3ZoS3FyZGdPYnpucCtMazdITDVwaXFMVjdRYzFuR0V3a1h5MUo2MjNYT29wRT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo= + server: https://192.168.62.2:6443 + name: kubernetes contexts: - context: - cluster: gke_proud-shoreline-225107_us-central1-a_standard-cluster-1 - user: gke_proud-shoreline-225107_us-central1-a_standard-cluster-1 - name: gke_proud-shoreline-225107_us-central1-a_standard-cluster-1 -current-context: gke_proud-shoreline-225107_us-central1-a_standard-cluster-1 + cluster: kubernetes + user: kubernetes-admin + name: kubernetes-admin@kubernetes +current-context: kubernetes-admin@kubernetes kind: Config preferences: {} users: -- name: gke_proud-shoreline-225107_us-central1-a_standard-cluster-1 +- name: kubernetes-admin user: - username: admin - password: 0mYGkHlgsgXCqoZ3 \ No newline at end of file + client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM4akNDQWRxZ0F3SUJBZ0lJY3NHVFZ5d29WU293RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB4T1RBMU1qa3hNVE15TURKYUZ3MHlNREExTWpneE1UTXpNemRhTURReApGekFWQmdOVkJBb1REbk41YzNSbGJUcHRZWE4wWlhKek1Sa3dGd1lEVlFRREV4QnJkV0psY201bGRHVnpMV0ZrCmJXbHVNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXNDa3l5dUFKMVJBL2pTZSsKRGVZdVZYZ1hDZXpCUjYvNzVwVS9jeU5PdzZsNUQvRlZOY25pMlkxblg5QWFEcjlJbzNzWnhXcWgvL0d3Z0VSOQpEVHgyQ1ZkNlNsQVM5VXZjNjR6Ly90dU9sNFN4M3QvWEYvMkc1M3dZWTcySTVSbG41UjFNRi8yeTNVekdaQmdOCkRXQWg1ZDdMbTVtcXk4bjhyQzZYZXYyRFMyd2RYNTlEd1RsZXdxVlc0cnpuMmZQc2RPSmlwY0Q1TG9UZ3IxOEMKNGVobjhtczhFNWUyZmZOM2w5RUhVellPUmZwOHF6b2E3UVEvdWk0MEZEeEVNTmpVYmNiNDhkMEIxTERsUldxUwpnbDJ4L2FrODBCbXgyMnk4RHRIN040ZTdac0NrcWJsZXg3c1huS21Oam10ajJ6NDRwdjV6aGYyMFdwZ2lyL3ljCjh1Z08rd0lEQVFBQm95Y3dKVEFPQmdOVkhROEJBZjhFQkFNQ0JhQXdFd1lEVlIwbEJBd3dDZ1lJS3dZQkJRVUgKQXdJd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFKNUdXa0x1VXBFaE5kcTc5SXlGQUI4dTRrdHlNQktZZzNDWQpIV2FmblJDRnpBM3ZCSyt6dnd1aFFSSDJsQWpYNGYrRTJnMS9kSkt5c0cxREhwSy9FZmZ0R2FpNGo5SzJaSnp0CnBSbGxmMDcrUzMzVzZmb0diOGFMdUZlT2dQSTE1R2pINVY1S3EzL3dCTWkyb3pPbVdSbTUrdHR6YmNaZ3VaNEEKL0ZFRTJYUktrMjN4eXZkbkNRSXBwUzExWE9wQmZUajArUHhhaDRpQ282ZUo3MERhN3d1MEFHT3ZSNTNtU1M2Vgp5cTJsZ2x6ZDhrVmh0Z2dZcllWMTdFeTQwa1Jsd1YrNDFBdGJvWW5aWVFJaUp6R3cvTitGbVUzd2VFaHJpV2lJCjEzZzQwemNUQXVNZkV3K2J6ci9aOWQwWlZPbk9TT3ZwdUl0MEdMbXV5eko2WnBxR2dpMD0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo= + client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBc0NreXl1QUoxUkEvalNlK0RlWXVWWGdYQ2V6QlI2Lzc1cFUvY3lOT3c2bDVEL0ZWCk5jbmkyWTFuWDlBYURyOUlvM3NaeFdxaC8vR3dnRVI5RFR4MkNWZDZTbEFTOVV2YzY0ei8vdHVPbDRTeDN0L1gKRi8yRzUzd1lZNzJJNVJsbjVSMU1GLzJ5M1V6R1pCZ05EV0FoNWQ3TG01bXF5OG44ckM2WGV2MkRTMndkWDU5RAp3VGxld3FWVzRyem4yZlBzZE9KaXBjRDVMb1RncjE4QzRlaG44bXM4RTVlMmZmTjNsOUVIVXpZT1JmcDhxem9hCjdRUS91aTQwRkR4RU1OalViY2I0OGQwQjFMRGxSV3FTZ2wyeC9hazgwQm14MjJ5OER0SDdONGU3WnNDa3FibGUKeDdzWG5LbU5qbXRqMno0NHB2NXpoZjIwV3BnaXIveWM4dWdPK3dJREFRQUJBb0lCQUY4WVBsVUtFQVMyV3JnbQpSaEJXdTVoajFYd0VGR3BRYzlrTHBFN1JOb21sQ0xjMGZkMGxlSkljSlR1eHFQOWcveU5SSnA1TmE5b3diQ2t4Cno1ZS9sYkNCU29DbkxUVEJtU2FHM1FLRkh6cG41V1Q4eks0a3JCaDJBdXlFdWt1Q0pYV25GUmEyVzBIZldoRmEKY21GUURieDdRc3BpYjdMRy9PRXQzWlFGR2tVeDE2WmowZTg2VVVrU2UrMnRRQXI1V081aStYd3RycjZUbFp6egozN2RDWUpCalY4R2k5d0d0TGtOdEJ5b2VWV3NTbDVEVjBFTXlrcTc3TFFKRFhYMldjMUpSdUQydWM4N051RFBsCnh1SDdIUmV4T083L3NaUllpeE9IdlJIRW9kWWlJeHZxcDJaei9vSXR6ckhCUXR6aWxqNFY3bkx0QWpMMm5xRG8KNTZoMkZLRUNnWUVBNXpiOHpERjBUb1krM3JzRm9ORjBrcXpQMis5Z2c2M1NZVXJLL0lsbUsvdUdzMmVycHdqTQpuQTJ3MTUxZHpCUDV6YkZlRDVOUGFCUzkxZGl0Y0kwOGtMS2dLSVRwYS9ramEwT0VPL21vMUl6NHRYOHFNbUFGCkN1RXBjdlRVU201dmlDaHFQWkRZaHNLRTM4VWdQSlhhTnpNN1FpbWRMRHgveGhxZW0ySWx1R2tDZ1lFQXd3dHIKUU1NU2VNMXhhdWx1NTFkR1FoOE5LRzZEZGZNUnVVcmt4blQ1bWxGdWtjREpNU2l0ejlzbGlXNGIvZjNuQlFEYQpxVm55Unl3OEZIRk9JeSt3SFN2ZVhLYlpuSUY3QzgzSkJxbk4reWtRWTJ4ZTFEZUhlalpPamNjdXFUdU9JY1hMCktYd0p0TlExRlliV1ZDbTVRTy9yT0NDdTBZelJDNVhuODZJYy84TUNnWUVBdTgxK0tKMUN5MFZmYTZxZE43THAKN1BsUkhHT2pFVkh1di9md1NJK1IzY2UvOFprVFkrbFJ5SytXSkl3OTA3V21BZDAvZVljOXlGeVFsVklhRG9HcAo0QjQyMkxLY3BvY0dyZWw1VHYzS2xGcXM2VDhSRnpuRzNyOWsyMnJoeEZOUFpGanZjbkprYlpFeVBFL3hqMFJvCnFzMkNKSXVJanBYVmN5UE1FSW4zK1lFQ2dZQmZja3dYRWg4TS9NUmU1RU1BZE1ZTi8zSUo4aUxrNm9FbTRzNlgKaTVER0FzbVFDLzZvenRaWDNFOC9OS0lBSm1zU0dMdm9tZnFrOTdHaTgxdWdmbXE1cThrU0lCaG5yVGxRcW5DUQprVElha1pyU2ZLcmZRUmxNSmgxRTVrOGdRK09uQlVzSlR3alU4Ky9TUy96QWpQWjZINjVFOWtGMmpHbVVPTlNjCmRoMm96d0tCZ1FEUlArWjdRUlVuZmF3UkhkcHhKTzl6dnRERzJFK1ljemMrMUhCMjJpdXZ0SlZ5SjVCYzgxMEUKVUM0RG9DN3FpcnhObTJUVUJoTmVTMFU2MzVFOE5xZUlMS2ZFMVZoNXFWREh0WDZpN3FUWWQ1Vys2SzljMGZaUQpJYUljcWtMRGRwUFRKUGF0UDhaTHZqaDRVTlh2TTZtZ2JqVmpub0UzWVd4clA5SHBqbWxBOWc9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo= +