Iosdk configurazione e accesso da altro pc

Buongiorno,
richiedo cortesemente questa informazione.

Ho installato con successo iosdk su Centos 7.

Dopo aver avviato iosdk ottengo queste ultime tre riqhe di log:

ok: whisk auth set. Run ‘wsk property get --auth’ to see the new value.
ok: whisk API host set to http://openwhisk:3280
xdg-open: no method available for opening ‘http://localhost:3280/

Ho provato a puntare il broswer del mio pc su http://nome_host_mia_macchina:3280 ma risulta non raggiungibile.

Chiedo:

è possibile raggiungere iosdk da un’altra macchina ?
è possibile cambiare il nome host quando si fa partire iosdk ?

Grazie della collaborazione.
Saluti.

Questo è normale… e non dannoso.

IO-SDK cerca di lanciare il browser quando ha lanciato il server. Ma se il browser non c’è ottieni errore. Sembra che tu abbia installato un browser che non è lanciato da xdg-open che è il modo standard per lanciare i browser su linux.

Dovresti riuscire a raggiungerlo però con http://localhost:3280/. NON con l’indirizzo della macchina però.

Se non lo raggiungi … allora c’è qualche problema. Cosa succede se esegui iosdk status?

Aggiungo che NON dovresti poterlo eseguire da un altro PC, è progettato (per ora) per funzionare dalla singola workstation e tenere i dati in una sola macchina. Privacy… La app cerca inoltre anche di connettersi a localhost:3280 quindi mi sa che non funziona se lo accedi da un altro PC

Il solo modo per ora è aprire un tunnel. Con ssh puoi fare ssh -L 3280:localhost:3280 -L 3000:localhost:3000 user@server.

Grazie per la risposta, ma sono “testone” e mi hai già detto che l’ambiente è predisposto per lavorare su una workstation, ma ritengo che sia molto comodo installarlo su di un server e lavorarlo su un client.
Se hai tempo da perdere continua a leggere altrimenti grazie ugualmente.

Ho lanciato in sequenza sulla macchina linux dove ho installato il prodotto:

iosdk status
iosdk-openwhisk: running
iosdk-redis: running
iosdk-theia: running

wget http://127.0.0.1:3280 --no-proxy (PER ME QUI C’E’ QUALCOSA CHE NON VA)
–2020-10-21 12:25:58-- http://127.0.0.1:3280/
Connessione a 127.0.0.1:3280…connesso.
Richiesta HTTP inviata, in attesa di risposta… 404 Not Found
2020-10-21 12:25:58 ERRORE 404: Not Found.

wget http://127.0.0.1:3000 --no-proxy
–2020-10-21 12:26:24-- http://127.0.0.1:3000/
Connessione a 127.0.0.1:3000…connesso.
Richiesta HTTP inviata, in attesa di risposta… 200 OK
Lunghezza: 341 [text/html]
Salvataggio in: “index.html.1”

100%[================================================================================================================>] 341 --.-K/s in 0s

2020-10-21 12:26:24 (36,0 MB/s) - “index.html.1” salvato [341/341]

wget http://127.0.0.1:6379 --no-proxy
–2020-10-21 12:27:57-- http://127.0.0.1:6379/
Connessione a 127.0.0.1:6379…connesso.
Richiesta HTTP inviata, in attesa di risposta… 200 Nessuna intestazione, si assume HTTP/0.9
Lunghezza: non specificato
Salvataggio in: “index.html.2”

[                    <=>                                                                                          ] 321         --.-K/s              ^C

Ctrl-C

Ho installato nginx come reverse proxy e theia funziona, MA OVVIAMENTE openwhisk risponde 404 anche perchè risponde così anche localmente.

Ti (ti do del tu) viene in mente qualcosa ?

Grazie per aver letto e perso tempo fino a qui.

Saluti.

Allora, diciamo la “verità”.

Chiarimento

La versione 0.5.2 da non localhost non può funzionare perchè ci sono cablati gli url http://localhost:3280, solo modificando il codice puoi farlo funzionare.

La versione 0.5.3-rc1 invece la ho modificata, e ORA (da due giorni) “dovrebbe” ora prendere l’url e quindi l’interfaccia dovrebbe poter funzionare anche se ci accedi da un server diverso. Ma è un setup molto insicuro.

Avresti accesso in rete locale a un server che contiene una chiave che permette di inviare messaggi a tutti i cittadini italiani autorizzati. Questo lo posso fare solo se metto almeno una password e infatti ho intenzione di renderlo accessibile remotamente ma la API KEY non la metto sul server ma la memorizzo solo nel browser così almeno la API key rimane nel client.

Debug

Ora torniamo al tuo problema

Se mi dici che wget wget http://127.0.0.1:3280 --no-proxy ti da not found… hai ragione che non va.

Dovrebbe fare una redirect. Ecco cosa da a me:

$ wget --max-redirect=0 http://localhost:3280
--2020-10-22 12:56:23--  http://localhost:3280/
Risoluzione di localhost (localhost)... ::1, 127.0.0.1
Connessione a localhost (localhost)|::1|:3280... connesso.
Richiesta HTTP inviata, in attesa di risposta... 302 Found
Posizione: http://localhost:3280/app/index.html [segue]
superate 0 ridirezioni.

Cosa fare

Installati la versione 0.5.3-rc1, controlla la versione iosdk --version, stoppa e ristarta le immagini iosdk restart e dimmi l’output di wget --no-proxy http://localhost:3280 --max-redirect=0

Alcune note “aggiuntive”: l’idea di fare un “server” da usare in rete locale è previsto nella roadmap. Ma per farlo devo rendere il server multi utente e metterci una password COME MINIMO. Questo in pratica sarà una delle differenze tra l’IO-SDK e l’IO-Gateway, il primo è (e rimane) un kit di sviluppo, il secondo sarà un server pronto all’uso.

Buongiorno,

sono un newbe e per il comune per cui lavoro, come dipendente dell’ufficio informatico, vorremmo avviare un servizio fatto in casa sfruttando iosdk. Avevo seguito a Gennaio il vostro webinar di presentazione e solo ad oggi sono realmente partito con lo sviluppo.

Avevo anche io l’idea di creare un server dedicato a questo scopo ed usarlo da remoto, ma mi sembra di capire che non è possibile e va usato solo sulla macchina stessa, c’è ancora questa limitazione ?

Di fatto ho creato la macchina srv-ubuntu (Ubuntu 21.04 Server Edition), abilitato il firewall di rete sulla porta 3280 sulla nostra DMZ (10.22.130.x) e constatato che non è accessibile. Ho anche notato che però docker parte sulla rete 172.17.x.x che sfortuna vuole è anche una classe di IP usata dalla nostra Intranet, ma non penso sia questo il motivo e solo una coincidenza. Specifico questi dettagli perchè se tolgo le regole del firewall della macchina (riporto sotto le regole)

developer@srv-ubuntu:~$ sudo iptables-legacy -L
[sudo] password for developer:
Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination
DOCKER-USER all – anywhere anywhere
DOCKER-ISOLATION-STAGE-1 all – anywhere anywhere
ACCEPT all – anywhere anywhere ctstate RELATED,ESTABLISHED
DOCKER all – anywhere anywhere
ACCEPT all – anywhere anywhere
ACCEPT all – anywhere anywhere

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Chain DOCKER (1 references)
target prot opt source destination
ACCEPT tcp – anywhere 172.17.0.2 tcp dpt:redis
ACCEPT tcp – anywhere 172.17.0.3 tcp dpt:3280
ACCEPT tcp – anywhere 172.17.0.7 tcp dpt:3000

Chain DOCKER-ISOLATION-STAGE-1 (1 references)
target prot opt source destination
DOCKER-ISOLATION-STAGE-2 all – anywhere anywhere
RETURN all – anywhere anywhere

Chain DOCKER-ISOLATION-STAGE-2 (1 references)
target prot opt source destination
DROP all – anywhere anywhere
RETURN all – anywhere anywhere

Chain DOCKER-USER (1 references)
target prot opt source destination
RETURN all – anywhere anywhere

la macchina sulla porta 3280 è raggiungibile ma poi non trova le pagine corrette da raggiungere, altrimenti con le regole va in time out.

Concludendo, vorrei sol chiedere se sono obbligato ad usare la macchina puntando a localhost oppure se c’è modo di configurare la macchina per usarla da remoto.

Riporto sotto le miei configurazioni.
Grazie dell’attenzione.
Maurizio Pianfetti - Comune di Novi Ligure

developer@srv-ubuntu:~$ iosdk --version
0.5.3a
developer@srv-ubuntu:~$ iosdk status
iosdk-openwhisk: running
iosdk-redis: running
iosdk-theia: running
developer@srv-ubuntu:~$ wget --no-proxy ht_tp_localhost:3280 --max-redirect=0
–2021-06-22 07:13:54-- ht_tp_//localhost:3280/
Resolving localhost (localhost)… 127.0.0.1
Connecting to localhost (localhost)|127.0.0.1|:3280… connected.
HTTP request sent, awaiting response… 302 Found
Location: ht_tp_//localhost:3280/app/index.html [following]
0 redirections exceeded.
developer@srv-ubuntu:~$ wget --no-proxy ht_tp_//srv-ubuntu:3280 --max-redirect=0
–2021-06-22 07:14:07-- ht_tp_//srv-ubuntu:3280/
Resolving srv-ubuntu (srv-ubuntu)… 10.22.130.10
Connecting to srv-ubuntu (srv-ubuntu)|10.22.130.10|:3280… connected.
HTTP request sent, awaiting response… 404 Not Found
2021-06-22 07:14:07 ERROR 404: Not Found.

developer@srv-ubuntu:~$ cat .iosdk.v3
{

  • “whisk-apihost-local”: “ht_tp_//srv-ubuntu:3280”,*
  • “whisk-apihost-docker”: “ht_tp_//srv-ubuntu:3280”,*
  • “whisk-apikey”: “aadf7e12-ce32-4d72-8545----------------------------------Y8drXr38N4Z00DU5xlBytcoOJ”,*
  • “whisk-namespace”: “guest”,*
  • “io-apikey”: “476d5d086e834-------------------------c48”,*
  • “io-messages”: “ht_tps_//api.io.italia.it/api/v1/messages”,*
  • “app-dir”: “/home/developer/iosdk-project/iosdk-workspace”*
    }
    developer@srv-ubuntu:~$

PS. ho dovuto modificare leggermenle le uri in h_ttp_ in quanto la piattaforma non mi permette di inserire uri.

Buon pomeriggio,

se non ho capito male il futuro è io-gateway [GitHub - pagopa/io-gateway: IO-Gateway] per poter usare un server come ambiente da far utilizzare agli utenti che inviano i messaggi sulla APP-IO attraverso i connettori sviluppati. Corretto ?

Non sono riuscito a trovare la nuova piattaforma in quanto in Relase su github , ritrovo iosdk 0.5.3a che è la versione attualmente da me installata, però non mi ritrovo la nuova architettura con la parte di authenticazione nuova… dove sbaglio ?

Grazie.

Io-Gateway esiste già ma è un progetto attualmente closed source.
Contatta @andrea.saccavini che è lo sponsor del progetto.