@@ -216,6 +216,35 @@ func (r *ResourceService) ApplyConfig(ctx context.Context, instanceID string) (*
216216 return nil , fmt .Errorf ("failed to parse config %w" , parseErr )
217217 }
218218
219+ slog .DebugContext (ctx , "Before Config Context -- ConfigUpdate" )
220+ for _ , configFile := range nginxConfigContext .Files {
221+ slog .DebugContext (ctx , "Before Config file -- ConfigUpdate" , "file" , configFile .GetFileMeta ().GetName (),
222+ "unmanaged" , configFile .GetUnmanaged (),
223+ )
224+ }
225+
226+ manifestFiles , manifestErr := r .manifestFile ()
227+ if manifestErr != nil {
228+ slog .ErrorContext (ctx , "Error getting manifest files" , "error" , manifestErr )
229+ }
230+
231+ for _ , manifestFiles := range manifestFiles {
232+ if manifestFiles .ManifestFileMeta .Unmanaged == true {
233+ for _ , configFile := range nginxConfigContext .Files {
234+ if configFile .GetFileMeta ().GetName () == manifestFiles .ManifestFileMeta .Name {
235+ configFile .Unmanaged = true
236+ }
237+ }
238+ }
239+ }
240+
241+ slog .DebugContext (ctx , "Changed Config Context -- ConfigUpdate" )
242+ for _ , configFile := range nginxConfigContext .Files {
243+ slog .DebugContext (ctx , "After Config file -- ConfigUpdate" , "file" , configFile .GetFileMeta ().GetName (),
244+ "unmanaged" , configFile .GetUnmanaged (),
245+ )
246+ }
247+
219248 datasource .UpdateNginxInstanceRuntime (instance , nginxConfigContext )
220249
221250 slog .DebugContext (ctx , "Updated Instance Runtime after parsing config" , "instance" , instance .GetInstanceRuntime ())
@@ -246,6 +275,30 @@ func (r *ResourceService) ApplyConfig(ctx context.Context, instanceID string) (*
246275 return nginxConfigContext , nil
247276}
248277
278+ func (r * ResourceService ) manifestFile () (map [string ]* model.ManifestFile , error ) {
279+ if _ , err := os .Stat (r .agentConfig .LibDir + "/manifest.json" ); err != nil {
280+ return nil , err
281+ }
282+
283+ file , err := os .ReadFile (r .agentConfig .LibDir + "/manifest.json" )
284+ if err != nil {
285+ return nil , fmt .Errorf ("failed to read manifest file: %w" , err )
286+ }
287+
288+ var manifestFiles map [string ]* model.ManifestFile
289+
290+ err = json .Unmarshal (file , & manifestFiles )
291+ if err != nil {
292+ if len (file ) == 0 {
293+ return nil , fmt .Errorf ("manifest file is empty: %w" , err )
294+ }
295+
296+ return nil , fmt .Errorf ("failed to parse manifest file: %w" , err )
297+ }
298+
299+ return manifestFiles , nil
300+ }
301+
249302func (r * ResourceService ) GetHTTPUpstreamServers (ctx context.Context , instance * mpi.Instance ,
250303 upstream string ,
251304) ([]client.UpstreamServer , error ) {
0 commit comments