Compare commits
6 Commits
cb2f340277
...
ebf864c585
Author | SHA1 | Date |
---|---|---|
Emmanuel Garette | ebf864c585 | |
Emmanuel Garette | f68a1759d6 | |
Emmanuel Garette | 586ce3455c | |
Emmanuel Garette | 730845c861 | |
Emmanuel Garette | c2314b65ea | |
Emmanuel Garette | 19f2caedb7 |
|
@ -0,0 +1 @@
|
||||||
|
CREATE EXTENSION pg_trgm;
|
|
@ -0,0 +1,29 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<creole>
|
||||||
|
<files>
|
||||||
|
<!--service>lemur</service-->
|
||||||
|
<file name='/etc/lemur/lemur.conf.py' mkdir='True'/>
|
||||||
|
<file name='/etc/eole/eole-db.d/lemur.yml'/>
|
||||||
|
<file name='/etc/nginx/web.d/lemur.conf' source='nginx-lemur.conf'/>
|
||||||
|
</files>
|
||||||
|
<variables>
|
||||||
|
<family name='lemur'>
|
||||||
|
<variable name='lemur_secret' type='password' description="Secret pour Lemur" auto_save="True"/>
|
||||||
|
<variable name='lemur_token_secret' type='password' description="Token secret pour Lemur" auto_save="True"/>
|
||||||
|
<variable name='lemur_encrypt_keys' type='password' description="Encrypt keys pour Lemur" auto_save="True"/>
|
||||||
|
<variable name='lemur_db_name' type='string' description="Nom de la base de donnée de Lemur" mode="expert">
|
||||||
|
<value>lemur</value>
|
||||||
|
</variable>
|
||||||
|
<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>
|
||||||
|
</variable>
|
||||||
|
<variable name='lemur_admin_password' type='password' description="Mot de passe de l'utilisateur admin de Lemur" auto_save="True"/>
|
||||||
|
</family>
|
||||||
|
</variables>
|
||||||
|
<constraints>
|
||||||
|
<fill name='gen_random_base64' target='lemur_secret'/>
|
||||||
|
<fill name='gen_random_base64' target='lemur_token_secret'/>
|
||||||
|
<fill name='gen_random_base64' target='lemur_encrypt_keys'/>
|
||||||
|
<fill name='gen_random' target='lemur_admin_password'/>
|
||||||
|
</constraints>
|
||||||
|
</creole>
|
|
@ -0,0 +1,6 @@
|
||||||
|
from secrets import token_bytes as _token_bytes
|
||||||
|
from base64 import urlsafe_b64encode as _urlsafe_b64encode
|
||||||
|
|
||||||
|
|
||||||
|
def gen_random_base64():
|
||||||
|
return _urlsafe_b64encode(_token_bytes(32)).decode()
|
|
@ -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']);
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
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
|
|
@ -0,0 +1,90 @@
|
||||||
|
|
||||||
|
# This is just Python which means you can inherit and tweak settings
|
||||||
|
|
||||||
|
import os
|
||||||
|
_basedir = os.path.abspath(os.path.dirname(__file__))
|
||||||
|
|
||||||
|
THREADS_PER_PAGE = 8
|
||||||
|
|
||||||
|
# General
|
||||||
|
|
||||||
|
# These will need to be set to `True` if you are developing locally
|
||||||
|
CORS = False
|
||||||
|
debug = False
|
||||||
|
|
||||||
|
# this is the secret key used by flask session management
|
||||||
|
SECRET_KEY = '%%lemur_secret'
|
||||||
|
|
||||||
|
# You should consider storing these separately from your config
|
||||||
|
LEMUR_TOKEN_SECRET = '%%lemur_token_secret'
|
||||||
|
LEMUR_ENCRYPTION_KEYS = '%%lemur_encrypt_keys'
|
||||||
|
|
||||||
|
# List of domain regular expressions that non-admin users can issue
|
||||||
|
LEMUR_ALLOWED_DOMAINS = []
|
||||||
|
|
||||||
|
# Mail Server
|
||||||
|
|
||||||
|
LEMUR_EMAIL = ''
|
||||||
|
LEMUR_SECURITY_TEAM_EMAIL = []
|
||||||
|
|
||||||
|
# Certificate Defaults
|
||||||
|
|
||||||
|
LEMUR_DEFAULT_COUNTRY = ''
|
||||||
|
LEMUR_DEFAULT_STATE = ''
|
||||||
|
LEMUR_DEFAULT_LOCATION = ''
|
||||||
|
LEMUR_DEFAULT_ORGANIZATION = ''
|
||||||
|
LEMUR_DEFAULT_ORGANIZATIONAL_UNIT = ''
|
||||||
|
|
||||||
|
# Authentication Providers
|
||||||
|
ACTIVE_PROVIDERS = []
|
||||||
|
|
||||||
|
# Metrics Providers
|
||||||
|
METRIC_PROVIDERS = []
|
||||||
|
|
||||||
|
# Logging
|
||||||
|
|
||||||
|
LOG_LEVEL = "DEBUG"
|
||||||
|
LOG_FILE = "/var/log/lemur/lemur.log"
|
||||||
|
|
||||||
|
|
||||||
|
# Database
|
||||||
|
|
||||||
|
# modify this if you are not using a local database
|
||||||
|
SQLALCHEMY_DATABASE_PASSWORD = 'replaceme'
|
||||||
|
SQLALCHEMY_DATABASE_URI = f'postgresql:///%%lemur_db_name?host=/var/run/postgresql&user=%%lemur_db_user&password={SQLALCHEMY_DATABASE_PASSWORD}'
|
||||||
|
|
||||||
|
# AWS
|
||||||
|
|
||||||
|
#LEMUR_INSTANCE_PROFILE = 'Lemur'
|
||||||
|
|
||||||
|
# Issuers
|
||||||
|
|
||||||
|
# These will be dependent on which 3rd party that Lemur is
|
||||||
|
# configured to use.
|
||||||
|
|
||||||
|
# VERISIGN_URL = ''
|
||||||
|
# VERISIGN_PEM_PATH = ''
|
||||||
|
# VERISIGN_FIRST_NAME = ''
|
||||||
|
# VERISIGN_LAST_NAME = ''
|
||||||
|
# VERSIGN_EMAIL = ''
|
||||||
|
|
||||||
|
#FIXME
|
||||||
|
DIGICERT_CIS_API_KEY = ""
|
||||||
|
DIGICERT_CIS_URL = ""
|
||||||
|
DIGICERT_CIS_ROOTS = ''
|
||||||
|
DIGICERT_API_KEY = ''
|
||||||
|
DIGICERT_CIS_PROFILE_NAMES = ''
|
||||||
|
DIGICERT_URL = ''
|
||||||
|
DIGICERT_ORG_ID = ''
|
||||||
|
DIGICERT_ORDER_TYPE = ''
|
||||||
|
DIGICERT_ROOT = ''
|
||||||
|
|
||||||
|
ENTRUST_API_CERT = ''
|
||||||
|
ENTRUST_API_KEY = ''
|
||||||
|
ENTRUST_API_USER = ''
|
||||||
|
ENTRUST_API_PASS = ''
|
||||||
|
ENTRUST_URL = ''
|
||||||
|
ENTRUST_ROOT = ''
|
||||||
|
ENTRUST_NAME = ''
|
||||||
|
ENTRUST_EMAIL = ''
|
||||||
|
ENTRUST_PHONE = ''
|
|
@ -0,0 +1,18 @@
|
||||||
|
%set %%dbname = %%lemur_db_name
|
||||||
|
---
|
||||||
|
dbuser: %%lemur_db_user
|
||||||
|
dbuser_options:
|
||||||
|
- LOGIN
|
||||||
|
privileges:
|
||||||
|
%%{dbname}.public.*: 'ALL'
|
||||||
|
%%{dbname}.public: 'ALL'
|
||||||
|
%%{dbname}: 'ALL'
|
||||||
|
dbhost: %%risotto_db_address
|
||||||
|
dbport: 5432
|
||||||
|
dbtype: postgres
|
||||||
|
dbname: %%dbname
|
||||||
|
template: 'template0'
|
||||||
|
sqlscripts:
|
||||||
|
- /usr/share/eole/db/lemur/gen/lemur.sql
|
||||||
|
pwd_files:
|
||||||
|
- {'file': '/etc/lemur/lemur.conf.py', 'pattern': "SQLALCHEMY_DATABASE_PASSWORD = '"}
|
|
@ -0,0 +1,15 @@
|
||||||
|
location /lemur/api {
|
||||||
|
proxy_pass http://127.0.0.1:8002/api;
|
||||||
|
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
|
||||||
|
proxy_redirect off;
|
||||||
|
proxy_buffering off;
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
}
|
||||||
|
|
||||||
|
location /lemur/ {
|
||||||
|
alias /usr/share/lemur/static/;
|
||||||
|
include mime.types;
|
||||||
|
index index.html;
|
||||||
|
}
|
Loading…
Reference in New Issue