use of org.platformlayer.core.model.PlatformLayerKey in project platformlayer by platformlayer.
the class ScheduleController method handler.
@Handler
public void handler() throws OpsException {
if (OpsContext.isConfigure()) {
String key = model.getKey().getUrl();
PlatformLayerKey target = model.targetItem;
PlatformLayerEndpointInfo endpoint = platformLayer.getEndpointInfo(target);
JobSchedule schedule = model.schedule;
Action action = model.action;
actionScheduler.putJob(key, endpoint, schedule, target, action);
}
}
use of org.platformlayer.core.model.PlatformLayerKey in project platformlayer by platformlayer.
the class WordpressServiceController method addChildren.
@Override
protected void addChildren() throws OpsException {
WordpressService model = OpsContext.get().getInstance(WordpressService.class);
InstanceBuilder instance = InstanceBuilder.build(model.dnsName, this, model.getTags());
// instance.minimumMemoryMb = 2048;
addChild(instance);
instance.addChild(PackageDependency.build("wordpress"));
instance.addChild(ApacheBootstrap.build());
{
PlatformLayerFirewallEntry net = injected(PlatformLayerFirewallEntry.class);
net.destItem = model.databaseItem;
net.port = 3306;
net.uniqueId = getFirewallUniqueId();
PlatformLayerKey sourceKey = model.getKey();
net.sourceItemKey = sourceKey;
instance.addChild(net);
}
WordpressTemplateData templateData = Injection.getInstance(WordpressTemplateData.class);
MysqlConnection mysql = instance.addChild(MysqlConnection.build(model.databaseItem));
mysql.password = model.databasePassword;
{
MysqlDatabase db = injected(MysqlDatabase.class);
db.databaseName = templateData.getDatabaseName();
mysql.addChild(db);
}
{
MysqlUser db = injected(MysqlUser.class);
db.databaseName = templateData.getDatabaseName();
db.databaseUser = templateData.getDatabaseUser();
db.databasePassword = templateData.getDatabasePassword();
mysql.addChild(db);
}
instance.addChild(WordpressBootstrap.build());
instance.addChild(WordpressAdminUser.build());
instance.addChild(WordpressApacheSite.build());
// instance.addChild(CollectdCollector.build());
// TODO: How do we bring up wordpress securely??
// We don't have the tables until we run install.php
// Maybe we could POST to the install.php form
{
PublicEndpoint endpoint = injected(PublicEndpoint.class);
// endpoint.network = null;
endpoint.publicPort = 80;
endpoint.backendPort = 80;
// We expect nginx to front-end us, so we don't put the dnsName
// endpoint.dnsName = model.dnsName;
endpoint.tagItem = model.getKey();
endpoint.parentItem = model.getKey();
instance.addChild(endpoint);
}
instance.addChild(ManagedService.build("apache2"));
}
use of org.platformlayer.core.model.PlatformLayerKey in project platformlayer by platformlayer.
the class FederatedPlatformLayerClient method mapToChild.
private MappedPlatformLayerKey mapToChild(PlatformLayerKey plk) {
// if (plk.getHost() != null) {
//
// }
ManagedItemId itemId = plk.getItemId();
if (itemId == null || itemId.isEmpty()) {
throw new IllegalArgumentException();
}
FederationKey host = plk.getHost();
if (host == null) {
host = FederationKey.LOCAL;
}
ProjectId project = plk.getProject();
if (project == null) {
project = defaultProject;
// project = federationMap.getLocalClient().getProject();
}
ChildClient childClient = getClient(new FederationMapping(host, project));
MappedPlatformLayerKey mapped = new MappedPlatformLayerKey();
mapped.child = childClient;
mapped.key = new PlatformLayerKey(host, project, plk.getServiceType(), plk.getItemType(), plk.getItemId());
return mapped;
// Iterable<ChildClient> childClients = getChildClients(plk);
// ChildClient client = null;
// for (ChildClient childClient : childClients) {
// if (client == null) {
// client = childClient;
// } else {
// throw new IllegalStateException("Multiple clients found");
// }
// }
// return client;
}
use of org.platformlayer.core.model.PlatformLayerKey in project platformlayer by platformlayer.
the class AddTag method runCommand.
@Override
public Object runCommand() throws PlatformLayerClientException {
PlatformLayerClient client = getPlatformLayerClient();
PlatformLayerKey resolved = path.resolve(getContext());
TagChanges tagChanges = new TagChanges();
Tag tag = Tag.build(tagKey, tagValue);
tagChanges.addTags.add(tag);
return client.changeTags(resolved, tagChanges, null);
}
use of org.platformlayer.core.model.PlatformLayerKey in project platformlayer by platformlayer.
the class DeleteItem method runCommand.
@Override
public Object runCommand() throws PlatformLayerClientException {
PlatformLayerClient client = getPlatformLayerClient();
PlatformLayerKey key = path.resolve(getContext());
JobData jobData = client.deleteItem(key);
return jobData;
}
Aggregations