@@ -72,6 +72,13 @@ filed named `.gitkeep`. Finally, create individual locks by making an empty file
72
72
retrying to acquire a lock or release a lock. The default is 10 seconds.
73
73
Valid values: `60s`, `90m`, `1h`.
74
74
75
+ * `https_tunnel`: *Optional.* Information about an HTTPS proxy that will be used to tunnel SSH-based git commands over.
76
+ Has the following sub-properties:
77
+ * `proxy_host`: *Required.* The host name or IP of the proxy server
78
+ * `proxy_port`: *Required.* The proxy server's listening port
79
+ * `proxy_user`: *Optional.* If the proxy requires authentication, use this username
80
+ * `proxy_password`: *Optional.* If the proxy requires authentication, use this password
81
+
75
82
### Example
76
83
77
84
Fetching a repo with only 100 commits of history:
@@ -234,6 +241,29 @@ example:
234
241
params: {release: specific-aws-env}
235
242
```
236
243
244
+ ### Configuring resource to proxy SSH commands through an HTTP proxy
245
+
246
+ ```
247
+ resources:
248
+ - name: aws-environments
249
+ type: pool
250
+ source:
251
+ uri: [email protected] :concourse/locks.git
252
+ branch: master
253
+ pool: aws
254
+ private_key: |
255
+ -----BEGIN RSA PRIVATE KEY-----
256
+ MIIEowIBAAKCAQEAtCS10/f7W7lkQaSgD/mVeaSOvSF9ql4hf/zfMwfVGgHWjj+W
257
+ <Lots more text>
258
+ DWiJL+OFeg9kawcUL6hQ8JeXPhlImG6RTUffma9+iGQyyBMCGd1l
259
+ -----END RSA PRIVATE KEY-----
260
+ https_tunnel:
261
+ proxy_host: proxy-server.mycorp.com
262
+ proxy_port: 3128
263
+ proxy_user: myuser
264
+ proxy_password: myverysecurepassword
265
+ ```
266
+
237
267
## Development
238
268
239
269
### Prerequisites
@@ -258,6 +288,29 @@ docker build -t pool-resource --target tests -f dockerfiles/alpine/Dockerfile .
258
288
docker build -t pool-resource --target tests -f dockerfiles/ubuntu/Dockerfile .
259
289
```
260
290
291
+ #### Note about the integration tests
292
+
293
+ If you want to run the integration tests, a bit more work is required. You will require
294
+ an actual git repo to which you can push and pull, configured for SSH access. To do this,
295
+ add two files to ` integration-tests/ssh ` (note that names ** are** important):
296
+ * ` test_key ` : This is the private key used to authenticate against your repo.
297
+ * ` test_repo ` : This file contains one line of the form ` test_repo_url[#test_branch] ` .
298
+ If the branch is not specified, it defaults to ` main ` . For example,
299
+ ` [email protected] :concourse-git-tester/git-resource-integration-tests.git` or
300
+ ` [email protected] :concourse-git-tester/git-resource-integration-tests.git#testing`
301
+
302
+ To set up or reset the contents of the repo, use the ` integration-tests/ssh/init-repo.sh ` script.
303
+ The script clones the configured repository, (re-)creates the relevant directories,
304
+ commits and pushes the changes. If you'd rather execute the commands yourself, view the script
305
+ contents to understand the directory structure expected by the integration tests.
306
+
307
+ Then run the tests for both ` alpine ` and ` ubuntu ` images:
308
+
309
+ ``` sh
310
+ docker build -t pool-resource --target integrationtests -f dockerfiles/alpine/Dockerfile .
311
+ docker build -t pool-resource --build-arg base_image=concourse/golang-builder --target integrationtests -f dockerfiles/ubuntu/Dockerfile .
312
+ ```
313
+
261
314
### Contributing
262
315
263
316
Please make all pull requests to the ` master ` branch and ensure tests pass
0 commit comments