fix failing docker build and failing helm packaging
This commit is contained in:
parent
a9d29067bf
commit
b657d7319d
|
@ -4,7 +4,7 @@ COPY ./passbook/ /app/passbook
|
|||
COPY ./manage.py /app/
|
||||
COPY ./requirements.txt /app/
|
||||
|
||||
WORKDIR /source/
|
||||
WORKDIR /app/
|
||||
|
||||
RUN mkdir /app/static/ && \
|
||||
pip install -r requirements.txt && \
|
||||
|
@ -12,7 +12,6 @@ RUN mkdir /app/static/ && \
|
|||
./manage.py collectstatic --no-input
|
||||
|
||||
FROM python:3.6-slim-stretch
|
||||
# LABEL version="1.8.8"
|
||||
|
||||
COPY ./passbook/ /app/passbook
|
||||
COPY ./manage.py /app/
|
||||
|
@ -21,7 +20,6 @@ COPY --from=build /app/static/* /app/static/
|
|||
|
||||
WORKDIR /app/
|
||||
|
||||
#RUN apk add --no-cache libffi-dev build-base py2-pip python2-dev libxml-dev && \
|
||||
RUN pip install -r requirements.txt && \
|
||||
pip install psycopg2 && \
|
||||
adduser --system --home /app/ passbook && \
|
||||
|
|
|
@ -0,0 +1,71 @@
|
|||
"""passbook nexus_upload management command"""
|
||||
from getpass import getpass
|
||||
|
||||
import requests
|
||||
from django.core.management.base import BaseCommand
|
||||
|
||||
|
||||
class Command(BaseCommand):
|
||||
"""Upload debian package to nexus repository"""
|
||||
|
||||
url = None
|
||||
user = None
|
||||
password = None
|
||||
|
||||
def add_arguments(self, parser):
|
||||
parser.add_argument(
|
||||
'--repo',
|
||||
action='store',
|
||||
help='Repository to upload to',
|
||||
required=True)
|
||||
parser.add_argument(
|
||||
'--url',
|
||||
action='store',
|
||||
help='Nexus root URL',
|
||||
required=True)
|
||||
parser.add_argument(
|
||||
'--user',
|
||||
action='store',
|
||||
help='Username to use for Nexus upload',
|
||||
required=True)
|
||||
parser.add_argument(
|
||||
'--method',
|
||||
action='store',
|
||||
nargs='?',
|
||||
const='post',
|
||||
choices=['post', 'put'],
|
||||
help=('Method used for uploading files to nexus. '
|
||||
'Apt repositories use post, Helm uses put.'),
|
||||
required=True)
|
||||
parser.add_argument(
|
||||
'--password',
|
||||
action='store',
|
||||
help=("Password to use for Nexus upload. "
|
||||
"If parameter not given, we'll interactively ask"))
|
||||
# Positional arguments
|
||||
parser.add_argument('file', nargs='+', type=str)
|
||||
|
||||
def handle(self, *args, **options):
|
||||
"""Upload debian package to nexus repository"""
|
||||
if options.get('password') is None:
|
||||
options['password'] = getpass()
|
||||
responses = {}
|
||||
url = 'https://%(url)s/repository/%(repo)s//' % options
|
||||
method = options.get('method')
|
||||
exit_code = 0
|
||||
for file in options.get('file'):
|
||||
if method == 'post':
|
||||
responses[file] = requests.post(url, data=open(file, mode='rb'),
|
||||
auth=(options.get('user'), options.get('password')))
|
||||
else:
|
||||
responses[file] = requests.put(url+file, data=open(file, mode='rb'),
|
||||
auth=(options.get('user'), options.get('password')))
|
||||
self.stdout.write('Upload results:\n')
|
||||
sep = '-' * 60
|
||||
self.stdout.write('%s\n' % sep)
|
||||
for path, response in responses.items():
|
||||
self.stdout.write('%-55s: %d\n' % (path, response.status_code))
|
||||
if response.status_code >= 400:
|
||||
exit_code = 1
|
||||
self.stdout.write('%s\n' % sep)
|
||||
exit(exit_code)
|
|
@ -23,7 +23,7 @@ web:
|
|||
listen: 0.0.0.0
|
||||
port: 8000
|
||||
threads: 30
|
||||
debug: true
|
||||
debug: false
|
||||
secure_proxy_header:
|
||||
HTTP_X_FORWARDED_PROTO: https
|
||||
redis: localhost
|
||||
|
|
Reference in New Issue