Elastic-Provided Naming Convention
Is there a naming convention for ingest pipelines, index templates, component templates, or any other such configuration objects?
I see in the docs [1,2,3,4] there are examples of ingest pipeline names and index/component template names:
logs-my_app-default
my-pipeline
my-pipeline-id
logs-my_app-default
one-pipeline-to-rule-them-all
template_1
template_with_2_shards
logs-my_app-settings
logs-my_app-template
Of course I wouldn't take these as declaring a "convention", but I do take them as partially describing the range of possibilities.
As for characters, I take the examples as effectively stating alphanumerics and dashes and underscores are fair game. That's all I need, really.
As for format, like <data_type>-<name>-<more_detail>
, it seems far-fetched to think that these examples dictate any kind of format. I don't see any explicit format conventions in the docs. Could someone confirm?
Proposed Local Convention - Legal
Will these names be accepted with the characters they use and, more importantly, with the format they're in?
I believe the characters are all legal. I'm assuming that the format makes no difference at all.
Format: <company>-<config object type>--<name>
Examples:
acme-index_template--all_logs
acme-component_template--high_ingest_rate
acme-component_template--long_retention-high_replication
acme-ingest_pipeline--compute_ingest_delay
Propose Local Convention - Sensible
Really, this is the heart of my post:
Does this format seem like a good idea?
Again, the format is <company>-<config object type>--<name>
.
Here's what I'm trying to do with it:
acme-
. Distinguish it clearly from any Elastic-provided built-in configuration object (like index templates), or any potential third-party. Never collide. (The existence of the easy-to-collide-with built-in template "logs" started me down the longer path of this whole coming up with a regularized name format.)-index_template-
Make obvious the config object type. No guessing which things are index templates versus component templates.--all_logs
Make obvious the particular object purpose/name. I feel using a double dash here really visually sets it off and makes it clear. I'd love to hear your thoughts.