|
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 | 22 | }
|
126 |
| - |
0 commit comments