Project

General

Profile

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