This is a repository that contains all the code for OpenIKT(Open Inter kernel Tools). OpenIKT is a batch of utility tools, used to track the kernel patch status among multi open-source projects. it is developed by the Django and VUE.
Ubuntu 20.04 default install python3.8. if you didn't have, please visit: https://www.python.org/ install.
Recommended to use a virtual environment
# Install dependency packages
sudo apt install python3-venv
# Generate virtual environment
python3 -m venv {your virtualenv name}
# Enter virtual environment
source ./{your virtualenv name}/bin/activate
# exit
Deactivate
# github code
git clone https://github.com/intel/openikt.git
# Enter the directory
cd openikt-server
# install (in virtual environment)
pip install -r requirements.txt
python3 manage.py makemigrations
python3 manage.py migrate
python3 manage.py createsuperuser
python3 manage.py runserver 0:8000
Visit: http://localhost:8000/admin use your superuser account to login.
Recommended to use uwsgi to managed projects. How to use Django with uWSGI: https://docs.djangoproject.com/en/4.2/howto/deployment/wsgi/uwsgi/
# install
python -m pip install uwsgi
# After configuring according to the project uwsgi.ini file
uwsgi --ini uwsgi.ini
# exit
uwsgi --stop uwsgi.pid
Need node.js, if you didn't have, please visit: https://nodejs.org/ install.
cd openikt-web
# install package
npm install
# config openikt server host
vim .env.development
VUE_APP_DEV_SERVER_PROXY_URL = http://xxx:8000
VUE_APP_AJAX_URL = /v1
# run
npm run serve
Please visit: http://xxx:7777, web page work on.
# config openikt server host
vim .env.production
VUE_APP_AJAX_URL = /v1
# build
npm run build
After, can use nginx to proxy your project. https://nginx.org/en/, Please refer to:
server {
listen 443 ssl;
#server_name localhost;
server_name xxxx;
ssl_certificate xxx;
ssl_certificate_key xxx;
location / {
root .../os.linux.kernel.devops.openikt/openikt-web/dist;
index index.html index.htm;
try_files $uri $uri/ @router;
access_log .../xxx.log;
}
location /v1/ {
# your openikt server url
proxy_pass xxx;
proxy_http_version 1.1;
proxy_set_header Connection "";
add_header Access-Control-Allow-Methods *;
add_header Access-Control-Max-Age 3600;
add_header Access-Control-Allow-Credentials true;
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
if ($request_method = OPTIONS ) {
return 200;
}
}
location @router {
rewrite ^.*$ /index.html last;
}
}
Please refer https://github.com/intel/openikt/wiki
- Issues
Any bug or issue, please submit issues.
- Contribution
See CONTRIBUTING.md for details.