public void addAssetResource(String destination, String sourceResource) { String content = ResourceTools.getResourceAsString(sourceResource); addAssetContent(destination, content); }
public IPApplicationDefinitionAssetsBundle addAssetResource(String assetRelativePath, String sourceResource) { String content = ResourceTools.getResourceAsString(sourceResource); return addAssetContent(assetRelativePath, content); }
@Override public IPPluginDefinitionV1 getIPPluginDefinition() { String version = "N/A"; try { version = ResourceTools.getResourceAsString("/foilen-infra-plugins-core.txt"); } catch (Exception e) { } IPPluginDefinitionV1 pluginDefinitionV1 = new IPPluginDefinitionV1("Foilen", "Application", "To manage applications", version); pluginDefinitionV1.addCustomResource(Application.class, Application.RESOURCE_TYPE, // Arrays.asList(Application.PROPERTY_NAME), // Arrays.asList( // Application.PROPERTY_NAME, // Application.PROPERTY_DOMAIN_NAMES // )); pluginDefinitionV1.addUpdateHandler(new ApplicationUpdateHandler()); return pluginDefinitionV1; }
@Override public IPPluginDefinitionV1 getIPPluginDefinition() { String version = "N/A"; try { version = ResourceTools.getResourceAsString("/foilen-infra-plugins-core.txt"); } catch (Exception e) { } IPPluginDefinitionV1 pluginDefinitionV1 = new IPPluginDefinitionV1("Foilen", "Machine", "To manage machines", version); pluginDefinitionV1.addCustomResource(Machine.class, "Machine", // Arrays.asList(Machine.PROPERTY_NAME), // Arrays.asList( // Machine.PROPERTY_NAME, // Machine.PROPERTY_PUBLIC_IP // )); pluginDefinitionV1.addTranslations("/com/foilen/infra/resource/machine/messages"); pluginDefinitionV1.addResourceEditor(new MachineEditor(), MachineEditor.EDITOR_NAME); return pluginDefinitionV1; }
@Override public IPPluginDefinitionV1 getIPPluginDefinition() { String version = "N/A"; try { version = ResourceTools.getResourceAsString("/foilen-infra-plugins-core.txt"); } catch (Exception e) { } IPPluginDefinitionV1 pluginDefinitionV1 = new IPPluginDefinitionV1("Foilen", "PostgreSql", "To manage PostgreSql databases", version); pluginDefinitionV1.addCustomResource(PostgreSqlServer.class, PostgreSqlServer.RESOURCE_TYPE, // Arrays.asList(PostgreSqlServer.PROPERTY_NAME), // Arrays.asList( // PostgreSqlServer.PROPERTY_NAME, // PostgreSqlServer.PROPERTY_DESCRIPTION // )); // Resource editors pluginDefinitionV1.addTranslations("/com/foilen/infra/resource/postgresql/messages"); pluginDefinitionV1.addResourceEditor(new PostgreSqlServerEditor(), PostgreSqlServerEditor.EDITOR_NAME); // Update events pluginDefinitionV1.addUpdateHandler(new PostgreSqlServerUpdateHandler()); return pluginDefinitionV1; }
public static void assertState(CommonServicesContext commonServicesContext, InternalServicesContext internalServicesContext, String resourceName, Class<?> resourceContext, boolean withContent) { ResourcesState resourcesState = new ResourcesState(); resourcesState.setResources(internalServicesContext.getInternalIPResourceService().resourceFindAll().stream() // .map(resource -> { ResourceState resourceState = new ResourceState(getResourceDetails(resource)); // With content if (withContent) { // Remove some values IPResource cloned = JsonTools.clone(resource); cloned.setInternalId(null); resourceState.setContent(cloned); } // Links List<ResourcesStateLink> links = commonServicesContext.getResourceService().linkFindAllByFromResource(resource).stream() // .map(link -> new ResourcesStateLink(link.getA(), getResourceDetails(link.getB()))) // .collect(Collectors.toList()); resourceState.setLinks(links); // Tags resourceState.setTags(commonServicesContext.getResourceService().tagFindAllByResource(resource).stream().sorted().collect(Collectors.toList())); return resourceState; }) // .collect(Collectors.toList())); resourcesState.sort(); String actualJson = JsonTools.prettyPrintWithoutNulls(resourcesState); actualJson = actualJson.replaceAll("\\\\n", "\n"); actualJson = actualJson.replaceAll("\\\\t", "\t"); String expectedJson = ResourceTools.getResourceAsString(resourceName, resourceContext); AssertTools.assertIgnoreLineFeed(expectedJson, actualJson); }
@Override public IPPluginDefinitionV1 getIPPluginDefinition() { String version = "N/A"; try { version = ResourceTools.getResourceAsString("/foilen-infra-plugins-core.txt"); } catch (Exception e) { } IPPluginDefinitionV1 pluginDefinitionV1 = new IPPluginDefinitionV1("Foilen", "MongoDB", "To manage MongoDB databases", version); pluginDefinitionV1.addCustomResource(MongoDBServer.class, MongoDBServer.RESOURCE_TYPE, // Arrays.asList(MongoDBServer.PROPERTY_NAME), // Arrays.asList( // MongoDBServer.PROPERTY_NAME, // MongoDBServer.PROPERTY_DESCRIPTION // )); // Resource editors pluginDefinitionV1.addTranslations("/com/foilen/infra/resource/mongodb/messages"); pluginDefinitionV1.addResourceEditor(new MongoDBServerEditor(), MongoDBServerEditor.EDITOR_NAME); // Update events pluginDefinitionV1.addUpdateHandler(new MongoDBServerUpdateHandler()); return pluginDefinitionV1; }
@Override public IPPluginDefinitionV1 getIPPluginDefinition() { String version = "N/A"; try { version = ResourceTools.getResourceAsString("/foilen-infra-plugins-core.txt"); } catch (Exception e) { } IPPluginDefinitionV1 pluginDefinition = new IPPluginDefinitionV1("Foilen", "Apache and PHP", "To create web sites", version); pluginDefinition.addCustomResource(ApachePhp.class, ApachePhp.RESOURCE_TYPE, // Arrays.asList(ApachePhp.PROPERTY_NAME), // Collections.emptyList()); pluginDefinition.addCustomResource(ApachePhpFolder.class, ApachePhpFolder.RESOURCE_TYPE, true, // Arrays.asList(ApachePhpFolder.PROPERTY_UID), // Collections.emptyList()); pluginDefinition.addCustomResource(ApachePhpHtPasswd.class, ApachePhpHtPasswd.RESOURCE_TYPE, true, // Arrays.asList(ApachePhpHtPasswd.PROPERTY_UID), // Collections.emptyList()); // Resource editors pluginDefinition.addTranslations("/com/foilen/infra/resource/apachephp/messages"); pluginDefinition.addResourceEditor(new ApachePhpEditor(), ApachePhpEditor.EDITOR_NAME); pluginDefinition.addResourceEditor(new ApachePhpFolderEditor(), ApachePhpFolderEditor.EDITOR_NAME); pluginDefinition.addResourceEditor(new ApachePhpHtPasswdEditor(), ApachePhpHtPasswdEditor.EDITOR_NAME); // Updater Handler pluginDefinition.addUpdateHandler(new ApachePhpEventHandler()); return pluginDefinition; }
@Override public IPPluginDefinitionV1 getIPPluginDefinition() { String version = "N/A"; try { version = ResourceTools.getResourceAsString("/foilen-infra-plugins-core.txt"); } catch (Exception e) { } IPPluginDefinitionV1 pluginDefinition = new IPPluginDefinitionV1("Foilen", "DNS - Bind9", "A Bind9 DNS server that uses all the DnsEntries", version); pluginDefinition.addCustomResource(Bind9Server.class, Bind9Server.RESOURCE_TYPE, // Arrays.asList(Bind9Server.PROPERTY_NAME), // Collections.emptyList()); // Resource editors pluginDefinition.addTranslations("/com/foilen/infra/resource/bind9/messages"); pluginDefinition.addResourceEditor(new Bind9ServerEditor(), Bind9ServerEditor.EDITOR_NAME); // Updater Handler pluginDefinition.addUpdateHandler(new Bind9UpdateEventHandler()); pluginDefinition.addUpdateHandler(new Bind9DnsEntryUpdateEventHandler()); return pluginDefinition; }
@Override public IPPluginDefinitionV1 getIPPluginDefinition() { String version = "N/A"; try { version = ResourceTools.getResourceAsString("/foilen-infra-plugins-core.txt"); } catch (Exception e) { } IPPluginDefinitionV1 pluginDefinition = new IPPluginDefinitionV1("Foilen", "Backup", "To manage backups", version); pluginDefinition.addCustomResource(BackupToGoogleCloudConfig.class, BackupToGoogleCloudConfig.RESOURCE_TYPE, // Arrays.asList(), // Collections.emptyList()); // Resource editors pluginDefinition.addTranslations("/com/foilen/infra/resource/backup/messages"); pluginDefinition.addResourceEditor(new BackupToGoogleCloudConfigEditor(), BackupToGoogleCloudConfigEditor.EDITOR_NAME); // Updater Handler pluginDefinition.addUpdateHandler(new BackupToGoogleCloudEventHandler()); pluginDefinition.addUpdateHandler(new MachineBackupToGoogleCloudEventHandler()); return pluginDefinition; }
@Override public IPPluginDefinitionV1 getIPPluginDefinition() { String version = "N/A"; try { version = ResourceTools.getResourceAsString("/foilen-infra-plugins-core.txt"); } catch (Exception e) { } IPPluginDefinitionV1 pluginDefinitionV1 = new IPPluginDefinitionV1("Foilen", "Infra Config", "To manage infra configuration", version); pluginDefinitionV1.addCustomResource(InfraConfig.class, InfraConfig.RESOURCE_TYPE, // Arrays.asList(), // Arrays.asList()); pluginDefinitionV1.addCustomResource(InfraConfigPlugin.class, InfraConfigPlugin.RESOURCE_TYPE, // Arrays.asList(InfraConfigPlugin.PROPERTY_URL), // Arrays.asList()); // Resource editors pluginDefinitionV1.addTranslations("/com/foilen/infra/resource/infraconfig/messages"); pluginDefinitionV1.addResourceEditor(new InfraConfigEditor(), InfraConfigEditor.EDITOR_NAME); pluginDefinitionV1.addResourceEditor(new InfraConfigPluginEditor(), InfraConfigPluginEditor.EDITOR_NAME); // Updater Handler pluginDefinitionV1.addUpdateHandler(new InfraConfigUpdateHandler()); pluginDefinitionV1.addUpdateHandler(new InfraConfigPluginUpdateHandler()); return pluginDefinitionV1; }
@Override public IPPluginDefinitionV1 getIPPluginDefinition() { String version = "N/A"; try { version = ResourceTools.getResourceAsString("/foilen-infra-plugins-core.txt"); } catch (Exception e) { } IPPluginDefinitionV1 pluginDefinitionV1 = new IPPluginDefinitionV1("Foilen", "Website", "To manage websites", version); pluginDefinitionV1.addCustomResource(Website.class, Website.RESOURCE_TYPE, // Arrays.asList( // Website.PROPERTY_NAME // ), // Arrays.asList( // Website.PROPERTY_NAME, // Website.PROPERTY_DOMAIN_NAMES // )); pluginDefinitionV1.addTranslations("/com/foilen/infra/resource/website/messages"); pluginDefinitionV1.addResourceEditor(new WebsiteEditor(), WebsiteEditor.EDITOR_NAME); pluginDefinitionV1.addUpdateHandler(new MachineHaProxyUpdateHandler()); pluginDefinitionV1.addUpdateHandler(new WebsiteUpdateHandler()); return pluginDefinitionV1; }
@Override public IPPluginDefinitionV1 getIPPluginDefinition() { String version = "N/A"; try { version = ResourceTools.getResourceAsString("/foilen-infra-plugins-core.txt"); } catch (Exception e) { } IPPluginDefinitionV1 pluginDefinitionV1 = new IPPluginDefinitionV1("Foilen", "Unix User", "To manage unix users", version); pluginDefinitionV1.addCustomResource(UnixUser.class, UnixUser.RESOURCE_TYPE, // Arrays.asList(UnixUser.PROPERTY_ID), // Arrays.asList( // UnixUser.PROPERTY_NAME, // UnixUser.PROPERTY_HOME_FOLDER, // UnixUser.PROPERTY_SHELL // )); pluginDefinitionV1.addCustomResource(SystemUnixUser.class, SystemUnixUser.RESOURCE_TYPE, // Arrays.asList(UnixUser.PROPERTY_ID), // Arrays.asList( // UnixUser.PROPERTY_NAME, // UnixUser.PROPERTY_HOME_FOLDER, // UnixUser.PROPERTY_SHELL // )); pluginDefinitionV1.addTranslations("/com/foilen/infra/resource/unixuser/messages"); pluginDefinitionV1.addResourceEditor(new UnixUserEditor(), UnixUserEditor.EDITOR_NAME); pluginDefinitionV1.addResourceEditor(new SystemUnixUserEditor(), SystemUnixUserEditor.EDITOR_NAME); pluginDefinitionV1.addUpdateHandler(new UnixUserUpdateHandler()); pluginDefinitionV1.addUpdateHandler(new SystemUnixUserUpdateHandler()); return pluginDefinitionV1; }
@Override public IPPluginDefinitionV1 getIPPluginDefinition() { String version = "N/A"; try { version = ResourceTools.getResourceAsString("/foilen-infra-plugins-core.txt"); } catch (Exception e) { } IPPluginDefinitionV1 pluginDefinitionV1 = new IPPluginDefinitionV1("Foilen", "Web Certificate", "To manage web certificates", version); pluginDefinitionV1.addCustomResource(WebsiteCertificate.class, WebsiteCertificate.RESOURCE_TYPE, // Arrays.asList(WebsiteCertificate.PROPERTY_THUMBPRINT), // Arrays.asList( // WebsiteCertificate.PROPERTY_THUMBPRINT, // WebsiteCertificate.PROPERTY_DOMAIN_NAMES, // WebsiteCertificate.PROPERTY_CA_CERTIFICATE, // WebsiteCertificate.PROPERTY_START, // WebsiteCertificate.PROPERTY_END // )); pluginDefinitionV1.addTranslations("/com/foilen/infra/resource/webcertificate/messages"); pluginDefinitionV1.addResourceEditor(new ManualWebsiteCertificateEditor(), ManualWebsiteCertificateEditor.EDITOR_NAME); pluginDefinitionV1.addResourceEditor(new SelfSignedWebsiteCertificateEditor(), SelfSignedWebsiteCertificateEditor.EDITOR_NAME); pluginDefinitionV1.addTimer(new SelfSignedWebsiteCertificateRefreshTimer(), // SelfSignedWebsiteCertificateRefreshTimer.TIMER_NAME, // Calendar.DAY_OF_YEAR, 1, // false, true); return pluginDefinitionV1; }
version = ResourceTools.getResourceAsString("/foilen-infra-plugins-core.txt"); } catch (Exception e) {
version = ResourceTools.getResourceAsString("/foilen-infra-plugins-core.txt"); } catch (Exception e) {
String mainScriptContent = ResourceTools.getResourceAsString("startSupervisord.sh", DockerContainerOutput.class); assetsBundle.addAssetContent("_infra/startSupervisord.sh", mainScriptContent); transformedApplicationDefinition.setCommand("/_infra/startSupervisord.sh");
@Override public IPPluginDefinitionV1 getIPPluginDefinition() { String version = "N/A"; try { version = ResourceTools.getResourceAsString("/foilen-infra-plugins-core.txt"); } catch (Exception e) { } IPPluginDefinitionV1 pluginDefinition = new IPPluginDefinitionV1("Foilen", "Lets Encrypt", "Automatically retrieve letsencrypt certificates", version); pluginDefinition.addCustomResource(LetsencryptConfig.class, LetsencryptConfig.RESOURCE_TYPE, // Arrays.asList(LetsencryptConfig.PROPERTY_NAME), // Collections.emptyList()); pluginDefinition.addTimer(new LetsEncryptRefreshOldCertsBeginTimer(), // LetsEncryptRefreshOldCertsBeginTimer.TIMER_NAME, // Calendar.DAY_OF_YEAR, // 1, // false, // true); // Resource editors pluginDefinition.addTranslations("/com/foilen/infra/resource/letsencrypt/messages"); pluginDefinition.addResourceEditor(new LetsencryptConfigEditor(), LetsencryptConfigEditor.EDITOR_NAME); pluginDefinition.addResourceEditor(new LetsEncryptWebsiteCertificateEditor(), LetsEncryptWebsiteCertificateEditor.EDITOR_NAME); // Updater pluginDefinition.addUpdateHandler(new LetsencryptConfigUpdateHandler()); return pluginDefinition; }
version = ResourceTools.getResourceAsString("/foilen-infra-plugins-core.txt"); } catch (Exception e) {
version = ResourceTools.getResourceAsString("/foilen-infra-plugins-core.txt"); } catch (Exception e) {