111111import java .util .stream .Collectors ;
112112import java .util .stream .Stream ;
113113
114+ import static eu .openanalytics .containerproxy .backend .kubernetes .PodPatcher .DEBUG_PROPERTY ;
115+
114116public class KubernetesBackend extends AbstractContainerBackend {
115117
116118 private static final String PROPERTY_PREFIX = "proxy.kubernetes." ;
@@ -136,6 +138,10 @@ public class KubernetesBackend extends AbstractContainerBackend {
136138
137139 private KubernetesManifestsRemover kubernetesManifestsRemover ;
138140
141+ private Boolean logManifests ;
142+
143+ private final ObjectMapper writer = new ObjectMapper (new YAMLFactory ());
144+
139145 @ Override
140146 public void initialize () throws ContainerProxyException {
141147 super .initialize ();
@@ -157,6 +163,7 @@ public void initialize() throws ContainerProxyException {
157163
158164 kubeClient = new DefaultKubernetesClient (configBuilder .build ());
159165 kubernetesManifestsRemover = new KubernetesManifestsRemover (kubeClient , getAppNamespaces (), identifierService );
166+ logManifests = environment .getProperty (DEBUG_PROPERTY , Boolean .class , false );
160167 }
161168
162169 public void initialize (KubernetesClient client ) {
@@ -472,10 +479,10 @@ private JsonPatch readPatchFromSpec(KubernetesSpecExtension specExtension) throw
472479 * The resource will only be created if it does not already exist.
473480 */
474481 private void createAdditionalManifests (Proxy proxy , KubernetesSpecExtension specExtension , String namespace ) throws JsonProcessingException {
475- for (GenericKubernetesResource fullObject : parseAdditionalManifests (proxy . getUserId (), proxy . getSpecId () , namespace , specExtension .getKubernetesAdditionalManifests (), false )) {
482+ for (GenericKubernetesResource fullObject : parseAdditionalManifests (proxy , namespace , specExtension .getKubernetesAdditionalManifests (), false )) {
476483 applyAdditionalManifest (proxy , fullObject );
477484 }
478- for (GenericKubernetesResource fullObject : parseAdditionalManifests (proxy . getUserId (), proxy . getSpecId () , namespace , specExtension .getKubernetesAdditionalPersistentManifests (), true )) {
485+ for (GenericKubernetesResource fullObject : parseAdditionalManifests (proxy , namespace , specExtension .getKubernetesAdditionalPersistentManifests (), true )) {
479486 applyAdditionalManifest (proxy , fullObject );
480487 }
481488 }
@@ -518,7 +525,7 @@ private void applyAdditionalManifest(Proxy proxy, GenericKubernetesResource reso
518525 * When the resource has no namespace definition, the provided namespace
519526 * parameter will be used.
520527 */
521- private List <GenericKubernetesResource > parseAdditionalManifests (String userId , String specId , String namespace , List <String > manifests , Boolean persistent ) throws JsonProcessingException {
528+ private List <GenericKubernetesResource > parseAdditionalManifests (Proxy proxy , String namespace , List <String > manifests , Boolean persistent ) throws JsonProcessingException {
522529 ArrayList <GenericKubernetesResource > result = new ArrayList <>();
523530 for (String manifest : manifests ) {
524531 GenericKubernetesResource object = Serialization .yamlMapper ().readValue (manifest , GenericKubernetesResource .class );
@@ -537,12 +544,12 @@ private List<GenericKubernetesResource> parseAdditionalManifests(String userId,
537544 }
538545 fullObject .getMetadata ().getLabels ().put ("openanalytics.eu/sp-additional-manifest" , "true" );
539546 fullObject .getMetadata ().getLabels ().put ("openanalytics.eu/sp-persistent-manifest" , persistent .toString ());
540- fullObject .getMetadata ().getLabels ().put ("openanalytics.eu/sp-manifest-id" , kubernetesManifestsRemover .getManifestId (specId , userId ));
547+ fullObject .getMetadata ().getLabels ().put ("openanalytics.eu/sp-manifest-id" , kubernetesManifestsRemover .getManifestId (proxy .getSpecId (), proxy .getUserId ()));
548+
549+ if (logManifests ) {
550+ slog .info (proxy , "Creating additional manifest: \n " + writer .writeValueAsString (fullObject ));
551+ }
541552
542- // TODO annotations
543- // fullObject.getMetadata().getLabels().put("openanalytics.eu/sp-realm", identifierService.realmId);
544- // fullObject.getMetadata().getLabels().put("openanalytics.eu/sp-spec-id", specId);
545- // fullObject.getMetadata().getLabels().put("openanalytics.eu/sp-uer-id", specId);
546553 result .add (fullObject );
547554 }
548555 return result ;
0 commit comments