1
- import com.bettercloud.vault.VaultConfig
2
- import com.bettercloud.vault.Vault
3
-
4
- initscript {
5
- repositories {
6
- mavenCentral()
7
- }
8
- dependencies {
9
- classpath ' com.bettercloud:vault-java-driver:4.1.0'
10
- }
11
- }
12
-
13
- boolean USE_ARTIFACTORY = false
14
-
15
- if (System . getenv(' VAULT_ADDR' ) == null ) {
16
- // When trying to reproduce errors outside of CI, it can be useful to allow this to just return rather than blowing up
17
- if (System . getenv(' CI' ) == null ) {
18
- return
19
- }
20
-
21
- throw new GradleException (" You must set the VAULT_ADDR environment variable to use this init script." )
22
- }
23
-
24
- if (System . getenv(' VAULT_ROLE_ID' ) == null && System . getenv(' VAULT_SECRET_ID' ) == null && System . getenv(' VAULT_TOKEN' ) == null ) {
25
- // When trying to reproduce errors outside of CI, it can be useful to allow this to just return rather than blowing up
26
- if (System . getenv(' CI' ) == null ) {
27
- return
28
- }
29
-
30
- throw new GradleException (" You must set either the VAULT_ROLE_ID and VAULT_SECRET_ID environment variables, " +
31
- " or the VAULT_TOKEN environment variable to use this init script." )
32
- }
33
-
34
- final String vaultPathPrefix = System . getenv(' VAULT_ADDR' ) ==~ / .+vault-ci.+\. dev.*/ ? " secret/ci/elastic-elasticsearch/migrated" : " secret/elasticsearch-ci"
35
-
36
- final String vaultToken = System . getenv(' VAULT_TOKEN' ) ?: new Vault (
37
- new VaultConfig ()
38
- .address(System . env. VAULT_ADDR )
39
- .engineVersion(1 )
40
- .build()
41
- )
42
- .withRetries(5 , 1000 )
43
- .auth()
44
- .loginByAppRole(" approle" , System . env. VAULT_ROLE_ID , System . env. VAULT_SECRET_ID )
45
- .getAuthClientToken()
46
-
47
- final Vault vault = new Vault (
48
- new VaultConfig ()
49
- .address(System . env. VAULT_ADDR )
50
- .engineVersion(1 )
51
- .token(vaultToken)
52
- .build()
53
- )
54
- .withRetries(5 , 1000 )
55
-
56
-
57
- if (USE_ARTIFACTORY ) {
58
- final Map<String , String > artifactoryCredentials = vault. logical()
59
- .read(" ${ vaultPathPrefix} /artifactory.elstc.co" )
60
- .getData()
61
- logger. info(" Using elastic artifactory repos" )
62
- Closure configCache = {
63
- return {
64
- name " artifactory-gradle-release"
65
- url " https://artifactory.elstc.co/artifactory/gradle-release"
66
- credentials {
67
- username artifactoryCredentials. get(" username" )
68
- password artifactoryCredentials. get(" token" )
69
- }
70
- }
71
- }
72
- settingsEvaluated { settings ->
73
- settings. pluginManagement {
74
- repositories {
75
- maven configCache()
76
- }
77
- }
78
- }
79
- projectsLoaded {
80
- allprojects {
81
- buildscript {
82
- repositories {
83
- maven configCache()
84
- }
85
- }
86
- repositories {
87
- maven configCache()
88
- }
89
- }
90
- }
91
- }
1
+ final String buildCacheUrl = System . getProperty(' org.elasticsearch.build.cache.url' )
2
+ final boolean buildCachePush = Boolean . valueOf(System . getProperty(' org.elasticsearch.build.cache.push' , ' false' ))
92
3
93
4
gradle. settingsEvaluated { settings ->
94
5
settings. pluginManager. withPlugin(" com.gradle.develocity" ) {
95
6
settings. develocity {
96
- server = ' https://gradle-enterprise.elastic.co'
7
+ server = " https://gradle-enterprise.elastic.co"
97
8
}
98
- }
99
- }
100
-
101
-
102
- final String buildCacheUrl = System . getProperty(' org.elasticsearch.build.cache.url' )
103
- final boolean buildCachePush = Boolean . valueOf(System . getProperty(' org.elasticsearch.build.cache.push' , ' false' ))
104
-
105
- if (buildCacheUrl) {
106
- final Map<String , String > buildCacheCredentials = System . getenv(" GRADLE_BUILD_CACHE_USERNAME" ) ? [:] : vault. logical()
107
- .read(" ${ vaultPathPrefix} /gradle-build-cache" )
108
- .getData()
109
- gradle. settingsEvaluated { settings ->
110
- settings. buildCache {
111
- local {
112
- // Disable the local build cache in CI since we use ephemeral workers and it incurs an IO penalty
113
- enabled = false
114
- }
115
- remote(HttpBuildCache ) {
116
- url = buildCacheUrl
117
- push = buildCachePush
118
- credentials {
119
- username = System . getenv(" GRADLE_BUILD_CACHE_USERNAME" ) ?: buildCacheCredentials. get(" username" )
120
- password = System . getenv(" GRADLE_BUILD_CACHE_PASSWORD" ) ?: buildCacheCredentials. get(" password" )
9
+ if (buildCacheUrl) {
10
+ settings. buildCache {
11
+ local {
12
+ // Disable the local build cache in CI since we use ephemeral workers and it incurs an IO penalty
13
+ enabled = false
14
+ }
15
+ remote(settings. develocity. buildCache) {
16
+ enabled = true
17
+ push = buildCachePush
121
18
}
122
19
}
123
20
}
124
21
}
125
- }
126
-
22
+ }
0 commit comments