Openshift - I-sektionen/i-portalen GitHub Wiki
Openshift - the complete guide.
Openshit är en PaaS (Platform as a Service) dvs en molntjänst som får vår django applikation att sväva i molnet. Applikationen körs i så kallade "gears". Ett gear kan liknas vid en "dator". Normalt snurrar vår django applikation på två Python gears. (Där alltså själva koden körs.) Samt ett MySQL gear, dvs där databasen finns. Sedan finns det en även en lastbalanserare (HAProxy2). Denna lastbalanserare fördelar traffiken som kommer in till de två Python gear:en, och de två gear:en i sin tur kan prata med databasen.
Konton
Det finns flera konton för att hantera olika instanser av iportalen (tex development.i-portalen.se och i-portalen.se). Inloggningsuppgifter har webmaster koll på. (Förhoppningsvis)
Skalning
För att hantera ökad belastning (tex under ett vintermöte med många simultana användare) så kan applikationen "skalas upp", vilket betyder att flera python gears startas. Detta görs enklast via webinterface:t på openshift.com.
RHC
Rhc är ett kommandofönster verktyp (command line tool). Det vill säga det kan hantera openshift instanser, applikationer osv. Mycket av det som görs med rhc kan göras med webinterface:t. För att hantera flera olika konton kan växeln "-l" användas. Tex:
rhc ssh iportalen -l [email protected]
rhc ssh iportalen -l [email protected]
För att installera RHC (på Ubuntu):
sudo apt-get install rhc
rhc setup
När man kör rhc setup som kommer man få göra lite inställningar samt logga in på Openshift. Tänk på att olika konton har olika instanser, men man kan byta inloggning med -l växeln som beskrivs ovan. Det går också att koppla upp sig mot IDA:s openshift server och mycket annat. 'RHC help'. Svarar på många frågor.
Miljövariabler
I framförallt "iportalen_django/iportalen/settings.py" används miljövariabler. Dessa är variabler som är satta i systemet omkring. Tex lösenord till externa system sätts här, detta för att undvika att lösenord sprids via GIT. Även inställningar för olika instanser. Ett exempel är hur mail inte skickas från development instansen. Det variabler som är "våra" som bör sättas/ej sättas är:
- DJANGO_SECRET_KEY (är en hemlig nyckel, bör ändras regelbundet men då loggas användare ut)
- SSL_ENABLED (om den är lika med strängen TRUE så slås ssl på, kräver certifikat!)
- AWS_ACCESS_KEY_ID (Från S3)
- AWS_SECRET_ACCESS_KEY (Från S3)
- AWS_STORAGE_BUCKET_NAME (Från S3)
- SEND_EMAIL (Om satt till strängen TRUE så skickas mail)
- EMAIL_PASSWORD (Lösenord till kontot [email protected])
- KOBRA_USER (Användarnamnet till Kobra)
- KOBRA_PASSWORD (Lösenord till Kobra)
För att sätta eller lista aktuella en miljövariabler används RHC:
rhc list-env iportalen -l [email protected]
rhc set-env SEND_EMAIL=TRUE -a iportalen -l [email protected]