Commit ef27fd3f authored by Nicolas Wavrant's avatar Nicolas Wavrant

slaprunner: create a .htpasswd on first run if .users is defined yet

parent c6007954
...@@ -8,6 +8,7 @@ import logging ...@@ -8,6 +8,7 @@ import logging
import logging.handlers import logging.handlers
from optparse import OptionParser, Option from optparse import OptionParser, Option
import os import os
from slapos.htpasswd import HtpasswdFile
from slapos.runner.process import setHandler from slapos.runner.process import setHandler
import sys import sys
from slapos.runner.utils import (runInstanceWithLock, from slapos.runner.utils import (runInstanceWithLock,
...@@ -65,6 +66,20 @@ class Config: ...@@ -65,6 +66,20 @@ class Config:
self.logger.debug("Verbose mode enabled.") self.logger.debug("Verbose mode enabled.")
def checkHtpasswd(config):
"""XXX:set for backward compatiblity
create a htpassword if etc/.users exist"""
user = os.path.join(config['etc_dir'], '.users')
htpasswdfile = os.path.join(config['etc_dir'], '.htpasswd')
if os.path.exists(user) and not os.path.exists(htpasswdfile):
data = open(user).read().strip().split(';')
htpasswd = HtpasswdFile(htpasswdfile, create=True)
htpasswd.update(data[0], data[1])
htpasswd.save()
else:
return
def run(): def run():
"Run default configuration." "Run default configuration."
usage = "usage: %s [options] CONFIGURATION_FILE" % sys.argv[0] usage = "usage: %s [options] CONFIGURATION_FILE" % sys.argv[0]
...@@ -94,6 +109,7 @@ def serve(config): ...@@ -94,6 +109,7 @@ def serve(config):
SECRET_KEY=os.urandom(24), SECRET_KEY=os.urandom(24),
PERMANENT_SESSION_LIFETIME=datetime.timedelta(days=31), PERMANENT_SESSION_LIFETIME=datetime.timedelta(days=31),
) )
checkHtpasswd(app.config)
if not os.path.exists(workdir): if not os.path.exists(workdir):
os.mkdir(workdir) os.mkdir(workdir)
if not os.path.exists(software_link): if not os.path.exists(software_link):
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment