davidmdm / yoke

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

takeoff options for installing CRDs and Namespaces

davidmdm opened this issue · comments

Until now, the Yoke project has not treated Custom Resource Definitions (CRDs) and namespaces as special cases when encountered in a Flight. However, they pose several challenges:

  • They are often required by other resources within the Flight, necessitating a specific order of resource creation.
  • Dry runs are impossible due to the absence of the namespace or extension, causing failures.
  • Their lifespan often exceeds the scope of the Flight, as other Flights/Resources may depend on them.
    • we cannot delete them like other resources when uninstalling a flight.

However, it's often useful to specify them as flight dependencies. To address this, Yoke could introduce the following flags: --create-namespaces and --create-crds. The Takeoff process would work as follows:

  1. Extract namespaces and CRDs from the flight.
  2. If the respective create flags are present, create them if they don't already exist.
  3. Apply the filtered flight as usual, capturing only the state of the filtered result.