definition.yml 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. title: Git
  2. icon: '/_assets/icons/ultraviolet-git.svg'
  3. banner: '/_assets/storage/git.jpg'
  4. description: Git is a version control system for tracking changes in computer files and coordinating work on those files among multiple people. If using GitHub, use the GitHub module instead!
  5. vendor: Software Freedom Conservancy, Inc.
  6. website: 'https://git-scm.com'
  7. assetDelivery:
  8. isStreamingSupported: true
  9. isDirectAccessSupported: false
  10. defaultStreamingEnabled: true
  11. defaultDirectAccessEnabled: false
  12. contentTypes:
  13. defaultTypesEnabled: ['pages', 'images', 'documents', 'others', 'large']
  14. defaultLargeThreshold: '5MB'
  15. versioning:
  16. isSupported: true
  17. defaultEnabled: true
  18. isForceEnabled: true
  19. sync:
  20. supportedModes:
  21. - sync
  22. - push
  23. - pull
  24. defaultMode: sync
  25. schedule: PT5M
  26. props:
  27. authType:
  28. type: String
  29. default: 'ssh'
  30. title: Authentication Type
  31. hint: Use SSH for maximum security.
  32. icon: security-configuration
  33. enum:
  34. - basic|Basic
  35. - ssh|SSH
  36. enumDisplay: buttons
  37. order: 1
  38. repoUrl:
  39. type: String
  40. title: Repository URI
  41. hint: Git-compliant URI (e.g. git@server.com:org/repo.git for ssh, https://server.com/org/repo.git for basic)
  42. icon: dns
  43. order: 2
  44. branch:
  45. type: String
  46. default: 'main'
  47. title: Branch
  48. hint: The branch to use during pull / push
  49. icon: code-fork
  50. order: 3
  51. sshPrivateKeyMode:
  52. type: String
  53. title: SSH Private Key Mode
  54. hint: The mode to use to load the private key. Fill in the corresponding field below.
  55. icon: grand-master-key
  56. order: 11
  57. default: inline
  58. enum:
  59. - path|File Path
  60. - inline|Inline Contents
  61. enumDisplay: buttons
  62. if:
  63. - { key: 'authType', eq: 'ssh' }
  64. sshPrivateKeyPath:
  65. type: String
  66. title: SSH Private Key Path
  67. hint: Absolute path to the key. The key must NOT be passphrase-protected.
  68. icon: key
  69. order: 12
  70. if:
  71. - { key: 'authType', eq: 'ssh' }
  72. - { key: 'sshPrivateKeyMode', eq: 'path' }
  73. sshPrivateKeyContent:
  74. type: String
  75. title: SSH Private Key Contents
  76. hint: Paste the contents of the private key. The key must NOT be passphrase-protected.
  77. icon: key
  78. multiline: true
  79. sensitive: true
  80. order: 13
  81. if:
  82. - { key: 'sshPrivateKeyMode', eq: 'inline' }
  83. verifySSL:
  84. type: Boolean
  85. default: true
  86. title: Verify SSL Certificate
  87. hint: Some hosts requires SSL certificate checking to be disabled. Leave enabled for proper security.
  88. icon: security-ssl
  89. order: 14
  90. basicUsername:
  91. type: String
  92. title: Username
  93. hint: Basic Authentication Only
  94. icon: test-account
  95. order: 20
  96. if:
  97. - { key: 'authType', eq: 'basic' }
  98. basicPassword:
  99. type: String
  100. title: Password / PAT
  101. hint: Basic Authentication Only
  102. icon: password
  103. sensitive: true
  104. order: 21
  105. if:
  106. - { key: 'authType', eq: 'basic' }
  107. defaultEmail:
  108. type: String
  109. title: Default Author Email
  110. default: 'name@company.com'
  111. hint: 'Used as fallback in case the author of the change is not present.'
  112. icon: email
  113. order: 30
  114. defaultName:
  115. type: String
  116. title: Default Author Name
  117. default: 'John Smith'
  118. hint: 'Used as fallback in case the author of the change is not present.'
  119. icon: customer
  120. order: 31
  121. localRepoPath:
  122. type: String
  123. title: Local Repository Path
  124. default: './data/repo'
  125. hint: 'Path where the local git repository will be created.'
  126. icon: symlink-directory
  127. order: 32
  128. gitBinaryPath:
  129. type: String
  130. title: Git Binary Path
  131. default: ''
  132. hint: Optional - Absolute path to the Git binary, when not available in PATH. Leave empty to use the default PATH location (recommended).
  133. icon: run-command
  134. order: 50
  135. actions:
  136. - handler: syncUntracked
  137. label: Add Untracked Changes
  138. hint: Output all content from the DB to the local Git repository to ensure all untracked content is saved. If you enabled Git after content was created or you temporarily disabled Git, you'll want to execute this action to add the missing untracked changes.
  139. icon: database-daily-export
  140. - handler: sync
  141. label: Force Sync
  142. hint: Will trigger an immediate sync operation, regardless of the current sync schedule. The sync direction is respected.
  143. icon: synchronize
  144. - handler: importAll
  145. label: Import Everything
  146. hint: Will import all content currently in the local Git repository, regardless of the latest commit state. Useful for importing content from the remote repository created before git was enabled.
  147. icon: database-daily-import
  148. - handler: purge
  149. label: Purge Local Repository
  150. hint: If you have unrelated merge histories, clearing the local repository can resolve this issue. This will not affect the remote repository or perform any commit.
  151. icon: trash