foremanctl deploy --add-feature xyz does not validate whether the requested feature is compatible with the deployed flavor. Users can not add features that are invalid(means not defined in https://github.com/theforeman/foremanctl/blob/master/src/features.yaml), but that works as of today because we only have one flavor.
In multi-flavor, when user deploys a flavor or adds a feature in a flavor deployment, it should validated that that requested feature is relevent for that particaular flavor.
for ex:
foremanctl deploy --flavor foreman --add-feature iop does not make sense as foreman flavor can't contain iop .
foremanctl deploy --flavor foreman-proxy-content --add-feature katello does not make sense.
We need to either update feature metadata to include flavor info as well, something like
foreman: description: Base Foreman Server flavors: [foreman, katello]
Or find another(probabily better) way to achieve this.
foremanctl deploy --add-feature xyzdoes not validate whether the requested feature is compatible with the deployed flavor. Users can not add features that are invalid(means not defined in https://github.com/theforeman/foremanctl/blob/master/src/features.yaml), but that works as of today because we only have one flavor.In multi-flavor, when user deploys a flavor or adds a feature in a flavor deployment, it should validated that that requested feature is relevent for that particaular flavor.
for ex:
foremanctl deploy --flavor foreman --add-feature iopdoes not make sense asforemanflavor can't containiop.foremanctl deploy --flavor foreman-proxy-content --add-feature katellodoes not make sense.We need to either update feature metadata to include flavor info as well, something like
foreman: description: Base Foreman Server flavors: [foreman, katello]Or find another(probabily better) way to achieve this.