@@ -16,17 +16,19 @@ import (
1616 lagooncrd "github.com/uselagoon/remote-controller/api/lagoon/v1beta2"
1717 "github.com/uselagoon/remote-controller/internal/helpers"
1818 "github.com/uselagoon/remote-controller/internal/metrics"
19- appsv1 "k8s.io/api/apps/v1"
2019 corev1 "k8s.io/api/core/v1"
2120 meta "k8s.io/apimachinery/pkg/api/meta"
2221 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
23- "k8s.io/apimachinery/pkg/labels"
24- "k8s.io/apimachinery/pkg/selection"
2522 "k8s.io/apimachinery/pkg/types"
2623 ctrl "sigs.k8s.io/controller-runtime"
2724 "sigs.k8s.io/controller-runtime/pkg/client"
2825)
2926
27+ type LagoonServices struct {
28+ Services []schema.EnvironmentService `json:"services"`
29+ Volumes []schema.EnvironmentVolume `json:"volumes"`
30+ }
31+
3032func (r * BuildMonitorReconciler ) handleBuildMonitor (ctx context.Context ,
3133 opLog logr.Logger ,
3234 req ctrl.Request ,
@@ -272,40 +274,20 @@ func (r *BuildMonitorReconciler) updateDeploymentAndEnvironmentTask(
272274 Cluster : r .LagoonTargetName ,
273275 },
274276 }
275- labelRequirements1 , _ := labels .NewRequirement ("lagoon.sh/service" , selection .NotIn , []string {"faketest" })
276- listOption := (& client.ListOptions {}).ApplyOptions ([]client.ListOption {
277- client .InNamespace (jobPod .Namespace ),
278- client.MatchingLabelsSelector {
279- Selector : labels .NewSelector ().Add (* labelRequirements1 ),
280- },
281- })
282- depList := & appsv1.DeploymentList {}
283- serviceNames := []string {}
284- services := []schema.EnvironmentService {}
285- if err := r .APIReader .List (context .TODO (), depList , listOption ); err == nil {
286- // generate the list of services to add or update to the environment
287- for _ , deployment := range depList .Items {
288- var serviceName , serviceType string
289- containers := []schema.ServiceContainer {}
290- if name , ok := deployment .Labels ["lagoon.sh/service" ]; ok {
291- serviceName = name
292- serviceNames = append (serviceNames , serviceName )
293- for _ , container := range deployment .Spec .Template .Spec .Containers {
294- containers = append (containers , schema.ServiceContainer {Name : container .Name })
295- }
296- }
297- if sType , ok := deployment .Labels ["lagoon.sh/service-type" ]; ok {
298- serviceType = sType
299- }
300- // probably need to collect dbaas consumers too at some stage
301- services = append (services , schema.EnvironmentService {
302- Name : serviceName ,
303- Type : serviceType ,
304- Containers : containers ,
305- })
277+ lagoonServices := & corev1.ConfigMap {}
278+ if err := r .APIReader .Get (ctx , types.NamespacedName {Namespace : jobPod .Namespace , Name : "lagoon-services" }, lagoonServices ); err != nil {
279+ if helpers .IgnoreNotFound (err ) != nil {
280+ return err
281+ }
282+ }
283+ if val , ok := lagoonServices .Data ["post-deploy" ]; ok {
284+ serviceConfig := LagoonServices {}
285+ err := json .Unmarshal ([]byte (val ), & serviceConfig )
286+ if err == nil {
287+ fmt .Println (serviceConfig .Services )
288+ fmt .Println (serviceConfig .Volumes )
289+ msg .Meta .EnvironmentServices = serviceConfig .Services
306290 }
307- msg .Meta .Services = serviceNames
308- msg .Meta .EnvironmentServices = services
309291 }
310292 route , routes , err := helpers .GetLagoonEnvRoutes (ctx , opLog , r .Client , namespace .Name )
311293 // if we aren't being provided the lagoon config, we can skip adding the routes etc
0 commit comments