Commit Graph

942 Commits (aeb0f0a6251a741cf63304e86eca0460a348e40f)
 

Author SHA1 Message Date
Dave Syer aeb0f0a625 Add random.* property source 11 years ago
Dave Syer 94c5203de6 Add more smarts to properties binding
* Underscores are allowed as nested property field separators
* System and env vars are only considered for binding if they
look like they apply to a given bean when ignoreUnknownFields
is false
11 years ago
Christian Dupuis 04b7b9b2ca Rework handling of default shell authentication method in the absence of Spring Security
In case Spring Security is missing from the class path, shell auto configuration will now fall back gracefully to simple authentication and emit warning to the console.

fixes #114
11 years ago
Christian Dupuis d828f13a09 Fix exec-maven-plugin configuration issue
fixes #133
11 years ago
Christian Dupuis e06596ada8 Merge pull request #132 from nitram509/fix-exception-msg-typos
fixed typos in Exception messages
11 years ago
Dave Syer 98ae4ed928 Add ignoreNestedFields option to @ConfigurationProperties
@ConfigurationProperties(ignoreUnkownFields=false,ignoreNestedFields=true)
is now a useful option for binding to "top-level" command line options
(without a prefix). In that case we don't try to bind to `server.*` and
other common prefixed property values (at the cost of not being able to
bind to nested beans).
11 years ago
Dave Syer d8033189d0 Disable javdoc until it can be fixed 11 years ago
nitram509 cbc9c6a156 fixed 3 x typos in Exception messages 11 years ago
Dave Syer 8efa2fc569 Use server.port=0 for scanning
This leverages existing capabilities of teh JDK and the OS
to grab a port at random and not have it stolen by another
process. It's very hard to avoid that race condition in
pure Java code, so why bother?

User can set port<0 to disable autoStart of connectors (e.g.
to start a web application context but not have it listen on
any port). In that case the actual socket port will be set to
0 (and therefore if it ever starts up the local port will
be random).
11 years ago
Dave Syer 59f07d37ab Scan for port near default 11 years ago
Christian Dupuis e69e190ae9 Close application context in test 11 years ago
Christian Dupuis 1b49605749 Make shell username and password configuration properties consistent with general security properties
Now simple authentication for the crsh shell can we configured using shell.auth.simple.user.name and shell.auth.simple.user.password. This is consistent with security.user.name and security.user.password.

fixes #113
11 years ago
Christian Dupuis 86334403ed Add Jolokia to spring-boot-dependencies 11 years ago
Christian Dupuis 2d058570ca Add auto configure support for Jolokia a JMX-HTTP bridge 11 years ago
Christian Dupuis b14c607d36 Add missing tests 11 years ago
Christian Dupuis 405c9d5593 Allow management endpoints to express what http methods they support
Previously a management endpoint was either GET or POST. That requirement seems limited.
11 years ago
Christian Dupuis 845aeecbad Properly close application context in tests 11 years ago
Christian Dupuis cd89691726 Pin order to of crsh auto configuration to happen after any security related configuration
If crsh auto configuration happens too early a AuthenticationManager contributed by SecurityAutoConfiguration will not be detected
11 years ago
Dave Syer 61dd7d1dbb Add port scan to ServerProperties (server.scan=true)
Also moved ServerProperties to autoconfigure project.
11 years ago
Dave Syer d6593fbee6 Add extra test for partial overrides 11 years ago
Dave Syer bd26b28aa5 Extract actuator security into separate classes
So spring-security + a web app is secure by default
(you don't need the actuator).
11 years ago
Dave Syer 285dd5b270 ApplicationContextInitializers now listen for ContextRefreshedEvent
The AutoConfigurationReportLoggingInitializer wasn't working in
non-GenericApplicationContext becasue teh BeanFatcory wasn't available
for registering its listener during initialization. Instead of
relying on that rather fragile state I decided to give any
ApplicationContextInitializer that was itself an ApplicationListener
an explicit callback with a ContextRefreshedEvent, and move that
interface up a level in the logging initializer. Works much better.
11 years ago
Christian Dupuis f3a225f35f Polish and rework default authentication method if a Spring Security AuthenticationManager is available
In case a Spring Security AuthenticationManager is found in the app context the auto configuration will change default shell authentication method to auth against Spring Security. In addition shell access will get protected by the specific role configured in SecurityProperties.Management.

Certainly this can be overridden by providing shell.auth and shell.auth.spring.roles.
11 years ago
Christian Dupuis 43c0c932e6 Ensure telnet connector gets installed if available on the class path 11 years ago
Christian Dupuis 95e68bf1a2 Prepare actuator sample to show how to use the telnet connector 11 years ago
Dave Syer 8127695240 Add META-INF/spring.provides to starters 11 years ago
Dave Syer 40b787c71a Add test for allowed/disallowed fields 11 years ago
Dave Syer 63f8b63f7e Upgrade Tomcat to 7.0.47 11 years ago
Dave Syer c0bcb5e8e9 Add layout=NONE to packaging tools 11 years ago
Dave Syer 06c16ae452 Only check for singleton in AutoConfigurationReportLoggingInitializer
Using containsBean() involves looking in the parent bean factory
if there is one, and that would mean that the same report woykd be used
for multiple contexts, which wouldn't make sense.
11 years ago
Dave Syer faf02a21ab Prevent @Bean method from being called during @PreDestroy 11 years ago
Dave Syer 6d4d495003 Tweak ApplicationContext ID
VCAP environemt applied consistently, and more tests.

[Fixes #60750138] [bs-351] Add API for application context id
11 years ago
Dave Syer 89332e230e Speed up grab command test
The autoconfiguration transformations (and loads of grabs
of spring-boot snapshots) were making the grab command
tests run really slowly. Snapshots are particularly bad.

Fixed by adding a --autoconfigure=false option to the
compiler configuration and using it in that test.
11 years ago
Dave Syer fce48c00c7 Really fix it 11 years ago
Dave Syer 71cd1926b9 Fix test on command line 11 years ago
Dave Syer a7368fcd33 Move grab-sample to resources dir 11 years ago
Dave Syer 439f041354 Remove test resources from tests JAR 11 years ago
Andy Wilkinson 820f43d3bc Add grab command to collect script's dependencies
Previously, run --local could be used to collect a script's
dependencies in ./repository. However, with this mechanism it wasn't
possible to collect the dependencies without running the application.

This commit adds a new command, grab, that can be used to collect
a script's dependencies in ./repository without having to run it.
run is configured with ./repository as a location in which it can find
its dependencies so that the previously collected dependencies
can be used when subsequently running the app.

As part of this work RunCommand and TestCommand have been refactored
to use common code for their common options:

	--no-guess-imports
	--no-guess-dependencies
	--classpath

Previously, the declaration and handling of the options was duplicated
in the two classes. GrabCommand also has these three options and uses
the same common code.
11 years ago
nitram509 c50fe0733b TomcatEmbeddedServletContainer now fails fast, if there are exceptions during protocol handler startup (re-throw exception) 11 years ago
Dave Syer 371fa489ee Add missing starters to parent pom
Fixes gh-122
11 years ago
Dave Syer 156ef3f1a0 Weird build problem? 11 years ago
Dave Syer ded9020916 Allow Batch datbase initializer to be disabled 11 years ago
Dave Syer caffc28b4c Add test for initializers when child context created 11 years ago
Dave Syer 60f3dd9386 Be defensive about adding autoconfig report bean 11 years ago
Christian Dupuis 2e926601f2 Polish 11 years ago
Christian Dupuis dba8c01035 Polish 11 years ago
Christian Dupuis ec6a488a95 Upgrade to crash-1.3.0-beta11 11 years ago
Christian Dupuis e16e23230c Clarify default authentication settings for shell access 11 years ago
Christian Dupuis 41cbbeba79 Re-Introduce authentication specific properties 11 years ago
Christian Dupuis e009d3e47d Polish
Fixed inconsistency in method naming after last polish. Method and class name should use 'crsh' instead of 'crash' to be aligned with CRaSH code base.

Implemented facility to provide custom shell properties by adding beans of type CrshShellProperties to the ApplicationContext.
11 years ago