--- tags: Catalog Approach --- # Catalog ## Purpose for catalog * Normalization use case (deduplication) * Ste data aggregation : Define all variabes for a site in a single place. ## Where do they live They will live at three places : * At the catalogue function level: * <repository>/manifests/function/<...-base-catalogues> * At the Type level , under a specific location: * * ***type/<type name>/shared/catalogues*** * At the cluster level , under a specific location: * ***site/<site name>/<cluster name>/catalogues*** ## Relationship between the different levels of catalogues ** Core Catalogues <-- Types <-- Site ** ### Core catalogue function and type * Will be consumed by the types when apropriate. ### Type vs cluster level catalogues * Cluster level will use the catalogues from the type level as kustomize resource. * We should use kustomize Patches or Strategic Patches to update type level patches when appropriate. * Cluster level might use catalogues from others cluster levels and patch as appropriate . This allows for subcluster to target cluster parent - child relationships, as well as subcluuster - subclusre sibling relationships. ## How are subcluster treated ? Expectation is that a subcluster is essentially cluster as defined above.