fix: git private key alt paste mode

This commit is contained in:
Nick 2019-07-14 18:55:12 -04:00
parent c88a9fc703
commit fd8d358b63
8 changed files with 101 additions and 20 deletions

View File

@ -70,6 +70,18 @@
:hint='cfg.value.hint ? cfg.value.hint : ""' :hint='cfg.value.hint ? cfg.value.hint : ""'
persistent-hint persistent-hint
) )
v-textarea(
v-else-if='cfg.value.type === "string" && cfg.value.multiline'
outline
background-color='grey lighten-2'
:key='cfg.key'
:label='cfg.value.title'
v-model='cfg.value.value'
prepend-icon='settings_applications'
:hint='cfg.value.hint ? cfg.value.hint : ""'
persistent-hint
:class='cfg.value.hint ? "mb-2" : ""'
)
v-text-field( v-text-field(
v-else v-else
outline outline

View File

@ -106,6 +106,18 @@
:hint='cfg.value.hint ? cfg.value.hint : ""' :hint='cfg.value.hint ? cfg.value.hint : ""'
persistent-hint persistent-hint
) )
v-textarea(
v-else-if='cfg.value.type === "string" && cfg.value.multiline'
outline
background-color='grey lighten-2'
:key='cfg.key'
:label='cfg.value.title'
v-model='cfg.value.value'
prepend-icon='settings_applications'
:hint='cfg.value.hint ? cfg.value.hint : ""'
persistent-hint
:class='cfg.value.hint ? "mb-2" : ""'
)
v-text-field( v-text-field(
v-else v-else
outline outline

View File

@ -71,6 +71,18 @@
:hint='cfg.value.hint ? cfg.value.hint : ""' :hint='cfg.value.hint ? cfg.value.hint : ""'
persistent-hint persistent-hint
) )
v-textarea(
v-else-if='cfg.value.type === "string" && cfg.value.multiline'
outline
background-color='grey lighten-2'
:key='cfg.key'
:label='cfg.value.title'
v-model='cfg.value.value'
prepend-icon='settings_applications'
:hint='cfg.value.hint ? cfg.value.hint : ""'
persistent-hint
:class='cfg.value.hint ? "mb-2" : ""'
)
v-text-field( v-text-field(
v-else v-else
outline outline

View File

@ -114,6 +114,18 @@
:hint='cfg.value.hint ? cfg.value.hint : ""' :hint='cfg.value.hint ? cfg.value.hint : ""'
persistent-hint persistent-hint
) )
v-textarea(
v-else-if='cfg.value.type === "string" && cfg.value.multiline'
outline
background-color='grey lighten-2'
:key='cfg.key'
:label='cfg.value.title'
v-model='cfg.value.value'
prepend-icon='settings_applications'
:hint='cfg.value.hint ? cfg.value.hint : ""'
persistent-hint
:class='cfg.value.hint ? "mb-2" : ""'
)
v-text-field( v-text-field(
v-else v-else
outline outline

View File

@ -31,6 +31,7 @@ module.exports = {
title: value.title || _.startCase(key), title: value.title || _.startCase(key),
hint: value.hint || false, hint: value.hint || false,
enum: value.enum || false, enum: value.enum || false,
multiline: value.multiline || false,
order: value.order || 100 order: value.order || 100
}) })
return result return result

View File

@ -27,16 +27,19 @@ props:
type: String type: String
title: Certificate title: Certificate
hint: (Optional) - Public PEM-encoded X.509 signing certificate. If the provider has multiple certificates that are valid, join them together using the | pipe symbol. hint: (Optional) - Public PEM-encoded X.509 signing certificate. If the provider has multiple certificates that are valid, join them together using the | pipe symbol.
multiline: true
order: 4 order: 4
privateCert: privateCert:
type: String type: String
title: Private Certificate title: Private Certificate
hint: (Optional) - PEM formatted key used to sign the certificate. hint: (Optional) - PEM formatted key used to sign the certificate.
multiline: true
order: 5 order: 5
decryptionPvk: decryptionPvk:
type: String type: String
title: Decryption Private Key title: Decryption Private Key
hint: (Optional) - Private key that will be used to attempt to decrypt any encrypted assertions that are received. hint: (Optional) - Private key that will be used to attempt to decrypt any encrypted assertions that are received.
multiline: true
order: 6 order: 6
signatureAlgorithm: signatureAlgorithm:
type: String type: String

View File

@ -29,51 +29,68 @@ props:
branch: branch:
type: String type: String
default: 'master' default: 'master'
hint: The branch to use during pull / push
order: 3 order: 3
sshPrivateKeyMode:
type: String
title: SSH Private Key Mode
hint: SSH Authentication Only - The mode to use to load the private key. Fill in the corresponding field below.
order: 11
default: 'path'
enum:
- 'path'
- 'contents'
sshPrivateKeyPath:
type: String
title: A - SSH Private Key Path
hint: SSH Authentication Only - Absolute path to the key. The key must NOT be passphrase-protected. Mode must be set to path to use this option.
order: 12
sshPrivateKeyContent:
type: String
title: B - SSH Private Key Contents
hint: SSH Authentication Only - Paste the contents of the private key. The key must NOT be passphrase-protected. Mode must be set to contents to use this option.
multiline: true
order: 13
verifySSL: verifySSL:
type: Boolean type: Boolean
default: true default: true
title: Verify SSL Certificate title: Verify SSL Certificate
hint: Some hosts requires SSL certificate checking to be disabled. Leave enabled for proper security. hint: Some hosts requires SSL certificate checking to be disabled. Leave enabled for proper security.
order: 31 order: 14
sshPrivateKeyPath:
type: String
title: SSH Private Key Path
hint: SSH Authentication Only - Absolute path to the key. The key must NOT be passphrase-protected.
order: 10
basicUsername: basicUsername:
type: String type: String
title: Username title: Username
hint: Basic Authentication Only hint: Basic Authentication Only
order: 11 order: 20
basicPassword: basicPassword:
type: String type: String
title: Password / PAT title: Password / PAT
hint: Basic Authentication Only hint: Basic Authentication Only
order: 12 order: 21
defaultEmail:
type: String
title: Default Author Email
default: 'name@company.com'
hint: 'Used as fallback in case the author of the change is not present.'
order: 22
defaultName:
type: String
title: Default Author Name
default: 'John Smith'
hint: 'Used as fallback in case the author of the change is not present.'
order: 23
localRepoPath: localRepoPath:
type: String type: String
title: Local Repository Path title: Local Repository Path
default: './data/repo' default: './data/repo'
hint: 'Path where the local git repository will be created.' hint: 'Path where the local git repository will be created.'
order: 30 order: 30
defaultEmail:
type: String
title: Default Author Email
default: 'name@company.com'
hint: 'Used as fallback in case the author of the change is not present.'
order: 20
defaultName:
type: String
title: Default Author Name
default: 'John Smith'
hint: 'Used as fallback in case the author of the change is not present.'
order: 21
gitBinaryPath: gitBinaryPath:
type: String type: String
title: Git Binary Path title: Git Binary Path
default: '' default: ''
hint: Optional - Absolute path to the Git binary, when not available in PATH. Leave empty to use the default PATH location (recommended). hint: Optional - Absolute path to the Git binary, when not available in PATH. Leave empty to use the default PATH location (recommended).
order: 50
actions: actions:
- handler: syncUntracked - handler: syncUntracked
label: Add Untracked Changes label: Add Untracked Changes

View File

@ -104,6 +104,18 @@ module.exports = {
switch (this.config.authType) { switch (this.config.authType) {
case 'ssh': case 'ssh':
WIKI.logger.info('(STORAGE/GIT) Setting SSH Command config...') WIKI.logger.info('(STORAGE/GIT) Setting SSH Command config...')
if (this.config.sshPrivateKeyMode === 'contents') {
try {
this.config.sshPrivateKeyPath = path.join(WIKI.ROOTPATH, 'data/secure/git-ssh.pem')
await fs.outputFile(this.config.sshPrivateKeyPath, this.config.sshPrivateKeyContent, {
encoding: 'utf8',
mode: 0o600
})
} catch (err) {
console.error(err)
throw err
}
}
await this.git.addConfig('core.sshCommand', `ssh -i "${this.config.sshPrivateKeyPath}" -o StrictHostKeyChecking=no`) await this.git.addConfig('core.sshCommand', `ssh -i "${this.config.sshPrivateKeyPath}" -o StrictHostKeyChecking=no`)
WIKI.logger.info('(STORAGE/GIT) Adding origin remote via SSH...') WIKI.logger.info('(STORAGE/GIT) Adding origin remote via SSH...')
await this.git.addRemote('origin', this.config.repoUrl) await this.git.addRemote('origin', this.config.repoUrl)