Interface PathConfigSourceOrBuilder

All Superinterfaces:
com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder
All Known Implementing Classes:
PathConfigSource, PathConfigSource.Builder

@Generated public interface PathConfigSourceOrBuilder extends com.google.protobuf.MessageOrBuilder
  • Method Summary

    Modifier and Type
    Method
    Description
    Path on the filesystem to source and watch for configuration updates.
    com.google.protobuf.ByteString
    Path on the filesystem to source and watch for configuration updates.
    If configured, this directory will be watched for *moves*.
    If configured, this directory will be watched for *moves*.
    boolean
    If configured, this directory will be watched for *moves*.

    Methods inherited from interface com.google.protobuf.MessageLiteOrBuilder

    isInitialized

    Methods inherited from interface com.google.protobuf.MessageOrBuilder

    findInitializationErrors, getAllFields, getDefaultInstanceForType, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
  • Method Details

    • getPath

      String getPath()
      Path on the filesystem to source and watch for configuration updates.
      When sourcing configuration for a :ref:`secret <envoy_v3_api_msg_extensions.transport_sockets.tls.v3.Secret>`,
      the certificate and key files are also watched for updates.
      
      .. note::
      
      The path to the source must exist at config load time.
      
      .. note::
      
      If ``watched_directory`` is *not* configured, Envoy will watch the file path for *moves*.
      This is because in general only moves are atomic. The same method of swapping files as is
      demonstrated in the :ref:`runtime documentation <config_runtime_symbolic_link_swap>` can be
      used here also. If ``watched_directory`` is configured, no watch will be placed directly on
      this path. Instead, the configured ``watched_directory`` will be used to trigger reloads of
      this path. This is required in certain deployment scenarios. See below for more information.
      
      string path = 1 [(.validate.rules) = { ... }
      Returns:
      The path.
    • getPathBytes

      com.google.protobuf.ByteString getPathBytes()
      Path on the filesystem to source and watch for configuration updates.
      When sourcing configuration for a :ref:`secret <envoy_v3_api_msg_extensions.transport_sockets.tls.v3.Secret>`,
      the certificate and key files are also watched for updates.
      
      .. note::
      
      The path to the source must exist at config load time.
      
      .. note::
      
      If ``watched_directory`` is *not* configured, Envoy will watch the file path for *moves*.
      This is because in general only moves are atomic. The same method of swapping files as is
      demonstrated in the :ref:`runtime documentation <config_runtime_symbolic_link_swap>` can be
      used here also. If ``watched_directory`` is configured, no watch will be placed directly on
      this path. Instead, the configured ``watched_directory`` will be used to trigger reloads of
      this path. This is required in certain deployment scenarios. See below for more information.
      
      string path = 1 [(.validate.rules) = { ... }
      Returns:
      The bytes for path.
    • hasWatchedDirectory

      boolean hasWatchedDirectory()
      If configured, this directory will be watched for *moves*. When an entry in this directory is
      moved to, the ``path`` will be reloaded. This is required in certain deployment scenarios.
      
      Specifically, if trying to load an xDS resource using a
      `Kubernetes ConfigMap <https://kubernetes.io/docs/concepts/configuration/configmap/>`_, the
      following configuration might be used:
      1. Store xds.yaml inside a ConfigMap.
      2. Mount the ConfigMap to ``/config_map/xds``
      3. Configure path ``/config_map/xds/xds.yaml``
      4. Configure watched directory ``/config_map/xds``
      
      The above configuration will ensure that Envoy watches the owning directory for moves which is
      required due to how Kubernetes manages ConfigMap symbolic links during atomic updates.
      
      .envoy.config.core.v3.WatchedDirectory watched_directory = 2;
      Returns:
      Whether the watchedDirectory field is set.
    • getWatchedDirectory

      WatchedDirectory getWatchedDirectory()
      If configured, this directory will be watched for *moves*. When an entry in this directory is
      moved to, the ``path`` will be reloaded. This is required in certain deployment scenarios.
      
      Specifically, if trying to load an xDS resource using a
      `Kubernetes ConfigMap <https://kubernetes.io/docs/concepts/configuration/configmap/>`_, the
      following configuration might be used:
      1. Store xds.yaml inside a ConfigMap.
      2. Mount the ConfigMap to ``/config_map/xds``
      3. Configure path ``/config_map/xds/xds.yaml``
      4. Configure watched directory ``/config_map/xds``
      
      The above configuration will ensure that Envoy watches the owning directory for moves which is
      required due to how Kubernetes manages ConfigMap symbolic links during atomic updates.
      
      .envoy.config.core.v3.WatchedDirectory watched_directory = 2;
      Returns:
      The watchedDirectory.
    • getWatchedDirectoryOrBuilder

      WatchedDirectoryOrBuilder getWatchedDirectoryOrBuilder()
      If configured, this directory will be watched for *moves*. When an entry in this directory is
      moved to, the ``path`` will be reloaded. This is required in certain deployment scenarios.
      
      Specifically, if trying to load an xDS resource using a
      `Kubernetes ConfigMap <https://kubernetes.io/docs/concepts/configuration/configmap/>`_, the
      following configuration might be used:
      1. Store xds.yaml inside a ConfigMap.
      2. Mount the ConfigMap to ``/config_map/xds``
      3. Configure path ``/config_map/xds/xds.yaml``
      4. Configure watched directory ``/config_map/xds``
      
      The above configuration will ensure that Envoy watches the owning directory for moves which is
      required due to how Kubernetes manages ConfigMap symbolic links during atomic updates.
      
      .envoy.config.core.v3.WatchedDirectory watched_directory = 2;