Compare commits
9 Commits
730845c861
...
pkg/dev/ri
Author | SHA1 | Date | |
---|---|---|---|
5d0fb695c3 | |||
7cabb38f26 | |||
ebf864c585 | |||
a51d094b61 | |||
f68a1759d6 | |||
586ce3455c | |||
b408b7a30b | |||
326f5b1591 | |||
3590b96ea2 |
1
db/lemur.sql
Normal file
1
db/lemur.sql
Normal file
@ -0,0 +1 @@
|
|||||||
|
CREATE EXTENSION pg_trgm;
|
1
debian/compat
vendored
Normal file
1
debian/compat
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
11
|
113
debian/control
vendored
Normal file
113
debian/control
vendored
Normal file
@ -0,0 +1,113 @@
|
|||||||
|
Source: lemur
|
||||||
|
Section: admin
|
||||||
|
Priority: extra
|
||||||
|
Maintainer: Cadoles <contact@cadoles.com>
|
||||||
|
Build-depends: debhelper (>=11),
|
||||||
|
python3-all,
|
||||||
|
python3-setuptools,
|
||||||
|
dh-python,
|
||||||
|
npm
|
||||||
|
Standards-Version: 3.9.4
|
||||||
|
Homepage: https://forge.cadoles.com/Infra/lemur
|
||||||
|
|
||||||
|
Package: eole-lemur
|
||||||
|
Architecture: any
|
||||||
|
Depends: ${misc:Depends},
|
||||||
|
lemur,
|
||||||
|
lemur-static,
|
||||||
|
eole-postgresql,
|
||||||
|
# for PIP
|
||||||
|
python3-pip,
|
||||||
|
gcc,
|
||||||
|
python3-dev
|
||||||
|
Description: Lemur - eolisation
|
||||||
|
|
||||||
|
Package: lemur
|
||||||
|
Architecture: any
|
||||||
|
Pre-Depends: dpkg, python3, ${misc:Pre-Depends}
|
||||||
|
Depends: ${python:Depends}, ${misc:Depends},
|
||||||
|
python3-lemur
|
||||||
|
Description: Lemur
|
||||||
|
|
||||||
|
Package: python3-lemur
|
||||||
|
Architecture: any
|
||||||
|
Pre-Depends: dpkg, python3, ${misc:Pre-Depends}
|
||||||
|
Depends: python3-acme,
|
||||||
|
python3-alembic,
|
||||||
|
python3-amqp,
|
||||||
|
python3-aniso8601,
|
||||||
|
python3-arrow,
|
||||||
|
python3-bcrypt,
|
||||||
|
python3-bs4,
|
||||||
|
python3-billiard,
|
||||||
|
python3-blinker,
|
||||||
|
python3-boto3,
|
||||||
|
python3-botocore,
|
||||||
|
python3-celery,
|
||||||
|
python3-certifi,
|
||||||
|
python3-cffi,
|
||||||
|
python3-chardet,
|
||||||
|
python3-click,
|
||||||
|
python3-cloudflare,
|
||||||
|
python3-dnspython,
|
||||||
|
python3-flask-bcrypt,
|
||||||
|
python3-flask-cors,
|
||||||
|
python3-flask-mail,
|
||||||
|
python3-flask-migrate,
|
||||||
|
python3-flask-principal,
|
||||||
|
python3-flask-restful,
|
||||||
|
python3-flask-script,
|
||||||
|
python3-flask-sqlalchemy,
|
||||||
|
python3-flask,
|
||||||
|
python3-future,
|
||||||
|
python3-gunicorn,
|
||||||
|
python3-hvac,
|
||||||
|
python3-idna,
|
||||||
|
python3-inflection,
|
||||||
|
python3-itsdangerous,
|
||||||
|
python3-jinja2,
|
||||||
|
python3-jmespath,
|
||||||
|
python3-josepy,
|
||||||
|
python3-kombu,
|
||||||
|
python3-lockfile,
|
||||||
|
python3-mako,
|
||||||
|
python3-markupsafe,
|
||||||
|
python3-marshmallow-sqlalchemy,
|
||||||
|
python3-ndg-httpsclient,
|
||||||
|
python3-paramiko,
|
||||||
|
python3-pem,
|
||||||
|
python3-psycopg2,
|
||||||
|
python3-pyasn1-modules,
|
||||||
|
python3-pyasn1,
|
||||||
|
python3-pycparser,
|
||||||
|
python3-jwt,
|
||||||
|
python3-nacl,
|
||||||
|
python3-openssl,
|
||||||
|
python3-rfc3339,
|
||||||
|
python3-dateutil,
|
||||||
|
python3-editor,
|
||||||
|
python3-pythonjsonlogger,
|
||||||
|
python3-ldap,
|
||||||
|
python3-tz,
|
||||||
|
python3-yaml,
|
||||||
|
python3-redis,
|
||||||
|
python3-requests-toolbelt,
|
||||||
|
python3-requests,
|
||||||
|
python3-retrying,
|
||||||
|
python3-s3transfer,
|
||||||
|
python3-six,
|
||||||
|
python3-soupsieve,
|
||||||
|
python3-sqlalchemy-utils,
|
||||||
|
python3-sqlalchemy,
|
||||||
|
python3-tabulate,
|
||||||
|
python3-urllib3,
|
||||||
|
python3-vine,
|
||||||
|
python3-werkzeug,
|
||||||
|
python3-xmltodict
|
||||||
|
Description: Lemur - library part
|
||||||
|
|
||||||
|
Package: lemur-static
|
||||||
|
Architecture: any
|
||||||
|
Pre-Depends: ${misc:Pre-Depends}
|
||||||
|
Depends: ${misc:Depends}
|
||||||
|
Description: static HTML/JS/CSS file
|
10
debian/copyright
vendored
Normal file
10
debian/copyright
vendored
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||||
|
Upstream-Name: lemur
|
||||||
|
Upstream-Contact: Cadoles <contact@cadoles.com>
|
||||||
|
Source: https://forge.cadoles.com/Infra/lemur
|
||||||
|
|
||||||
|
Files: *
|
||||||
|
Copyright: Lemur
|
||||||
|
License: Apache-2.0 License
|
||||||
|
|
||||||
|
License: Apache-2.0 License
|
5
debian/eole-lemur.install
vendored
Normal file
5
debian/eole-lemur.install
vendored
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
dicos usr/share/eole/creole/
|
||||||
|
tmpl/* usr/share/eole/creole/distrib/
|
||||||
|
posttemplate/* usr/share/eole/posttemplate/
|
||||||
|
funcs/* usr/share/creole/funcs
|
||||||
|
db/* /etc/eole/eole-db.d/
|
12
debian/eole-lemur.postinst
vendored
Normal file
12
debian/eole-lemur.postinst
vendored
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
if [ "$1" = configure ]; then
|
||||||
|
# Make sure the administrative user exists
|
||||||
|
if ! getent passwd lemur > /dev/null; then
|
||||||
|
adduser --system --home /nonexistent --no-create-home --group --gecos "User for lemur" lemur --quiet
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit 0
|
2
debian/lemur-static.install
vendored
Normal file
2
debian/lemur-static.install
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
lemur/static/dist/* usr/share/lemur/static/
|
||||||
|
lemur/migrations usr/share/lemur
|
1
debian/lemur.service
vendored
Symbolic link
1
debian/lemur.service
vendored
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../lemur.service
|
28
debian/rules
vendored
Normal file
28
debian/rules
vendored
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
#!/usr/bin/make -f
|
||||||
|
# See debhelper(7) (uncomment to enable)
|
||||||
|
# output every command that modifies files on the build system.
|
||||||
|
#DH_VERBOSE = 1
|
||||||
|
|
||||||
|
export PYBUILD_NAME = lemur
|
||||||
|
export PYBUILD_DISABLE_python3 = test
|
||||||
|
|
||||||
|
%:
|
||||||
|
# suppression requirements version of package
|
||||||
|
# only last version are supported by lemur
|
||||||
|
# but Ubuntu has not last version
|
||||||
|
sed -i "s/==\(\([[:digit:]]\)*\(\.\)*\)*//g" requirements.txt
|
||||||
|
dh $@ --with python3 --buildsystem=pybuild
|
||||||
|
|
||||||
|
override_dh_install:
|
||||||
|
rm -rf debian/python3-lemur/usr/lib/python*/dist-packages/lemur/static/
|
||||||
|
rm -rf debian/python3-lemur/usr/lib/python*/dist-packages/lemur/tests/
|
||||||
|
rm -rf debian/python3-lemur/usr/lib/python*/dist-packages/trustores
|
||||||
|
mkdir -p debian/lemur/usr
|
||||||
|
mv debian/python3-lemur/usr/bin debian/lemur/usr
|
||||||
|
dh_install
|
||||||
|
|
||||||
|
override_dh_auto_build:
|
||||||
|
npm install --unsafe-perm
|
||||||
|
node_modules/.bin/gulp build
|
||||||
|
node_modules/.bin/gulp package --urlContextPath=lemur
|
||||||
|
dh_auto_build
|
1
debian/source/format
vendored
Normal file
1
debian/source/format
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
3.0 (quilt)
|
@ -17,11 +17,13 @@
|
|||||||
<variable name='lemur_db_user' type='string' description="Nom de l'utilisateur de la base de donnée de Lemur" mode="expert">
|
<variable name='lemur_db_user' type='string' description="Nom de l'utilisateur de la base de donnée de Lemur" mode="expert">
|
||||||
<value>lemur</value>
|
<value>lemur</value>
|
||||||
</variable>
|
</variable>
|
||||||
|
<variable name='lemur_admin_password' type='password' description="Mot de passe de l'utilisateur admin de Lemur" auto_save="True"/>
|
||||||
</family>
|
</family>
|
||||||
</variables>
|
</variables>
|
||||||
<constraints>
|
<constraints>
|
||||||
<fill name='gen_random_base64' target='lemur_secret'/>
|
<fill name='gen_random_base64' target='lemur_secret'/>
|
||||||
<fill name='gen_random_base64' target='lemur_token_secret'/>
|
<fill name='gen_random_base64' target='lemur_token_secret'/>
|
||||||
<fill name='gen_random_base64' target='lemur_encrypt_keys'/>
|
<fill name='gen_random_base64' target='lemur_encrypt_keys'/>
|
||||||
|
<fill name='gen_random' target='lemur_admin_password'/>
|
||||||
</constraints>
|
</constraints>
|
||||||
</creole>
|
</creole>
|
||||||
|
@ -237,7 +237,7 @@ gulp.task('addUrlContextPath',['addUrlContextPath:revreplace'], function(){
|
|||||||
.forEach(function(file){
|
.forEach(function(file){
|
||||||
return gulp.src(file)
|
return gulp.src(file)
|
||||||
.pipe(gulpif(urlContextPathExists, replace('api/', argv.urlContextPath + '/api/')))
|
.pipe(gulpif(urlContextPathExists, replace('api/', argv.urlContextPath + '/api/')))
|
||||||
.pipe(gulpif(urlContextPathExists, replace('angular/', argv.urlContextPath + '/angular/')))
|
.pipe(gulpif(urlContextPathExists, replace('/angular/', '/' + argv.urlContextPath + '/angular/')))
|
||||||
.pipe(gulp.dest(function(file){
|
.pipe(gulp.dest(function(file){
|
||||||
return file.base;
|
return file.base;
|
||||||
}))
|
}))
|
||||||
@ -256,10 +256,9 @@ gulp.task('addUrlContextPath:revreplace', ['addUrlContextPath:revision'], functi
|
|||||||
var manifest = gulp.src("lemur/static/dist/rev-manifest.json");
|
var manifest = gulp.src("lemur/static/dist/rev-manifest.json");
|
||||||
var urlContextPathExists = argv.urlContextPath ? true : false;
|
var urlContextPathExists = argv.urlContextPath ? true : false;
|
||||||
return gulp.src( "lemur/static/dist/index.html")
|
return gulp.src( "lemur/static/dist/index.html")
|
||||||
.pipe(gulpif(urlContextPathExists, revReplace({prefix: argv.urlContextPath + '/', manifest: manifest}, revReplace({manifest: manifest}))))
|
|
||||||
.pipe(gulp.dest('lemur/static/dist'));
|
.pipe(gulp.dest('lemur/static/dist'));
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
gulp.task('build', ['build:ngviews', 'build:inject', 'build:images', 'build:fonts', 'build:html', 'build:extras']);
|
gulp.task('build', ['build:ngviews', 'build:inject', 'build:images', 'build:fonts', 'build:html', 'build:extras']);
|
||||||
gulp.task('package', ['addUrlContextPath', 'package:strip']);
|
gulp.task('package', ['addUrlContextPath', 'package:strip']);
|
||||||
|
12
lemur.service
Normal file
12
lemur.service
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Lemur
|
||||||
|
After=postgresql.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
ExecStart=/usr/bin/lemur start -b 127.0.0.1:8002 -c /etc/lemur/lemur.conf.py
|
||||||
|
User=lemur
|
||||||
|
Group=lemur
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
|
@ -5,4 +5,13 @@ set -e
|
|||||||
# install unrelease python modules
|
# install unrelease python modules
|
||||||
pip3 install alembic-autogenerate-enums==0.0.2 asyncpool==1.0 certsrv==2.1.1 cryptography==3.1.1 dnspython3==1.15.0 dyn==1.8.1 flask-replicated==1.4 javaobj-py3==0.4.0.1 jsonlines==1.2.0 logmatic-python==0.1.7 marshmallow==2.20.4 pycryptodomex==3.9.7 pyjks==20.0.0 raven[flask]==6.10.0 twofish==0.3.0
|
pip3 install alembic-autogenerate-enums==0.0.2 asyncpool==1.0 certsrv==2.1.1 cryptography==3.1.1 dnspython3==1.15.0 dyn==1.8.1 flask-replicated==1.4 javaobj-py3==0.4.0.1 jsonlines==1.2.0 logmatic-python==0.1.7 marshmallow==2.20.4 pycryptodomex==3.9.7 pyjks==20.0.0 raven[flask]==6.10.0 twofish==0.3.0
|
||||||
|
|
||||||
|
cd /usr/share/lemur/
|
||||||
|
systemctl start postgresql.service
|
||||||
|
lemur --config=/etc/lemur/lemur.conf.py init --password $(CreoleGet lemur_admin_password)
|
||||||
|
systemctl stop postgresql.service
|
||||||
|
rm -f *.log
|
||||||
|
|
||||||
|
mkdir -p /var/log/lemur/
|
||||||
|
chown lemur: /var/log/lemur/
|
||||||
|
|
||||||
exit 0
|
exit 0
|
@ -44,14 +44,14 @@ METRIC_PROVIDERS = []
|
|||||||
# Logging
|
# Logging
|
||||||
|
|
||||||
LOG_LEVEL = "DEBUG"
|
LOG_LEVEL = "DEBUG"
|
||||||
LOG_FILE = "lemur.log"
|
LOG_FILE = "/var/log/lemur/lemur.log"
|
||||||
|
|
||||||
|
|
||||||
# Database
|
# Database
|
||||||
|
|
||||||
# modify this if you are not using a local database
|
# modify this if you are not using a local database
|
||||||
SQLALCHEMY_DATABASE_PASSWORD = 'replaceme'
|
SQLALCHEMY_DATABASE_PASSWORD = 'replaceme'
|
||||||
SQLALCHEMY_DATABASE_URI = f'postgresql://%%lemur_db_user:{SQLALCHEMY_DATABASE_PASSWORD}@localhost:5432/%%lemur_db_name'
|
SQLALCHEMY_DATABASE_URI = f'postgresql:///%%lemur_db_name?host=/var/run/postgresql&user=%%lemur_db_user&password={SQLALCHEMY_DATABASE_PASSWORD}'
|
||||||
|
|
||||||
# AWS
|
# AWS
|
||||||
|
|
||||||
|
@ -12,5 +12,7 @@ dbport: 5432
|
|||||||
dbtype: postgres
|
dbtype: postgres
|
||||||
dbname: %%dbname
|
dbname: %%dbname
|
||||||
template: 'template0'
|
template: 'template0'
|
||||||
|
sqlscripts:
|
||||||
|
- /usr/share/eole/db/lemur/gen/lemur.sql
|
||||||
pwd_files:
|
pwd_files:
|
||||||
- {'file': '/etc/lemur/lemur.conf.py', 'pattern': 'SQLALCHEMY_DATABASE_PASSWORD = "'}
|
- {'file': '/etc/lemur/lemur.conf.py', 'pattern': "SQLALCHEMY_DATABASE_PASSWORD = '"}
|
||||||
|
Reference in New Issue
Block a user