diff --git a/pkg/devspace/server/logs.go b/pkg/devspace/server/logs.go index 8fbad9ad27..ae5dc8d986 100644 --- a/pkg/devspace/server/logs.go +++ b/pkg/devspace/server/logs.go @@ -50,57 +50,6 @@ func (ws *wsStream) Read(p []byte) (int, error) { return len(message), nil } -func (h *handler) logsMultiple(w http.ResponseWriter, r *http.Request) { - /*// Kube Context - kubeContext := h.defaultContext - context, ok := r.URL.Query()["context"] - if ok && len(context) == 1 && context[0] != "" { - kubeContext = context[0] - } - - // Namespace - kubeNamespace := h.defaultNamespace - namespace, ok := r.URL.Query()["namespace"] - if ok && len(namespace) == 1 && namespace[0] != "" { - kubeNamespace = namespace[0] - } - - // Create kubectl client - client, err := h.getClientFromCache(kubeContext, kubeNamespace) - if err != nil { - h.log.Errorf("Error in %s: %v", r.URL.String(), err) - http.Error(w, err.Error(), http.StatusInternalServerError) - return - } - - ws, err := upgrader.Upgrade(w, r, nil) - if err != nil { - h.log.Errorf("Error upgrading connection in %s: %v", r.URL.String(), err) - http.Error(w, err.Error(), http.StatusInternalServerError) - return - } - - defer ws.Close() - - writer := &wsStream{WebSocket: ws} - manager, err := logs.NewLogManager(client, h.config, h.dependencies, make(chan error), log.NewStreamLogger(writer, logrus.InfoLevel)) - if err != nil { - h.log.Errorf("Error in %s: %v", r.URL.String(), err) - websocketError(ws, err) - return - } - - err = manager.Start() - if err != nil { - h.log.Errorf("Error in %s: %v", r.URL.String(), err) - websocketError(ws, err) - return - } - - _ = ws.SetWriteDeadline(time.Now().Add(time.Second * 5)) - _ = ws.WriteMessage(websocket.CloseMessage, websocket.FormatCloseMessage(websocket.CloseNormalClosure, ""))*/ -} - func (h *handler) logs(w http.ResponseWriter, r *http.Request) { // Kube Context kubeContext := h.ctx.KubeClient.CurrentContext() diff --git a/pkg/devspace/server/server.go b/pkg/devspace/server/server.go index 281dea396d..cd9fa119da 100644 --- a/pkg/devspace/server/server.go +++ b/pkg/devspace/server/server.go @@ -3,16 +3,17 @@ package server import ( "encoding/json" "fmt" - "github.com/loft-sh/devspace/helper/util/port" - "github.com/loft-sh/devspace/pkg/devspace/config/localcache" - devspacecontext "github.com/loft-sh/devspace/pkg/devspace/context" - "github.com/loft-sh/devspace/pkg/devspace/pipeline/types" "net/http" "path/filepath" "strconv" "strings" "sync" + "github.com/loft-sh/devspace/helper/util/port" + "github.com/loft-sh/devspace/pkg/devspace/config/localcache" + devspacecontext "github.com/loft-sh/devspace/pkg/devspace/context" + "github.com/loft-sh/devspace/pkg/devspace/pipeline/types" + "github.com/loft-sh/devspace/pkg/devspace/config/versions/latest" "github.com/loft-sh/devspace/pkg/devspace/kubectl" "github.com/loft-sh/devspace/pkg/devspace/kubectl/portforward" @@ -159,7 +160,6 @@ func newHandler(ctx *devspacecontext.Context, path string, pipeline types.Pipeli handler.mux.HandleFunc("/api/enter", handler.enter) handler.mux.HandleFunc("/api/resize", handler.resize) handler.mux.HandleFunc("/api/logs", handler.logs) - handler.mux.HandleFunc("/api/logs-multiple", handler.logsMultiple) return handler, nil } diff --git a/ui/src/components/views/Logs/LogsList/LogsList.tsx b/ui/src/components/views/Logs/LogsList/LogsList.tsx index 80e2e1a0a0..bd7befcd15 100644 --- a/ui/src/components/views/Logs/LogsList/LogsList.tsx +++ b/ui/src/components/views/Logs/LogsList/LogsList.tsx @@ -2,8 +2,6 @@ import React from 'react'; import { V1PodList, V1ServiceList, V1Pod } from '@kubernetes/client-node'; import Pod from '../Pod/Pod'; import withDevSpaceConfig, { DevSpaceConfigContext } from 'contexts/withDevSpaceConfig/withDevSpaceConfig'; -import LogsMultiple from '../LogsMultiple/LogsMultiple'; -import { getDeployedImageNames } from 'lib/utils'; import styles from './LogsList.module.scss'; import inputStyles from '../../../basic/Input/Input.module.scss'; import { TerminalCacheInterface } from '../TerminalCache/TerminalCache'; @@ -90,12 +88,6 @@ const LogsList = (props: Props) => { onChange={event => setSearchString(event.target.value)} /> - - {getDeployedImageNames(props.devSpaceConfig).length > 0 && - props.devSpaceConfig.kubeNamespace === props.devSpaceConfig.originalKubeNamespace && - props.devSpaceConfig.kubeContext === props.devSpaceConfig.originalKubeContext && ( - - )} {renderPods(props, searchString)} diff --git a/ui/src/components/views/Logs/LogsMultiple/LogsMultiple.module.scss b/ui/src/components/views/Logs/LogsMultiple/LogsMultiple.module.scss deleted file mode 100644 index 4d3ea6bc31..0000000000 --- a/ui/src/components/views/Logs/LogsMultiple/LogsMultiple.module.scss +++ /dev/null @@ -1,19 +0,0 @@ -@import '../../../../styles/constants.scss'; - -.logs-multiple { - cursor: pointer; - margin-bottom: 20px; - padding: 15px; - font: 600 14px 'Open Sans'; - width: 420px; - height: 60px; - text-align: center; - display: flex; - align-items: center; - justify-content: center; - - &.selected { - background-color: $blue-dark; - color: white; - } -} diff --git a/ui/src/components/views/Logs/LogsMultiple/LogsMultiple.tsx b/ui/src/components/views/Logs/LogsMultiple/LogsMultiple.tsx deleted file mode 100644 index efaf9ff399..0000000000 --- a/ui/src/components/views/Logs/LogsMultiple/LogsMultiple.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import React from 'react'; -import withDevSpaceConfig, { DevSpaceConfigContext } from 'contexts/withDevSpaceConfig/withDevSpaceConfig'; -import { SelectedLogs } from '../LogsList/LogsList'; -import styles from './LogsMultiple.module.scss'; -import { getDeployedImageNames } from 'lib/utils'; -import { Portlet } from 'components/basic/Portlet/Portlet'; - -interface Props extends DevSpaceConfigContext { - selected: SelectedLogs; - onSelect: (selected: SelectedLogs) => void; -} - -const LogsMultiple = (props: Props) => ( - - props.onSelect({ - multiple: getDeployedImageNames(props.devSpaceConfig), - }) - } - > - All deployed containers (merged logs) - -); - -export default withDevSpaceConfig(LogsMultiple); diff --git a/ui/src/contexts/withDevSpaceConfig/withDevSpaceConfig.tsx b/ui/src/contexts/withDevSpaceConfig/withDevSpaceConfig.tsx index 0926471e4e..fc2c99430b 100644 --- a/ui/src/contexts/withDevSpaceConfig/withDevSpaceConfig.tsx +++ b/ui/src/contexts/withDevSpaceConfig/withDevSpaceConfig.tsx @@ -23,7 +23,7 @@ export interface DevSpaceConfig { changeKubeContext: (newContext: NewContext) => void; config: Config; - generatedConfig: GeneratedConfig; + generatedConfig: LocalCache; profile: string; kubeNamespace: string; @@ -56,42 +56,10 @@ interface ImageConfig { image: string; } -interface GeneratedConfig { +export interface LocalCache { vars: { [key: string]: string }; - profiles: { [key: string]: GeneratedCacheConfig }; } -interface GeneratedCacheConfig { - deployments: { [key: string]: GeneratedDeploymentCache }; - images: { [key: string]: GeneratedImageCache }; - dependencies: { [key: string]: string }; - lastContext: GeneratedLastContextConfig; -} - -interface GeneratedImageCache { - imageConfigHash: string; - dockerfileHash: string; - contextHash: string; - entrypointHash: string; - - customFilesHash: string; - - imageName: string; - tag: string; -} - -interface GeneratedDeploymentCache { - deploymentConfigHash: string; - - helmOverridesHash: string; - helmChartHash: string; - kubectlManifestsHash: string; -} - -interface GeneratedLastContextConfig { - namespace: string; - context: string; -} export const DevSpaceConfigContextProvider = reactDevSpaceConfigContext.Provider; diff --git a/ui/src/lib/utils.tsx b/ui/src/lib/utils.tsx index b8ef430716..90f1d361f4 100644 --- a/ui/src/lib/utils.tsx +++ b/ui/src/lib/utils.tsx @@ -1,29 +1,7 @@ import React from 'react'; -import { DevSpaceConfig } from 'contexts/withDevSpaceConfig/withDevSpaceConfig'; import { V1Pod, V1ContainerStatus, Config } from '@kubernetes/client-node'; import yaml from 'js-yaml'; -export const getDeployedImageNames = (devSpaceConfig: DevSpaceConfig) => { - const imageSelector = []; - if (devSpaceConfig.config && devSpaceConfig.generatedConfig) { - const activeCache = devSpaceConfig.generatedConfig.profiles[devSpaceConfig.profile]; - - for (const generatedImageName in activeCache.images) { - if ( - activeCache.images[generatedImageName].imageName && - devSpaceConfig.config.images && - devSpaceConfig.config.images[generatedImageName] - ) { - imageSelector.push( - activeCache.images[generatedImageName].imageName + ':' + activeCache.images[generatedImageName].tag - ); - } - } - } - - return imageSelector; -}; - export const formatError = (error: any): any => { if (!error) { return undefined;