Skip to content

Support adding new watches dynamically at runtime #540

Closed
@ncdc

Description

@ncdc

This feature was added before (and requested in #246), but the updated Manager & Builder patterns don't support this any more because they take care of creating a Controller instead of having user-written code do it, and the Controller isn't accessible to your reconciler.

There was a discussion about this in Slack (https://kubernetes.slack.com/archives/CAR30FCJZ/p1561759175084100). I'm thinking we could modify the inject package like so (names TBD - I know they don't follow the current pattern 100% but we need to scope down the Controller interface to avoid import cycles):

type Watcher interface {
  Watch(src source.Source, eventhandler handler.EventHandler, predicates ...predicate.Predicate) error
}

type WatcherInjector interface {
  InjectWatcher(watcher Watcher)
}

Do you think something like this would work @DirectXMan12?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions