@@ -84,28 +84,6 @@ func (r *IpfsClusterReconciler) Reconcile(ctx context.Context, req ctrl.Request)
8484 return ctrl.Result {}, r .Update (ctx , instance )
8585 }
8686
87- if err = r .createCircuitRelays (ctx , instance ); err != nil {
88- return ctrl.Result {}, fmt .Errorf ("cannot create circuit relays: %w" , err )
89- }
90-
91- // Check the status of circuit relays.
92- // wait for them to complte so we can determine announce addresses.
93- for _ , relayName := range instance .Status .CircuitRelays {
94- relay := clusterv1alpha1.CircuitRelay {}
95- relay .Name = relayName
96- relay .Namespace = instance .Namespace
97- if err = r .Client .Get (ctx , client .ObjectKeyFromObject (& relay ), & relay ); err != nil {
98- return ctrl.Result {Requeue : true }, fmt .Errorf ("could not lookup circuitRelay %q: %w" , relayName , err )
99- }
100- if relay .Status .AddrInfo .ID == "" {
101- log .Info ("relay is not ready yet. Will continue waiting." , "relay" , relayName )
102- return failResult , nil
103- }
104- }
105- if err = r .Status ().Update (ctx , instance ); err != nil {
106- return ctrl.Result {}, err
107- }
108-
10987 // Reconcile the tracked objects
11088 err = r .createTrackedObjects (ctx , instance )
11189 if err != nil {
@@ -137,6 +115,9 @@ func (r *IpfsClusterReconciler) createTrackedObjects(
137115 if secret , err = r .EnsureSecretConfig (ctx , instance ); err != nil {
138116 return fmt .Errorf ("failed to ensure secret config: %w" , err )
139117 }
118+ if err = r .EnsureCircuitRelay (ctx , instance , secret ); err != nil {
119+ return fmt .Errorf ("failed to ensure circuit relays: %w" , err )
120+ }
140121 if relayPeers , relayStatic , err = r .EnsureRelayCircuitInfo (ctx , instance ); err != nil {
141122 return fmt .Errorf ("could not retrieve information from the relay circuit: %w" , err )
142123 }
@@ -178,41 +159,6 @@ func (r *IpfsClusterReconciler) ensureIPFSCluster(
178159 return nil , fmt .Errorf ("failed to get Ipfs: %w" , err )
179160}
180161
181- // createCircuitRelays Creates the necessary amount of circuit relays if any are missing.
182- // FIXME: if we change the number of CircuitRelays, we should update
183- // the IPFS config file as well.
184- func (r * IpfsClusterReconciler ) createCircuitRelays (
185- ctx context.Context ,
186- instance * clusterv1alpha1.IpfsCluster ,
187- ) error {
188- // do nothing
189- if len (instance .Status .CircuitRelays ) >= int (instance .Spec .Networking .CircuitRelays ) {
190- // FIXME: handle scale-down of circuit relays
191- return nil
192- }
193- // create the CircuitRelays
194- for i := 0 ; int32 (i ) < instance .Spec .Networking .CircuitRelays ; i ++ {
195- name := fmt .Sprintf ("%s-%d" , instance .Name , i )
196- relay := clusterv1alpha1.CircuitRelay {}
197- relay .Name = name
198- relay .Namespace = instance .Namespace
199- if err := ctrl .SetControllerReference (instance , & relay , r .Scheme ); err != nil {
200- return fmt .Errorf (
201- "cannot set controller reference for new circuitRelay: %w, circuitRelay: %s" ,
202- err , relay .Name ,
203- )
204- }
205- if err := r .Create (ctx , & relay ); err != nil {
206- return fmt .Errorf ("cannot create new circuitRelay: %w" , err )
207- }
208- instance .Status .CircuitRelays = append (instance .Status .CircuitRelays , relay .Name )
209- }
210- if err := r .Status ().Update (ctx , instance ); err != nil {
211- return err
212- }
213- return nil
214- }
215-
216162// SetupWithManager sets up the controller with the Manager.
217163func (r * IpfsClusterReconciler ) SetupWithManager (mgr ctrl.Manager ) error {
218164 return ctrl .NewControllerManagedBy (mgr ).
0 commit comments