@@ -57,24 +57,30 @@ class DeployTask
5757 )
5858
5959 def predeploy_sequence
60- default_group = { groups : nil }
61- before_crs = {
62- 'ResourceQuota' => default_group ,
63- 'NetworkPolicy' => { groups : %w( extensions networking.k8s.io ) } ,
64- 'ConfigMap' => default_group ,
65- 'PersistentVolumeClaim' => default_group ,
66- 'ServiceAccount' => default_group ,
67- 'Role' => default_group ,
68- 'RoleBinding' => default_group ,
69- 'Secret' => default_group ,
70- }
71-
72- after_crs = { 'Pod' => default_group }
73-
74- crs = cluster_resource_discoverer . crds . select ( &:predeployed? ) . map { |cr | [ cr . kind , { groups : [ cr . group ] } ] } . to_h
75- predeploy_hash = before_crs
76- predeploy_hash . merge! ( crs ) { |_k , old , new | { groups : old [ :groups ] + new [ :groups ] } }
77- predeploy_hash . merge ( after_crs ) { |_k , old , new | { groups : old [ :groups ] + new [ :groups ] } }
60+ default_group = { skip_groups : [ ] }
61+ before_crs = %w(
62+ ResourceQuota
63+ NetworkPolicy
64+ ConfigMap
65+ PersistentVolumeClaim
66+ ServiceAccount
67+ Role
68+ RoleBinding
69+ Secret
70+ ) . map { |r | [ r , default_group ] }
71+
72+ after_crs = %w(
73+ Pod
74+ ) . map { |r | [ r , default_group ] }
75+
76+ crs = cluster_resource_discoverer . crds . select ( &:predeployed? ) . map { |cr | [ cr . kind , default_group ] }
77+ predeploy_hash = Hash [ before_crs + crs + after_crs ]
78+
79+ cluster_resource_discoverer . crds . reject ( &:predeployed? ) . each do |cr |
80+ predeploy_hash [ cr . kind ] [ :skip_groups ] << cr . group if predeploy_hash [ cr . kind ]
81+ end
82+
83+ predeploy_hash
7884 end
7985
8086 def prune_whitelist
@@ -216,7 +222,7 @@ def ejson_provisioners
216222 def deploy_has_priority_resources? ( resources )
217223 resources . any? do |r |
218224 next unless ( pr = predeploy_sequence [ r . type ] )
219- !pr [ :groups ] || pr [ :groups ] . include? ( r . group )
225+ !pr [ :skip_groups ] . include? ( r . group )
220226 end
221227 end
222228
0 commit comments