Începerea cu Crane | R-BLOGGERS

URMĂREȘTE-NE
16,065FaniÎmi place
1,142CititoriConectați-vă

(Acest articol a fost publicat pentru prima dată pe Analitică deschisăși a contribuit cu drag la R-Bloggers). (Puteți raporta problema despre conținutul de pe această pagină aici)


Doriți să vă împărtășiți conținutul pe R-Bloggers? Faceți clic aici dacă aveți un blog sau aici dacă nu.

Pe măsură ce macara comună (Grus Grus) migrează în zona lor de reproducere, este timpul să vă configurați propriul server de macara. Crane este un nou produs open source pentru a găzdui artefacte științifice datelor: rapoarte de analiză a datelor, site -uri de documentare, pachete și biblioteci, puteți citi postarea blogului de introducere aici. Această postare oferă o configurație simplă pentru a începe cu macara folosind Docker Compose.

În primul rând, asigurați -vă că instalați Docker și Docker compune. Apoi, pregătiți configurarea compunerii docker:

  1. Creați un nou director numit crane şi cd în ea:

    mkdir crane
    cd crane
    
  2. Creați câteva date de exemplu:

    mkdir data
    mkdir data/project1
    mkdir data/project2
    echo "This is a demo of crane!" > data/project1/file1.txt
    echo "This is a demo of crane!" > data/project2/index.html
    
  3. Creați un fișier docker-compose.yml cu următorul conținut:

    services:
    crane:
    image: openanalytics/crane:1.0.0
    ports:
    - "8080:8080"
    volumes:
    - "./data:/srv/crane"
    - "./application.yml:/opt/crane/application.yml"
    

Acest simplu fișier Docker-Coloppose configurează imaginea Docker de utilizat, expune
8080 port, montează data Director și The application.yml Fișier de configurare.

Autentificare de configurare

Macara se poate integra cu orice furnizor de identitate (IDP) care acceptă OpenID Connect. Prin urmare, se poate integra cu toate IDP -urile comune, cum ar fi (Azure) Active Directory, Okta, Auth0 etc. În scopuri demonstrative, integrăm macara cu Gitlab. Înainte de a configura Crane, trebuie să creăm o aplicație OpenID în GitLab:

  1. Conectați -vă la https://gitlab.com
  2. În Setări, accesați pagina Aplicații: https://gitlab.com/-/user_settings/applications
  3. Faceți clic pe Add new application buton
  4. completați crane ca nume
  5. completați http://localhost:8080/login/oauth2/code/gitlab ca redirecționare URI
  6. selectați openid, profile şi email scopuri
  7. Faceți clic pe Save application buton
  8. Copiați Application ID şi Secret din UI
  9. Faceți clic pe Continuare

Acum este timpul să creăm application.yml fișier de configurare pentru macara (în același director ca docker-compose.yml fişier):

app:
openid-issuer-uri: https://gitlab.com
storage-location: /srv/crane/
repositories:
project1:
read-access:
any-authenticated-user: true
project2:
read-access:
any-authenticated-user: true
spring:
security:
oauth2:
client:
registration:
gitlab:
client-id: 
client-secret: 
scope:
- openid
- email
- profile
provider:
gitlab:
issuer-uri: https://gitlab.com

Asigurați -vă că completați client-id şi client-secret valori, folosind
Application ID şi Secret Valori de pe site -ul Gitlab. Cu toate configurațiile gata, puteți porni acum CRANE:

docker compose up

După câteva secunde, linia Started Crane 1.0.0 va fi înregistrat, indicând că macara este gata de utilizare. Deschideți-vă browserul preferat și parcurgeți
http://localhost:8080. Vei fi redirecționat către Gitlab, întrebându -vă dacă doriți să vă autentificați în macara:

Odată ce îl acceptați, sunteți redirecționat înapoi la Crane și veți vedea o listă de depozite:

Adăugarea autorizației

În configurarea curentă, avem două depozite configurate (project1 şi
project2) Ambele depozite conțin următoarea configurație de autorizare:

read-access:
any-authenticated-user: true

După cum puteți, cu excepția, acest lucru dă citire Acces la orice utilizator care se poate autentifica folosind GitLab. Dacă configurați macara folosind IDP -ul companiei dvs., acest lucru ar însemna că orice utilizator din compania dvs. poate accesa depozitele.

Să restricționăm accesul la project1prin listarea utilizatorilor care pot accesa depozitul. Actualizați configurația project1 la:

project1:
read-access:
users:
- MyGitLabUsername
- AnotherGitLabUsername

Asigurați -vă că eliminați any-authenticated-user proprietate și pentru a enumera orice nume de utilizator GitLab care pot accesa depozitul. În continuare, reporniți macara oprind comanda anterioară folosind Ctrl+C și alergând
docker compose up din nou.

Dacă acum te deschizi http://localhost:8080 Ar trebui să le vezi în continuare pe amândouă project1 şi
project2. Cu toate acestea, dacă te -ai autentifica cu un cont Gitlab diferit, vei vedea doar project2. De asemenea, puteți specifica grupuri în loc de utilizatori. Acest lucru nu este posibil atunci când utilizați Gitlab, dar este foarte frecvent atunci când utilizați IDP -ul companiei dvs.

Activarea încărcării

Ca pas următor, să permitem utilizatorilor specifici să încarce fișiere folosind următoarea configurație:

project1:
read-access:
users:
- MyGitLabUsername
- AnotherGitLabUsername
write-access:
users:
- MyGitLabUsername

Odată ce reporniți macara, utilizatorul MyGitLabUsername va putea încărca fișiere folosind UI sau API. Toți ceilalți utilizatori nu vor avea permisiunea de încărcare.

Adăugarea unui depozit public

Deși protejarea datelor dvs. este importantă, este posibil să doriți, de asemenea, să găzduiți o anumită documentație publică. Crane vă permite să găzduiți cu ușurință acest lucru împreună cu toate datele dvs. private. Ca exemplu, vom găzdui documentația pachetului BayEsplot. La fel ca multe alte pachete R, documentația este construită folosind PKGDown.

  1. mai întâi clonă documentația într -un nou director (în afara data director):

    git clone -b gh-pages https://github.com/stan-dev/bayesplot/
    cd bayesplot
    
  2. Instalați pkgdown şi bayesplot pachet:

    R -q -e "install.packages(c('pkgdown', 'bayesplot'))"
    
  3. Generați site -ul PKGDown:

    R -q -e "pkgdown::build_site()"
    
  4. Copiați site -ul în directorul de date:

    cp -r * ../data/bayesplot
    
  5. Adăugați depozitul la Crane Config:

    app:
    # ..
    repositories:
    bayesplot:
    read-access:
    public: true
    # ...
    
  6. Reporniți macara

Documentația este acum disponibilă la http: // localhost: 8080/bayesplot. Rețineți că puteți actualiza conținutul documentației fără a reporni macara.

Concluzie

Această postare pe blog a explicat cum să începeți cu ușurință cu Crane. Pentru a continua să învățați despre Crane, accesați documentația sau consultați asistența pe care o oferim.

Dominic Botezariu
Dominic Botezariuhttps://www.noobz.ro/
Creator de site și redactor-șef.

Cele mai noi știri

Pe același subiect

LĂSAȚI UN MESAJ

Vă rugăm să introduceți comentariul dvs.!
Introduceți aici numele dvs.