Pod getPodTemplateInternal()

in teamcity-kubernetes-plugin-server/src/main/java/jetbrains/buildServer/clouds/kubernetes/podSpec/CustomTemplatePodTemplateProvider.java [57:79]


    /* package local for tests */ Pod getPodTemplateInternal(@NotNull final CloudInstanceUserData cloudInstanceUserData,
                                      @NotNull final String imageId,
                                      @NotNull final String namespace,
                                      final String instanceName,
                                      String spec) {
        spec = spec.replaceAll("%instance\\.id%", instanceName);

        if (StringUtil.isEmpty(spec)) {
            throw new KubeCloudException("Custom pod template spec is not specified for image " + imageId);
        }

        final PodTemplateSpec podTemplateSpec = Serialization.unmarshal(
          new ByteArrayInputStream(spec.getBytes()),
          PodTemplateSpec.class
        );

        return patchedPodTemplateSpec(podTemplateSpec,
                                      instanceName,
                                      namespace,
                                      myServerSettings.getServerUUID(),
                                      imageId,
                                      cloudInstanceUserData);
    }