bash console in the browser for django devops!
Service needs to be running on https
to securely POST commands to the server.
Did a quick update on the code; need to pull the code and restart the server, and waiting for server admin to do that? Django-Console is for you!
Step 1
pip install django-console
Step 2
include django-console into INSTALLED_APPS settings.py
INSTALLED_APPS = (
# add to the existing apps
'django-console'
)
Step 3
include two more variables to settings.py
Even without these settings, it will work.
allows requests from all ips, and works even when not in https (NOT GOOD).
SECURE_CONSOLE = True # False to allow http
CONSOLE_WHITELIST = [
"127.0.0.1"
] # List of IPs to be allowed - NB: All allowed by default
Step 4
run
python manage.py collectstatic
Done!
in your browser, goto http://127.0.0.1:8000/admin/console/ to access the web console.
NB: make sure you got superuser privileges.
To run sudo tasks, you can use
echo mypassword | sudo -S command
Example commands
$ echo pa$$w0rD | sudo -S service nginx restart
$ git pull origin master
$ ls -al
all the django superusers can access this portal, so make sure only the right guys have got access before deploying django-console to live.
long running tasks and interactive commands won't probably work.
BSD License - checkout LICENSE file for the complete license document