Add installed scope to cluster applications
This commit is contained in:
parent
a5f9e49f13
commit
982e5436e1
|
@ -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?
|
||||
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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|
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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) }
|
||||
|
||||
|
|
|
@ -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!
|
||||
|
|
|
@ -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]) }
|
||||
|
|
|
@ -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…
Reference in New Issue