Skip to content
Snippets Groups Projects
Verified Commit 982e5436 authored by Matija Čupić's avatar Matija Čupić
Browse files

Add installed scope to cluster applications

parent a5f9e49f
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -8,6 +8,8 @@ module Clusters
 
default_value_for :version, Gitlab::Kubernetes::Helm::HELM_VERSION
 
scope :installed, -> { where(status: ::Clusters::Applications::Helm.state_machines[:status].states[:installed].value) }
def set_initial_status
return unless not_installable?
 
Loading
Loading
Loading
Loading
@@ -11,6 +11,8 @@ module Clusters
default_value_for :ingress_type, :nginx
default_value_for :version, :nginx
 
scope :installed, -> { where(status: ::Clusters::Applications::Ingress.state_machines[:status].states[:installed].value) }
enum ingress_type: {
nginx: 1
}
Loading
Loading
Loading
Loading
@@ -13,6 +13,8 @@ module Clusters
 
default_value_for :version, VERSION
 
scope :installed, -> { where(status: ::Clusters::Applications::Prometheus.state_machines[:status].states[:installed].value) }
state_machine :status do
after_transition any => [:installed] do |application|
application.cluster.projects.each do |project|
Loading
Loading
Loading
Loading
@@ -14,6 +14,8 @@ module Clusters
 
default_value_for :version, VERSION
 
scope :installed, -> { where(status: ::Clusters::Applications::Runner.state_machines[:status].states[:installed].value) }
def chart
"#{name}/gitlab-runner"
end
Loading
Loading
Loading
Loading
@@ -3,6 +3,18 @@ require 'rails_helper'
describe Clusters::Applications::Helm do
include_examples 'cluster application core specs', :clusters_applications_helm
 
describe '.installed' do
subject { described_class.installed }
let!(:cluster) { create(:clusters_applications_helm, :installed) }
before do
create(:clusters_applications_helm, :errored)
end
it { is_expected.to contain_exactly(cluster) }
end
describe '#install_command' do
let(:helm) { create(:clusters_applications_helm) }
 
Loading
Loading
Loading
Loading
@@ -11,6 +11,18 @@ describe Clusters::Applications::Ingress do
allow(ClusterWaitForIngressIpAddressWorker).to receive(:perform_async)
end
 
describe '.installed' do
subject { described_class.installed }
let!(:cluster) { create(:clusters_applications_ingress, :installed) }
before do
create(:clusters_applications_ingress, :errored)
end
it { is_expected.to contain_exactly(cluster) }
end
describe '#make_installed!' do
before do
application.make_installed!
Loading
Loading
Loading
Loading
@@ -4,6 +4,18 @@ describe Clusters::Applications::Prometheus do
include_examples 'cluster application core specs', :clusters_applications_prometheus
include_examples 'cluster application status specs', :cluster_application_prometheus
 
describe '.installed' do
subject { described_class.installed }
let!(:cluster) { create(:clusters_applications_prometheus, :installed) }
before do
create(:clusters_applications_prometheus, :errored)
end
it { is_expected.to contain_exactly(cluster) }
end
describe 'transition to installed' do
let(:project) { create(:project) }
let(:cluster) { create(:cluster, projects: [project]) }
Loading
Loading
Loading
Loading
@@ -8,6 +8,18 @@ describe Clusters::Applications::Runner do
 
it { is_expected.to belong_to(:runner) }
 
describe '.installed' do
subject { described_class.installed }
let!(:cluster) { create(:clusters_applications_runner, :installed) }
before do
create(:clusters_applications_runner, :errored)
end
it { is_expected.to contain_exactly(cluster) }
end
describe '#install_command' do
let(:kubeclient) { double('kubernetes client') }
let(:gitlab_runner) { create(:clusters_applications_runner, runner: ci_runner) }
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment