cloudfoundry-incubator/stratos

View on GitHub

Showing 650 of 1,370 total issues

Method portalProxy.DoProxySingleRequestWithToken has 5 arguments (exceeds 4 allowed). Consider refactoring.
Open

func (p *portalProxy) DoProxySingleRequestWithToken(cnsiGUID string, token *interfaces.TokenRecord, method, requestURL string, headers http.Header, body []byte) (*interfaces.CNSIRequest, error) {
Severity: Minor
Found in src/jetstream/passthrough.go - About 35 mins to fix

    Function handleSessionError has 5 arguments (exceeds 4 allowed). Consider refactoring.
    Open

    func handleSessionError(config interfaces.PortalConfig, c echo.Context, err error, doNotLog bool, msg string) error {
    Severity: Minor
    Found in src/jetstream/middleware.go - About 35 mins to fix

      Function updatePermission has 5 arguments (exceeds 4 allowed). Consider refactoring.
      Open

        user: CfUser,
        entityGuid: string,
        isSpace: boolean,
        permissionType: OrgUserRoleNames | SpaceUserRoleNames,
        add = false) {

        Method CertKubeAuth.DoFlowRequest has a Cognitive Complexity of 10 (exceeds 8 allowed). Consider refactoring.
        Open

        func (c *CertKubeAuth) DoFlowRequest(cnsiRequest *interfaces.CNSIRequest, req *http.Request) (*http.Response, error) {
            log.Debug("doCertAuthFlowRequest")
        
            authHandler := func(tokenRec interfaces.TokenRecord, cnsi interfaces.CNSIRecord) (*http.Response, error) {
        
        
        Severity: Minor
        Found in src/jetstream/plugins/kubernetes/auth/cert.go - About 35 mins to fix

        Cognitive Complexity

        Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

        A method's cognitive complexity is based on a few simple rules:

        • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
        • Code is considered more complex for each "break in the linear flow of the code"
        • Code is considered more complex when "flow breaking structures are nested"

        Further reading

        Function getKubeDashboardSecretToken has a Cognitive Complexity of 10 (exceeds 8 allowed). Consider refactoring.
        Open

        func getKubeDashboardSecretToken(p interfaces.PortalProxy, cnsiGUID, userGUID string, sa *v1.ServiceAccount) (string, error) {
            log.Debug("getKubeDashboardSecretToken request")
        
            namespace := sa.Namespace
        
        
        Severity: Minor
        Found in src/jetstream/plugins/kubernetes/dashboard/common.go - About 35 mins to fix

        Cognitive Complexity

        Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

        A method's cognitive complexity is based on a few simple rules:

        • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
        • Code is considered more complex for each "break in the linear flow of the code"
        • Code is considered more complex when "flow breaking structures are nested"

        Further reading

        Method OIDCKubeAuth.GetOIDCConfig has 5 return statements (exceeds 4 allowed).
        Open

        func (c *OIDCKubeAuth) GetOIDCConfig(k *config.KubeConfigUser) (*KubeConfigAuthProviderOIDC, error) {
        
            if k.User.AuthProvider.Name != "oidc" {
                return nil, errors.New("User doesn't use OIDC")
            }
        Severity: Major
        Found in src/jetstream/plugins/kubernetes/auth/oidc.go - About 35 mins to fix

          Method LocalUserInfo.UpdateUserInfo has 5 return statements (exceeds 4 allowed).
          Open

          func (userInfo *LocalUserInfo) UpdateUserInfo(profile *uaaUser) (int, error) {
          
              // Fetch the user, make updates and save
              id := profile.ID
              localUsersRepo, err := localusers.NewPgsqlLocalUsersRepository(userInfo.portalProxy.GetDatabaseConnection())
          Severity: Major
          Found in src/jetstream/plugins/userinfo/local_user.go - About 35 mins to fix

            Method Analyzer.Start has a Cognitive Complexity of 10 (exceeds 8 allowed). Consider refactoring.
            Open

            func (a *Analyzer) Start() {
            
                // Reports folder
            
                // Init reports directory
            Severity: Minor
            Found in src/jetstream/plugins/analysis/container/main.go - About 35 mins to fix

            Cognitive Complexity

            Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

            A method's cognitive complexity is based on a few simple rules:

            • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
            • Code is considered more complex for each "break in the linear flow of the code"
            • Code is considered more complex when "flow breaking structures are nested"

            Further reading

            Method KubernetesSpecification.GetHelmConfiguration has 5 return statements (exceeds 4 allowed).
            Open

            func (c *KubernetesSpecification) GetHelmConfiguration(endpointGUID, userID, namespace string) (*action.Configuration, *HelmConfiguration, error) {
                // Need to get a config object for the target endpoint
                var p = c.portalProxy
            
                hc := &HelmConfiguration{}
            Severity: Major
            Found in src/jetstream/plugins/kubernetes/helm_client.go - About 35 mins to fix

              Method HelmReleaseGraph.ProcessService has a Cognitive Complexity of 10 (exceeds 8 allowed). Consider refactoring.
              Open

              func (r *HelmReleaseGraph) ProcessService(id string, res KubeResource, spec v1.ServiceSpec) {
                  if len(spec.Selector) > 0 {
                      // Find all Pods that match this selector
                      for _, item := range r.Release.Resources {
                          switch o := item.Resource.(type) {
              Severity: Minor
              Found in src/jetstream/plugins/kubernetes/helm/graph.go - About 35 mins to fix

              Cognitive Complexity

              Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

              A method's cognitive complexity is based on a few simple rules:

              • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
              • Code is considered more complex for each "break in the linear flow of the code"
              • Code is considered more complex when "flow breaking structures are nested"

              Further reading

              Method cnsiTokenBackup.createBackup has 5 return statements (exceeds 4 allowed).
              Open

              func (ctb *cnsiTokenBackup) createBackup(data *BackupRequest) (*BackupContent, error) {
                  log.Debug("createBackup")
                  allEndpoints, err := ctb.p.ListEndpoints()
                  if err != nil {
                      return nil, interfaces.NewHTTPShadowError(http.StatusBadGateway, "Failed to fetch endpoints", "Failed to fetch endpoints: %+v", err)
              Severity: Major
              Found in src/jetstream/plugins/backup/backup_restore.go - About 35 mins to fix

                Function fetchManifest has 5 return statements (exceeds 4 allowed).
                Open

                func fetchManifest(repoPath string, stratosProject StratosProject, clientWebSocket *websocket.Conn) (Applications, string, error) {
                
                    var manifest Applications
                
                    // Can be either manifest.yml or manifest.yaml
                Severity: Major
                Found in src/jetstream/plugins/cfapppush/deploy.go - About 35 mins to fix

                  Method Monocular.fetchChartsFromArtifactHub has 5 return statements (exceeds 4 allowed).
                  Open

                  func (m *Monocular) fetchChartsFromArtifactHub(c echo.Context, endpointID string) error {
                      cacheFolder := path.Join(m.CacheFolder, endpointID)
                      indexFile := path.Join(cacheFolder, "hub_index.json")
                      if ok := useCachedFile(indexFile); ok {
                          // Just send the cached file
                  Severity: Major
                  Found in src/jetstream/plugins/monocular/artifacthub.go - About 35 mins to fix

                    Function getScriptFolder has 5 return statements (exceeds 4 allowed).
                    Open

                    func getScriptFolder() string {
                        fallbackPath, err := os.Getwd()
                        if err != nil {
                            fallbackPath = "."
                        }
                    Severity: Major
                    Found in src/jetstream/plugins/analysis/container/main.go - About 35 mins to fix

                      Method MetricsSpecification.createMetadata has a Cognitive Complexity of 10 (exceeds 8 allowed). Consider refactoring.
                      Open

                      func (m *MetricsSpecification) createMetadata(metricEndpoint *url.URL, httpClient http.Client, auth *MetricsAuth) (string, error) {
                          basicMetricRequest := fmt.Sprintf("%s/api/v1/query?query=firehose_total_metrics_received", metricEndpoint)
                          req, err := http.NewRequest("GET", basicMetricRequest, nil)
                          if err != nil {
                              msg := "Failed to create request for the Metrics Endpoint: %v"
                      Severity: Minor
                      Found in src/jetstream/plugins/metrics/main.go - About 35 mins to fix

                      Cognitive Complexity

                      Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                      A method's cognitive complexity is based on a few simple rules:

                      • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                      • Code is considered more complex for each "break in the linear flow of the code"
                      • Code is considered more complex when "flow breaking structures are nested"

                      Further reading

                      Method Analysis.deleteReports has a Cognitive Complexity of 10 (exceeds 8 allowed). Consider refactoring.
                      Open

                      func (c *Analysis) deleteReports(ec echo.Context) error {
                          log.Debug("deleteReports")
                          var p = c.portalProxy
                      
                          // Need to get a config object for the target endpoint
                      Severity: Minor
                      Found in src/jetstream/plugins/analysis/list.go - About 35 mins to fix

                      Cognitive Complexity

                      Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                      A method's cognitive complexity is based on a few simple rules:

                      • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                      • Code is considered more complex for each "break in the linear flow of the code"
                      • Code is considered more complex when "flow breaking structures are nested"

                      Further reading

                      Method PushConnectionWrapper.Make has a Cognitive Complexity of 10 (exceeds 8 allowed). Consider refactoring.
                      Open

                      func (cw PushConnectionWrapper) Make(request *cloudcontroller.Request, passedResponse *cloudcontroller.Response) error {
                          // Check to see if the token is about to expire, if it is, refresh it first
                          token, found := cw.portalProxy.GetCNSITokenRecord(cw.config.EndpointID, cw.config.UserID)
                          if found {
                              // Aways update the access token, in case someone else refreshed it
                      Severity: Minor
                      Found in src/jetstream/plugins/cfapppush/connection_wrapper.go - About 35 mins to fix

                      Cognitive Complexity

                      Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                      A method's cognitive complexity is based on a few simple rules:

                      • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                      • Code is considered more complex for each "break in the linear flow of the code"
                      • Code is considered more complex when "flow breaking structures are nested"

                      Further reading

                      Method Monocular.getChartURL has 5 return statements (exceeds 4 allowed).
                      Open

                      func (m *Monocular) getChartURL(repoURL, name, version string) (string, error) {
                          httpClient := m.portalProxy.GetHttpClient(true)
                      
                          helmIndexURL := joinURL(repoURL, "index.yaml")
                          resp, err := httpClient.Get(helmIndexURL)
                      Severity: Major
                      Found in src/jetstream/plugins/monocular/artifacthub.go - About 35 mins to fix

                        Method AzureKubeAuth.FetchToken has 5 return statements (exceeds 4 allowed).
                        Open

                        func (p *AzureKubeAuth) FetchToken(cnsiRecord interfaces.CNSIRecord, ec echo.Context) (*interfaces.TokenRecord, *interfaces.CNSIRecord, error) {
                            req := ec.Request()
                        
                            // Need to extract the parameters from the request body
                            defer req.Body.Close()
                        Severity: Major
                        Found in src/jetstream/plugins/kubernetes/auth/azure.go - About 35 mins to fix

                          Method Analysis.doRunReport has a Cognitive Complexity of 10 (exceeds 8 allowed). Consider refactoring.
                          Open

                          func (c *Analysis) doRunReport(ec echo.Context, analyzer, endpointID, userID string, dbStore store.AnalysisStore, report *store.AnalysisRecord) error {
                          
                              // Get Kube Config
                              k8s := c.portalProxy.GetPlugin("kubernetes")
                              if k8s == nil {
                          Severity: Minor
                          Found in src/jetstream/plugins/analysis/run.go - About 35 mins to fix

                          Cognitive Complexity

                          Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                          A method's cognitive complexity is based on a few simple rules:

                          • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                          • Code is considered more complex for each "break in the linear flow of the code"
                          • Code is considered more complex when "flow breaking structures are nested"

                          Further reading

                          Severity
                          Category
                          Status
                          Source
                          Language