File tree Expand file tree Collapse file tree 11 files changed +47
-21
lines changed
main/java/io/armory/plugin/observability
test/java/io/armory/plugin/observability/prometheus Expand file tree Collapse file tree 11 files changed +47
-21
lines changed Original file line number Diff line number Diff line change 6
6
7
7
.idea
8
8
.vscode
9
+ * .ipr
10
+ * .iws
Original file line number Diff line number Diff line change @@ -2,6 +2,7 @@ plugins {
2
2
id(" com.palantir.git-version" ). version(" 0.12.2" )
3
3
id(" io.spinnaker.plugin.bundler" ). version(" $spinnakerGradleVersion " )
4
4
id " com.github.kt3k.coveralls" version " 2.9.0"
5
+ id ' idea'
5
6
}
6
7
7
8
spinnakerBundle {
Original file line number Diff line number Diff line change 18
18
19
19
import com .netflix .spinnaker .kork .plugins .api .spring .PrivilegedSpringPlugin ;
20
20
import io .armory .plugin .observability .model .PluginConfig ;
21
+ import io .armory .plugin .observability .model .SecurityConfig ;
21
22
import io .armory .plugin .observability .newrelic .NewRelicRegistrySupplier ;
22
- import io .armory .plugin .observability .promethus .PrometheusRegistrySupplier ;
23
- import io .armory .plugin .observability .promethus .PrometheusScrapeEndpoint ;
23
+ import io .armory .plugin .observability .prometheus .PrometheusRegistrySupplier ;
24
+ import io .armory .plugin .observability .prometheus .PrometheusScrapeEndpoint ;
24
25
import io .armory .plugin .observability .registry .AddDefaultTagsRegistryCustomizer ;
25
26
import io .armory .plugin .observability .registry .AddFiltersRegistryCustomizer ;
26
27
import io .armory .plugin .observability .registry .ArmoryObservabilityCompositeRegistry ;
@@ -49,6 +50,7 @@ public void registerBeanDefinitions(BeanDefinitionRegistry registry) {
49
50
registerBean (beanDefinitionFor (AddDefaultTagsRegistryCustomizer .class ), registry );
50
51
registerBean (beanDefinitionFor (MeterFilterService .class ), registry );
51
52
registerBean (beanDefinitionFor (AddFiltersRegistryCustomizer .class ), registry );
53
+ registerBean (beanDefinitionFor (SecurityConfig .class ), registry );
52
54
53
55
// Prometheus Beans
54
56
registerBean (beanDefinitionFor (CollectorRegistry .class ), registry );
Original file line number Diff line number Diff line change 17
17
package io .armory .plugin .observability .model ;
18
18
19
19
import lombok .Data ;
20
- import org .springframework .boot .actuate .autoconfigure .security .servlet .EndpointRequest ;
21
20
import org .springframework .boot .context .properties .ConfigurationProperties ;
22
21
import org .springframework .context .annotation .Configuration ;
23
- import org .springframework .security .config .annotation .web .builders .HttpSecurity ;
24
- import org .springframework .security .config .annotation .web .configuration .WebSecurityConfigurerAdapter ;
25
22
26
23
@ Data
27
24
@ Configuration
28
25
@ ConfigurationProperties ("spinnaker.extensibility.plugins.armory.observability-plugin.config" )
29
- public class PluginConfig extends WebSecurityConfigurerAdapter {
26
+ public class PluginConfig {
30
27
PluginMetricsConfig metrics = new PluginMetricsConfig ();
31
-
32
- @ Override
33
- protected void configure (HttpSecurity http ) throws Exception {
34
- if (metrics .getPrometheus ().isEnabled ()) {
35
- http .requestMatcher (EndpointRequest .to ("aop-prometheus" )).authorizeRequests ((requests ) ->
36
- requests .anyRequest ().permitAll ());
37
- }
38
- }
39
-
40
28
}
Original file line number Diff line number Diff line change
1
+ package io .armory .plugin .observability .model ;
2
+
3
+ import org .springframework .boot .actuate .autoconfigure .security .servlet .EndpointRequest ;
4
+ import org .springframework .context .annotation .Configuration ;
5
+ import org .springframework .core .Ordered ;
6
+ import org .springframework .core .annotation .Order ;
7
+ import org .springframework .security .config .annotation .web .builders .HttpSecurity ;
8
+ import org .springframework .security .config .annotation .web .configuration .EnableWebSecurity ;
9
+ import org .springframework .security .config .annotation .web .configuration .WebSecurityConfigurerAdapter ;
10
+
11
+ //To avoid collision with other WebSecurityConfigurerAdapters
12
+ @ Order (Ordered .HIGHEST_PRECEDENCE + 27 )
13
+ @ Configuration
14
+ @ EnableWebSecurity
15
+ public class SecurityConfig extends WebSecurityConfigurerAdapter {
16
+
17
+ private final PluginConfig pluginConfig ;
18
+
19
+ public SecurityConfig (PluginConfig pluginConfig ) {
20
+ this .pluginConfig = pluginConfig ;
21
+ }
22
+
23
+ @ Override
24
+ protected void configure (HttpSecurity http ) throws Exception {
25
+ if (pluginConfig .getMetrics ().getPrometheus ().isEnabled ()) {
26
+ http .requestMatcher (EndpointRequest .to ("aop-prometheus" )).authorizeRequests ((requests ) ->
27
+ requests .anyRequest ().permitAll ());
28
+ } else {
29
+ http .requestMatcher (EndpointRequest .to ("aop-prometheus" )).authorizeRequests ((requests ) ->
30
+ requests .anyRequest ().denyAll ());
31
+ }
32
+ }
33
+ }
Original file line number Diff line number Diff line change 14
14
* limitations under the License.
15
15
*/
16
16
17
- package io .armory .plugin .observability .promethus ;
17
+ package io .armory .plugin .observability .prometheus ;
18
18
19
19
import io .armory .plugin .observability .model .PluginMetricsPrometheusConfig ;
20
20
import io .micrometer .prometheus .PrometheusConfig ;
Original file line number Diff line number Diff line change 14
14
* limitations under the License.
15
15
*/
16
16
17
- package io .armory .plugin .observability .promethus ;
17
+ package io .armory .plugin .observability .prometheus ;
18
18
19
19
import io .armory .plugin .observability .model .PluginConfig ;
20
20
import io .armory .plugin .observability .model .PluginMetricsPrometheusConfig ;
Original file line number Diff line number Diff line change 14
14
* limitations under the License.
15
15
*/
16
16
17
- package io .armory .plugin .observability .promethus ;
17
+ package io .armory .plugin .observability .prometheus ;
18
18
19
19
import io .prometheus .client .Collector ;
20
20
import io .prometheus .client .CollectorRegistry ;
Original file line number Diff line number Diff line change 20
20
import static org .junit .Assert .assertNull ;
21
21
22
22
import io .armory .plugin .observability .model .PluginMetricsPrometheusConfig ;
23
- import io .armory .plugin .observability .promethus .PrometheusRegistryConfig ;
23
+ import io .armory .plugin .observability .prometheus .PrometheusRegistryConfig ;
24
24
import java .time .Duration ;
25
25
import org .junit .Before ;
26
26
import org .junit .Test ;
Original file line number Diff line number Diff line change 23
23
import io .armory .plugin .observability .model .PluginConfig ;
24
24
import io .armory .plugin .observability .model .PluginMetricsConfig ;
25
25
import io .armory .plugin .observability .model .PluginMetricsPrometheusConfig ;
26
- import io .armory .plugin .observability .promethus .PrometheusRegistrySupplier ;
26
+ import io .armory .plugin .observability .prometheus .PrometheusRegistrySupplier ;
27
27
import io .micrometer .core .instrument .Clock ;
28
28
import io .prometheus .client .CollectorRegistry ;
29
29
import org .junit .Before ;
You can’t perform that action at this time.
0 commit comments