github.com/sl1pm4t/consul@v1.4.5-0.20190325224627-74c31c540f9c/agent/config/doc.go (about) 1 // Package config contains the command line and config file code for the 2 // consul agent. 3 // 4 // The consul agent configuration is generated from multiple sources: 5 // 6 // * config files 7 // * environment variables (which?) 8 // * cmd line args 9 // 10 // Each of these argument sets needs to be parsed, validated and then 11 // merged with the other sources to build the final configuration. 12 // 13 // This patch introduces a distinction between the user and the runtime 14 // configuration. The user configuration defines the external interface for 15 // the user, i.e. the command line flags, the environment variables and the 16 // config file format which cannot be changed without breaking the users' 17 // setup. 18 // 19 // The runtime configuration is the merged, validated and mangled 20 // configuration structure suitable for the consul agent. Both structures 21 // are similar but different and the runtime configuration can be 22 // refactored at will without affecting the user configuration format. 23 // 24 // For this, the user configuration consists of several structures for 25 // config files and command line arguments. Again, the config file and 26 // command line structs are similar but not identical for historical 27 // reasons and to allow evolving them differently. 28 // 29 // All of the user configuration structs have pointer values to 30 // unambiguously merge values from several sources into the final value. 31 // 32 // The runtime configuration has no pointer values and should be passed by 33 // value to avoid accidental or malicious runtime configuration changes. 34 // Runtime updates need to be handled through a new configuration 35 // instances. 36 37 // # Removed command line flags 38 // 39 // * "-atlas" is deprecated and is no longer used. Please remove it from your configuration. 40 // * "-atlas-token" is deprecated and is no longer used. Please remove it from your configuration. 41 // * "-atlas-join" is deprecated and is no longer used. Please remove it from your configuration. 42 // * "-atlas-endpoint" is deprecated and is no longer used. Please remove it from your configuration. 43 // * "-dc" is deprecated. Please use "-datacenter" instead 44 // * "-retry-join-azure-tag-name" is deprecated. Please use "-retry-join" instead. 45 // * "-retry-join-azure-tag-value" is deprecated. Please use "-retry-join" instead. 46 // * "-retry-join-ec2-region" is deprecated. Please use "-retry-join" instead. 47 // * "-retry-join-ec2-tag-key" is deprecated. Please use "-retry-join" instead. 48 // * "-retry-join-ec2-tag-value" is deprecated. Please use "-retry-join" instead. 49 // * "-retry-join-gce-credentials-file" is deprecated. Please use "-retry-join" instead. 50 // * "-retry-join-gce-project-name" is deprecated. Please use "-retry-join" instead. 51 // * "-retry-join-gce-tag-name" is deprecated. Please use "-retry-join" instead. 52 // * "-retry-join-gce-zone-pattern" is deprecated. Please use "-retry-join" instead. 53 // 54 // # Removed configuration fields 55 // 56 // * "addresses.rpc" is deprecated and is no longer used. Please remove it from your configuration. 57 // * "ports.rpc" is deprecated and is no longer used. Please remove it from your configuration. 58 // * "atlas_infrastructure" is deprecated and is no longer used. Please remove it from your configuration. 59 // * "atlas_token" is deprecated and is no longer used. Please remove it from your configuration. 60 // * "atlas_acl_token" is deprecated and is no longer used. Please remove it from your configuration. 61 // * "atlas_join" is deprecated and is no longer used. Please remove it from your configuration. 62 // * "atlas_endpoint" is deprecated and is no longer used. Please remove it from your configuration. 63 // * "http_api_response_headers" is deprecated. Please use "http_config.response_headers" instead. 64 // * "dogstatsd_addr" is deprecated. Please use "telemetry.dogstatsd_addr" instead. 65 // * "dogstatsd_tags" is deprecated. Please use "telemetry.dogstatsd_tags" instead. 66 // * "recursor" is deprecated. Please use "recursors" instead. 67 // * "statsd_addr" is deprecated. Please use "telemetry.statsd_addr" instead. 68 // * "statsite_addr" is deprecated. Please use "telemetry.statsite_addr" instead. 69 // * "statsite_prefix" is deprecated. Please use "telemetry.metrics_prefix" instead. 70 // * "telemetry.statsite_prefix" is deprecated. Please use "telemetry.metrics_prefix" instead. 71 // * "retry_join_azure" is deprecated. Please use "retry_join" instead. 72 // * "retry_join_ec2" is deprecated. Please use "retry_join" instead. 73 // * "retry_join_gce" is deprecated. Please use "retry_join" instead. 74 // 75 // # Removed service config alias fields 76 // 77 // * "serviceid" is deprecated in service definitions. Please use "service_id" instead. 78 // * "dockercontainerid" is deprecated in service definitions. Please use "docker_container_id" instead. 79 // * "tlsskipverify" is deprecated in service definitions. Please use "tls_skip_verify" instead. 80 // * "deregistercriticalserviceafter" is deprecated in service definitions. Please use "deregister_critical_service_after" instead. 81 82 package config