SFTPSSH Component Repository » History » Version 3
Henning Blohm, 05.04.2021 22:18
1 | 2 | Henning Blohm | h1. SFTP / SSH Component Repository - TBC |
---|---|---|---|
2 | 1 | Henning Blohm | |
3 | Currently the Git support in z2, while very efficient and convenient in development, is somewhat inefficient for repeated deployments due to the inability of selective downloads and Git and hence high network load due to full repo clones. |
||
4 | |||
5 | This proposal for a more generic SFTP and SSH based file system backed repository among other features completely eleminates the need to provide anything non-required to nodes and, in conjunction with Git, provides a simple and yet straightforward way for an efficient and versioned central system definition. |
||
6 | |||
7 | h2. Concept |
||
8 | 2 | Henning Blohm | |
9 | * Provisioning side is an SFTP location that is accessible via SSH for code execution |
||
10 | * Clients run (by need) repository scan to create component index DB for download by clients: |
||
11 | ** Throttling by time lapse |
||
12 | ** Keeping the last n revisions (number and age) |
||
13 | ** Indexing code supplied by client (providing side needs up-to-date Java install) |
||
14 | * Download of index DB and component resources via SFTP |
||
15 | 3 | Henning Blohm | * Client side config specifies folder locations: |
16 | <pre><code class="bash"> |
||
17 | | |
||
18 | +-.z2-+-config.properties |
||
19 | | +-latest |
||
20 | | +-index_<tn>.json |
||
21 | | +-index_<tn-1>.json |
||
22 | | ... |
||
23 | | +-index_<tn>.json |
||
24 | | |
||
25 | +-resources |
||
26 | </code></pre> |
||
27 | 1 | Henning Blohm | |
28 | h2. How to Apply w/ Git |
||
29 | |||
30 | 3 | Henning Blohm | * Git as special case of resource location: .git folder as resource folder |
31 | |||
32 | 1 | Henning Blohm | h2. How to Provide for Development vs. Production Setup |
33 | 3 | Henning Blohm | |
34 | * Split enabled repositories by environment variables: |
||
35 | ** E.g.: Introduce intermediate state that groups and participates in bootrepo_up |