{"id":25776037,"url":"https://github.com/coherence-community/oracle-bedrock","last_synced_at":"2026-04-14T12:07:24.801Z","repository":{"id":4944506,"uuid":"6101685","full_name":"coherence-community/oracle-bedrock","owner":"coherence-community","description":"Oracle Bedrock","archived":false,"fork":false,"pushed_at":"2025-08-11T15:16:00.000Z","size":9100,"stargazers_count":55,"open_issues_count":38,"forks_count":31,"subscribers_count":20,"default_branch":"main","last_synced_at":"2026-03-05T01:59:20.759Z","etag":null,"topics":["java","oracle-bedrock","orchestration"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/coherence-community.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2012-10-06T10:10:24.000Z","updated_at":"2026-01-01T23:51:35.000Z","dependencies_parsed_at":"2025-08-10T11:22:23.390Z","dependency_job_id":"0bc4a218-c25c-494d-ad85-91c1be397d65","html_url":"https://github.com/coherence-community/oracle-bedrock","commit_stats":null,"previous_names":["coherence-community/oracle-tools"],"tags_count":73,"template":false,"template_full_name":null,"purl":"pkg:github/coherence-community/oracle-bedrock","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coherence-community%2Foracle-bedrock","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coherence-community%2Foracle-bedrock/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coherence-community%2Foracle-bedrock/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coherence-community%2Foracle-bedrock/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/coherence-community","download_url":"https://codeload.github.com/coherence-community/oracle-bedrock/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coherence-community%2Foracle-bedrock/sbom","scorecard":{"id":298873,"data":{"date":"2025-08-11","repo":{"name":"github.com/coherence-community/oracle-bedrock","commit":"b95419ac5d86b99086369a5d45041c90d2f73e38"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.5,"checks":[{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/build-win.yaml:1","Warn: no topLevel permission defined: .github/workflows/build.yaml:1","Warn: no topLevel permission defined: .github/workflows/dependencies.yaml:1","Warn: no topLevel permission defined: .github/workflows/deploy-snapshots.yaml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"23 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-win.yaml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/coherence-community/oracle-bedrock/build-win.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-win.yaml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/coherence-community/oracle-bedrock/build-win.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-win.yaml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/coherence-community/oracle-bedrock/build-win.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yaml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/coherence-community/oracle-bedrock/build.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yaml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/coherence-community/oracle-bedrock/build.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yaml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/coherence-community/oracle-bedrock/build.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/dependencies.yaml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/coherence-community/oracle-bedrock/dependencies.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/dependencies.yaml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/coherence-community/oracle-bedrock/dependencies.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/dependencies.yaml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/coherence-community/oracle-bedrock/dependencies.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/dependencies.yaml:46: update your workflow using https://app.stepsecurity.io/secureworkflow/coherence-community/oracle-bedrock/dependencies.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/deploy-snapshots.yaml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/coherence-community/oracle-bedrock/deploy-snapshots.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/deploy-snapshots.yaml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/coherence-community/oracle-bedrock/deploy-snapshots.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/deploy-snapshots.yaml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/coherence-community/oracle-bedrock/deploy-snapshots.yaml/main?enable=pin","Info:   0 out of  10 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   3 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE.md:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: all commits (1) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-17T20:11:53.702Z","repository_id":4944506,"created_at":"2025-08-17T20:11:53.702Z","updated_at":"2025-08-17T20:11:53.702Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31795427,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T11:13:53.975Z","status":"ssl_error","status_checked_at":"2026-04-14T11:13:53.299Z","response_time":153,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","oracle-bedrock","orchestration"],"created_at":"2025-02-27T06:01:16.669Z","updated_at":"2026-04-14T12:07:24.766Z","avatar_url":"https://github.com/coherence-community.png","language":"Java","funding_links":[],"categories":["微服务工具"],"sub_categories":[],"readme":"Oracle Bedrock\n==============\n\nOracle Bedrock provides a general purpose Java framework for the development, orchestration and testing of highly concurrent distributed applications.\n\nIt's often used for orchestrating and testing multi-server, multi-process distributed applications, meaning it's\nespecially useful for working with Coherence-based applications.  However it can be used for any type of application or server, Java or not.\n\nOracle Bedrock provides extremely uniform mechanisms to start/stop and manage applications and processes on a variety of platforms, including;\n\n* Local Platforms\n* Remote Platforms (via ssh, powershell et al)\n* Virtualized Platforms (via Vagrant), including machine / platform orchestration (VirtualBox, VMWare etc)\n* Containerized Platforms (via Docker), including image management\n* Java Virtual Machines (aka: in-process applications)\n\nWhich means it can orchestrate launching applications/servers in any environment, locally, on-premise, across data-centers or in one or more clouds.\n\nFor example:  To Launch a \"HelloWorld\" Java Application on the current classpath on the LocalPlatform, use the following:\n\n```\n    LocalPlatform platform = LocalPlatform.get();\n\n    try (JavaApplication application = platform.launch(JavaApplication.class,\n                                                       ClassName.of(HelloWorld.class))) {\n\n        // potentially do something with the application ...\n\n        // wait until it finishes execution\n        application.waitFor();\n    }\n```\n\nTo launch this application on another platform, simply change the platform.   The rest of the code remains the same.\n\n```\n    // launch using a RemotePlatform\n    RemotePlatform platform = new RemotePlatform(address, username, authentication);\n\n    // ... or launch inside the running JavaVirtualMachine Platform (ie: in-process)\n    JavaVirtualMachine platform = JavaVirtualMachine.get();\n```\n\nFor Java-based applications, Oracle Bedrock uniquely provides support for:\n\n* Packaging and automatically deploying applications (based on a ClassPath or Maven Dependency POM)\n* Dynamically interacting with applications at runtime, without requiring technologies like RMI, including the ability to dynamically execute lambdas / remote callables / runnables through an ExecutorService like interface.\n\n```\n    // execute the lambda in the java application, where ever it is running!\n    application.submit(() -\u003e { System.out.println(\"Hello World\");});\n\n    // request a lambda to execute (in the java application) and return a result (as a CompleteableFuture)\n    CompletableFuture\u003cString\u003e property = application.submit(() -\u003e System.getProperty(\"os.name\"));\n```\n\nLastly, Oracle Bedrock provides a powerful extension to testing tools, allow developers to Eventually assert that\nconditions in concurrent data-structures and distributed applications are reached.\n\n```\n   // ensure that the application internal state reaches some condition\n   Eventually.assertThat(application, () -\u003e { someFunction() }, is(someValue));\n```\n\n## Contributing\nOracle Bedrock is an open source project. Pull Requests are accepted. See\n[CONTRIBUTING](CONTRIBUTING.md) for details.\n\n## License\nCopyright (c) 2010, 2019 Oracle and/or its affiliates.  Licensed under the [Common Development and\nDistribution License v1.0](LICENSE.md) (\"CDDL\")\n\n## Building\n\nBedrock is a Maven project and can be built with standard Maven commands.\n\n### Prerequisites\n\n1. The Coherence modules have a dependency on four versions of Coherence. The exact versions can be found in the `coherence.version` property in `pom.xml` files\n \n    [bedrock-coherence/3.7.1/pom.xml](./bedrock-coherence/3.7.1/pom.xml)  \n    [bedrock-coherence/12.1.2/pom.xml](./bedrock-coherence/12.1.2/pom.xml)  \n    [bedrock-coherence/12.1.3/pom.xml](./bedrock-coherence/12.1.3/pom.xml)  \n    [bedrock-coherence/12.2.1/pom.xml](./bedrock-coherence/12.2.1/pom.xml)  \n    \n    As Coherence is not available in public Maven repos the `coherence.jar` files for each of those versions needs to be loaded to your own local or remote Maven repository under the groupId `com.oracle.coherence` and artifactId `coherence`.\n\n2. There are a number of tests in the `bedrock-runtime-remote-tests` module that will attempt to SSH into your local machine using private/public key pair. For this to work you need a key pair configured.\n\n    1. By default the private key file is called `127.0.0.1_dsa` and corresponding public key `127.0.0.1_dsa.pub`. You can run the build with a system property to change this to any valid key that you already have configured for ssh'ing into your machine: For example to use `id_rsa` then add `-Dbedrock.remote.privatekey.file=~/.ssh/id_rsa` to the Maven command line.\n    \n    2. Alternatively you may need to generate a new key pair using `ssh-keygen`. **NOTE** ensure that they type of key-pair generated is a valid type to SSH into your machine. For example on MacOS an RSA key pair will be fine, a DSA key pair may not, so even though the default file name used in tests has the suffix `_dsa` it can contain any type of key.\n    \n        ```\n        ssh-keygen -t rsa -f 127.0.0.1_dsa\n        ```   \n  \n        **Do not** set a passphrase for the keys. \n        \n    3. Add the public key to your `~/.ssh/authorized_keys` file:\n    \n        ```\n        cat ~/.ssh/127.0.0.1_dsa.pub \u003e\u003e ~/.ssh/authorized_keys\n        ```   \n    \n    4. Restart your SSH daemon to pick up the change to the `~/.ssh/authorized_keys` file. On MacOS run\n        ```\n        sudo launchctl stop com.openssh.sshd\n        sudo launchctl start com.openssh.sshd\n        ```\n\n    5. Test that you can ssh into your own machine with the new key\n        ```\n        ssh -i ~/.ssh/foo_rsa \u003cyour-user-name\u003e@127.0.0.1\n        ```\n    \n:warning: **WARNING**\nAny keys used for testing and building should be used with care.\nIf the private key is disclosed, any observer will be able to log into the user's machine.\nUsers should delete the key from authorized_keys as soon as the tests are complete.\n\n### Run the build\nTo run a full build:\n```\nmvn clean install\n```\nTo run a full build without tests:\n```\nmvn clean install -DskipTests\n```\n    \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoherence-community%2Foracle-bedrock","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcoherence-community%2Foracle-bedrock","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoherence-community%2Foracle-bedrock/lists"}