Bug #10690

"dump config yaml" for Go programs and Rails projects

Added by Tom Clegg almost 5 years ago. Updated over 4 years ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Category:
Deployment
Target version:
Start date:
12/08/2016
Due date:
% Done:

100%

Estimated time:
(Total: 0.00 h)
Story points:
-

Description

Some Go programs already have a -dump-config command line flag.
  • services/keepstore
  • services/ws (#8460)
The rest of the Go programs that have configs should also get this feature.
  • services/arv-git-httpd
  • services/crunch-dispatch-slurm
  • services/keep-balance
  • services/keep-web
  • services/keepproxy

Subtasks

Task #10925: Review 10690-config-dumpResolvedTom Clegg

Task #10924: add dump option to remaining Go programsResolvedTom Clegg

Associated revisions

Revision ba57b653
Added by Tom Clegg almost 5 years ago

Merge branch '10690-config-dump' refs #10690

Revision aa05b5d5
Added by Tom Clegg over 4 years ago

Merge branch '10690-config-dump'

closes #10690

History

#1 Updated by Tom Clegg almost 5 years ago

10690-config-dump @ 9676ee85d8f8fc64dfd4149cea5999de54e827a7

$ (cd apps/workbench; RAILS_ENV=test bundle exec rake config:dump)
---
assets.js_compressor: false
assets.css_compressor: false
data_import_dir: "/tmp/arvados-workbench-upload" 
data_export_dir: "/tmp/arvados-workbench-download" 
arvados_login_base: https://localhost:3000/login
arvados_v1_base: https://localhost:3000/arvados/v1
arvados_insecure_https: true
activation_contact_link: mailto:info@arvados.org
arvados_docsite: http://doc.arvados.org
arvados_public_data_doc_url: http://arvados.org/projects/arvados/wiki/Public_Pipelines_and_Datasets
arvados_theme: default
show_user_agreement_inline: false
secret_token: 63y9fkyk0a4xz61q2scu6faz9hl62eguqvuxic96l9ntpwiqu1
secret_key_base: 2s8sbtqiw6iim86zondpms94l19zdn2it63e4mroj4l3j126tc
default_openid_prefix: https://www.google.com/accounts/o8/id
send_user_setup_notification_email: true
repository_cache: "/home/tom/src/arvados/apps/workbench/tmp/git" 
user_profile_form_fields:
- key: organization
  type: text
  form_field_title: Institution
  form_field_description: Your organization
  required: true
- key: role
  type: select
  form_field_title: Your role
  form_field_description: Choose the category that best describes your role in your
    organization.
  options:
  - Bio-informatician
  - Computational biologist
  - Biologist or geneticist
  - Software developer
  - IT
  - Other
user_profile_form_message: Welcome to Arvados. All <span style="color:red">required
  fields</span> must be completed before you can proceed.
source_version: false
issue_reporter_email_from: arvados@example.com
issue_reporter_email_to: arvados@example.com
support_email_address: arvados@example.com
email_from: arvados@example.com
application_mimetypes_with_view_icon:
- fasta
- go
- javascript
- json
- pdf
- python
- r
- rtf
- sam
- sh
- xml
- xsl
log_viewer_max_bytes: 1000000
anonymous_user_token: false
enable_public_projects_page: true
enable_getting_started_popup: false
api_response_compression: true
api_client_connect_timeout: 120
api_client_receive_timeout: 300
shell_in_a_box_url: false
keep_web_url: false
keep_web_download_url: false
trust_all_content: false
running_job_log_records_to_fetch: 2000
show_recent_collections_on_dashboard: true
show_user_notifications: true
cache_classes: true
eager_load: false
serve_static_assets: true
static_cache_control: public, max-age=3600
consider_all_requests_local: true
action_controller.perform_caching: false
action_dispatch.show_exceptions: false
action_controller.allow_forgery_protection: false
action_mailer.delivery_method: :test
active_support.deprecation: :stderr
profiling_enabled: true
site_name: Workbench:test
$ (cd services/api; RAILS_ENV=test bundle exec rake config:dump)
---
uuid_prefix: zzzzz
secret_token: 13hisgb7od52vcmy1hymopfsc8c2zxwouujm3vfn172bhl9c9gfpxpic39unmiywk4rstxzojw3ldmpnnne1lts5f542rrdufrx4
blob_signing_key: zfhgfenhffzltr9dixws36j1yhksjoll2grmku38mi7yxd66h5j4q9w4jzanezacp8s6q0ro3hxakfye02152hncy6zml2ed0uc
sso_app_secret: r0imhmvdnj07irkjvu1b09l8j3zy277gmztclmqx5zs3bqtspkhvtsjmgw0e4ej9c3v01eh7yoz4zlky84fx2db0rxmef412kaa
sso_app_id: arvados-server
sso_provider_url: http://localhost:3002
workbench_address: https://localhost:3001/
websocket_address: false
websocket_max_connections: 500
websocket_max_notify_backlog: 1000
websocket_max_filters: 10
git_repositories_dir: "/home/tom/src/arvados/services/api/tmp/git/test" 
git_internal_dir: "/home/tom/src/arvados/services/api/tmp/internal.git" 
default_collection_replication: 2
host: false
git_repo_ssh_base: true
git_repo_https_base: true
auto_setup_new_users: false
auto_setup_new_users_with_vm_uuid: false
auto_setup_new_users_with_repository: false
auto_setup_name_blacklist:
- arvados
- git
- gitolite
- gitolite-admin
- root
- syslog
new_users_are_active: false
auto_admin_user: false
auto_admin_first_user: false
user_profile_notification_address: arvados@example.com
admin_notifier_email_from: arvados@example.com
email_subject_prefix: "[ARVADOS] " 
user_notifier_email_from: arvados@example.com
new_user_notification_recipients: []
new_inactive_user_notification_recipients: []
blob_signature_ttl: 1209600
default_trash_lifetime: 1209600
max_request_log_params_size: 2000
max_request_size: 134217728
max_index_database_read: 134217728
max_items_per_response: 1000
clean_job_log_rows_after: 2592000
clean_container_log_rows_after: 2592000
max_compute_nodes: 64
crunch_log_bytes_per_event: 4096
crunch_log_seconds_between_events: 1
crunch_log_throttle_period: 60
crunch_log_throttle_bytes: 65536
crunch_log_throttle_lines: 1024
crunch_limit_log_bytes_per_job: 67108864
unlogged_attributes: []
disable_api_methods: []
default_docker_image_for_jobs: false
crunch_job_wrapper: :none
crunch_job_user: crunch
crunch_refresh_trigger: "/tmp/crunch_refresh_trigger" 
dns_server_conf_dir: false
dns_server_conf_template: false
dns_server_reload_command: false
dns_server_update_command: false
compute_node_domain: false
compute_node_nameservers:
- 192.168.1.1
assign_node_hostname: compute%<slot_number>d
arvados_theme: default
sso_insecure: false
encoding: utf-8
assets.enabled: true
assets.version: '1.0'
permit_create_collection_with_unsigned_manifest: false
default_openid_prefix: https://www.google.com/accounts/o8/id
source_version: false
crunch_log_partial_line_throttle_period: 5
async_permissions_update: false
container_count_max: 3
container_default_keep_cache_ram: 268435456
force_ssl: false
cache_classes: true
serve_static_assets: true
static_cache_control: public, max-age=3600
whiny_nils: true
consider_all_requests_local: true
action_controller.perform_caching: false
action_dispatch.show_exceptions: false
action_controller.allow_forgery_protection: false
action_mailer.delivery_method: :test
active_support.deprecation: :stderr
active_record.mass_assignment_sanitizer: :strict

#2 Updated by Tom Clegg almost 5 years ago

  • Category set to Deployment
  • Status changed from New to In Progress
  • Assigned To set to Tom Clegg

#3 Updated by Tom Clegg almost 5 years ago

  • Description updated (diff)

#4 Updated by Tom Clegg over 4 years ago

  • Target version set to 2017-02-01 sprint

#6 Updated by Javier Bértoli over 4 years ago

As far as I can understand the code, it LGTM. I'd just do some minor changes, for consistency, ie:

in services/keep-balance/main.go, @ -78,19 +78,24 @ func main() {

+       dumpConfig := flag.Bool("dump-config", false, "write current configuration to stdout and exit")

in services/keep-web/main.go, @ -62,6 +62,8 @ func main() {

+       dumpConfig := flag.Bool("dump-config", false,
+               "write current configuration to stdout and exit")

in services/arv-git-httpd/main.go, @ -44,6 +44,7 @ func main() {

+       dumpConfig := flag.Bool("dump-config", false, "write current configuration to stdout and exit (useful for migrating from command line flags to config file)")

Given the comment above, I wonder if we can't separate in a 'common' include/lib all the functionality that is common to all/most of our binaries/daemons? If we already do, maybe these entries belong there?

Other than that, I like the result as shown in the description :)

#7 Updated by Tom Clegg over 4 years ago

  • Status changed from In Progress to Resolved

Applied in changeset arvados|commit:aa05b5d5ee2e42f2e456cca0c2f3cd835ab7cef4.

Also available in: Atom PDF