Skip to content

docs: more runtime details#619

Merged
mattklein123 merged 4 commits intomasterfrom
runtime_docs
Mar 24, 2017
Merged

docs: more runtime details#619
mattklein123 merged 4 commits intomasterfrom
runtime_docs

Conversation

@mattklein123
Copy link
Copy Markdown
Member

fixes #612

@mattklein123
Copy link
Copy Markdown
Member Author

@lyft/network-team @rshriram


``/srv/runtime/current/envoy/health_check/min_interval``

The terminal portion of the path is a file that generally contains a numeric value unless otherwise
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Break into smaller sentences? Like
The terminal portion of a path is the file. The contents of the file constitute the runtime value. When reading numeric values from a file, spaces and new lines will be ignored.

``/srv/runtime/current/envoy_override/my-cluster/health_check/min_interval``

If found, the value will override any value found in the primary lookup path. This allows runtime to
be customized for individual clusters as needed on top of a global base.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This allows the user to customize the runtime values for individual clusters on top of global defaults.


Each '.' in a runtime key indicates a new directory in the hierarchy, rooted at *symlink_root* +
*subdirectory*. For example, the *health_check.min_interval* path would have the following full
file system path:
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

would have the following path (using the symbolic link)

For example, :ref:`here <config_cluster_manager_cluster_runtime>` are the runtime settings for
upstream clusters.

Assume the following configuration settings for runtime:
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Assume that the folder /etc/config/v1/envoy points to the actual filesystem where global envoy runtime configurations are stored. The following would be a typical configuration setting for the runtime:
...

where, /srv/runtime/current would be a symlink to /etc/config/v1.

If found, the value will override any value found in the primary lookup path. This allows runtime to
be customized for individual clusters as needed on top of a global base.

Symbolic link management
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rename to Updating runtime values

Symbolic link management
------------------------

Envoy uses a fairly common pattern for atomic file system updates. Envoy assumes that an entire
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are two steps to update any runtime value. First, create a hard copy of the entire runtime tree and update the desired runtime values. Second, atomically swap the symlink root from the old tree to the new runtime tree, using the equivalent of the following command:


.. code-block:: console

ln -s new current_tmp && mv -Tf current_tmp current
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/srv/runtime:~$ ln -s /etc/config/v2 new && mv -Tf new current

documented. Envoy will strip white space as needed when reading the file.

The *override_subdirectory* is used along with the :option:`--service-cluster` CLI option. Assume
that :option:`--service-cluster` has been set to ``my-clustser``. Envoy will first look for the
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/clustser/cluster

@mattklein123
Copy link
Copy Markdown
Member Author

@rshriram @junr03 updated

@mattklein123 mattklein123 merged commit f384cf0 into master Mar 24, 2017
@mattklein123 mattklein123 deleted the runtime_docs branch March 24, 2017 18:34
rshriram pushed a commit to rshriram/envoy that referenced this pull request Oct 30, 2018
…proxy#619)

* initial CB changes

* update debian

* init GCS_PATH

* del unused files

* change != to -n
jplevyak added a commit to jplevyak/envoy that referenced this pull request Aug 17, 2020
Create the VM context as a Wasm::Context for consistency.
wolfguoliang pushed a commit to wolfguoliang/envoy that referenced this pull request Jan 23, 2021
jpsim pushed a commit that referenced this pull request Nov 28, 2022
Description:

After opening `EnvoyEngine.h` in Xcode, these two warnings were shown. Applying the fixit suggestion resulted in these changes.

For the block declaration, the diagnostic was:

> This block declaration is not a prototype

I don't think that's a clear explanation. In C and ObjC, these two declarations are **not** the same:

```c
f();
f(void);
```

In C and ObjC, the first function can take _any_ arguments, so you need to use `void` to indicate the function accepts no arguments.

In C++ and ObjC++, `f()` and `f(void)` are the same, so this issue only applies to C/ObjC.

Risk Level: Low
Testing: None
Docs Changes: N/A
Release Notes: N/A

Signed-off-by: JP Simard <jp@jpsim.com>
jpsim pushed a commit that referenced this pull request Nov 29, 2022
Description:

After opening `EnvoyEngine.h` in Xcode, these two warnings were shown. Applying the fixit suggestion resulted in these changes.

For the block declaration, the diagnostic was:

> This block declaration is not a prototype

I don't think that's a clear explanation. In C and ObjC, these two declarations are **not** the same:

```c
f();
f(void);
```

In C and ObjC, the first function can take _any_ arguments, so you need to use `void` to indicate the function accepts no arguments.

In C++ and ObjC++, `f()` and `f(void)` are the same, so this issue only applies to C/ObjC.

Risk Level: Low
Testing: None
Docs Changes: N/A
Release Notes: N/A

Signed-off-by: JP Simard <jp@jpsim.com>
mathetake added a commit that referenced this pull request Mar 3, 2026
**Commit Message**

This switches `ai-gateway-crd-helm` to `ai-gateway-crds-helm` for
consistency with Envoy Gateway project.
The chart will be pushed to
https://hub.docker.com/r/envoyproxy/ai-gateway-crds-helm

**Related Issues/PRs (if applicable)**
Follow up on #618

---------

Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

docs: better docs for runtime file layout

3 participants