kubeclient 4.0.0 → 4.1.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of kubeclient might be problematic. Click here for more details.
- checksums.yaml +5 -5
- data/CHANGELOG.md +11 -1
- data/README.md +18 -0
- data/RELEASING.md +40 -40
- data/lib/kubeclient/common.rb +57 -22
- data/lib/kubeclient/entity_list.rb +7 -2
- data/lib/kubeclient/version.rb +1 -1
- data/test/config/allinone.kubeconfig +3 -3
- data/test/config/external-ca.pem +14 -14
- data/test/config/external-cert.pem +17 -17
- data/test/config/external-key.rsa +25 -25
- data/test/json/config.istio.io_api_resource_list.json +679 -0
- data/test/json/created_security_context_constraint.json +65 -0
- data/test/json/pods_1.json +265 -0
- data/test/json/pods_2.json +102 -0
- data/test/json/pods_410.json +9 -0
- data/test/json/security.openshift.io_api_resource_list.json +69 -0
- data/test/json/security_context_constraint_list.json +375 -0
- data/test/test_common.rb +21 -2
- data/test/test_component_status.rb +1 -2
- data/test/test_config.rb +4 -4
- data/test/test_endpoint.rb +27 -8
- data/test/test_helper.rb +5 -0
- data/test/test_kubeclient.rb +4 -9
- data/test/test_limit_range.rb +1 -3
- data/test/test_missing_methods.rb +30 -4
- data/test/test_namespace.rb +3 -6
- data/test/test_node.rb +2 -4
- data/test/test_persistent_volume.rb +1 -2
- data/test/test_persistent_volume_claim.rb +1 -3
- data/test/test_pod.rb +54 -2
- data/test/test_replication_controller.rb +2 -7
- data/test/test_resource_quota.rb +1 -3
- data/test/test_secret.rb +3 -12
- data/test/test_security_context_constraint.rb +62 -0
- data/test/test_service.rb +10 -31
- data/test/test_service_account.rb +1 -3
- data/test/test_watch.rb +7 -16
- metadata +19 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 648349cb119637758bb60353e75a42c7763f9a8926f57f692659de19c457ef2c
|
4
|
+
data.tar.gz: ee020c04dcd67303cc7b2077d2ffbe570cd638f88b852dd5582b7daa9acb169b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 53a76a8f582b0d359f164c0f0bf1dc0cdfe863da4f49bf7abe171bcb49b06b60b389a1fed372be1748f512e6e4c6bd58731e52b2ff9b3a4ddac665a2573cb870
|
7
|
+
data.tar.gz: d6337a1735a87f5410cacfedf0c69cd9e9c70d4eacc370bb7bf70eca2d61afc30801f3faa968f19c1204bd7484ec8cd43eddd02a986f9d73e70ac7016eb762f4
|
data/CHANGELOG.md
CHANGED
@@ -4,6 +4,16 @@ Notable changes to this project will be documented in this file.
|
|
4
4
|
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
|
5
5
|
Kubeclient release versioning follows [SemVer](https://semver.org/).
|
6
6
|
|
7
|
+
## 4.1.0 — 2018-11-28
|
8
|
+
|
9
|
+
### Fixed
|
10
|
+
- Support custom resources with lowercase `kind` (#361).
|
11
|
+
- `create_security_context_constraint` now works (#366).
|
12
|
+
- `get_security_context_constraints.kind`, `get_endpoints.kind` are now plural as in kubernetes (#366).
|
13
|
+
|
14
|
+
### Added
|
15
|
+
- Add support for retrieving large lists of objects in chunks (#356).
|
16
|
+
|
7
17
|
## 4.0.0 — 2018-07-23
|
8
18
|
|
9
19
|
### Removed
|
@@ -81,6 +91,6 @@ No changes since 2.5.0, fixed packaging mistake.
|
|
81
91
|
|
82
92
|
### Added
|
83
93
|
|
84
|
-
- `as: raw` option for `get_*` methods returning a string (#262 via #271)
|
94
|
+
- `as: raw` option for `get_*` methods returning a string (#262 via #271).
|
85
95
|
|
86
96
|
## 2.4.0 - 2017-05-10
|
data/README.md
CHANGED
@@ -345,6 +345,24 @@ You can specify multiple labels (that option will return entities which have bot
|
|
345
345
|
pods = client.get_pods(label_selector: 'name=redis-master,app=redis')
|
346
346
|
```
|
347
347
|
|
348
|
+
Get all entities of a specific type in chunks:
|
349
|
+
|
350
|
+
```ruby
|
351
|
+
continue = nil
|
352
|
+
loop do
|
353
|
+
entities = client.get_pods(limit: 1_000, continue: continue)
|
354
|
+
continue = entities.continue
|
355
|
+
|
356
|
+
break if entities.last?
|
357
|
+
end
|
358
|
+
```
|
359
|
+
|
360
|
+
See https://kubernetes.io/docs/reference/using-api/api-concepts/#retrieving-large-results-sets-in-chunks for more information.
|
361
|
+
|
362
|
+
The continue tokens expire after a short amount of time, so similar to a watch if you don't request a subsequent page within aprox. 5 minutes of the previous page being returned the server will return a `410 Gone` error and the client must request the list from the start (i.e. omit the continue token for the next call).
|
363
|
+
|
364
|
+
Support for chunking was added in v1.9 so previous versions will ignore the option and return the full collection.
|
365
|
+
|
348
366
|
#### Get a specific instance of an entity (by name)
|
349
367
|
Such as: `get_service "service name"` , `get_pod "pod name"` , `get_replication_controller "rc name"`, `get_secret "secret name"`, `get_resource_quota "resource quota name"`, `get_limit_range "limit range name"` , `get_persistent_volume "persistent volume name"` , `get_persistent_volume_claim "persistent volume claim name"`, `get_component_status "component name"`, `get_service_account "service account name"`
|
350
368
|
|
data/RELEASING.md
CHANGED
@@ -3,62 +3,62 @@
|
|
3
3
|
## Versioning
|
4
4
|
Kubeclient release versioning follows [SemVer](https://semver.org/).
|
5
5
|
At some point in time it is decided to release version x.y.z.
|
6
|
-
Prerequisite: A [changelog](CHANGELOG.md) is generated & merged into the release branch.
|
7
6
|
|
8
7
|
```bash
|
9
|
-
RUBYGEMS_USERNAME=bob
|
10
8
|
RELEASE_BRANCH="master"
|
11
|
-
|
12
|
-
GIT_REMOTE="origin"
|
13
|
-
GIT_UPSTREAM="upstream"
|
9
|
+
```
|
14
10
|
|
15
|
-
|
16
|
-
|
17
|
-
|
11
|
+
## 0. (once) Install gem-release, needed for several commands here:
|
12
|
+
|
13
|
+
```bash
|
18
14
|
gem install gem-release
|
15
|
+
```
|
19
16
|
|
20
|
-
|
21
|
-
# Checking out the release branch
|
22
|
-
#
|
23
|
-
git fetch $GIT_UPSTREAM
|
24
|
-
git checkout $GIT_UPSTREAM/$RELEASE_BRANCH -b $RELEASE_BRANCH
|
25
|
-
git status # Make sure there are no local changes
|
17
|
+
## 1. PR(s) for changelog & bump
|
26
18
|
|
27
|
-
|
28
|
-
# Preparing to release
|
29
|
-
#
|
30
|
-
bundle install
|
31
|
-
bundle exec rake test rubocop
|
19
|
+
Edit `CHANGELOG.md` as necessary. Even if all included changes remembered to update it, you should replace "Unreleased" section header with appropriate "x.y.z — 20yy-mm-dd" header.
|
32
20
|
|
33
|
-
|
34
|
-
|
35
|
-
|
21
|
+
Bump `lib/kubeclient/version.rb` manually, or by using:
|
22
|
+
```bash
|
23
|
+
git checkout -b release-$RELEASE_VERSION
|
24
|
+
gem bump --version $RELEASE_VERSION
|
25
|
+
git show # View version bump change.
|
26
|
+
```
|
27
|
+
|
28
|
+
Open a PR with target branch $RELEASE_BRANCH and get it reviewed & merged (if open for long, remember to update date in CHANGELOG to actual day of release).
|
29
|
+
|
30
|
+
## 2. (once) Grabbing an authentication token for rubygems.org api
|
31
|
+
```bash
|
32
|
+
RUBYGEMS_USERNAME=bob
|
36
33
|
curl -u $RUBYGEMS_USERNAME https://rubygems.org/api/v1/api_key.yaml > ~/.gem/credentials; chmod 0600 ~/.gem/credentials
|
37
34
|
|
38
35
|
cat ~/.gem/credentials
|
39
|
-
|
36
|
+
# Should look like this:
|
40
37
|
:rubygems_api_key: ****
|
38
|
+
```
|
41
39
|
|
42
|
-
|
43
|
-
# Bumping the gem's version can be done manually, or by using
|
44
|
-
#
|
45
|
-
gem bump --version $RELEASE_VERSION
|
46
|
-
git show # View version bump change.
|
47
|
-
|
48
|
-
git push $GIT_REMOTE $RELEASE_BRANCH
|
40
|
+
## 3. Actual release
|
49
41
|
|
50
|
-
|
51
|
-
|
52
|
-
|
42
|
+
Make sure we're locally after the bump PR *merge commit*:
|
43
|
+
```bash
|
44
|
+
git checkout $RELEASE_BRANCH
|
45
|
+
git status # Make sure there are no local changes
|
46
|
+
git pull --ff-only https://github.com/abonas/kubeclient $RELEASE_BRANCH
|
47
|
+
git log -n1
|
48
|
+
```
|
53
49
|
|
54
|
-
|
50
|
+
Last sanity check:
|
51
|
+
```bash
|
52
|
+
bundle install
|
53
|
+
bundle exec rake test rubocop
|
54
|
+
```
|
55
55
|
|
56
|
-
|
57
|
-
|
58
|
-
|
56
|
+
Create and push the tag:
|
57
|
+
```bash
|
58
|
+
gem tag --destination https://github.com/abonas/kubeclient
|
59
|
+
```
|
59
60
|
|
60
|
-
|
61
|
-
|
62
|
-
#
|
61
|
+
Release onto rubygems.org:
|
62
|
+
```bash
|
63
63
|
gem release
|
64
64
|
```
|
data/lib/kubeclient/common.rb
CHANGED
@@ -37,10 +37,16 @@ module Kubeclient
|
|
37
37
|
|
38
38
|
SEARCH_ARGUMENTS = {
|
39
39
|
'labelSelector' => :label_selector,
|
40
|
-
'fieldSelector' => :field_selector
|
40
|
+
'fieldSelector' => :field_selector,
|
41
|
+
'limit' => :limit,
|
42
|
+
'continue' => :continue
|
41
43
|
}.freeze
|
42
44
|
|
43
|
-
WATCH_ARGUMENTS = {
|
45
|
+
WATCH_ARGUMENTS = {
|
46
|
+
'labelSelector' => :label_selector,
|
47
|
+
'fieldSelector' => :field_selector,
|
48
|
+
'resourceVersion' => :resource_version
|
49
|
+
}.freeze
|
44
50
|
|
45
51
|
attr_reader :api_endpoint
|
46
52
|
attr_reader :ssl_options
|
@@ -126,21 +132,38 @@ module Kubeclient
|
|
126
132
|
end
|
127
133
|
|
128
134
|
def self.parse_definition(kind, name)
|
129
|
-
#
|
130
|
-
#
|
131
|
-
#
|
132
|
-
#
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
135
|
+
# Kubernetes gives us have 3 inputs:
|
136
|
+
# kind: "ComponentStatus"
|
137
|
+
# name: "componentstatuses"
|
138
|
+
# singularName: "componentstatus" (usually kind.downcase)
|
139
|
+
# and want to derive singular and plural method names, with underscores:
|
140
|
+
# "component_status"
|
141
|
+
# "component_statuses"
|
142
|
+
# kind's CamelCase word boundaries determine our placement of underscores.
|
143
|
+
|
144
|
+
if IRREGULAR_NAMES[kind]
|
145
|
+
# In a few cases, the given kind / singularName itself is still plural.
|
146
|
+
# We require a distinct singular method name, so force it.
|
147
|
+
method_names = IRREGULAR_NAMES[kind]
|
148
|
+
else
|
149
|
+
# TODO: respect singularName from discovery?
|
150
|
+
# But how? If it differs from kind.downcase, kind's word boundaries don't apply.
|
151
|
+
singular_name = kind.downcase
|
152
|
+
|
153
|
+
if name.start_with?(kind.downcase)
|
154
|
+
plural_suffix = name[kind.downcase.length..-1] # "es"
|
155
|
+
singular_underscores = ClientMixin.underscore_entity(kind) # "component_status"
|
156
|
+
method_names = [singular_underscores, singular_underscores + plural_suffix]
|
157
|
+
else
|
158
|
+
# Something weird, can't infer underscores for plural so just give them up
|
159
|
+
method_names = [singular_name, name]
|
160
|
+
end
|
161
|
+
end
|
162
|
+
|
163
|
+
OpenStruct.new(
|
164
|
+
entity_type: kind,
|
165
|
+
resource_name: name,
|
166
|
+
method_names: method_names
|
144
167
|
)
|
145
168
|
end
|
146
169
|
|
@@ -256,6 +279,8 @@ module Kubeclient
|
|
256
279
|
# :namespace (string) - the namespace of the entity.
|
257
280
|
# :label_selector (string) - a selector to restrict the list of returned objects by labels.
|
258
281
|
# :field_selector (string) - a selector to restrict the list of returned objects by fields.
|
282
|
+
# :limit (integer) - a maximum number of items to return in each response
|
283
|
+
# :continue (string) - a token used to retrieve the next chunk of entities
|
259
284
|
# :as (:raw|:ros) - defaults to :ros
|
260
285
|
# :raw - return the raw response body as a string
|
261
286
|
# :ros - return a collection of RecursiveOpenStruct objects
|
@@ -313,9 +338,7 @@ module Kubeclient
|
|
313
338
|
# TODO: temporary solution to add "kind" and apiVersion to request
|
314
339
|
# until this issue is solved
|
315
340
|
# https://github.com/GoogleCloudPlatform/kubernetes/issues/6439
|
316
|
-
|
317
|
-
# https://github.com/kubernetes/kubernetes/issues/8115
|
318
|
-
hash[:kind] = (entity_type.eql?('Endpoint') ? 'Endpoints' : entity_type)
|
341
|
+
hash[:kind] = entity_type
|
319
342
|
hash[:apiVersion] = @api_group + @api_version
|
320
343
|
response = handle_exception do
|
321
344
|
rest_client[ns_prefix + resource_name]
|
@@ -427,7 +450,15 @@ module Kubeclient
|
|
427
450
|
|
428
451
|
private
|
429
452
|
|
430
|
-
|
453
|
+
IRREGULAR_NAMES = {
|
454
|
+
# In a few cases, the given kind itself is still plural.
|
455
|
+
# https://github.com/kubernetes/kubernetes/issues/8115
|
456
|
+
'Endpoints' => %w[endpoint endpoints],
|
457
|
+
'SecurityContextConstraints' => %w[security_context_constraint
|
458
|
+
security_context_constraints]
|
459
|
+
}.freeze
|
460
|
+
|
461
|
+
# Format datetime according to RFC3339
|
431
462
|
def format_datetime(value)
|
432
463
|
case value
|
433
464
|
when DateTime, Time
|
@@ -456,10 +487,14 @@ module Kubeclient
|
|
456
487
|
result.fetch('metadata', {}).fetch('resourceVersion', nil)
|
457
488
|
end
|
458
489
|
|
490
|
+
# If 'limit' was passed save the continue token
|
491
|
+
# see https://kubernetes.io/docs/reference/using-api/api-concepts/#retrieving-large-results-sets-in-chunks
|
492
|
+
continue = result.fetch('metadata', {}).fetch('continue', nil)
|
493
|
+
|
459
494
|
# result['items'] might be nil due to https://github.com/kubernetes/kubernetes/issues/13096
|
460
495
|
collection = result['items'].to_a.map { |item| Kubeclient::Resource.new(item) }
|
461
496
|
|
462
|
-
Kubeclient::Common::EntityList.new(list_type, resource_version, collection)
|
497
|
+
Kubeclient::Common::EntityList.new(list_type, resource_version, collection, continue)
|
463
498
|
else
|
464
499
|
Kubeclient::Resource.new(result)
|
465
500
|
end
|
@@ -3,14 +3,19 @@ module Kubeclient
|
|
3
3
|
module Common
|
4
4
|
# Kubernetes Entity List
|
5
5
|
class EntityList < DelegateClass(Array)
|
6
|
-
attr_reader :kind, :resourceVersion
|
6
|
+
attr_reader :continue, :kind, :resourceVersion
|
7
7
|
|
8
|
-
def initialize(kind, resource_version, list)
|
8
|
+
def initialize(kind, resource_version, list, continue = nil)
|
9
9
|
@kind = kind
|
10
10
|
# rubocop:disable Style/VariableName
|
11
11
|
@resourceVersion = resource_version
|
12
|
+
@continue = continue
|
12
13
|
super(list)
|
13
14
|
end
|
15
|
+
|
16
|
+
def last?
|
17
|
+
continue.nil?
|
18
|
+
end
|
14
19
|
end
|
15
20
|
end
|
16
21
|
end
|
data/lib/kubeclient/version.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
apiVersion: v1
|
2
2
|
clusters:
|
3
3
|
- cluster:
|
4
|
-
certificate-authority-data:
|
4
|
+
certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM2akNDQWRLZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRc0ZBREFtTVNRd0lnWURWUVFEREJ0dmNHVnUKYzJocFpuUXRjMmxuYm1WeVFERTFOREUzTVRZMU9USXdIaGNOTVRneE1UQTRNakl6TmpNeFdoY05Nak14TVRBMwpNakl6TmpNeVdqQW1NU1F3SWdZRFZRUUREQnR2Y0dWdWMyaHBablF0YzJsbmJtVnlRREUxTkRFM01UWTFPVEl3CmdnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFS0FvSUJBUUREaS9CdG9YRFowL0l0b3lGVTRaTXAKMG5xUXZ6MWFEblcvVHpDRHhpZVJFL09sQk5EcVJCUlFHWEtoNWE4MkN0bno1SjM4VzJZY3Y2RXY1QlJKcFJNTgpiYWNmQVBqczZmK1ZKSE92MFVUc3lRc2FWd2N5OHVIQ2ZKck5IR3h5UVZZYnZPdnFTditOZ2ZUUTIwZ3ZhTXgwCkZuTUxnMmtFaFhRUnhOdEsrRlgrM2l2V1FmLzFvREJkU1BTeEZYell0emsxWlhSWmM3b1NobUZTZHlxWkpvZHYKb3lqcFBIZjR1ZmtuQ3V1TFhOWlRBKzFyT2dyRWJRT1RhdncraGVZZjZXS05uMU9PbHBIQ0lEZ3cycXRYRm0vawpSZDJHVHlpV0pCQjBNbTBRclRvdkVQbkMvWGhZekJ3TmZrZ2Y1a2oray94cXZUUUhTeUgxc0NZT2JJY0hUbWt4CkFnTUJBQUdqSXpBaE1BNEdBMVVkRHdFQi93UUVBd0lDcERBUEJnTlZIUk1CQWY4RUJUQURBUUgvTUEwR0NTcUcKU0liM0RRRUJDd1VBQTRJQkFRQ2hmTE9SZDZTN3habVZBSUpvUnZwRHdXWVJ0bngvSnJZeTNYMXhWWEh4dDQ4NgpBVlBLYWxXYm9qektpRmQ3YXF2NTJCdkNINVVJYlQzM3VueXFNODdmWE1CZzFQMWFUTno3YXpHVDJuY2JEU1VVClNjSjJ1aWNLSGZpMjMzd2o0cUtzb2RXR29NNG8xS0doSnFhVUN4WGtDZkZXVmVZRjJyK3BUeVFUVFhxWGhGbVkKeWpTT2o3UnorUEhIK3E0dVcxK05kWCtFRmxNN3RWUUcrUys3dk1jTkQ4MkdLVzZZWlZFTW15NXV3eDlNUUZnQwpoTzNJbkEvN1NqT0tIeDBlcmR0RXpGNWFjYUxqZER5S2JCemFUT2xrS041NVhyRzlMNmRhdDBSbEtmOFB3V1FUCmFKRW0xSldBRE9mZUljZGdrNWVXRnpQUy85TUZrMVNiQnhPQVJLVVEKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
|
5
5
|
server: https://localhost:8443
|
6
6
|
name: localhost:8443
|
7
7
|
contexts:
|
@@ -16,5 +16,5 @@ preferences: {}
|
|
16
16
|
users:
|
17
17
|
- name: system:admin/localhost:8443
|
18
18
|
user:
|
19
|
-
client-certificate-data:
|
20
|
-
client-key-data:
|
19
|
+
client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURKRENDQWd5Z0F3SUJBZ0lCQ0RBTkJna3Foa2lHOXcwQkFRc0ZBREFtTVNRd0lnWURWUVFEREJ0dmNHVnUKYzJocFpuUXRjMmxuYm1WeVFERTFOREUzTVRZMU9USXdIaGNOTVRneE1UQTRNakl6TmpNMFdoY05NakF4TVRBMwpNakl6TmpNMVdqQk9NVFV3SEFZRFZRUUtFeFZ6ZVhOMFpXMDZZMngxYzNSbGNpMWhaRzFwYm5Nd0ZRWURWUVFLCkV3NXplWE4wWlcwNmJXRnpkR1Z5Y3pFVk1CTUdBMVVFQXhNTWMzbHpkR1Z0T21Ga2JXbHVNSUlCSWpBTkJna3EKaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUF1M3VrODFYNkRsMGpBc0t4V3ZZVWN6NVNZSlBuUi9zSApMT1BDUmNaYkN4WVlMS2VTcDYzNnExYU1RdWsyRnJIejVsSDA5MmlVMk1VWWlwUnJOVVdQb0JRMVpCdWUvQjJPCm5wbXl3aHIyYlZyZXBpWjZPTk9QOTJKMllHYU1UUG10VzIrRUc4b3dEcmkvQ25NTyswNUIvaU1JbEJjbno2MHQKeVdHb29tTHkyb1lVaDNwMC9YVW5meFZiRjYzRndIMis4N2hKbWl1SWkzTjRzSStjUDZ0UHhnMTQzTFU5bDRINAo0MERNK1llR0NpNVJuU0lGaVRCN04vN3hQcU54VWQrVGVZY0JaYjIvYmFFOCs0VXp6bEFWZnJKcG5aTTdINC9LClZQYWxjUU9CVXA0ekdTTkxOYXl6c1VmamxqRTM1SVd4QjBjSS9KQWNxNnE1UGN1RHlmelIrUUlEQVFBQm96VXcKTXpBT0JnTlZIUThCQWY4RUJBTUNCYUF3RXdZRFZSMGxCQXd3Q2dZSUt3WUJCUVVIQXdJd0RBWURWUjBUQVFILwpCQUl3QURBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQUJvMHRDUkhwd3JXSUk4ajRBNFU1Mk5VZDNVNTdLK1F2Ci9oSjUyVkNoZzcvTlhnNnp5bE44dUowbVBBVlRxZnFLaHhxTDVnR2ozYXlPeWY5SEFLdFRkdHBKSXZYTStlcW4KV0NWRWRTZVNKTGxEbGlLQkt6aE9KMTR1VDNhRGZkYmRrMm5zbFRHejhRZzVtaE5OOXRHNys3ZS9DVXpJcFpPNQo0OXFoUC8wN3VVZStvMEd4WEFLM1dITDFJMjhpT2pxbExlMHI1QlpSZ29yN1ZhMzRGZ3pud2JFRTZrSDJ1MzNwClU4cDA3QmNVQkRNckJXeVc4SFJDUHVhNjdLRjhFMW80SDB6a0phaTl1SzhlRm9UWm1kVDVLMlk5RDYrMmZtdDEKenErRisxUWhCUnVqeWVTSXptdnVkK2R4dFR1RDliUTJhWmpXVHRmbnN1bjJsb2NSQmNLc3VRPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
|
20
|
+
client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBdTN1azgxWDZEbDBqQXNLeFd2WVVjejVTWUpQblIvc0hMT1BDUmNaYkN4WVlMS2VTCnA2MzZxMWFNUXVrMkZySHo1bEgwOTJpVTJNVVlpcFJyTlVXUG9CUTFaQnVlL0IyT25wbXl3aHIyYlZyZXBpWjYKT05PUDkySjJZR2FNVFBtdFcyK0VHOG93RHJpL0NuTU8rMDVCL2lNSWxCY256NjB0eVdHb29tTHkyb1lVaDNwMAovWFVuZnhWYkY2M0Z3SDIrODdoSm1pdUlpM040c0krY1A2dFB4ZzE0M0xVOWw0SDQ0MERNK1llR0NpNVJuU0lGCmlUQjdOLzd4UHFOeFVkK1RlWWNCWmIyL2JhRTgrNFV6emxBVmZySnBuWk03SDQvS1ZQYWxjUU9CVXA0ekdTTkwKTmF5enNVZmpsakUzNUlXeEIwY0kvSkFjcTZxNVBjdUR5ZnpSK1FJREFRQUJBb0lCQUFKTXpnVStOTWNnVldHZgpTZFczMXlCaXoxZm4rSnBsZGYwUy9qc2s1OUVIQUZ6cjRWeTFRYklBYWRBWVZGV0s4VmNPQWxkV3JSekxyalZsCkJMdXVrc2gvOXZlM2J3Zmd4UE1sSjVCQ0RHdmpCWUE4VUp1SjNPWklDdk83emxUVGExRUgyVE1PRS9EYVMxMngKYzZtWm1DMnArRno0dThCTWU1ZFEzMlMrbWdRY1E1dldBdmNsdktEd3IvMTZjamwrTzdEMGNNWUZVUmlFNDJ6QQpmTkRqMW9MK0lReU9NcjRXWUFVVDNJSHpXSFBFWWRtRjBiTHprK1ZyTHQxRjczMFI1TS9YRDZzM3hoQmpkZndGCndSYlA0SXRLMUlEMm8xMTZlV0RBOGY4WnQ2VUgrOFlHdDU3NmJuUFpQR1MxQVQvcEZnK1czQmd2ODI5Ly9MeFcKVW1aMkhoRUNnWUVBMzVOTlVyMDlIMW45U0lpZnhFcU40QW95MGtsZjZCT3BSS3NXeVJKS3o2MG9BZ1l6TUdoLwoyQnFGZERlWTcwdnlFTGtsVzgxQWNCR3Ara2VPU0JsOThHbTBlSDBnRUVRY2N2Sm1vd2p1Mjd3ZkN3Rk5FckNlCk9OQmlFSDZGOWs0MTBMd0U2WFBReUlSRmJGRGw5alJLRjd6UUlYTEZkbS9LMTIzQzUwRy9NK3NDZ1lFQTFxeFcKUllzanVablpYa21BdWlnWmhnUTV4WDlCRlE2NFkrV291VVFZR0FnaWxkTHRRcFhSRHlDbWRyOXVkZWxGN1g5NQp1Z3ZGRzJQQ2FDeFNEWVJiOFhtVEFuT2VqTGowSFB4M1hhVTdPTUE2UjhBMWZ3RFRYWXQ3Z2RRRHJJZTEwYzJ0Cnh4dWlKazkvTkd4VTBwZEtRVEg0Nm1PUmRMeXg5TkJWYm02YWJLc0NnWUVBeDBQM1Y3WVlneGZtbWo1Qy8yVmYKZS80Nis1ZXdKaDFYOFQ3M3lQQkh3ejlXZUM5a2NsSEJHQy9USUJqcGN1WmljaXRDTThjRkZwMTN2UDBId0JVUQpYVFVwUjNabUhIbElUZDdrUVkwVnJyekZnajUvbmhmU2ZWcWsvSVI0QzJYN3F2WFkvdVZkZ1VuNndpWjhQMnF0Cld1akxLL1NxTC94RmNxcCtXelVMSUU4Q2dZQVNmMUVEdHdTQ0JwYXJRQ3dlWGp3c3h3cHZVUks3ak1Rb24yNVYKWUYrdkdteFllbzlGRUlHdUN3TXM4anZEWHpGT1VKQ2Rqa3dTbXhyeVBQZHBBTUduWWZGZjRiU0VyWjhqTEVIZwp5TTc4aWR1N3VQMGpEMkFuREZDOUZCYW85Qnlma2xocDhxQ2JLbmhzZlBVbUhERWl3dnFPdjd1VjBuaUcvcmlOCnhtdjU5d0tCZ1FDNzd4Znd3aUVMNEcxdEJINVc1RFhJeGtpZ3V5ak95SnRKTlJURVBVckxSVjl3TlJMazFnb28KeXlUelpYNWhMU3ppaTdoN1BlUUdqOVR0V3VwWDdUWDJtb0FqU1FRODJWLzR5ZkpPcHVpSitQeDloRFowc0g2cApZdmFoKzNKK1JMSWUyaTNrcVM0eDUvcU5xb1BhcngyTk1oZWhIdHNGcWo1czBnQlczR25xL2c9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
|
data/test/config/external-ca.pem
CHANGED
@@ -1,18 +1,18 @@
|
|
1
1
|
-----BEGIN CERTIFICATE-----
|
2
2
|
MIIC6jCCAdKgAwIBAgIBATANBgkqhkiG9w0BAQsFADAmMSQwIgYDVQQDDBtvcGVu
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
3
|
+
c2hpZnQtc2lnbmVyQDE1NDE3MTY1OTIwHhcNMTgxMTA4MjIzNjMxWhcNMjMxMTA3
|
4
|
+
MjIzNjMyWjAmMSQwIgYDVQQDDBtvcGVuc2hpZnQtc2lnbmVyQDE1NDE3MTY1OTIw
|
5
|
+
ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDDi/BtoXDZ0/ItoyFU4ZMp
|
6
|
+
0nqQvz1aDnW/TzCDxieRE/OlBNDqRBRQGXKh5a82Ctnz5J38W2Ycv6Ev5BRJpRMN
|
7
|
+
bacfAPjs6f+VJHOv0UTsyQsaVwcy8uHCfJrNHGxyQVYbvOvqSv+NgfTQ20gvaMx0
|
8
|
+
FnMLg2kEhXQRxNtK+FX+3ivWQf/1oDBdSPSxFXzYtzk1ZXRZc7oShmFSdyqZJodv
|
9
|
+
oyjpPHf4ufknCuuLXNZTA+1rOgrEbQOTavw+heYf6WKNn1OOlpHCIDgw2qtXFm/k
|
10
|
+
Rd2GTyiWJBB0Mm0QrTovEPnC/XhYzBwNfkgf5kj+k/xqvTQHSyH1sCYObIcHTmkx
|
11
11
|
AgMBAAGjIzAhMA4GA1UdDwEB/wQEAwICpDAPBgNVHRMBAf8EBTADAQH/MA0GCSqG
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
12
|
+
SIb3DQEBCwUAA4IBAQChfLORd6S7xZmVAIJoRvpDwWYRtnx/JrYy3X1xVXHxt486
|
13
|
+
AVPKalWbojzKiFd7aqv52BvCH5UIbT33unyqM87fXMBg1P1aTNz7azGT2ncbDSUU
|
14
|
+
ScJ2uicKHfi233wj4qKsodWGoM4o1KGhJqaUCxXkCfFWVeYF2r+pTyQTTXqXhFmY
|
15
|
+
yjSOj7Rz+PHH+q4uW1+NdX+EFlM7tVQG+S+7vMcND82GKW6YZVEMmy5uwx9MQFgC
|
16
|
+
hO3InA/7SjOKHx0erdtEzF5acaLjdDyKbBzaTOlkKN55XrG9L6dat0RlKf8PwWQT
|
17
|
+
aJEm1JWADOfeIcdgk5eWFzPS/9MFk1SbBxOARKUQ
|
18
18
|
-----END CERTIFICATE-----
|
@@ -1,19 +1,19 @@
|
|
1
1
|
-----BEGIN CERTIFICATE-----
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
2
|
+
MIIDJDCCAgygAwIBAgIBCDANBgkqhkiG9w0BAQsFADAmMSQwIgYDVQQDDBtvcGVu
|
3
|
+
c2hpZnQtc2lnbmVyQDE1NDE3MTY1OTIwHhcNMTgxMTA4MjIzNjM0WhcNMjAxMTA3
|
4
|
+
MjIzNjM1WjBOMTUwHAYDVQQKExVzeXN0ZW06Y2x1c3Rlci1hZG1pbnMwFQYDVQQK
|
5
|
+
Ew5zeXN0ZW06bWFzdGVyczEVMBMGA1UEAxMMc3lzdGVtOmFkbWluMIIBIjANBgkq
|
6
|
+
hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAu3uk81X6Dl0jAsKxWvYUcz5SYJPnR/sH
|
7
|
+
LOPCRcZbCxYYLKeSp636q1aMQuk2FrHz5lH092iU2MUYipRrNUWPoBQ1ZBue/B2O
|
8
|
+
npmywhr2bVrepiZ6ONOP92J2YGaMTPmtW2+EG8owDri/CnMO+05B/iMIlBcnz60t
|
9
|
+
yWGoomLy2oYUh3p0/XUnfxVbF63FwH2+87hJmiuIi3N4sI+cP6tPxg143LU9l4H4
|
10
|
+
40DM+YeGCi5RnSIFiTB7N/7xPqNxUd+TeYcBZb2/baE8+4UzzlAVfrJpnZM7H4/K
|
11
|
+
VPalcQOBUp4zGSNLNayzsUfjljE35IWxB0cI/JAcq6q5PcuDyfzR+QIDAQABozUw
|
12
|
+
MzAOBgNVHQ8BAf8EBAMCBaAwEwYDVR0lBAwwCgYIKwYBBQUHAwIwDAYDVR0TAQH/
|
13
|
+
BAIwADANBgkqhkiG9w0BAQsFAAOCAQEABo0tCRHpwrWII8j4A4U52NUd3U57K+Qv
|
14
|
+
/hJ52VChg7/NXg6zylN8uJ0mPAVTqfqKhxqL5gGj3ayOyf9HAKtTdtpJIvXM+eqn
|
15
|
+
WCVEdSeSJLlDliKBKzhOJ14uT3aDfdbdk2nslTGz8Qg5mhNN9tG7+7e/CUzIpZO5
|
16
|
+
49qhP/07uUe+o0GxXAK3WHL1I28iOjqlLe0r5BZRgor7Va34FgznwbEE6kH2u33p
|
17
|
+
U8p07BcUBDMrBWyW8HRCPua67KF8E1o4H0zkJai9uK8eFoTZmdT5K2Y9D6+2fmt1
|
18
|
+
zq+F+1QhBRujyeSIzmvud+dxtTuD9bQ2aZjWTtfnsun2locRBcKsuQ==
|
19
19
|
-----END CERTIFICATE-----
|
@@ -1,27 +1,27 @@
|
|
1
1
|
-----BEGIN RSA PRIVATE KEY-----
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
2
|
+
MIIEpAIBAAKCAQEAu3uk81X6Dl0jAsKxWvYUcz5SYJPnR/sHLOPCRcZbCxYYLKeS
|
3
|
+
p636q1aMQuk2FrHz5lH092iU2MUYipRrNUWPoBQ1ZBue/B2Onpmywhr2bVrepiZ6
|
4
|
+
ONOP92J2YGaMTPmtW2+EG8owDri/CnMO+05B/iMIlBcnz60tyWGoomLy2oYUh3p0
|
5
|
+
/XUnfxVbF63FwH2+87hJmiuIi3N4sI+cP6tPxg143LU9l4H440DM+YeGCi5RnSIF
|
6
|
+
iTB7N/7xPqNxUd+TeYcBZb2/baE8+4UzzlAVfrJpnZM7H4/KVPalcQOBUp4zGSNL
|
7
|
+
NayzsUfjljE35IWxB0cI/JAcq6q5PcuDyfzR+QIDAQABAoIBAAJMzgU+NMcgVWGf
|
8
|
+
SdW31yBiz1fn+Jpldf0S/jsk59EHAFzr4Vy1QbIAadAYVFWK8VcOAldWrRzLrjVl
|
9
|
+
BLuuksh/9ve3bwfgxPMlJ5BCDGvjBYA8UJuJ3OZICvO7zlTTa1EH2TMOE/DaS12x
|
10
|
+
c6mZmC2p+Fz4u8BMe5dQ32S+mgQcQ5vWAvclvKDwr/16cjl+O7D0cMYFURiE42zA
|
11
|
+
fNDj1oL+IQyOMr4WYAUT3IHzWHPEYdmF0bLzk+VrLt1F730R5M/XD6s3xhBjdfwF
|
12
|
+
wRbP4ItK1ID2o116eWDA8f8Zt6UH+8YGt576bnPZPGS1AT/pFg+W3Bgv829//LxW
|
13
|
+
UmZ2HhECgYEA35NNUr09H1n9SIifxEqN4Aoy0klf6BOpRKsWyRJKz60oAgYzMGh/
|
14
|
+
2BqFdDeY70vyELklW81AcBGp+keOSBl98Gm0eH0gEEQccvJmowju27wfCwFNErCe
|
15
|
+
ONBiEH6F9k410LwE6XPQyIRFbFDl9jRKF7zQIXLFdm/K123C50G/M+sCgYEA1qxW
|
16
|
+
RYsjuZnZXkmAuigZhgQ5xX9BFQ64Y+WouUQYGAgildLtQpXRDyCmdr9udelF7X95
|
17
|
+
ugvFG2PCaCxSDYRb8XmTAnOejLj0HPx3XaU7OMA6R8A1fwDTXYt7gdQDrIe10c2t
|
18
|
+
xxuiJk9/NGxU0pdKQTH46mORdLyx9NBVbm6abKsCgYEAx0P3V7YYgxfmmj5C/2Vf
|
19
|
+
e/46+5ewJh1X8T73yPBHwz9WeC9kclHBGC/TIBjpcuZicitCM8cFFp13vP0HwBUQ
|
20
|
+
XTUpR3ZmHHlITd7kQY0VrrzFgj5/nhfSfVqk/IR4C2X7qvXY/uVdgUn6wiZ8P2qt
|
21
|
+
WujLK/SqL/xFcqp+WzULIE8CgYASf1EDtwSCBparQCweXjwsxwpvURK7jMQon25V
|
22
|
+
YF+vGmxYeo9FEIGuCwMs8jvDXzFOUJCdjkwSmxryPPdpAMGnYfFf4bSErZ8jLEHg
|
23
|
+
yM78idu7uP0jD2AnDFC9FBao9Byfklhp8qCbKnhsfPUmHDEiwvqOv7uV0niG/riN
|
24
|
+
xmv59wKBgQC77xfwwiEL4G1tBH5W5DXIxkiguyjOyJtJNRTEPUrLRV9wNRLk1goo
|
25
|
+
yyTzZX5hLSzii7h7PeQGj9TtWupX7TX2moAjSQQ82V/4yfJOpuiJ+Px9hDZ0sH6p
|
26
|
+
Yvah+3J+RLIe2i3kqS4x5/qNqoParx2NMhehHtsFqj5s0gBW3Gnq/g==
|
27
27
|
-----END RSA PRIVATE KEY-----
|