strongdm 8.1.0 → 8.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9126b0fed8d1f9d6bace10080c99994b18fea3dfb5d10728cb14f0ccbf2cac5b
4
- data.tar.gz: 45523efb30a4a5615704eac6078c24187c8033739066669afac11c30c032f2ac
3
+ metadata.gz: 3970302392253d73c84498c3ee4235233f355e0da5ab93cd2d898053fe9804de
4
+ data.tar.gz: 1f998d9b8290b8eec20d1710047b192956fe23949fe4564b473f78602cd60f9d
5
5
  SHA512:
6
- metadata.gz: 8b95773f4109c5e056bcfb92dd4b95ebc52eec97e178c8794622e2169e4bae765f420df3a763d5cf94bf37f1a1f443732abb1344cd4174f8d66d629cb47ed1d5
7
- data.tar.gz: 66429d1d6759fb9f349b8fc110ae80ff297f43f3ae7bb98f6ac56de3f8fd338a6f0ecef79b81f4430e787c4974c433a0313e66510f70b9b67efa5f77ae58a2d1
6
+ metadata.gz: 58495801a0d0455dd1edaec524e90154052d5702a536aac9eb947785c917826b6afb22cff0422ffe87af75428ef74fa9a2ecc84268b948e02630c5d6c368836e
7
+ data.tar.gz: 8a66f22a04f002803be8804b98356eaae72697d02eaf727c3be2a921ccceda8db966b3cf754c694d45ee48f9601f4f1bfb52c12e4111f8a72ced4f058856bba2
data/.git/ORIG_HEAD CHANGED
@@ -1 +1 @@
1
- 7659a644ef149debee2515386136b7e2d5e917ea
1
+ 14ef2b24960a5e854b60586884494ed913221b5b
data/.git/index CHANGED
Binary file
data/.git/logs/HEAD CHANGED
@@ -1,3 +1,3 @@
1
- 0000000000000000000000000000000000000000 7659a644ef149debee2515386136b7e2d5e917ea sdmrelease <support@strongdm.com> 1714059057 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
2
- 7659a644ef149debee2515386136b7e2d5e917ea 7659a644ef149debee2515386136b7e2d5e917ea sdmrelease <support@strongdm.com> 1714059057 +0000 checkout: moving from master to master
3
- 7659a644ef149debee2515386136b7e2d5e917ea 14ef2b24960a5e854b60586884494ed913221b5b sdmrelease <support@strongdm.com> 1714059057 +0000 merge origin/development: Fast-forward
1
+ 0000000000000000000000000000000000000000 14ef2b24960a5e854b60586884494ed913221b5b root <root@3d5e2f91efbe.(none)> 1715269957 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
2
+ 14ef2b24960a5e854b60586884494ed913221b5b 14ef2b24960a5e854b60586884494ed913221b5b root <root@3d5e2f91efbe.(none)> 1715269957 +0000 checkout: moving from master to master
3
+ 14ef2b24960a5e854b60586884494ed913221b5b 98b9ee54f8ca2dc8eecd977e22bf3d05ca667667 root <root@3d5e2f91efbe.(none)> 1715269957 +0000 merge origin/development: Fast-forward
@@ -1,2 +1,2 @@
1
- 0000000000000000000000000000000000000000 7659a644ef149debee2515386136b7e2d5e917ea sdmrelease <support@strongdm.com> 1714059057 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
2
- 7659a644ef149debee2515386136b7e2d5e917ea 14ef2b24960a5e854b60586884494ed913221b5b sdmrelease <support@strongdm.com> 1714059057 +0000 merge origin/development: Fast-forward
1
+ 0000000000000000000000000000000000000000 14ef2b24960a5e854b60586884494ed913221b5b root <root@3d5e2f91efbe.(none)> 1715269957 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
2
+ 14ef2b24960a5e854b60586884494ed913221b5b 98b9ee54f8ca2dc8eecd977e22bf3d05ca667667 root <root@3d5e2f91efbe.(none)> 1715269957 +0000 merge origin/development: Fast-forward
@@ -1 +1 @@
1
- 0000000000000000000000000000000000000000 7659a644ef149debee2515386136b7e2d5e917ea sdmrelease <support@strongdm.com> 1714059057 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
1
+ 0000000000000000000000000000000000000000 14ef2b24960a5e854b60586884494ed913221b5b root <root@3d5e2f91efbe.(none)> 1715269957 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
data/.git/packed-refs CHANGED
@@ -1,6 +1,6 @@
1
1
  # pack-refs with: peeled fully-peeled sorted
2
- 14ef2b24960a5e854b60586884494ed913221b5b refs/remotes/origin/development
3
- 7659a644ef149debee2515386136b7e2d5e917ea refs/remotes/origin/master
2
+ 98b9ee54f8ca2dc8eecd977e22bf3d05ca667667 refs/remotes/origin/development
3
+ 14ef2b24960a5e854b60586884494ed913221b5b refs/remotes/origin/master
4
4
  2e4fe8087177ddea9b3991ca499f758384839c89 refs/tags/untagged-84fd83a4484c785cce63
5
5
  04f604866214fab4d5663b5171a3e596331577bd refs/tags/v0.9.4
6
6
  6f9a7b75b345c65fb554884907b7060680c807b7 refs/tags/v0.9.5
@@ -105,3 +105,4 @@ d8a1092c15d3618de31ada43875014d96bd21e36 refs/tags/v6.9.0
105
105
  c69cd1f08e014470bbe2e4dbc4ad494d4bf78d6c refs/tags/v7.0.0
106
106
  f34575bc142eabf113dbbc5b40b3a16e0c026355 refs/tags/v7.1.0
107
107
  7659a644ef149debee2515386136b7e2d5e917ea refs/tags/v8.0.0
108
+ 14ef2b24960a5e854b60586884494ed913221b5b refs/tags/v8.1.0
@@ -1 +1 @@
1
- 14ef2b24960a5e854b60586884494ed913221b5b
1
+ 98b9ee54f8ca2dc8eecd977e22bf3d05ca667667
data/lib/constants.rb CHANGED
@@ -93,6 +93,7 @@ module SDM
93
93
  NONE = ""
94
94
  DUO = "duo"
95
95
  TOTP = "totp"
96
+ OKTA = "okta"
96
97
  end
97
98
 
98
99
  # Activity Entities, all entity types that can be part of an activity.
data/lib/grpc/plumbing.rb CHANGED
@@ -5416,6 +5416,62 @@ module SDM
5416
5416
  end
5417
5417
  items
5418
5418
  end
5419
+ def self.convert_keyfactor_ssh_store_to_porcelain(plumbing)
5420
+ if plumbing == nil
5421
+ return nil
5422
+ end
5423
+ porcelain = KeyfactorSSHStore.new()
5424
+ porcelain.ca_file_path = (plumbing.ca_file_path)
5425
+ porcelain.certificate_file_path = (plumbing.certificate_file_path)
5426
+ porcelain.default_certificate_authority_name = (plumbing.default_certificate_authority_name)
5427
+ porcelain.default_certificate_profile_name = (plumbing.default_certificate_profile_name)
5428
+ porcelain.default_end_entity_profile_name = (plumbing.default_end_entity_profile_name)
5429
+ porcelain.enrollment_code_env_var = (plumbing.enrollment_code_env_var)
5430
+ porcelain.enrollment_username_env_var = (plumbing.enrollment_username_env_var)
5431
+ porcelain.id = (plumbing.id)
5432
+ porcelain.key_file_path = (plumbing.key_file_path)
5433
+ porcelain.name = (plumbing.name)
5434
+ porcelain.server_address = (plumbing.server_address)
5435
+ porcelain.tags = convert_tags_to_porcelain(plumbing.tags)
5436
+ porcelain
5437
+ end
5438
+
5439
+ def self.convert_keyfactor_ssh_store_to_plumbing(porcelain)
5440
+ if porcelain == nil
5441
+ return nil
5442
+ end
5443
+ plumbing = V1::KeyfactorSSHStore.new()
5444
+ plumbing.ca_file_path = (porcelain.ca_file_path)
5445
+ plumbing.certificate_file_path = (porcelain.certificate_file_path)
5446
+ plumbing.default_certificate_authority_name = (porcelain.default_certificate_authority_name)
5447
+ plumbing.default_certificate_profile_name = (porcelain.default_certificate_profile_name)
5448
+ plumbing.default_end_entity_profile_name = (porcelain.default_end_entity_profile_name)
5449
+ plumbing.enrollment_code_env_var = (porcelain.enrollment_code_env_var)
5450
+ plumbing.enrollment_username_env_var = (porcelain.enrollment_username_env_var)
5451
+ plumbing.id = (porcelain.id)
5452
+ plumbing.key_file_path = (porcelain.key_file_path)
5453
+ plumbing.name = (porcelain.name)
5454
+ plumbing.server_address = (porcelain.server_address)
5455
+ plumbing.tags = convert_tags_to_plumbing(porcelain.tags)
5456
+ plumbing
5457
+ end
5458
+ def self.convert_repeated_keyfactor_ssh_store_to_plumbing(porcelains)
5459
+ items = Array.new
5460
+ porcelains.each do |porcelain|
5461
+ plumbing = convert_keyfactor_ssh_store_to_plumbing(porcelain)
5462
+ items.append(plumbing)
5463
+ end
5464
+ items
5465
+ end
5466
+
5467
+ def self.convert_repeated_keyfactor_ssh_store_to_porcelain(plumbings)
5468
+ items = Array.new
5469
+ plumbings.each do |plumbing|
5470
+ porcelain = convert_keyfactor_ssh_store_to_porcelain(plumbing)
5471
+ items.append(porcelain)
5472
+ end
5473
+ items
5474
+ end
5419
5475
  def self.convert_keyfactor_x_509_store_to_porcelain(plumbing)
5420
5476
  if plumbing == nil
5421
5477
  return nil
@@ -5430,7 +5486,6 @@ module SDM
5430
5486
  porcelain.enrollment_username_env_var = (plumbing.enrollment_username_env_var)
5431
5487
  porcelain.id = (plumbing.id)
5432
5488
  porcelain.key_file_path = (plumbing.key_file_path)
5433
- porcelain.key_password_env_var = (plumbing.key_password_env_var)
5434
5489
  porcelain.name = (plumbing.name)
5435
5490
  porcelain.server_address = (plumbing.server_address)
5436
5491
  porcelain.tags = convert_tags_to_porcelain(plumbing.tags)
@@ -5451,7 +5506,6 @@ module SDM
5451
5506
  plumbing.enrollment_username_env_var = (porcelain.enrollment_username_env_var)
5452
5507
  plumbing.id = (porcelain.id)
5453
5508
  plumbing.key_file_path = (porcelain.key_file_path)
5454
- plumbing.key_password_env_var = (porcelain.key_password_env_var)
5455
5509
  plumbing.name = (porcelain.name)
5456
5510
  plumbing.server_address = (porcelain.server_address)
5457
5511
  plumbing.tags = convert_tags_to_plumbing(porcelain.tags)
@@ -10431,6 +10485,9 @@ module SDM
10431
10485
  if porcelain.instance_of? GCPCertX509Store
10432
10486
  plumbing.gcp_cert_x_509 = convert_gcp_cert_x_509_store_to_plumbing(porcelain)
10433
10487
  end
10488
+ if porcelain.instance_of? KeyfactorSSHStore
10489
+ plumbing.keyfactor_ssh = convert_keyfactor_ssh_store_to_plumbing(porcelain)
10490
+ end
10434
10491
  if porcelain.instance_of? KeyfactorX509Store
10435
10492
  plumbing.keyfactor_x_509 = convert_keyfactor_x_509_store_to_plumbing(porcelain)
10436
10493
  end
@@ -10498,6 +10555,9 @@ module SDM
10498
10555
  if plumbing.gcp_cert_x_509 != nil
10499
10556
  return convert_gcp_cert_x_509_store_to_porcelain(plumbing.gcp_cert_x_509)
10500
10557
  end
10558
+ if plumbing.keyfactor_ssh != nil
10559
+ return convert_keyfactor_ssh_store_to_porcelain(plumbing.keyfactor_ssh)
10560
+ end
10501
10561
  if plumbing.keyfactor_x_509 != nil
10502
10562
  return convert_keyfactor_x_509_store_to_porcelain(plumbing.keyfactor_x_509)
10503
10563
  end
@@ -34,6 +34,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
34
34
  optional :delinea, :message, 2900, "v1.DelineaStore"
35
35
  optional :gcp, :message, 201, "v1.GCPStore"
36
36
  optional :gcp_cert_x_509, :message, 202, "v1.GCPCertX509Store"
37
+ optional :keyfactor_ssh, :message, 210, "v1.KeyfactorSSHStore"
37
38
  optional :keyfactor_x_509, :message, 200, "v1.KeyfactorX509Store"
38
39
  optional :vault_app_role, :message, 4, "v1.VaultAppRoleStore"
39
40
  optional :vault_app_role_cert_ssh, :message, 94, "v1.VaultAppRoleCertSSHStore"
@@ -115,6 +116,20 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
115
116
  optional :projectID, :string, 3
116
117
  optional :tags, :message, 32771, "v1.Tags"
117
118
  end
119
+ add_message "v1.KeyfactorSSHStore" do
120
+ optional :id, :string, 1
121
+ optional :name, :string, 2
122
+ optional :ca_file_path, :string, 6
123
+ optional :certificate_file_path, :string, 4
124
+ optional :default_certificate_authority_name, :string, 10
125
+ optional :default_certificate_profile_name, :string, 8
126
+ optional :default_end_entity_profile_name, :string, 9
127
+ optional :enrollment_code_env_var, :string, 12
128
+ optional :enrollment_username_env_var, :string, 11
129
+ optional :key_file_path, :string, 5
130
+ optional :server_address, :string, 3
131
+ optional :tags, :message, 32771, "v1.Tags"
132
+ end
118
133
  add_message "v1.KeyfactorX509Store" do
119
134
  optional :id, :string, 1
120
135
  optional :name, :string, 2
@@ -126,7 +141,6 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
126
141
  optional :enrollment_code_env_var, :string, 12
127
142
  optional :enrollment_username_env_var, :string, 11
128
143
  optional :key_file_path, :string, 5
129
- optional :key_password_env_var, :string, 7
130
144
  optional :server_address, :string, 3
131
145
  optional :tags, :message, 32771, "v1.Tags"
132
146
  end
@@ -235,6 +249,7 @@ module V1
235
249
  DelineaStore = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.DelineaStore").msgclass
236
250
  GCPStore = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.GCPStore").msgclass
237
251
  GCPCertX509Store = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.GCPCertX509Store").msgclass
252
+ KeyfactorSSHStore = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.KeyfactorSSHStore").msgclass
238
253
  KeyfactorX509Store = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.KeyfactorX509Store").msgclass
239
254
  VaultAppRoleStore = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.VaultAppRoleStore").msgclass
240
255
  VaultAppRoleCertSSHStore = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.VaultAppRoleCertSSHStore").msgclass
@@ -5253,6 +5253,75 @@ module SDM
5253
5253
  end
5254
5254
  end
5255
5255
 
5256
+ class KeyfactorSSHStore
5257
+ # Path to the root CA that signed the certificate passed to the client for HTTPS connection.
5258
+ # This is not required if the CA is trusted by the host operating system. This should be a PEM
5259
+ # formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.
5260
+ attr_accessor :ca_file_path
5261
+ # Path to client certificate in PEM format. This certificate must contain a client certificate that
5262
+ # is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private
5263
+ # key associated with the certificate, but KeyFile can also be set to configure the private key.
5264
+ attr_accessor :certificate_file_path
5265
+ # Name of EJBCA certificate authority that will enroll CSR.
5266
+ attr_accessor :default_certificate_authority_name
5267
+ # Certificate profile name that EJBCA will enroll the CSR with.
5268
+ attr_accessor :default_certificate_profile_name
5269
+ # End entity profile that EJBCA will enroll the CSR with.
5270
+ attr_accessor :default_end_entity_profile_name
5271
+ # code used by EJBCA during enrollment. May be left blank if no code is required.
5272
+ attr_accessor :enrollment_code_env_var
5273
+ # username that used by the EJBCA during enrollment. This can be left out.
5274
+ # If so, the username must be auto-generated on the Keyfactor side.
5275
+ attr_accessor :enrollment_username_env_var
5276
+ # Unique identifier of the SecretStore.
5277
+ attr_accessor :id
5278
+ # Path to private key in PEM format. This file should contain the private key associated with the
5279
+ # client certificate configured in CertificateFile.
5280
+ attr_accessor :key_file_path
5281
+ # Unique human-readable name of the SecretStore.
5282
+ attr_accessor :name
5283
+ # the host of the Key Factor CA
5284
+ attr_accessor :server_address
5285
+ # Tags is a map of key, value pairs.
5286
+ attr_accessor :tags
5287
+
5288
+ def initialize(
5289
+ ca_file_path: nil,
5290
+ certificate_file_path: nil,
5291
+ default_certificate_authority_name: nil,
5292
+ default_certificate_profile_name: nil,
5293
+ default_end_entity_profile_name: nil,
5294
+ enrollment_code_env_var: nil,
5295
+ enrollment_username_env_var: nil,
5296
+ id: nil,
5297
+ key_file_path: nil,
5298
+ name: nil,
5299
+ server_address: nil,
5300
+ tags: nil
5301
+ )
5302
+ @ca_file_path = ca_file_path == nil ? "" : ca_file_path
5303
+ @certificate_file_path = certificate_file_path == nil ? "" : certificate_file_path
5304
+ @default_certificate_authority_name = default_certificate_authority_name == nil ? "" : default_certificate_authority_name
5305
+ @default_certificate_profile_name = default_certificate_profile_name == nil ? "" : default_certificate_profile_name
5306
+ @default_end_entity_profile_name = default_end_entity_profile_name == nil ? "" : default_end_entity_profile_name
5307
+ @enrollment_code_env_var = enrollment_code_env_var == nil ? "" : enrollment_code_env_var
5308
+ @enrollment_username_env_var = enrollment_username_env_var == nil ? "" : enrollment_username_env_var
5309
+ @id = id == nil ? "" : id
5310
+ @key_file_path = key_file_path == nil ? "" : key_file_path
5311
+ @name = name == nil ? "" : name
5312
+ @server_address = server_address == nil ? "" : server_address
5313
+ @tags = tags == nil ? SDM::_porcelain_zero_value_tags() : tags
5314
+ end
5315
+
5316
+ def to_json(options = {})
5317
+ hash = {}
5318
+ self.instance_variables.each do |var|
5319
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
5320
+ end
5321
+ hash.to_json
5322
+ end
5323
+ end
5324
+
5256
5325
  class KeyfactorX509Store
5257
5326
  # Path to the root CA that signed the certificate passed to the client for HTTPS connection.
5258
5327
  # This is not required if the CA is trusted by the host operating system. This should be a PEM
@@ -5278,8 +5347,6 @@ module SDM
5278
5347
  # Path to private key in PEM format. This file should contain the private key associated with the
5279
5348
  # client certificate configured in CertificateFile.
5280
5349
  attr_accessor :key_file_path
5281
- # optional environment variable housing the password that is used to decrypt the key file.
5282
- attr_accessor :key_password_env_var
5283
5350
  # Unique human-readable name of the SecretStore.
5284
5351
  attr_accessor :name
5285
5352
  # the host of the Key Factor CA
@@ -5297,7 +5364,6 @@ module SDM
5297
5364
  enrollment_username_env_var: nil,
5298
5365
  id: nil,
5299
5366
  key_file_path: nil,
5300
- key_password_env_var: nil,
5301
5367
  name: nil,
5302
5368
  server_address: nil,
5303
5369
  tags: nil
@@ -5311,7 +5377,6 @@ module SDM
5311
5377
  @enrollment_username_env_var = enrollment_username_env_var == nil ? "" : enrollment_username_env_var
5312
5378
  @id = id == nil ? "" : id
5313
5379
  @key_file_path = key_file_path == nil ? "" : key_file_path
5314
- @key_password_env_var = key_password_env_var == nil ? "" : key_password_env_var
5315
5380
  @name = name == nil ? "" : name
5316
5381
  @server_address = server_address == nil ? "" : server_address
5317
5382
  @tags = tags == nil ? SDM::_porcelain_zero_value_tags() : tags
data/lib/strongdm.rb CHANGED
@@ -29,7 +29,7 @@ module SDM #:nodoc:
29
29
  DEFAULT_BASE_RETRY_DELAY = 0.0030 # 30 ms
30
30
  DEFAULT_MAX_RETRY_DELAY = 300 # 300 seconds
31
31
  API_VERSION = "2024-03-28"
32
- USER_AGENT = "strongdm-sdk-ruby/8.1.0"
32
+ USER_AGENT = "strongdm-sdk-ruby/8.3.0"
33
33
  private_constant :DEFAULT_MAX_RETRIES, :DEFAULT_BASE_RETRY_DELAY, :DEFAULT_MAX_RETRY_DELAY, :API_VERSION, :USER_AGENT
34
34
 
35
35
  # Creates a new strongDM API client.
data/lib/svc.rb CHANGED
@@ -4508,6 +4508,7 @@ module SDM #:nodoc:
4508
4508
  # {DelineaStore}
4509
4509
  # {GCPStore}
4510
4510
  # {GCPCertX509Store}
4511
+ # {KeyfactorSSHStore}
4511
4512
  # {KeyfactorX509Store}
4512
4513
  # {VaultAppRoleStore}
4513
4514
  # {VaultAppRoleCertSSHStore}
data/lib/version CHANGED
@@ -13,5 +13,5 @@
13
13
  # limitations under the License.
14
14
  #
15
15
  module SDM
16
- VERSION = "8.1.0"
16
+ VERSION = "8.3.0"
17
17
  end
data/lib/version.rb CHANGED
@@ -13,5 +13,5 @@
13
13
  # limitations under the License.
14
14
  #
15
15
  module SDM
16
- VERSION = "8.1.0"
16
+ VERSION = "8.3.0"
17
17
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: strongdm
3
3
  version: !ruby/object:Gem::Version
4
- version: 8.1.0
4
+ version: 8.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - strongDM Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-04-25 00:00:00.000000000 Z
11
+ date: 2024-05-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: grpc
@@ -81,8 +81,8 @@ files:
81
81
  - "./.git/logs/HEAD"
82
82
  - "./.git/logs/refs/heads/master"
83
83
  - "./.git/logs/refs/remotes/origin/HEAD"
84
- - "./.git/objects/pack/pack-63b03bbfbc64adbf239ae7962c94b13e00085e38.idx"
85
- - "./.git/objects/pack/pack-63b03bbfbc64adbf239ae7962c94b13e00085e38.pack"
84
+ - "./.git/objects/pack/pack-4261676cf40d688329aa296e253a717a48298b9c.idx"
85
+ - "./.git/objects/pack/pack-4261676cf40d688329aa296e253a717a48298b9c.pack"
86
86
  - "./.git/packed-refs"
87
87
  - "./.git/refs/heads/master"
88
88
  - "./.git/refs/remotes/origin/HEAD"