72 lines
3.1 KiB
Markdown
72 lines
3.1 KiB
Markdown
# Datarekisteri – Datat RY:n jäsenrekisteri
|
||
|
||
Datayhdistyksen jäsenrekisterin lähdekoodi. Pitkällä aikavälillä tavoitteena on
|
||
saada mahdollisimman paljon toiminnallisuudesta abstraktoitua ja siirrettyä
|
||
[`rekisteri`](https://hub.sr.ht/~slaesvuo/rekisteri):iin, mutta tällä hetkellä
|
||
se ei ole mahdollista.
|
||
|
||
## Kehitykseen osallistuminen
|
||
|
||
Toimivan kehitysympäristön saat helposti ajamalla komennon [`guix
|
||
shell`](https://guix.gnu.org/manual/devel/en/guix.html#Invoking-guix-shell)
|
||
tämän hakemiston sisällä. Mikäli Guix ei saa luotua ympäristöä, aja sama
|
||
komento toimivaksi tiedettyssä Guix-versiossa
|
||
([`guix time-machine -C channels.scm -- shell`](https://guix.gnu.org/manual/devel/en/guix.html#Invoking-guix-time_002dmachine))
|
||
|
||
Vikoja ja kehitysehdotuksia voi lähettää sähköpostilla (<admin@datat.fi>) tai
|
||
[kirjata giteaan](https://git.datat.fi/ry/datarekisteri/issues). Samoin
|
||
muutoksia voi [lähettää gitean
|
||
kautta](https://git.datat.fi/ry/datarekisteri/pulls) tai sähköpostilla
|
||
käyttämällä komentoa [`git send-email`](https://git-send-email.io/).
|
||
|
||
Tähän tietovarantoon kirjoitusoikeudellisten henkilöiden pitää varmistaa, että
|
||
he puskevat vain GPG-allekirjoitettua koodia ja että allekirjoittamiseen
|
||
käytettyn avaimen julkinen osa on lisätty `keyring`-kehityshaaraan ja avaimen
|
||
sormenjälki on lisätty `.guix-authorizations`-tiedostoon. Muuten datarekisterin
|
||
Guix-kanavan lataaminen ei toimi ja julkaistua datarekisteriä ei voida
|
||
päivittää ennen kuin allekirjoittamattomat muutokset on poistettu
|
||
git-historiasta.
|
||
|
||
## Asentaminen
|
||
|
||
Datarekisterin voit asentaa helposti lisäämällä alla olevan pätkän guix:in
|
||
[kanavalistaan](https://guix.gnu.org/manual/en/guix.html#Specifying-Additional-Channels).
|
||
|
||
```lisp
|
||
(channel
|
||
(name 'datarekisteri)
|
||
(url "https://git.datat.fi/ry/datarekisteri.git")
|
||
(branch "main")
|
||
(introduction
|
||
(make-channel-introduction
|
||
"e93c797eefb1538e7defe04786e0bb5adb039799"
|
||
(openpgp-fingerprint
|
||
"A0C9 1947 734F 076F 5F08 E9FF 257D 284A 2A1D 3A32"))))
|
||
```
|
||
|
||
### Käänteisen välityspalvelimen asetukset
|
||
|
||
Käänteisen välityspalvelimen pitäisi määritellä CSP estämään kaikkien skriptien
|
||
ajaminen, koska datarekisterin ei tarvitse ajaa koodia käyttäjän laitteella.
|
||
Datarekisterin ei pitäisi myöskään lähettää koodia ajettavaksi, mutta on
|
||
parempi varmistaa. Content-Type-Options estää selaimia tulkitsemasta tiedostoja
|
||
virheellisesti skripteiksi tai tyylitiedostoiksi.
|
||
|
||
```
|
||
Content-Security-Policy: default-src 'self'; scrip-src 'none'; object-src 'none'
|
||
X-Content-Type-Options: nosniff
|
||
```
|
||
|
||
**Käänteisen välityspalvelimen pitää myös pakottaa kaikki liikenne kulkemaan
|
||
HTTPS:n yli uudelleenohjaamalla kaikki HTTP-kyselyt**. Lisäksi voi asettaa
|
||
Strict-Transport-Security otsikon. Kaikki käyttäjätiedot, salasanat
|
||
mukaanlukien, ovat käytännössä julkisia, jos salaamattomat HTTP-kyselyt
|
||
sallitaan.
|
||
|
||
## Kopiointi
|
||
|
||
Saat käyttää tätä ohjelmaa ja lähdekoodia
|
||
[AGPL-lisenssin](https://www.gnu.org/licenses/agpl-3.0.en.html) version 3 tai
|
||
minkä tahansa myöhemmän Free Software Foundationin julkaiseman version
|
||
ehdoilla.
|