# The Arctica Project Preliminary Technical Specifications
## Layout of clientside users private .arctica folder.
### Example Folder Tree
```
.arctica/
<A_SSH_SID>.SSH/
execs.info
asshm.sock
opensshm.sock
fail.log
drawer/
<A_CORE_SID>.COR/
main/
c2s_<DESC>_<SOCK_FWD_ID>.sock
s2c_<DESC>_<SOCK_FWD_ID>.sock
tmp/
c2s_<SOCK_FWD_ID>.sock
s2c_<SOCK_FWD_ID>.sock
teki/
.tekiable
c2s_<APPNAME>_<APP_SID>.sock
s2c_<APPNAME>_<APP_SID>.sock
```
### Folders Files and Sockets
#### .arctica/
*The "home" of all things Arctica*
I dont think this one warants more explanation.
#### <A_SSH_SESSION_ID>.SSH/
*.arctica/<A_SSH_SESSION_ID>.SSH/*
Individual base folder for an arctica SSH session.
Created by the respective "Arctica SSH Master" in its initial startup phase.
#### execs.info
*.arctica/<A_SSH_SESSION_ID>.SSH/execs.info*
Plain text file contaning information about various presistent executables
that pertain to this particular SSH connection.
First line should be the PID of the parent exec.
Created by the respective "Arctica SSH Master" in its initial startup phase.
#### asshm.sock
*.arctica/<A_SSH_SESSION_ID>.SSH/asshm.sock*
Control socket for the respective "Arctica SSH Master".
(Not to be confused with the OpenSSH master socket!)
Created by the respective "Arctica SSH Master" in its initial startup phase.
#### opensshm.sock
*.arctica/<A_SSH_SESSION_ID>.SSH/opensshm.sock*
Thist is the OpenSSH control socket... created by "ssh"..
For more info about this socket check out the -S and -M options in the
openssh ssh man page ("man ssh").
#### fail.log
*.arctica/<A_SSH_SESSION_ID>.SSH/fail.log*
Created by the respective "Arctica SSH Master".
Should only be created if there is a fatal error that we're unable to report
through the main arctica errlog/debugging methods.
[INSERT LINK TO DOCS REGARDING ERROR LOGGING AND DEBUGGING]
#### drawer/
*.arctica/<A_SSH_SESSION_ID>.SSH/drawer/*
A folder where we keep all the sockets (a.k.a. socks) pretaining to respective Arctica Core sessions. Keep in mind that an "Arctica SSH sessions" is not a "Core session".
The folder shall be created by the respective "Arctica SSH Master" in its initial startup phase.
[INSERT LINK TO DOCS REGARDING SESSION TYPES]
#### <A_CORE_SID>.COR/
*.arctica/<A_SSH_SESSION_ID>.SSH/drawer/<A_CORE_SID>.COR/*
Future "sepparating" the drawer into folders for each respective "Arctica Core Session".
Folder is created by the "Core Session Master", which would also clean it up when connection to the respective core session is terminated.
#### main/
*.arctica/<A_SSH_SESSION_ID>.SSH/drawer/<A_CORE_SID>.COR/main/*
This folder should contain somewhat permanent sockets that whould remain in use for the duration of the time we're connected.
Examples would be sockets for audio or graphics transport.
Folder is created by the "Core Session Master", which would also clean it up when connection to the respective core session is terminated.
#### tmp/
*.arctica/<A_SSH_SESSION_ID>.SSH/drawer/<A_CORE_SID>.COR/tmp/*
This folder should be used for sittuations where you need a socket forwarded for an individual task. This could for instance be dumping over some raw data in a "scp" fashion. Or just about anything that just needs a socket temporary socket for a very brief moment or individual operation.
If for instanec you are going to be dumping some data consistently every 5seconds or so. You may want to concider writing up something that you declare as a "main" socket.
Folder is created by the "Core Session Master", which would also clean it up when connection
Comments
0 B
|👍
/👎