1313import io .quarkiverse .operatorsdk .bundle .runtime .BundleGenerationConfiguration ;
1414import io .quarkiverse .operatorsdk .bundle .runtime .CSVMetadataHolder ;
1515import io .quarkiverse .operatorsdk .common .ReconcilerAugmentedClassInfo ;
16- import io .quarkiverse .operatorsdk .runtime .BuildTimeOperatorConfiguration ;
1716import io .quarkiverse .operatorsdk .runtime .CRDInfo ;
17+ import io .quarkiverse .operatorsdk .runtime .Version ;
1818import io .quarkus .container .util .PathsUtil ;
1919
2020public class BundleGenerator {
21+
2122 private static final Logger log = Logger .getLogger (BundleGenerator .class );
2223
2324 public static final String MANIFESTS = "manifests" ;
@@ -32,19 +33,25 @@ public class BundleGenerator {
3233 private static final String MEDIA_TYPE = "mediatype" ;
3334 private static final String CHANNEL = "channel" ;
3435 private static final String CHANNELS = "channels" ;
35- private static final String PREFIX_ANNOTATION = "operators.operatorframework.io.bundle" ;
36+ private static final String BUNDLE_PREFIX = "operators.operatorframework.io.bundle" ;
37+ private static final String METRICS_PREFIX = "operators.operatorframework.io.metrics" ;
38+ private static final String ANNOTATIONS_VERSION = "v1" ;
39+ private static final String BUILDER = "builder" ;
40+ private static final String METRICS_V1 = "metrics+v1" ;
41+ private static final String PROJECT_LAYOUT = "project_layout" ;
42+ private static final String LAYOUT_V1_ALPHA = "quarkus.javaoperatorsdk.io/v1-alpha" ;
43+ private static final String QOSDK = "qosdk-bundle-generator/" ;
3644
3745 private BundleGenerator () {
3846 }
3947
4048 public static List <ManifestsBuilder > prepareGeneration (BundleGenerationConfiguration bundleConfiguration ,
41- BuildTimeOperatorConfiguration operatorConfiguration ,
42- Map <CSVMetadataHolder , List <ReconcilerAugmentedClassInfo >> csvGroups , Map <String , CRDInfo > crds ,
49+ Version version , Map <CSVMetadataHolder , List <ReconcilerAugmentedClassInfo >> csvGroups , Map <String , CRDInfo > crds ,
4350 Path outputDirectory ) {
4451 List <ManifestsBuilder > builders = new ArrayList <>();
4552 for (Map .Entry <CSVMetadataHolder , List <ReconcilerAugmentedClassInfo >> entry : csvGroups .entrySet ()) {
4653 final var csvMetadata = entry .getKey ();
47- final var labels = generateBundleLabels (csvMetadata , bundleConfiguration , operatorConfiguration );
54+ final var labels = generateBundleLabels (csvMetadata , bundleConfiguration , version );
4855
4956 final var mainSourcesRoot = PathsUtil .findMainSourcesRoot (outputDirectory );
5057 final var csvBuilder = new CsvManifestsBuilder (csvMetadata , entry .getValue (),
@@ -82,18 +89,18 @@ private static HashSet<String> addCRDManifestBuilder(Map<String, CRDInfo> crds,
8289 }
8390
8491 private static SortedMap <String , String > generateBundleLabels (CSVMetadataHolder csvMetadata ,
85- BundleGenerationConfiguration bundleConfiguration ,
86- BuildTimeOperatorConfiguration operatorConfiguration ) {
92+ BundleGenerationConfiguration bundleConfiguration , Version version ) {
8793 SortedMap <String , String > values = new TreeMap <>();
88- for (String version : operatorConfiguration .crd .versions ) {
89- values .put (join (PREFIX_ANNOTATION , CHANNEL , DEFAULT , version ),
90- bundleConfiguration .defaultChannel .orElse (bundleConfiguration .channels .get (0 )));
91- values .put (join (PREFIX_ANNOTATION , CHANNELS , version ), String .join (COMMA , bundleConfiguration .channels ));
92- values .put (join (PREFIX_ANNOTATION , MANIFESTS , version ), MANIFESTS + SLASH );
93- values .put (join (PREFIX_ANNOTATION , MEDIA_TYPE , version ), REGISTRY_PLUS + version );
94- values .put (join (PREFIX_ANNOTATION , METADATA , version ), METADATA + SLASH );
95- values .put (join (PREFIX_ANNOTATION , PACKAGE , version ), csvMetadata .name );
96- }
94+ values .put (join (BUNDLE_PREFIX , CHANNEL , DEFAULT , ANNOTATIONS_VERSION ),
95+ bundleConfiguration .defaultChannel .orElse (bundleConfiguration .channels .get (0 )));
96+ values .put (join (BUNDLE_PREFIX , CHANNELS , ANNOTATIONS_VERSION ), String .join (COMMA , bundleConfiguration .channels ));
97+ values .put (join (BUNDLE_PREFIX , MANIFESTS , ANNOTATIONS_VERSION ), MANIFESTS + SLASH );
98+ values .put (join (BUNDLE_PREFIX , MEDIA_TYPE , ANNOTATIONS_VERSION ), REGISTRY_PLUS + ANNOTATIONS_VERSION );
99+ values .put (join (BUNDLE_PREFIX , METADATA , ANNOTATIONS_VERSION ), METADATA + SLASH );
100+ values .put (join (BUNDLE_PREFIX , PACKAGE , ANNOTATIONS_VERSION ), csvMetadata .name );
101+ values .put (join (METRICS_PREFIX , BUILDER ), QOSDK + version .getExtensionVersion () + "+" + version .getExtensionCommit ());
102+ values .put (join (METRICS_PREFIX , MEDIA_TYPE , ANNOTATIONS_VERSION ), METRICS_V1 );
103+ values .put (join (METRICS_PREFIX , PROJECT_LAYOUT ), LAYOUT_V1_ALPHA );
97104
98105 return values ;
99106 }
0 commit comments