1. 06 Dec, 2019 1 commit
  2. 03 Dec, 2019 1 commit
  3. 23 Sep, 2019 1 commit
  4. 07 Aug, 2019 1 commit
    • Tiger Watson's avatar
      Use separate Kubernetes namespaces per environment · 6ddbfa68b32a
      Tiger Watson authored
      Kubernetes deployments on new clusters will now have
      a separate namespace per project environment, instead
      of sharing a single namespace for the project.
      
      Behaviour of existing clusters is unchanged.
      
      All new functionality is controlled by the
      :kubernetes_namespace_per_environment feature flag,
      which is safe to enable/disable at any time.
      6ddbfa68b32a
  5. 03 Jun, 2019 1 commit
    • João Cunha's avatar
      Move file one folder level up to avoid namespace conflict · d038cb9c0559
      João Cunha authored
      Clusters::Cluster::KnativeServicesFinder becomes
      Clusters::KnativeServicesFinder
      
      This is to avoid loading race condition between:
      
      ```
      module Clusters
        class Cluster < ApplicationRecord
      ```
      
      and
      
      ```
      module Clusters
        class Cluster
      ```
      d038cb9c0559
  6. 29 May, 2019 1 commit
    • João Cunha's avatar
      Adapt functions to work for external Knative · c3b946515c9a
      João Cunha authored
      Remove Kn services cache from Clusters::Application::Knative
      
      Knative function can exist even if user did not installed Knative via
      GitLab managed apps.
      
      -> Move responsibility of finding services into the Cluster
      -> Responsability is inside Clusters::Cluster::KnativeServiceFinder
      -> Projects::Serverless::FunctionsFinder now calls depends solely on a
      cluster to find the Kn services.
      -> Detect Knative by resource presence instead of service presence
      -> Mock knative_installed response temporarily for frontend to develop
      
      Display loader while `installed === 'checking'`
      
      Added frontend work to determine if Knative is installed
      
      Memoize with_reactive_cache(*args, &block) to avoid race conditions
      
      When calling with_reactive_cache more than once, it's possible that the
      second call will already have the value populated. Therefore, in cases
      where we need the sequential calls to have consistent results, we'd fall
      under a race condition.
      
      Check knative installation via Knative resource presence
      
      Only load pods if Knative is discovered
      
      Always return a response in FunctionsController#index
      
      - Always indicate if Knative is installed, not installed or checking
      - Always indicate the partial response for functions. Final response is
      guaranteed when knative_installed is either true | false.
      
      Adds specs for Clusters::Cluster#knative_services_finder
      
      Fix method name when calling on specs
      
      Add an explicit check for functions
      
      Added an explicit check to see if there are any functions available
      
      Fix Serverless feature spec
      
      - we don't find knative installation via database anymore,
      rather via Knative resource
      
      Display error message for request timeouts
      
      Display an error message if the request times out
      
      Adds feature specs for when functions exist
      
      Remove a test purposed hardcoded flag
      
      Add ability to partially load functions
      
      Added the ability to partially load functions on the frontend
      
      Add frontend unit tests
      
      Added tests for the new frontend additions
      
      Generate new translations
      
      Generated new frontend translations
      
      Address review comments
      
      Cleaned up the frontend unit test.
      Added computed prop for `isInstalled`.
      
      Move string to constant
      
      Simplify nil to array conversion
      
      Put knative_installed states in a frozen hash for better read
      
      Pluralize list of Knative states
      
      Quey services and pods filtering name
      
      This way we don't need to filter the namespace in memory.
      Also, the data we get from the network is much smaller.
      
      Simplify cache_key and fix bug
      
      - Simplifies the cache_key by removing namespace duplicate
      - Fixes a bug with reactive_cache memoization
      c3b946515c9a