Overview of the projects
WildFly Elytron
WildFly Elytron is the main project that contains the security APIs, SPIs, and implementations of various components that are used across the WildFly application server. Although Elytron was developed for WildFly, it is possible to use Elytron outside of WildFly. For an introduction to Elytron, take a look at this presentation which also includes a few demos.
WildFly Core
This is the core of the WildFly application server and the initial place where we integrate Elytron with WildFly.
WildFly
This is the main application server project. Integration related to Elytron can also be found here.
WildFly Proposals
When working on new Elytron features, we prepare analysis documents and submit a PR against the WildFly Proposals repository.
Blog posts
A great way to learn more about Elytron is to take a look at our blog posts on various Elytron features.
Documentation
Quickstarts
We have some quickstart applications that users can easily deploy to WildFly. Any of the following Elytron-related quickstarts should be good to try out:
- ejb-security
- ejb-security-context-propagation
- ejb-security-programmatic-auth
- http-custom-mechanism
- helloworld-ssl
- helloworld-mutual-ssl-secured
- jaxrs-jwt
- servlet-security
- ee-security
- security-domain-to-domain
Elytron examples
Some additional examples that demonstrate Elytron features can be found here.
Elytron JavaDoc
User forums
Questions on Elytron are always welcome in WildFly's users forums.
Getting your developer environment set up
You will need:
- JDK 11
- Git
- Maven 3.3.9 or later
- An IDE (e.g., Intellij, Eclipse, etc.)
Fork wildfly-elytron, wildfly-core, and wildfly to your GitHub account and clone your newly forked repositories into your local workspace. Then, for each repository, add a remote ref to upstream, for pulling future updates. For example:
git remote add upstream https://github.com/wildfly-security/wildfly-elytron
To build wildfly-elytron, wildfly-core, or wildfly, cd to the appropriate directory and then run:
mvn clean install
To skip the tests, use:
mvn clean install -DskipTests=true
To only run one test, use:
mvn clean install -Dtest=TestClassName
If you have made a change in Elytron and need to test out the change in WildFly, the following steps can be used to build a version of WildFly that incorporates your Elytron changes:
- Build wildfly-elytron
- Update the version.org.wildfly.security.elytron property in the wildfly-core/pom.xml file to reference your locally built wildfly-elytron SNAPSHOT version
- Build wildfly-core
- Update the version.org.wildfly.core property in the wildfly/pom.xml file to reference your locally built wildfly-core SNAPSHOT version
- Build wildfly
Running the test suites
Before submitting a PR, it is important to make sure appropriate test suites pass with your changes:
For wildfly-elytron, all tests will be run when executing ‘mvn clean install’.
For both wildfly-core and wildfly, the following command can be used to run the full test suite:
mvn clean install -DallTests -fae > alltests.txt
Comments