Search in sources :

Example 1 with Secret

use of org.platformlayer.core.model.Secret in project platformlayer by platformlayer.

the class IpsecHelpers method getIpsecSecret.

public Secret getIpsecSecret() throws OpsException {
    Secret secret = null;
    for (ProviderOf<HasIpsecPolicy> ipsecPolicyProvider : providerHelper.listItemsProviding(HasIpsecPolicy.class)) {
        ItemBase item = ipsecPolicyProvider.getItem();
        if (item.getState() != ManagedItemState.ACTIVE) {
            continue;
        }
        HasIpsecPolicy ipsec = ipsecPolicyProvider.get();
        if (secret != null) {
            throw new IllegalStateException("Multiple IPSEC policies found");
        }
        secret = ipsec.getIpsecPreSharedKey(item);
        if (secret == null) {
            // Should we allow this?
            throw new IllegalStateException();
        }
    }
    if (secret == null) {
        throw new OpsException("Ipsec policy not found");
    }
    return secret;
}
Also used : Secret(org.platformlayer.core.model.Secret) OpsException(org.platformlayer.ops.OpsException) ItemBase(org.platformlayer.core.model.ItemBase)

Example 2 with Secret

use of org.platformlayer.core.model.Secret in project platformlayer by platformlayer.

the class PlatformLayerObjectWrapper method wrap.

@Override
public TemplateModel wrap(Object obj) throws TemplateModelException {
    if (obj instanceof javax.inject.Provider<?>) {
        Object provided = ((javax.inject.Provider<?>) obj).get();
        return wrap(provided);
    }
    if (obj instanceof Secret) {
        Secret secret = (Secret) obj;
        String plaintext = secret.plaintext();
        return wrap(plaintext);
    }
    return super.wrap(obj);
}
Also used : Secret(org.platformlayer.core.model.Secret)

Example 3 with Secret

use of org.platformlayer.core.model.Secret in project platformlayer by platformlayer.

the class OpenLdapTestHelpers method createLdapServer.

public LdapService createLdapServer() throws OpsException, IOException {
    String id = random.randomAlphanumericString(8);
    Secret ldapServerPassword = randomSecret();
    LdapService service = new LdapService();
    service.dnsName = id + ".test.platformlayer.org";
    service.ldapServerPassword = ldapServerPassword;
    service = context.putItem(id, service);
    service = context.waitForHealthy(service);
    return service;
}
Also used : Secret(org.platformlayer.core.model.Secret) LdapService(org.platformlayer.service.openldap.model.LdapService)

Example 4 with Secret

use of org.platformlayer.core.model.Secret in project platformlayer by platformlayer.

the class OpenLdapTestHelpers method createLdapDomain.

public LdapDomain createLdapDomain(LdapService ldapService, String organizationName) throws OpsException, IOException {
    String domainId = "domain-" + ldapService.getId();
    Secret adminPassword = randomSecret();
    LdapDomain domain = new LdapDomain();
    domain.organizationName = organizationName;
    domain.adminPassword = adminPassword;
    domain = context.putItem(domainId, domain);
    domain = context.waitForHealthy(domain);
    return domain;
}
Also used : Secret(org.platformlayer.core.model.Secret) LdapDomain(org.platformlayer.service.openldap.model.LdapDomain)

Example 5 with Secret

use of org.platformlayer.core.model.Secret in project platformlayer by platformlayer.

the class ServiceProviderBase method autoPopulate.

public void autoPopulate(Object item) throws OpsException {
    Class<? extends Object> itemClass = item.getClass();
    for (Field field : itemClass.getFields()) {
        Generate defaultAnnotation = field.getAnnotation(Generate.class);
        if (defaultAnnotation != null) {
            Class<?> fieldType = field.getType();
            Object value;
            try {
                value = field.get(item);
            } catch (IllegalAccessException e) {
                throw new IllegalStateException("Error getting field: " + field, e);
            }
            if (value == null) {
                String defaultValue = defaultAnnotation.value();
                if (!Strings.isNullOrEmpty(defaultValue)) {
                    value = defaultValue;
                } else {
                    if (fieldType == Secret.class) {
                        Passwords passwords = new Passwords();
                        Secret secret = passwords.generateRandomPassword(12);
                        value = secret;
                    }
                }
                if (value != null) {
                    try {
                        field.set(item, value);
                    } catch (IllegalAccessException e) {
                        throw new IllegalStateException("Error setting field: " + field, e);
                    }
                }
            }
        }
    }
}
Also used : Secret(org.platformlayer.core.model.Secret) Field(java.lang.reflect.Field) Generate(org.platformlayer.core.model.Generate) Passwords(org.platformlayer.ops.crypto.Passwords)

Aggregations

Secret (org.platformlayer.core.model.Secret)5 Field (java.lang.reflect.Field)1 Generate (org.platformlayer.core.model.Generate)1 ItemBase (org.platformlayer.core.model.ItemBase)1 OpsException (org.platformlayer.ops.OpsException)1 Passwords (org.platformlayer.ops.crypto.Passwords)1 LdapDomain (org.platformlayer.service.openldap.model.LdapDomain)1 LdapService (org.platformlayer.service.openldap.model.LdapService)1