Interface PathConfigSourceOrBuilder

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

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

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      java.lang.String getPath()
      Path on the filesystem to source and watch for configuration updates.
      com.google.protobuf.ByteString getPathBytes()
      Path on the filesystem to source and watch for configuration updates.
      WatchedDirectory getWatchedDirectory()
      If configured, this directory will be watched for *moves*.
      WatchedDirectoryOrBuilder getWatchedDirectoryOrBuilder()
      If configured, this directory will be watched for *moves*.
      boolean hasWatchedDirectory()
      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 Detail

      • getPath

        java.lang.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;