From db273730321b528e662d76cb1e5febc202245486 Mon Sep 17 00:00:00 2001 From: Scott Frederick Date: Fri, 26 Oct 2018 13:57:05 -0500 Subject: [PATCH] Update demo app. --- spring-credhub-demo/build.gradle | 4 +- spring-credhub-demo/settings.gradle | 0 .../credhub/demo/CredHubDemoController.java | 76 ++++++++----------- .../src/main/resources/application.yml | 5 ++ 4 files changed, 40 insertions(+), 45 deletions(-) create mode 100644 spring-credhub-demo/settings.gradle create mode 100644 spring-credhub-demo/src/main/resources/application.yml diff --git a/spring-credhub-demo/build.gradle b/spring-credhub-demo/build.gradle index 73dc1f4..bf1ac81 100644 --- a/spring-credhub-demo/build.gradle +++ b/spring-credhub-demo/build.gradle @@ -44,13 +44,13 @@ apply plugin: 'propdeps-eclipse' apply plugin: 'org.springframework.boot' dependencies { - compile("org.springframework.credhub:spring-credhub-starter:1.0.0.RELEASE") + compile("org.springframework.credhub:spring-credhub-starter:1.1.0.BUILD-SNAPSHOT") compile("org.springframework.boot:spring-boot-starter-web") compile("org.springframework.boot:spring-boot-starter-actuator") } repositories { - mavenLocal() + maven { url "https://repo.spring.io/libs-snapshot" } mavenCentral() } diff --git a/spring-credhub-demo/settings.gradle b/spring-credhub-demo/settings.gradle new file mode 100644 index 0000000..e69de29 diff --git a/spring-credhub-demo/src/main/java/org/springframework/credhub/demo/CredHubDemoController.java b/spring-credhub-demo/src/main/java/org/springframework/credhub/demo/CredHubDemoController.java index 118f721..ab2e81e 100644 --- a/spring-credhub-demo/src/main/java/org/springframework/credhub/demo/CredHubDemoController.java +++ b/spring-credhub-demo/src/main/java/org/springframework/credhub/demo/CredHubDemoController.java @@ -24,8 +24,11 @@ import java.util.Map; import java.util.UUID; import com.fasterxml.jackson.databind.ObjectMapper; +import org.springframework.beans.factory.annotation.Value; import org.springframework.credhub.core.CredHubOperations; -import org.springframework.credhub.support.permissions.Actor; +import org.springframework.credhub.core.credential.CredHubCredentialOperations; +import org.springframework.credhub.core.interpolation.CredHubInterpolationOperations; +import org.springframework.credhub.core.permission.CredHubPermissionOperations; import org.springframework.credhub.support.permissions.CredentialPermission; import org.springframework.credhub.support.CredentialDetails; import org.springframework.credhub.support.CredentialName; @@ -34,25 +37,23 @@ import org.springframework.credhub.support.json.JsonCredential; import org.springframework.credhub.support.json.JsonCredentialRequest; import org.springframework.credhub.support.SimpleCredentialName; import org.springframework.credhub.support.ServicesData; +import org.springframework.credhub.support.permissions.Operation; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; -import static org.springframework.credhub.support.permissions.Operation.DELETE; -import static org.springframework.credhub.support.permissions.Operation.READ; -import static org.springframework.credhub.support.permissions.Operation.READ_ACL; -import static org.springframework.credhub.support.permissions.Operation.WRITE; -import static org.springframework.credhub.support.permissions.Operation.WRITE_ACL; - @RestController public class CredHubDemoController { - private static final String APP_GUID_1 = UUID.randomUUID().toString(); private static final String APP_GUID_2 = UUID.randomUUID().toString(); - private CredHubOperations credHubTemplate; + private CredHubCredentialOperations credentialOperations; + private final CredHubPermissionOperations permissionOperations; + private final CredHubInterpolationOperations interpolationOperations; - public CredHubDemoController(CredHubOperations credHubTemplate) { - this.credHubTemplate = credHubTemplate; + public CredHubDemoController(CredHubOperations credHubOperations) { + this.credentialOperations = credHubOperations.credentials(); + this.permissionOperations = credHubOperations.permissions(); + this.interpolationOperations = credHubOperations.interpolation(); } @PostMapping("/test") @@ -60,8 +61,11 @@ public class CredHubDemoController { Results results = new Results(); try { - CredentialDetails credentialDetails = writeCredentials(value, results); - CredentialName credentialName = credentialDetails.getName(); + SimpleCredentialName credentialName = + new SimpleCredentialName("spring-credhub", "demo", "credentials_json"); + + CredentialDetails credentialDetails = + writeCredentials(credentialName, value, results); getCredentialsById(credentialDetails.getId(), results); @@ -69,14 +73,12 @@ public class CredHubDemoController { findCredentialsByName(credentialName, results); - findCredentialsByPath(credentialName.getName(), results); + findCredentialsByPath("/spring-credhub/demo", results); getCredentialPermissions(credentialName, results); addCredentialPermissions(credentialName, results); - deleteCredentialPermission(credentialName, results); - getCredentialPermissions(credentialName, results); interpolateServiceData(credentialName, results); @@ -89,20 +91,16 @@ public class CredHubDemoController { return results; } - private CredentialDetails writeCredentials(Map value, Results results) { + private CredentialDetails writeCredentials(SimpleCredentialName name, + Map value, + Results results) { try { JsonCredentialRequest request = JsonCredentialRequest.builder() - .overwrite(true) - .name(new SimpleCredentialName("spring-credhub", "demo", "credentials_json")) + .name(name) .value(value) - .permission(CredentialPermission.builder() - .app(APP_GUID_1) - .operation(READ) - .operation(WRITE) - .build()) .build(); - CredentialDetails credentialDetails = credHubTemplate.write(request); + CredentialDetails credentialDetails = credentialOperations.write(request); saveResults(results, "Successfully wrote credentials: ", credentialDetails); return credentialDetails; @@ -116,7 +114,7 @@ public class CredHubDemoController { private void getCredentialsById(String id, Results results) { try { CredentialDetails retrievedDetails = - credHubTemplate.getById(id, JsonCredential.class); + credentialOperations.getById(id, JsonCredential.class); saveResults(results, "Successfully retrieved credentials by ID: ", retrievedDetails); } catch (Exception e) { saveResults(results, "Error retrieving credentials by ID: ", e.getMessage()); @@ -126,7 +124,7 @@ public class CredHubDemoController { private void getCredentialsByName(CredentialName name, Results results) { try { CredentialDetails retrievedDetails = - credHubTemplate.getByName(name, JsonCredential.class); + credentialOperations.getByName(name, JsonCredential.class); saveResults(results, "Successfully retrieved credentials by name: ", retrievedDetails); } catch (Exception e) { saveResults(results, "Error retrieving credentials by name: ", e.getMessage()); @@ -135,7 +133,7 @@ public class CredHubDemoController { private void findCredentialsByName(CredentialName name, Results results) { try { - List retrievedDetails = credHubTemplate.findByName(name); + List retrievedDetails = credentialOperations.findByName(name); saveResults(results, "Successfully found credentials by name: ", retrievedDetails); } catch (Exception e) { saveResults(results, "Error finding credentials by name: ", e.getMessage()); @@ -144,7 +142,7 @@ public class CredHubDemoController { private void findCredentialsByPath(String path, Results results) { try { - List retrievedDetails = credHubTemplate.findByPath(path); + List retrievedDetails = credentialOperations.findByPath(path); saveResults(results, "Successfully found credentials by path: ", retrievedDetails); } catch (Exception e) { saveResults(results, "Error finding credentials by path: ", e.getMessage()); @@ -153,7 +151,7 @@ public class CredHubDemoController { private void getCredentialPermissions(CredentialName name, Results results) { try { - List retrievedDetails = credHubTemplate.getPermissions(name); + List retrievedDetails = permissionOperations.getPermissions(name); saveResults(results, "Successfully retrieved credential permissions: ", retrievedDetails); } catch (Exception e) { saveResults(results, "Error retrieving credential permissions: ", e.getMessage()); @@ -164,28 +162,20 @@ public class CredHubDemoController { try { CredentialPermission permission = CredentialPermission.builder() .app(APP_GUID_2) - .operations(READ_ACL, WRITE_ACL, DELETE) + .operations(Operation.READ, Operation.WRITE, Operation.DELETE) .build(); - List permissions = credHubTemplate.addPermissions(name, permission); - saveResults(results, "Successfully added permissions: ", permissions); + permissionOperations.addPermissions(name, permission); + saveResults(results, "Successfully added permissions"); } catch (Exception e) { saveResults(results, "Error adding permission: ", e.getMessage()); - } } - - private void deleteCredentialPermission(CredentialName name, Results results) { - try { - credHubTemplate.deletePermission(name, Actor.app(APP_GUID_1)); - saveResults(results, "Successfully deleted permission"); - } catch (Exception e) { - saveResults(results, "Error deleting permission: ", e.getMessage()); } } private void interpolateServiceData(CredentialName name, Results results) { try { ServicesData request = buildServicesData(name.getName()); - ServicesData interpolatedServiceData = credHubTemplate.interpolateServiceData(request); + ServicesData interpolatedServiceData = interpolationOperations.interpolateServiceData(request); saveResults(results, "Successfully interpolated service data: ", interpolatedServiceData); } catch (Exception e) { saveResults(results, "Error interpolating service data: ", e.getMessage()); @@ -194,7 +184,7 @@ public class CredHubDemoController { private void deleteCredentials(CredentialName name, Results results) { try { - credHubTemplate.deleteByName(name); + credentialOperations.deleteByName(name); saveResults(results, "Successfully deleted credentials"); } catch (Exception e) { saveResults(results, "Error deleting credentials by name: ", e.getMessage()); diff --git a/spring-credhub-demo/src/main/resources/application.yml b/spring-credhub-demo/src/main/resources/application.yml new file mode 100644 index 0000000..7ea719a --- /dev/null +++ b/spring-credhub-demo/src/main/resources/application.yml @@ -0,0 +1,5 @@ +management: + endpoints: + web: + exposure: + include: "*"