Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions copier.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ project_name:
branch_name:
type: str
choices:
- "19.0"
- "18.0"
- "17.0"
- "16.0"
Expand Down
9 changes: 4 additions & 5 deletions src/ci.docker-compose.yml.jinja
Original file line number Diff line number Diff line change
Expand Up @@ -13,18 +13,17 @@ services:
MAX_CRON_THREADS: 1

# SERVER_WIDE_MODULES is now managed from the copier template
# when modules sentry, bus_alt_connection(pgbouncer) and queue_job
# when modules sentry, bus_alt_connection(pgbouncer)
# are migrated, they are automatically installed in the next `copier update`
# if you need to install something else in SERVER_WIDE_MODULES please
# let us know the use case.
# sentry and bus_alt_connection don't require installation
# bus_alt_connection is required for CI and prod
# queue_job is present in case you need it
{% if branch_name == "18.0" %}
{% if branch_name == "19.0" %}
# for the moment sentry and bus_alt_connection not migrated yet
SERVER_WIDE_MODULES: web,queue_job
{% else %}
SERVER_WIDE_MODULES: web,sentry,bus_alt_connection,queue_job
SERVER_WIDE_MODULES: web,sentry,bus_alt_connection
{% endif %}
SENTRY: "False"
# on some project you may activate sentry for your ci
Expand All @@ -37,7 +36,7 @@ services:
PGUSER: ${CI_PROJECT_NAME}
DB_HOST:
PGHOST:
{% if branch_name != "18.0" %}
{% if branch_name != "19.0" %}
# use pgbouncer
DB_PORT: 6432
PGPORT: 6432
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,13 @@
# TODO see what can be move into base image
pyjwt # auth_oidc
python-jose[cryptography] # auth_oidc
#sentry 1.9.0 fixé dans le manifest du module sentry pour le moment

{% if branch_name in ("18.0", "19.0") %}
sentry-sdk>=2.0.0,<=2.22.0
{% else %}
#sentry 1.9.0 for 14.0 to 17.0
sentry-sdk<=1.9.0
{% endif %}

#apispec #shopinvader
#boto3==1.20.32 # shopinvader
Expand Down
1 change: 1 addition & 0 deletions src/odoo/spec.yaml.jinja
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ server-env:
- data_encryption
- server_environment
- server_environment_data_encryption
- server_environment_ir_config_parameter
src: https://github.com/oca/server-env {{ odoo_version }}

server-tools:
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
declare -x ADDONS_PATH="${ADDONS_PATH:-}"
declare -x DB_TEMPLATE="${DB_TEMPLATE:-template1}"
declare -x DB_HOST="${DB_HOST:-}"
declare -x DB_PORT="${DB_PORT:-5432}"
declare -x DB_REPLICA_HOST="${DB_REPLICA_HOST:-False}"
declare -x DB_REPLICA_PORT="${DB_REPLICA_PORT:-False}"
declare -x DB_NAME="${DB_NAME:-}"
declare -x DB_USER="${DB_USER:-}"
declare -x DB_PASSWORD="${DB_PASSWORD:-}"
declare -x DB_SSLMODE="${DB_SSLMODE:-prefer}"
declare -x DB_FILTER="${DB_FILTER:-^(${DB_NAME//,/|})$}"
declare -x LIST_DB="${LIST_DB:-False}"
declare -x ADMIN_PASSWD="${ADMIN_PASSWD:-}"
declare -x DB_MAXCONN="${DB_MAXCONN:-64}"
declare -x DB_MAXCONN_GEVENT="${DB_MAXCONN_GEVENT:-False}"
declare -x LIMIT_MEMORY_SOFT="${LIMIT_MEMORY_SOFT:-2147483648}"
declare -x LIMIT_MEMORY_SOFT_GEVENT="${LIMIT_MEMORY_SOFT_GEVENT:-False}"
declare -x LIMIT_MEMORY_HARD="${LIMIT_MEMORY_HARD:-2684354560}"
declare -x LIMIT_MEMORY_HARD_GEVENT="${LIMIT_MEMORY_HARD_GEVENT:-False}"
declare -x LIMIT_REQUEST="${LIMIT_REQUEST:-8192}"
declare -x LIMIT_TIME_CPU="${LIMIT_TIME_CPU:-60}"
declare -x LIMIT_TIME_REAL="${LIMIT_TIME_REAL:-120}"
declare -x LIMIT_TIME_REAL_CRON="${LIMIT_TIME_REAL_CRON:-120}"
declare -x LOG_HANDLER="${LOG_HANDLER:-':INFO'}"
declare -x LOG_LEVEL="${LOG_LEVEL:-info}"
declare -x MAX_CRON_THREADS="${MAX_CRON_THREADS:-2}"
declare -x WORKERS="${WORKERS:-4}"
declare -x LOGFILE="${LOGFILE:-None}"
declare -x LOG_DB="${LOG_DB:-False}"
declare -x SYSLOG="${SYSLOG:-False}"
declare -x RUNNING_ENV="${RUNNING_ENV:-dev}"
declare -x WITHOUT_DEMO="${WITHOUT_DEMO:-True}"
declare -x SERVER_WIDE_MODULES="${SERVER_WIDE_MODULES:-}"
declare -x UNACCENT="${UNACCENT:-False}"
declare -x ADDITIONAL_ODOO_RC="${ADDITIONAL_ODOO_RC:-}"
# diff with upstream
# we don't use PG vars because they should be explicitely
# defined in docker compose files
# the entrypoint is not run by docker exec
#declare -x PGHOST=${DB_HOST}
#declare -x PGPORT=${DB_PORT:-5432}
#declare -x PGUSER=${DB_USER}
#declare -x PGPASSWORD=${DB_PASSWORD}
#declare -x PGDATABASE=${DB_NAME}
declare -x SENTRY="${SENTRY:-False}"
declare -x SENTRY_DSN="${SENTRY_DSN:-''}"
declare -x SENTRY_RELEASE="${SENTRY_RELEASE:-}"
declare -x SENTRY_TRACES_SAMPLE_RATE="${SENTRY_TRACES_SAMPLE_RATE:-}"
declare -x ENCRYPTION_KEY_DEV="${ENCRYPTION_KEY_DEV:-}"
declare -x ENCRYPTION_KEY_CI="${ENCRYPTION_KEY_CI:-}"
declare -x ENCRYPTION_KEY_PROD="${ENCRYPTION_KEY_PROD:-}"
declare -x AUTH_OAUTH_PROVIDER_CLIENT_ID="${AUTH_OAUTH_PROVIDER_CLIENT_ID:-}"
declare -x AUTH_OAUTH_PROVIDER_CLIENT_SECRET="${AUTH_OAUTH_PROVIDER_CLIENT_SECRET:-}"
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ limit_memory_hard = ${LIMIT_MEMORY_HARD}
limit_request = ${LIMIT_REQUEST}
limit_time_cpu = ${LIMIT_TIME_CPU}
limit_time_real = ${LIMIT_TIME_REAL}
limit_time_real_cron = ${LIMIT_TIME_REAL}
limit_time_real_cron = ${LIMIT_TIME_REAL_CRON}
log_handler = ${LOG_HANDLER}
log_level = ${LOG_LEVEL}
max_cron_threads = ${MAX_CRON_THREADS}
Expand All @@ -39,7 +39,7 @@ proxy_mode = True
; http_port = 8069
; http_enable = True
; http_interface =
; longpolling_port = 8072
; gevent_port = 8072
; osv_memory_age_limit = 1.0
; osv_memory_count_limit = False
; smtp_password = False
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
declare -x ADDONS_PATH="${ADDONS_PATH:-}"
declare -x DB_TEMPLATE="${DB_TEMPLATE:-template1}"
declare -x DB_HOST="${DB_HOST:-}"
declare -x DB_PORT="${DB_PORT:-5432}"
declare -x DB_REPLICA_HOST="${DB_REPLICA_HOST:-None}"
declare -x DB_REPLICA_PORT="${DB_REPLICA_PORT:-None}"
declare -x DB_NAME="${DB_NAME:-}"
declare -x DB_USER="${DB_USER:-}"
declare -x DB_PASSWORD="${DB_PASSWORD:-}"
declare -x DB_SSLMODE="${DB_SSLMODE:-prefer}"
declare -x DB_FILTER="${DB_FILTER:-^(${DB_NAME//,/|})$}"
declare -x LIST_DB="${LIST_DB:-False}"
declare -x ADMIN_PASSWD="${ADMIN_PASSWD:-}"
declare -x DB_MAXCONN="${DB_MAXCONN:-64}"
declare -x DB_MAXCONN_GEVENT="${DB_MAXCONN_GEVENT:-None}"
declare -x LIMIT_MEMORY_SOFT="${LIMIT_MEMORY_SOFT:-2147483648}"
declare -x LIMIT_MEMORY_SOFT_GEVENT="${LIMIT_MEMORY_SOFT_GEVENT:-None}"
declare -x LIMIT_MEMORY_HARD="${LIMIT_MEMORY_HARD:-2684354560}"
declare -x LIMIT_MEMORY_HARD_GEVENT="${LIMIT_MEMORY_HARD_GEVENT:-None}"
declare -x LIMIT_REQUEST="${LIMIT_REQUEST:-8192}"
declare -x LIMIT_TIME_CPU="${LIMIT_TIME_CPU:-60}"
declare -x LIMIT_TIME_REAL="${LIMIT_TIME_REAL:-120}"
declare -x LIMIT_TIME_REAL_CRON="${LIMIT_TIME_REAL_CRON:-120}"
declare -x LOG_HANDLER="${LOG_HANDLER:-':INFO'}"
declare -x LOG_LEVEL="${LOG_LEVEL:-info}"
declare -x MAX_CRON_THREADS="${MAX_CRON_THREADS:-2}"
declare -x WORKERS="${WORKERS:-4}"
declare -x LOGFILE="${LOGFILE:-None}"
declare -x LOG_DB="${LOG_DB:-}"
declare -x SYSLOG="${SYSLOG:-False}"
declare -x RUNNING_ENV="${RUNNING_ENV:-dev}"
if [ ! -z "${WITH_DEMO:-}" ]; then
declare -x WITH_DEMO="${WITH_DEMO}"
elif [ ! -z "${WITHOUT_DEMO:-}" ]; then
# Fallback to WITHOUT_DEMO
# But inversing the logic
if [ "${WITHOUT_DEMO}" == "False" ]; then
declare -x WITH_DEMO="True"
else
declare -x WITH_DEMO="False"
fi
else
# nothing is set -> Default value
declare -x WITH_DEMO="False"
fi
declare -x SERVER_WIDE_MODULES="${SERVER_WIDE_MODULES:-}"
declare -x UNACCENT="${UNACCENT:-False}"
declare -x ADDITIONAL_ODOO_RC="${ADDITIONAL_ODOO_RC:-}"
# diff with upstream
# we don't use PG vars because they should be explicitely
# defined in docker compose files
# the entrypoint is not run by docker exec
#declare -x PGHOST=${DB_HOST}
#declare -x PGPORT=${DB_PORT:-5432}
#declare -x PGUSER=${DB_USER}
#declare -x PGPASSWORD=${DB_PASSWORD}
#declare -x PGDATABASE=${DB_NAME}
declare -x SENTRY="${SENTRY:-False}"
declare -x SENTRY_DSN="${SENTRY_DSN:-''}"
declare -x SENTRY_RELEASE="${SENTRY_RELEASE:-}"
declare -x SENTRY_TRACES_SAMPLE_RATE="${SENTRY_TRACES_SAMPLE_RATE:-}"
declare -x ENCRYPTION_KEY_DEV="${ENCRYPTION_KEY_DEV:-}"
declare -x ENCRYPTION_KEY_CI="${ENCRYPTION_KEY_CI:-}"
declare -x ENCRYPTION_KEY_PROD="${ENCRYPTION_KEY_PROD:-}"
declare -x AUTH_OAUTH_PROVIDER_CLIENT_ID="${AUTH_OAUTH_PROVIDER_CLIENT_ID:-}"
declare -x AUTH_OAUTH_PROVIDER_CLIENT_SECRET="${AUTH_OAUTH_PROVIDER_CLIENT_SECRET:-}"
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
[options]
addons_path = ${ADDONS_PATH}
data_dir = /data/odoo
db_template = ${DB_TEMPLATE}
db_host = ${DB_HOST}
db_port = ${DB_PORT}
db_replica_host = ${DB_REPLICA_HOST}
db_replica_port = ${DB_REPLICA_PORT}
db_name = ${DB_NAME}
db_user = ${DB_USER}
db_password = ${DB_PASSWORD}
db_sslmode = ${DB_SSLMODE}
dbfilter = ${DB_FILTER}
list_db = ${LIST_DB}
admin_passwd = ${ADMIN_PASSWD}
db_maxconn = ${DB_MAXCONN}
db_maxconn_gevent = ${DB_MAXCONN_GEVENT}
limit_memory_soft = ${LIMIT_MEMORY_SOFT}
limit_memory_soft_gevent = ${LIMIT_MEMORY_SOFT_GEVENT}
limit_memory_hard = ${LIMIT_MEMORY_HARD}
limit_memory_hard_gevent = ${LIMIT_MEMORY_HARD_GEVENT}
limit_request = ${LIMIT_REQUEST}
limit_time_cpu = ${LIMIT_TIME_CPU}
limit_time_real = ${LIMIT_TIME_REAL}
limit_time_real_cron = ${LIMIT_TIME_REAL_CRON}
log_handler = ${LOG_HANDLER}
log_level = ${LOG_LEVEL}
max_cron_threads = ${MAX_CRON_THREADS}
workers = ${WORKERS}
logfile = ${LOGFILE}
log_db = ${LOG_DB}
syslog = ${SYSLOG}
with_demo = ${WITH_DEMO}
server_wide_modules = ${SERVER_WIDE_MODULES}
; We can activate proxy_mode even if we are not behind a proxy, because
; it is used only if HTTP_X_FORWARDED_HOST is set in environ
proxy_mode = True
; csv_internal_sep = ,
; debug_mode = False
; email_from = False
; http_port = 8069
; http_enable = True
http_interface = 0.0.0.0
; gevent_port = 8072
; osv_memory_age_limit = 1.0
; osv_memory_count_limit = False
; smtp_password = False
; smtp_port = 25
; smtp_server = localhost
; smtp_ssl = False
; smtp_user = False
unaccent = ${UNACCENT}

sentry_enabled = ${SENTRY}
sentry_environment = ${RUNNING_ENV}
sentry_dsn = ${SENTRY_DSN}
sentry_release = ${SENTRY_RELEASE}
sentry_traces_sample_rate = ${SENTRY_TRACES_SAMPLE_RATE}

encryption_key_dev=${ENCRYPTION_KEY_DEV}
encryption_key_ci=${ENCRYPTION_KEY_CI}
encryption_key_prod=${ENCRYPTION_KEY_PROD}
${ADDITIONAL_ODOO_RC}


[auth_oauth_provider.Akretion]
client_id=${AUTH_OAUTH_PROVIDER_CLIENT_ID}
client_secret=${AUTH_OAUTH_PROVIDER_CLIENT_SECRET}
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ declare -x DB_NAME="${DB_NAME:-}"
declare -x DB_USER="${DB_USER:-}"
declare -x DB_PASSWORD="${DB_PASSWORD:-}"
declare -x DB_SSLMODE="${DB_SSLMODE:-prefer}"
declare -x DB_FILTER="${DB_FILTER:-}"
declare -x DB_FILTER="${DB_FILTER:-^(${DB_NAME//,/|})$}"
declare -x LIST_DB="${LIST_DB:-False}"
declare -x ADMIN_PASSWD="${ADMIN_PASSWD:-}"
declare -x DB_MAXCONN="${DB_MAXCONN:-64}"
Expand All @@ -15,18 +15,28 @@ declare -x LIMIT_MEMORY_HARD="${LIMIT_MEMORY_HARD:-2684354560}"
declare -x LIMIT_REQUEST="${LIMIT_REQUEST:-8192}"
declare -x LIMIT_TIME_CPU="${LIMIT_TIME_CPU:-60}"
declare -x LIMIT_TIME_REAL="${LIMIT_TIME_REAL:-120}"
declare -x LIMIT_TIME_REAL_CRON="${LIMIT_TIME_REAL_CRON:-120}"
declare -x LOG_HANDLER="${LOG_HANDLER:-':INFO'}"
declare -x LOG_LEVEL="${LOG_LEVEL:-info}"
declare -x MAX_CRON_THREADS="${MAX_CRON_THREADS:-2}"
declare -x WORKERS="${WORKERS:-4}"
declare -x LOGFILE="${LOGFILE:-}"
declare -x LOGFILE="${LOGFILE:-None}"
declare -x LOG_DB="${LOG_DB:-False}"
declare -x SYSLOG="${SYSLOG:-False}"
declare -x RUNNING_ENV="${RUNNING_ENV:-dev}"
declare -x WITHOUT_DEMO="${WITHOUT_DEMO:-True}"
declare -x SERVER_WIDE_MODULES="${SERVER_WIDE_MODULES:-}"
declare -x UNACCENT="${UNACCENT:-False}"
declare -x ADDITIONAL_ODOO_RC="${ADDITIONAL_ODOO_RC:-}"
# diff with upstream
# we don't use PG vars because they should be explicitely
# defined in docker compose files
# the entrypoint is not run by docker exec
#declare -x PGHOST=${DB_HOST}
#declare -x PGPORT=${DB_PORT:-5432}
#declare -x PGUSER=${DB_USER}
#declare -x PGPASSWORD=${DB_PASSWORD}
#declare -x PGDATABASE=${DB_NAME}
declare -x SENTRY="${SENTRY:-False}"
declare -x SENTRY_DSN="${SENTRY_DSN:-''}"
declare -x SENTRY_RELEASE="${SENTRY_RELEASE:-}"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
[options]
addons_path = ${ADDONS_PATH}
data_dir = /data/odoo
auto_reload = False
db_template = ${DB_TEMPLATE}
db_host = ${DB_HOST}
db_port = ${DB_PORT}
db_name = ${DB_NAME}
db_user = ${DB_USER}
db_password = ${DB_PASSWORD}
db_sslmode = ${DB_SSLMODE}
dbfilter = ${DB_FILTER}
list_db = ${LIST_DB}
admin_passwd = ${ADMIN_PASSWD}
db_maxconn = ${DB_MAXCONN}
limit_memory_soft = ${LIMIT_MEMORY_SOFT}
limit_memory_hard = ${LIMIT_MEMORY_HARD}
limit_request = ${LIMIT_REQUEST}
limit_time_cpu = ${LIMIT_TIME_CPU}
limit_time_real = ${LIMIT_TIME_REAL}
limit_time_real_cron = ${LIMIT_TIME_REAL_CRON}
log_handler = ${LOG_HANDLER}
log_level = ${LOG_LEVEL}
max_cron_threads = ${MAX_CRON_THREADS}
workers = ${WORKERS}
logfile = ${LOGFILE}
log_db = ${LOG_DB}
logrotate = True
syslog = ${SYSLOG}
running_env = ${RUNNING_ENV}
without_demo = ${WITHOUT_DEMO}
server_wide_modules = ${SERVER_WIDE_MODULES}
; We can activate proxy_mode even if we are not behind a proxy, because
; it is used only if HTTP_X_FORWARDED_HOST is set in environ
proxy_mode = True
; csv_internal_sep = ,
; debug_mode = False
; email_from = False
; http_port = 8069
; http_enable = True
; http_interface =
; gevent_port = 8072
; osv_memory_age_limit = 1.0
; osv_memory_count_limit = False
; smtp_password = False
; smtp_port = 25
; smtp_server = localhost
; smtp_ssl = False
; smtp_user = False
unaccent = ${UNACCENT}

sentry_enabled = ${SENTRY}
sentry_environment = ${RUNNING_ENV}
sentry_dsn = ${SENTRY_DSN}
sentry_release = ${SENTRY_RELEASE}
sentry_traces_sample_rate = ${SENTRY_TRACES_SAMPLE_RATE}

encryption_key_dev=${ENCRYPTION_KEY_DEV}
encryption_key_ci=${ENCRYPTION_KEY_CI}
encryption_key_prod=${ENCRYPTION_KEY_PROD}
${ADDITIONAL_ODOO_RC}


[auth_oauth_provider.Akretion]
client_id=${AUTH_OAUTH_PROVIDER_CLIENT_ID}
client_secret=${AUTH_OAUTH_PROVIDER_CLIENT_SECRET}
Loading