##// END OF EJS Templates
rcstack: improved compatability with 4.28.0 release using rcstack
marcink -
Show More
@@ -2107,8 +2107,6 b' config_vcsserver_ini() {'
2107 sed_replace '^#?rc_cache\.repo_object\.arguments\.host = .*' 'rc_cache.repo_object.arguments.host = redis'
2107 sed_replace '^#?rc_cache\.repo_object\.arguments\.host = .*' 'rc_cache.repo_object.arguments.host = redis'
2108 sed_replace '^#?rc_cache\.repo_object\.arguments\.redis_expiration_time = .*' 'rc_cache.repo_object.arguments.redis_expiration_time = 3592000'
2108 sed_replace '^#?rc_cache\.repo_object\.arguments\.redis_expiration_time = .*' 'rc_cache.repo_object.arguments.redis_expiration_time = 3592000'
2109
2109
2110 sed_replace '^#?formatter = .*' 'formatter = json'
2111
2112 #statsd enable
2110 #statsd enable
2113 sed_replace '^#?statsd.enabled = .*' 'statsd.enabled = true'
2111 sed_replace '^#?statsd.enabled = .*' 'statsd.enabled = true'
2114 sed_replace '^#?statsd.statsd_host = .*' 'statsd.statsd_host = statsd-exporter'
2112 sed_replace '^#?statsd.statsd_host = .*' 'statsd.statsd_host = statsd-exporter'
@@ -2206,9 +2204,6 b' config_rhodecode_ini() {'
2206 # enable Chat
2204 # enable Chat
2207 sed_replace '^#?chat.enabled = .*' 'chat.enabled = true'
2205 sed_replace '^#?chat.enabled = .*' 'chat.enabled = true'
2208
2206
2209 # logging
2210 sed_replace '^#?formatter = .*' 'formatter = json'
2211
2212 }
2207 }
2213
2208
2214 # src/lib/send_completions.sh
2209 # src/lib/send_completions.sh
@@ -2758,14 +2753,6 b' rcstack_init_command() {'
2758 args['__arg_license_token']=1
2753 args['__arg_license_token']=1
2759 fi
2754 fi
2760
2755
2761 if [[ -z ${args['--arg-log-formatter']} ]]; then
2762 # set default
2763 args['--arg-log-formatter']="json"
2764 else
2765 # mark we used flag and don't ask in prompts
2766 args['__arg_log_formatter']=1
2767 fi
2768
2769 arg_rc_edition=${args[--arg-rc-edition]}
2756 arg_rc_edition=${args[--arg-rc-edition]}
2770 arg_rc_version=${args[--arg-rc-version]}
2757 arg_rc_version=${args[--arg-rc-version]}
2771 arg_accept_eula=${args[--arg-accept-eula]}
2758 arg_accept_eula=${args[--arg-accept-eula]}
@@ -2776,7 +2763,6 b' rcstack_init_command() {'
2776 arg_admin_user=${args[--arg-admin-user]}
2763 arg_admin_user=${args[--arg-admin-user]}
2777 arg_admin_pass=${args[--arg-admin-pass]}
2764 arg_admin_pass=${args[--arg-admin-pass]}
2778 arg_license_token=${args[--arg-license-token]}
2765 arg_license_token=${args[--arg-license-token]}
2779 arg_log_formatter=${args[--arg-log-formatter]}
2780
2766
2781 ask_user_for_config() {
2767 ask_user_for_config() {
2782 local config_done="n"
2768 local config_done="n"
@@ -3202,22 +3188,37 b' rcstack_init_command() {'
3202 echo "$(yellow bootstrap_definitions: skipping docker defs creation, existing files found. Use --force to create them anyway)"
3188 echo "$(yellow bootstrap_definitions: skipping docker defs creation, existing files found. Use --force to create them anyway)"
3203 return
3189 return
3204 fi
3190 fi
3191 definitions_override_decision=true
3205
3192
3206 if [[ -n $DEFINITIONS_EXIST ]]; then
3193 if [[ -n $DEFINITIONS_EXIST ]]; then
3207 echo "$(yellow docker definitions exists, are you sure to force re-create them?)"
3194 echo "$(yellow docker definitions exists, are you sure to force re-create them?)"
3195 definitions_override_decision=false
3208 while true; do
3196 while true; do
3209 read -p "Would you like to continue with overriding files? [yn] " yn
3197 read -p "Would you like to continue with overriding files? [yn] " yn
3210 case $yn in
3198 case $yn in
3211 [Yy]*) break ;;
3199 [Yy]*)
3212 [Nn]*) exit ;;
3200 definitions_override_decision=true
3213 *) echo "Please answer y or n." ;;
3201 break
3214 esac
3202 ;;
3203 [Nn]*)
3204 definitions_override_decision=false
3205 break
3206 ;;
3207 *)
3208 echo "Please answer y or n."
3209 ;;
3210 esac
3215 done
3211 done
3216 fi
3212 fi
3217
3213
3218 FULL_MODE=1
3214 if [[ "$definitions_override_decision" == true ]]; then
3219 # This expects the $AUTH_TOKEN and $SERVER_URL be present
3215 FULL_MODE=1
3220 get_docker_definitions $docker_revision $FULL_MODE $DEBUG
3216 # This expects the $AUTH_TOKEN and $SERVER_URL be present
3217 get_docker_definitions $docker_revision $FULL_MODE $DEBUG
3218 else
3219 echo "$(yellow No docker definition override)"
3220 # Add commands for cancellation or other actions here.
3221 fi
3221
3222
3222 }
3223 }
3223
3224
@@ -7766,7 +7767,7 b' rcstack__completions_parse_requirements() {'
7766
7767
7767 # :command.initialize
7768 # :command.initialize
7768 initialize() {
7769 initialize() {
7769 version="5.9.0"
7770 version="5.10.0"
7770 long_usage=''
7771 long_usage=''
7771 set -e
7772 set -e
7772
7773
@@ -319,7 +319,7 b' file_store.enabled = true'
319 file_store.backend = local
319 file_store.backend = local
320
320
321 ; path to store the uploaded binaries
321 ; path to store the uploaded binaries
322 file_store.storage_path = %(here)s/data/file_store
322 file_store.storage_path = /var/opt/rhodecode_data/file_store
323
323
324
324
325 ; #############
325 ; #############
@@ -328,10 +328,13 b' file_store.storage_path = %(here)s/data/file_store'
328
328
329 ; manually run celery: /path/to/celery worker -E --beat --app rhodecode.lib.celerylib.loader --scheduler rhodecode.lib.celerylib.scheduler.RcScheduler --loglevel DEBUG --ini /path/to/rhodecode.ini
329 ; manually run celery: /path/to/celery worker -E --beat --app rhodecode.lib.celerylib.loader --scheduler rhodecode.lib.celerylib.scheduler.RcScheduler --loglevel DEBUG --ini /path/to/rhodecode.ini
330
330
331 use_celery = false
331 use_celery = true
332
333 ; path to store schedule database
334 #celerybeat-schedule.path =
332
335
333 ; connection url to the message broker (default redis)
336 ; connection url to the message broker (default redis)
334 celery.broker_url = redis://localhost:6379/8
337 celery.broker_url = redis://redis:6379/8
335
338
336 ; rabbitmq example
339 ; rabbitmq example
337 #celery.broker_url = amqp://rabbitmq:qweqwe@localhost:5672/rabbitmqhost
340 #celery.broker_url = amqp://rabbitmq:qweqwe@localhost:5672/rabbitmqhost
@@ -348,7 +351,7 b' celery.task_always_eager = false'
348
351
349 ; Default cache dir for caches. Putting this into a ramdisk can boost performance.
352 ; Default cache dir for caches. Putting this into a ramdisk can boost performance.
350 ; eg. /tmpfs/data_ramdisk, however this directory might require large amount of space
353 ; eg. /tmpfs/data_ramdisk, however this directory might require large amount of space
351 cache_dir = %(here)s/data
354 cache_dir = /var/opt/rhodecode_data
352
355
353 ; *********************************************
356 ; *********************************************
354 ; `sql_cache_short` cache for heavy SQL queries
357 ; `sql_cache_short` cache for heavy SQL queries
@@ -369,9 +372,11 b' rc_cache.cache_repo_longterm.expiration_time = 2592000'
369 rc_cache.cache_repo_longterm.max_size = 10000
372 rc_cache.cache_repo_longterm.max_size = 10000
370
373
371
374
372 ; *************************************************
375 ; *********************************************
373 ; `cache_perms` cache for permission tree, auth TTL
376 ; `cache_general` cache for general purpose use
374 ; *************************************************
377 ; for simplicity use rc.file_namespace backend,
378 ; for performance and scale use rc.redis
379 ; *********************************************
375 rc_cache.cache_perms.backend = dogpile.cache.rc.file_namespace
380 rc_cache.cache_perms.backend = dogpile.cache.rc.file_namespace
376 rc_cache.cache_perms.expiration_time = 300
381 rc_cache.cache_perms.expiration_time = 300
377 ; file cache store path. Defaults to `cache_dir =` value or tempdir if both values are not set
382 ; file cache store path. Defaults to `cache_dir =` value or tempdir if both values are not set
@@ -420,14 +425,14 b' rc_cache.cache_repo.expiration_time = 2592000'
420 ; ##############
425 ; ##############
421
426
422 ; beaker.session.type is type of storage options for the logged users sessions. Current allowed
427 ; beaker.session.type is type of storage options for the logged users sessions. Current allowed
423 ; types are file, ext:redis, ext:database, ext:memcached, and memory (default if not specified).
428 ; types are file, ext:redis, ext:database, ext:memcached
424 ; Fastest ones are Redis and ext:database
429 ; Fastest ones are ext:redis and ext:database, DO NOT use memory type for session
425 beaker.session.type = file
430 #beaker.session.type = file
426 beaker.session.data_dir = %(here)s/data/sessions
431 #beaker.session.data_dir = %(here)s/data/sessions
427
432
428 ; Redis based sessions
433 ; Redis based sessions
429 #beaker.session.type = ext:redis
434 beaker.session.type = ext:redis
430 #beaker.session.url = redis://127.0.0.1:6379/2
435 beaker.session.url = redis://redis:6379/2
431
436
432 ; DB based session, fast, and allows easy management over logged in users
437 ; DB based session, fast, and allows easy management over logged in users
433 #beaker.session.type = ext:database
438 #beaker.session.type = ext:database
@@ -439,7 +444,7 b' beaker.session.data_dir = %(here)s/data/sessions'
439
444
440 beaker.session.key = rhodecode
445 beaker.session.key = rhodecode
441 beaker.session.secret = production-rc-uytcxaz
446 beaker.session.secret = production-rc-uytcxaz
442 beaker.session.lock_dir = %(here)s/data/sessions/lock
447 beaker.session.lock_dir = /data_ramdisk/lock
443
448
444 ; Secure encrypted cookie. Requires AES and AES python libraries
449 ; Secure encrypted cookie. Requires AES and AES python libraries
445 ; you must disable beaker.session.secret to use this
450 ; you must disable beaker.session.secret to use this
@@ -471,7 +476,7 b' beaker.session.secure = false'
471 ; WHOOSH Backend, doesn't require additional services to run
476 ; WHOOSH Backend, doesn't require additional services to run
472 ; it works good with few dozen repos
477 ; it works good with few dozen repos
473 search.module = rhodecode.lib.index.whoosh
478 search.module = rhodecode.lib.index.whoosh
474 search.location = %(here)s/data/index
479 search.location = /var/opt/rhodecode_data/index
475
480
476 ; ElasticSearch (EE edition only). Requires Elastic Search cluster
481 ; ElasticSearch (EE edition only). Requires Elastic Search cluster
477 ; to be installed, and running. Recommended for large amount of repositories
482 ; to be installed, and running. Recommended for large amount of repositories
@@ -487,18 +492,18 b' search.location = %(here)s/data/index'
487 ; channelstream enables persistent connections and live notification
492 ; channelstream enables persistent connections and live notification
488 ; in the system. It's also used by the chat system
493 ; in the system. It's also used by the chat system
489
494
490 channelstream.enabled = false
495 channelstream.enabled = true
491
496
492 ; server address for channelstream server on the backend
497 ; server address for channelstream server on the backend
493 channelstream.server = 127.0.0.1:9800
498 channelstream.server = channelstream:9800
494
499
495 ; location of the channelstream server from outside world
500 ; location of the channelstream server from outside world
496 ; use ws:// for http or wss:// for https. This address needs to be handled
501 ; use ws:// for http or wss:// for https. This address needs to be handled
497 ; by external HTTP server such as Nginx or Apache
502 ; by external HTTP server such as Nginx or Apache
498 ; see Nginx/Apache configuration examples in our docs
503 ; see Nginx/Apache configuration examples in our docs
499 channelstream.ws_url = ws://rhodecode.yourserver.com/_channelstream
504 channelstream.ws_url = ws://localhost:8888/_channelstream
500 channelstream.secret = secret
505 channelstream.secret = ENV_GENERATED
501 channelstream.history.location = %(here)s/channelstream_history
506 channelstream.history.location = /var/opt/rhodecode_data/channelstream_history
502
507
503 ; Internal application path that Javascript uses to connect into.
508 ; Internal application path that Javascript uses to connect into.
504 ; If you use proxy-prefix the prefix should be added before /_channelstream
509 ; If you use proxy-prefix the prefix should be added before /_channelstream
@@ -506,7 +511,7 b' channelstream.proxy_path = /_channelstream'
506
511
507 ; Live chat for commits/pull requests. Requires CHANNELSTREAM to be enabled
512 ; Live chat for commits/pull requests. Requires CHANNELSTREAM to be enabled
508 ; and configured. (EE edition only)
513 ; and configured. (EE edition only)
509 chat.enabled = false
514 chat.enabled = true
510
515
511
516
512 ; ##############################
517 ; ##############################
@@ -546,7 +551,7 b' sqlalchemy.db1.convert_unicode = true'
546 ; VCS CONFIG
551 ; VCS CONFIG
547 ; ##########
552 ; ##########
548 vcs.server.enable = true
553 vcs.server.enable = true
549 vcs.server = localhost:9900
554 vcs.server = vcsserver:10010
550
555
551 ; Web server connectivity protocol, responsible for web based VCS operations
556 ; Web server connectivity protocol, responsible for web based VCS operations
552 ; Available protocols are:
557 ; Available protocols are:
@@ -561,9 +566,10 b' vcs.scm_app_implementation = http'
561 ; `http` - use http-rpc backend (default)
566 ; `http` - use http-rpc backend (default)
562 vcs.hooks.protocol = http
567 vcs.hooks.protocol = http
563
568
564 ; Host on which this instance is listening for hooks. If vcsserver is in other location
569 ; Host on which this instance is listening for hooks. vcsserver will call this host to pull/push hooks so it should be
565 ; this should be adjusted.
570 ; accessible via network.
566 vcs.hooks.host = 127.0.0.1
571 ; Use vcs.hooks.host = "*" to bind to current hostname (for Docker)
572 vcs.hooks.host = *
567
573
568 ; Start VCSServer with this instance as a subprocess, useful for development
574 ; Start VCSServer with this instance as a subprocess, useful for development
569 vcs.start_server = false
575 vcs.start_server = false
@@ -589,13 +595,13 b' vcs.connection_timeout = 3600'
589 ; ####################################################
595 ; ####################################################
590
596
591 ; Enable or disable the config file generation.
597 ; Enable or disable the config file generation.
592 svn.proxy.generate_config = false
598 svn.proxy.generate_config = true
593
599
594 ; Generate config file with `SVNListParentPath` set to `On`.
600 ; Generate config file with `SVNListParentPath` set to `On`.
595 svn.proxy.list_parent_path = true
601 svn.proxy.list_parent_path = true
596
602
597 ; Set location and file name of generated config file.
603 ; Set location and file name of generated config file.
598 svn.proxy.config_file_path = %(here)s/mod_dav_svn.conf
604 svn.proxy.config_file_path = /etc/rhodecode/conf/svn/mod_dav_svn.conf
599
605
600 ; alternative mod_dav config template. This needs to be a valid mako template
606 ; alternative mod_dav config template. This needs to be a valid mako template
601 ; Example template can be found in the source code:
607 ; Example template can be found in the source code:
@@ -623,7 +629,7 b' svn.proxy.location_root = /'
623 ; any change user ssh keys. Setting this to false also disables possibility
629 ; any change user ssh keys. Setting this to false also disables possibility
624 ; of adding SSH keys by users from web interface. Super admins can still
630 ; of adding SSH keys by users from web interface. Super admins can still
625 ; manage SSH Keys.
631 ; manage SSH Keys.
626 ssh.generate_authorized_keyfile = false
632 ssh.generate_authorized_keyfile = true
627
633
628 ; Options for ssh, default is `no-pty,no-port-forwarding,no-X11-forwarding,no-agent-forwarding`
634 ; Options for ssh, default is `no-pty,no-port-forwarding,no-X11-forwarding,no-agent-forwarding`
629 # ssh.authorized_keys_ssh_opts =
635 # ssh.authorized_keys_ssh_opts =
@@ -631,7 +637,7 b' ssh.generate_authorized_keyfile = false'
631 ; Path to the authorized_keys file where the generate entries are placed.
637 ; Path to the authorized_keys file where the generate entries are placed.
632 ; It is possible to have multiple key files specified in `sshd_config` e.g.
638 ; It is possible to have multiple key files specified in `sshd_config` e.g.
633 ; AuthorizedKeysFile %h/.ssh/authorized_keys %h/.ssh/authorized_keys_rhodecode
639 ; AuthorizedKeysFile %h/.ssh/authorized_keys %h/.ssh/authorized_keys_rhodecode
634 ssh.authorized_keys_file_path = ~/.ssh/authorized_keys_rhodecode
640 ssh.authorized_keys_file_path = /etc/rhodecode/conf/ssh/authorized_keys_rhodecode
635
641
636 ; Command to execute the SSH wrapper. The binary is available in the
642 ; Command to execute the SSH wrapper. The binary is available in the
637 ; RhodeCode installation directory.
643 ; RhodeCode installation directory.
@@ -656,63 +662,6 b' ssh.executable.svn = ~/.rccontrol/vcsserver-1/profile/bin/svnserve'
656 ssh.enable_ui_key_generator = true
662 ssh.enable_ui_key_generator = true
657
663
658
664
659 ; #################
660 ; APPENLIGHT CONFIG
661 ; #################
662
663 ; Appenlight is tailored to work with RhodeCode, see
664 ; http://appenlight.rhodecode.com for details how to obtain an account
665
666 ; Appenlight integration enabled
667 appenlight = false
668
669 appenlight.server_url = https://api.appenlight.com
670 appenlight.api_key = YOUR_API_KEY
671 #appenlight.transport_config = https://api.appenlight.com?threaded=1&timeout=5
672
673 ; used for JS client
674 appenlight.api_public_key = YOUR_API_PUBLIC_KEY
675
676 ; TWEAK AMOUNT OF INFO SENT HERE
677
678 ; enables 404 error logging (default False)
679 appenlight.report_404 = false
680
681 ; time in seconds after request is considered being slow (default 1)
682 appenlight.slow_request_time = 1
683
684 ; record slow requests in application
685 ; (needs to be enabled for slow datastore recording and time tracking)
686 appenlight.slow_requests = true
687
688 ; enable hooking to application loggers
689 appenlight.logging = true
690
691 ; minimum log level for log capture
692 appenlight.logging.level = WARNING
693
694 ; send logs only from erroneous/slow requests
695 ; (saves API quota for intensive logging)
696 appenlight.logging_on_error = false
697
698 ; list of additional keywords that should be grabbed from environ object
699 ; can be string with comma separated list of words in lowercase
700 ; (by default client will always send following info:
701 ; 'REMOTE_USER', 'REMOTE_ADDR', 'SERVER_NAME', 'CONTENT_TYPE' + all keys that
702 ; start with HTTP* this list be extended with additional keywords here
703 appenlight.environ_keys_whitelist =
704
705 ; list of keywords that should be blanked from request object
706 ; can be string with comma separated list of words in lowercase
707 ; (by default client will always blank keys that contain following words
708 ; 'password', 'passwd', 'pwd', 'auth_tkt', 'secret', 'csrf'
709 ; this list be extended with additional keywords set here
710 appenlight.request_keys_blacklist =
711
712 ; list of namespaces that should be ignores when gathering log entries
713 ; can be string with comma separated list of namespaces
714 ; (by default the client ignores own entries: appenlight_client.client)
715 appenlight.log_namespace_blacklist =
716
665
717 ; Dummy marker to add new entries after.
666 ; Dummy marker to add new entries after.
718 ; Add any custom entries below. Please don't remove this marker.
667 ; Add any custom entries below. Please don't remove this marker.
@@ -722,6 +671,7 b' custom.conf = 1'
722 ; #####################
671 ; #####################
723 ; LOGGING CONFIGURATION
672 ; LOGGING CONFIGURATION
724 ; #####################
673 ; #####################
674
725 [loggers]
675 [loggers]
726 keys = root, sqlalchemy, beaker, celery, rhodecode, ssh_wrapper
676 keys = root, sqlalchemy, beaker, celery, rhodecode, ssh_wrapper
727
677
@@ -115,21 +115,21 b' core.binary_dir = ""'
115
115
116 ; Default cache dir for caches. Putting this into a ramdisk can boost performance.
116 ; Default cache dir for caches. Putting this into a ramdisk can boost performance.
117 ; eg. /tmpfs/data_ramdisk, however this directory might require large amount of space
117 ; eg. /tmpfs/data_ramdisk, however this directory might require large amount of space
118 cache_dir = %(here)s/data
118 cache_dir = /var/opt/rhodecode_data
119
119
120 ; ***************************************
120 ; ***************************************
121 ; `repo_object` cache, default file based
121 ; `repo_object` cache, default file based
122 ; ***************************************
122 ; ***************************************
123
123
124 ; `repo_object` cache settings for vcs methods for repositories
124 ; `repo_object` cache settings for vcs methods for repositories
125 rc_cache.repo_object.backend = dogpile.cache.rc.file_namespace
125 #rc_cache.repo_object.backend = dogpile.cache.rc.file_namespace
126
126
127 ; cache auto-expires after N seconds
127 ; cache auto-expires after N seconds
128 ; Examples: 86400 (1Day), 604800 (7Days), 1209600 (14Days), 2592000 (30days), 7776000 (90Days)
128 ; Examples: 86400 (1Day), 604800 (7Days), 1209600 (14Days), 2592000 (30days), 7776000 (90Days)
129 rc_cache.repo_object.expiration_time = 2592000
129 #rc_cache.repo_object.expiration_time = 2592000
130
130
131 ; file cache store path. Defaults to `cache_dir =` value or tempdir if both values are not set
131 ; file cache store path. Defaults to `cache_dir =` value or tempdir if both values are not set
132 #rc_cache.repo_object.arguments.filename = /tmp/vcsserver_cache.db
132 #rc_cache.repo_object.arguments.filename = /tmp/vcsserver_cache_repo_object.db
133
133
134 ; ***********************************************************
134 ; ***********************************************************
135 ; `repo_object` cache with redis backend
135 ; `repo_object` cache with redis backend
@@ -190,7 +190,6 b' handlers ='
190 qualname = vcsserver
190 qualname = vcsserver
191 propagate = 1
191 propagate = 1
192
192
193
194 ; ########
193 ; ########
195 ; HANDLERS
194 ; HANDLERS
196 ; ########
195 ; ########
@@ -201,7 +200,7 b' args = (sys.stderr, )'
201 level = INFO
200 level = INFO
202 ; To enable JSON formatted logs replace 'generic' with 'json'
201 ; To enable JSON formatted logs replace 'generic' with 'json'
203 ; This allows sending properly formatted logs to grafana loki or elasticsearch
202 ; This allows sending properly formatted logs to grafana loki or elasticsearch
204 formatter = json
203 formatter = generic
205
204
206 ; ##########
205 ; ##########
207 ; FORMATTERS
206 ; FORMATTERS
General Comments 0
You need to be logged in to leave comments. Login now