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