use of io.fabric8.kubernetes.api.model.apps.Deployment in project kubernetes by ballerinax.
the class DeploymentHandler method generate.
/**
* Generate kubernetes deployment definition from annotation.
*
* @return Generated kubernetes @{@link Deployment} definition
* @throws KubernetesPluginException If an error occurs while generating artifact.
*/
public String generate() throws KubernetesPluginException {
List<ContainerPort> containerPorts = null;
if (deploymentModel.getPorts() != null) {
containerPorts = populatePorts(deploymentModel.getPorts());
}
Container container = generateContainer(deploymentModel, containerPorts);
Deployment deployment = new DeploymentBuilder().withNewMetadata().withName(deploymentModel.getName()).withNamespace(deploymentModel.getNamespace()).withLabels(deploymentModel.getLabels()).endMetadata().withNewSpec().withReplicas(deploymentModel.getReplicas()).withNewTemplate().withNewMetadata().addToLabels(deploymentModel.getLabels()).endMetadata().withNewSpec().withContainers(container).withVolumes(populateVolume(deploymentModel)).endSpec().endTemplate().endSpec().build();
try {
return SerializationUtils.dumpWithoutRuntimeStateAsYaml(deployment);
} catch (JsonProcessingException e) {
String errorMessage = "Error while parsing yaml file for deployment: " + deploymentModel.getName();
throw new KubernetesPluginException(errorMessage, e);
}
}
use of io.fabric8.kubernetes.api.model.apps.Deployment in project fabric8 by jboss-fuse.
the class PatchBundlesIntegrationTest method createdeployment.
@Deployment
public static JavaArchive createdeployment() {
final JavaArchive archive = ShrinkWrap.create(JavaArchive.class, "test.jar");
archive.addClass(ServiceLocator.class);
archive.addClass(IOHelpers.class);
archive.addPackage(ServiceTracker.class.getPackage());
archive.addPackages(true, OSGiManifestBuilder.class.getPackage());
archive.setManifest(new Asset() {
public InputStream openStream() {
OSGiManifestBuilder builder = OSGiManifestBuilder.newInstance();
builder.addBundleSymbolicName(archive.getName());
builder.addBundleManifestVersion(2);
builder.addImportPackages(Bundle.class, Service.class, PatchManagement.class, Validatable.class);
return builder.openStream();
}
});
// add the original bundle as well as the patch zip files as resources
archive.add(createPatchableBundle("1.0.0"), "/bundles", ZipExporter.class);
archive.add(createPatchZipFile("patch-01"), "/patches", ZipExporter.class);
archive.add(createPatchZipFile("patch-02"), "/patches", ZipExporter.class);
archive.add(createPatchZipFile("patch-02-without-range"), "/patches", ZipExporter.class);
return archive;
}
use of io.fabric8.kubernetes.api.model.apps.Deployment in project fabric8 by jboss-fuse.
the class PatchFilesIntegrationTest method createdeployment.
@Deployment
public static JavaArchive createdeployment() {
final JavaArchive archive = ShrinkWrap.create(JavaArchive.class, "test.jar");
archive.addClass(ServiceLocator.class);
archive.addClass(IOHelpers.class);
archive.addPackage(ServiceTracker.class.getPackage());
archive.addPackages(true, OSGiManifestBuilder.class.getPackage());
archive.setManifest(new Asset() {
public InputStream openStream() {
OSGiManifestBuilder builder = OSGiManifestBuilder.newInstance();
builder.addBundleSymbolicName(archive.getName());
builder.addBundleManifestVersion(2);
builder.addImportPackages(Bundle.class, Service.class, PatchManagement.class, Validatable.class);
return builder.openStream();
}
});
// add the patch zip files as resources
archive.add(createPatchZipFile("file-01"), "/patches", ZipExporter.class);
archive.add(createPatchZipFile("file-02"), "/patches", ZipExporter.class);
return archive;
}
use of io.fabric8.kubernetes.api.model.apps.Deployment in project fabric8 by jboss-fuse.
the class PatchMigratorTest method createdeployment.
@Deployment
public static JavaArchive createdeployment() {
final JavaArchive archive = ShrinkWrap.create(JavaArchive.class, "test.jar");
archive.setManifest(new Asset() {
public InputStream openStream() {
OSGiManifestBuilder builder = OSGiManifestBuilder.newInstance();
builder.addBundleSymbolicName(archive.getName());
builder.addBundleManifestVersion(2);
builder.addImportPackages(Bundle.class, Service.class, PatchManagement.class, Validatable.class);
return builder.openStream();
}
});
archive.addClass(ServiceLocator.class);
archive.addClass(IOHelpers.class);
archive.addPackage(ServiceTracker.class.getPackage());
archive.addPackages(true, OSGiManifestBuilder.class.getPackage());
// add the original bundle as well as the patch zip files as resources
archive.add(createPatchZipFile("migrator-patch-01"), "/patches", ZipExporter.class);
return archive;
}
use of io.fabric8.kubernetes.api.model.apps.Deployment in project fabric8 by jboss-fuse.
the class PatchThePatchServiceTest method createdeployment.
@Deployment
public static JavaArchive createdeployment() throws Exception {
final JavaArchive archive = ShrinkWrap.create(JavaArchive.class, "test.jar");
archive.addClass(ServiceLocator.class);
archive.addClass(IOHelpers.class);
archive.addPackage(ServiceTracker.class.getPackage());
archive.addPackages(true, OSGiManifestBuilder.class.getPackage());
archive.addPackage(CommandSupport.class.getPackage());
archive.addClass(VersionCleaner.class);
archive.setManifest(new Asset() {
public InputStream openStream() {
OSGiManifestBuilder builder = OSGiManifestBuilder.newInstance();
builder.addBundleSymbolicName(archive.getName());
builder.addBundleManifestVersion(2);
builder.addImportPackages(Bundle.class, Logger.class);
builder.addImportPackages(AbstractCommand.class, Action.class, Function.class, Validatable.class);
builder.addImportPackages(InvalidComponentException.class);
builder.addImportPackage("org.apache.felix.service.command;status=provisional");
return builder.openStream();
}
});
// add the patch zip files as resource
archive.add(createPatchZipFile(PATCH_ID), "/patches", ZipExporter.class);
return archive;
}
Aggregations