Jira (PUP-10491) Allow adding descriptive or administrative information to resources

45 views
Skip to first unread message

Reid Vandewiele (Jira)

unread,
May 14, 2020, 4:44:03 PM5/14/20
to puppe...@googlegroups.com
Reid Vandewiele updated an issue
 
Puppet / New Feature PUP-10491
Allow adding descriptive or administrative information to resources
Change By: Reid Vandewiele
Summary: Provide annotation capability for Allow adding descriptive or administrative information to resources
Add Comment Add Comment
 
This message was sent by Atlassian Jira (v8.5.2#805002-sha1:a66f935)
Atlassian logo

Reid Vandewiele (Jira)

unread,
May 14, 2020, 6:51:03 PM5/14/20
to puppe...@googlegroups.com
Reid Vandewiele updated an issue
Consider the following use cases.
# |1 | As a Puppet developer code workflow designer ,
I want to
attach comments my teams to resources, create document-as-you-go annotations in their code for * Business-process identifier pertaining to configuration items
So I can export a high * Human - level summary readable descriptions of what configuration items
* Responsible party for configuration items  |

So that later when Puppet
is being managed by is making changes to a catalog system, I can easily look up who, what, and why.|

#
|2| As a sysadmin / change reviewer Puppet content developer ,
I want to
easily identify at a high level what is changing on my system attach ownership information to resources ,
So
I don’t need to understand all the low-level my team can be identified and alerted if Puppet implementation code has a problem applying my resources.|

#
|3| As an auditor a change deployment approver ,
When reviewing changes made in a lower-tier environment to decide if it's ok to promote,
I want to review consume a  *human high - readable* list level summation for the _meaning_ of changes made applied to a system in the last month ,
So I can
verify all audit controls are quickly get a sense of what's being satisfied by done,
Without needing to read low-level
Puppet implementation code.|

#
|4|  As a manager customer receiving a Puppet-managed server as a service ,  
I want to review a *human-readable* list of all “stuff” managed by Puppet on
a given my system,
So I can
understand have some understanding of what Puppet is doing .|

Currently, we don't have a way to attach any kind of self-documenting information to Puppet content, or produce dynamic reports about what Puppet is doing on a target system based on documentation or annotations written for human consumption.

Further, while we have puppet-strings to create self-documenting _code_, we don't have any tooling to create self-documenting _catalogs_ or _reports_—these being examples of artifact outputs produced by the potentially documented code.
h2. Feature Request

Provide a solve for use case #1 above, in support of the rest of the use cases.

h3. Suggestion

A very simple way to solve for this would be to add a new, non-operative metaparameter metaparam , " annotation *metadata* ". As a metaparameter metaparam , annotation "metadata" would be available to specify on any Puppet resource or class. Because it is non-operative and for reporting purposes only, the addition of the metaparameter metaparam would by itself constitute a fully functional foundational delivery of this feature.

The Puppet feature metadata metaparam could be built on by later PE features to produce polished reports, but would not depend on them being delivered such a thing to deliver value today.

For a customer engagement, a proof-of-concept module has been implemented [here|https://github.com/reidmv/reidmv-annotation]. (Note that the module is more complicated than a built-in integration would be).

h2. What about tags?

Tags have two characteristics that make them unsuitable to fully address these use cases.

# Tags cannot contain text written for human consumption, such as descriptions or text-form comments due to not allowing spaces and other special characters.
# Tags propagate. Especially for long-form comments, it may be desirable NOT to propagate them, as duplication and accidental scope escape can be undesirable.

For some use cases the propagation feature of tags may make them more desirable than using metadata. Metadata would be different enough that a meaningful decision could be made about which to use for a given purpose.

h3. Compatibility considerations

Afaik, there are no concerns with regards to backwards compatibility. If an existing class or type already uses a parameter called "
annotation metadata ", that will mask/override a metaparameter metaparam by the same name.

Probable Implementation Difficulty: trivial. Improper diff to demonstrate:
{code:diff}

diff --git a/lib/puppet/type.rb b/lib/puppet/type.rb
index 8951854ddd..5f230e3cea 100644
--- a/lib/puppet/type.rb
+++ b/lib/puppet/type.rb
@@ -1714,6 +1714,16 @@ class Type

+  newmetaparam(:
annotation metadata ) do
+    desc "
A user User -supplied annotation descriptive or administrative information about
+
this resource. The annotation
+
Metadata       is non-operative, but will be visible in the
+
node's catalog and can
+
      be queried for reporting purposes."
+  end
+ {code}
 

h3. Naming considerations

Based on the Wikipedia definition of the term, metadata seems to describe exactly the generalized purpose of attaching data to Puppet resources non-operatively, and fit the use cases given above.

https://en.wikipedia.org/wiki/Metadata

The term "annotation" was considered as well, based on looking at similar constructs in Kubernetes. The definitions of both of those nouns more or less matches the use case for the proposed feature, but the natural use and rich explanations for "metadata" are a clear and obvious match to the use case, whereas the rich explanations for "annotation" are less so.

https://en.wikipedia.org/wiki/Annotation

Reid Vandewiele (Jira)

unread,
May 14, 2020, 6:52:03 PM5/14/20
to puppe...@googlegroups.com
Reid Vandewiele updated an issue
Consider the following use cases.
|1 |As a Puppet code workflow designer,
I want to my teams to create document-as-you-go annotations in their code for

* Business-process identifier pertaining to configuration items
* Human-readable descriptions of configuration items

* Responsible party for configuration items
  
So that later when Puppet is is making changes to a system, I can easily look up who, what, and why.|
|2|As a Puppet content developer,
I want to attach ownership information to resources,
So my team can be identified and alerted if Puppet has a problem applying my resources.|
|3|As a change deployment approver,

When reviewing changes made in a lower-tier environment to decide if it's ok to promote,
I want to consume a high-level summation for the _meaning_ of changes applied to a system,
So I can quickly get a sense of what's being done,

Without needing to read low-level Puppet implementation code.|
|4| As a customer receiving a Puppet-managed server as a service, 
I want to review a *human-readable* list of all “stuff” managed by Puppet on my system,
So I can have some understanding of what Puppet is doing.|


Currently, we don't have a way to attach any kind of self-documenting information to Puppet content, or produce dynamic reports about what Puppet is doing on a target system based on documentation or annotations written for human consumption.

Further, while we have puppet-strings to create self-documenting _code_, we don't have any tooling to create self-documenting _catalogs_ or _reports_—these being examples of artifact outputs produced by the potentially documented code.
h2. Feature Request

Provide a solve for use case #1 above, in support of the rest of the use cases.

h3. Suggestion

A simple way to solve for this would be to add a new, non-operative metaparam, "*metadata*". As a metaparam, "metadata" would be available to specify on any Puppet resource or class. Because it is non-operative and for reporting purposes only, the addition of the metaparam would by itself constitute foundational delivery of this feature.

The metadata metaparam could be built on by later PE features to produce polished reports, but would not depend on such a thing to deliver value today.


For a customer engagement, a proof-of-concept module has been implemented [here|https://github.com/reidmv/reidmv-annotation]. (Note that the module is more complicated than a built-in integration would be).

h2. What about tags?

Tags have two characteristics that make them unsuitable to fully address these use cases.

# Tags cannot contain text written for human consumption, such as descriptions or text-form comments due to not allowing spaces and other special characters.
# Tags propagate. Especially for long-form comments, it may be desirable NOT to propagate them, as duplication and accidental scope escape can be undesirable.

For some use cases the propagation feature of tags may make them more desirable than using metadata. Metadata would be different enough that a meaningful decision could be made about which to use for a given purpose.

h3. Compatibility considerations

Afaik, there are no concerns with regards to backwards compatibility. If an existing class or type already uses a parameter called "metadata", that will mask/override a metaparam by the same name.


Probable Implementation Difficulty: trivial. Improper diff to demonstrate:
{code:diff}diff --git a/lib/puppet/type.rb b/lib/puppet/type.rb
index 8951854ddd..5f230e3cea 100644
--- a/lib/puppet/type.rb
+++ b/lib/puppet/type.rb
@@ -1714,6 +1714,16 @@ class Type

+  newmetaparam(:metadata) do
+    desc "User-supplied descriptive or administrative information about
+      this resource. Metadata is non-operative, but will be visible in the
+      node's catalog and can be queried for reporting purposes."

+  end
+ {code}
 
h3. Naming considerations

Based on the Wikipedia definition of the term, metadata seems to describe exactly the generalized purpose of attaching data to Puppet resources non-operatively, and fit the use cases given above.

https://en.wikipedia.org/wiki/Metadata

The term "annotation" was considered as well, based on looking at similar constructs in Kubernetes. The definitions of both of those nouns more or less matches the use case for the proposed feature, but the natural use and rich explanations for "metadata" are a clear and obvious match to the use case, whereas the rich explanations for "annotation" are less so.

https://en.wikipedia.org/wiki/Annotation

Reid Vandewiele (Jira)

unread,
May 14, 2020, 6:52:03 PM5/14/20
to puppe...@googlegroups.com

Reid Vandewiele (Jira)

unread,
May 14, 2020, 6:53:03 PM5/14/20
to puppe...@googlegroups.com

Reid Vandewiele (Jira)

unread,
May 14, 2020, 6:53:04 PM5/14/20
to puppe...@googlegroups.com

Reid Vandewiele (Jira)

unread,
May 14, 2020, 6:54:03 PM5/14/20
to puppe...@googlegroups.com
Reid Vandewiele updated an issue
Consider the following use cases.
|1 |As a Puppet code workflow designer,
I want to my teams to create document-as-you-go annotations in their code for
  • Business-process identifier identifiers pertaining to configuration items
  • Human-readable descriptions of configuration items
  • Responsible party for configuration items

Reid Vandewiele (Jira)

unread,
May 14, 2020, 6:54:03 PM5/14/20
to puppe...@googlegroups.com
Reid Vandewiele updated an issue
Consider the following use cases.
|1 |As a Puppet code workflow designer,
I want to my teams to create document-as-you-go annotations in their code for
     • Business-process identifier pertaining to configuration items

Reid Vandewiele (Jira)

unread,
May 14, 2020, 6:55:03 PM5/14/20
to puppe...@googlegroups.com
Reid Vandewiele updated an issue
Consider the following use cases.
|1 |As a Puppet code workflow designer,
I want to my teams to create document-as-you-go annotations in their code for
  • Business-process identifiers pertaining to configuration items

  • Human-readable descriptions of configuration items
  • Responsible party for configuration items
So that later when Puppet is is making changes to a system, I can easily look up who, what, and why.|
|2|As a Puppet content developer,
I want to attach ownership information to resources,
So my team can be identified and alerted if Puppet has a problem applying my resources.|
|3|As a change deployment approver,
When reviewing changes made in a lower-tier environment to decide if it's ok to promote,
I want to consume a high-level summation for the _meaning_ of changes applied to a system,
So I can quickly get a sense of what's being done,
Without needing to read low-level Puppet implementation code.|
|4| As a customer receiving a Puppet-managed server as a service, 
I want to review a *human-readable* list of all “stuff” managed by Puppet on my system,
So I can have some understanding of what Puppet is doing.|

Currently, we don't have a way to attach any kind of self-documenting information to Puppet content, or produce dynamic reports about what Puppet is doing on a target system based on documentation or annotations written for human consumption.

Further, while we have puppet-strings to create self-documenting _code_, we don't have any tooling to create self-documenting _catalogs_ or _reports_—these being examples of artifact outputs produced by the potentially documented code.
h2. Feature Request

Provide a solve for use case #1 above, in support of the rest of the use cases.

h3. Suggestion

A simple way to solve for this would be to add a new, non-operative metaparam, "*metadata*". As a metaparam, "metadata" would be available to specify on any Puppet resource or class. Because it is non-operative and for reporting purposes only, the addition of the metaparam would by itself constitute foundational delivery of this feature.

The metadata metaparam could be built on by later PE features to produce polished reports, but would not depend on such a thing to deliver value today.

For a customer engagement, a proof-of-concept module has been implemented [here|https://github.com/reidmv/reidmv-annotation]. (Note that the module is more complicated than a built-in integration would be).

h2 h3 . What about tags?

Reid Vandewiele (Jira)

unread,
May 14, 2020, 6:57:03 PM5/14/20
to puppe...@googlegroups.com
Reid Vandewiele commented on New Feature PUP-10491
 
Re: Allow adding descriptive or administrative information to resources

I've updated the description quite a bit, and changed the suggested name to "metadata" (reasoning given).

Reid Vandewiele (Jira)

unread,
May 15, 2020, 11:16:03 AM5/15/20
to puppe...@googlegroups.com

I've managed to come up with one possible reason to prefer "annotation" over "metadata". Recording it here for consideration.

In the specific context of Puppet, we've already used "meta-" to describe the general space that a parameter like this exists in. It is literally a meta parameter. In a sense, all of the metaparameters (tag, notify, loglevel) are metadata; just different kinds of metadata. Perhaps the name "annotation" should be preferred as it is a clarification of what metadata is being assigned, and that it is metadata is already communicated by way of the set of parameters, metaparameters, to which it belongs.

Rob Braden (Jira)

unread,
May 18, 2020, 1:54:04 PM5/18/20
to puppe...@googlegroups.com

Reid Vandewiele (Jira)

unread,
May 19, 2020, 2:30:03 PM5/19/20
to puppe...@googlegroups.com
Reid Vandewiele updated an issue
Change By: Reid Vandewiele
Example usage:
{code:java}
notify { 'example':
  message  => 'this is a notify resource',
  metadata => 'this is some metadata, a description, about it',
}

file { '/tmp/example.conf':
  ensure   => file,
  owner    => 'root',
  metadata => {
    'description' => 'Metadata does not need to be a string',
    'product'     => 'Example Product',
    'owner'       => 'Kelly',
  },
} {code}
h3. What about tags?


Tags have two characteristics that make them unsuitable to fully address these use cases.

# Tags cannot contain text written for human consumption, such as descriptions or text-form comments due to not allowing spaces and other special characters.
# Tags propagate. Especially for long-form comments, it may be desirable NOT to propagate them, as duplication and accidental scope escape can be undesirable.

For some use cases the propagation feature of tags may make them more desirable than using metadata. Metadata would be different enough that a meaningful decision could be made about which to use for a given purpose.

h3. Compatibility considerations

Afaik, there are no concerns with regards to backwards compatibility. If an existing class or type already uses a parameter called "metadata", that will mask/override a metaparam by the same name.

Probable Implementation Difficulty: trivial. Improper diff to demonstrate:
{code:diff}diff --git a/lib/puppet/type.rb b/lib/puppet/type.rb
index 8951854ddd..5f230e3cea 100644
--- a/lib/puppet/type.rb
+++ b/lib/puppet/type.rb
@@ -1714,6 +1714,16 @@ class Type

+  newmetaparam(:metadata) do
+    desc "User-supplied descriptive or administrative information about
+      this resource. Metadata is non-operative, but will be visible in the
+      node's catalog and can be queried for reporting purposes."
+  end
+ {code}
 
h3. Naming considerations

Based on the Wikipedia definition of the term, metadata seems to describe exactly the generalized purpose of attaching data to Puppet resources non-operatively, and fit the use cases given above.



[
https://en.wikipedia.org/wiki/Metadata ]

The term "annotation" was considered as well, based on looking at similar constructs in Kubernetes. The definitions of both of those nouns more or less matches the use case for the proposed feature, but the natural use and rich explanations for "metadata" are a clear and obvious match to the use case, whereas the rich explanations for "annotation" are less so.

Reid Vandewiele (Jira)

unread,
Nov 18, 2020, 3:01:02 PM11/18/20
to puppe...@googlegroups.com
A simple way to solve for this would be to add a new, non-operative metaparam, "* metadata annotation *". As a metaparam, " metadata annotation " would be available to specify on any Puppet resource or class. Because it is non-operative and for reporting purposes only, the addition of the metaparam would by itself constitute foundational delivery of this feature.

The
metadata annotation metaparam could be built on by later PE features to produce polished reports, but would not depend on such a thing to deliver value today.


For a customer engagement, a proof-of-concept module has been implemented [here|https://github.com/reidmv/reidmv-annotation]. (Note that the module is more complicated than a built-in integration would be).

Example usage:
{code:java}
notify { 'example':
  message  => 'this is a notify resource',
  metadata   annotation => 'this is some metadata annotation , a description, about it',

}

file { '/tmp/example.conf':
  ensure   => file,
  owner    => 'root',
  metadata => {
    'description' => 'Metadata does not need to be a string',
    'product'     => 'Example Product',
    'owner'       => 'Kelly',
  },
} {code}
h3. What about tags?

Tags have two characteristics that make them unsuitable to fully address these use cases.
# Tags cannot contain text written for human consumption, such as descriptions or text-form comments due to not allowing spaces and other special characters.
# Tags propagate. Especially for long-form comments, it may be desirable NOT to propagate them, as duplication and accidental scope escape can be undesirable.

For some use cases the propagation feature of tags may make them more desirable than using metadata annotation . Metadata Annotation would be different enough that a meaningful decision could be made about which to use for a given purpose.
h3. Compatibility considerations

Afaik, there are no concerns with regards to backwards compatibility. If an existing class or type already uses a parameter called "
metadata annotation ", that will mask/override a metaparam an annotation by the same name.


Probable Implementation Difficulty: trivial. Improper diff to demonstrate:
{code:diff}diff --git a/lib/puppet/type.rb b/lib/puppet/type.rb
index 8951854ddd..5f230e3cea 100644
--- a/lib/puppet/type.rb
+++ b/lib/puppet/type.rb
@@ -1714,6 +1714,16 @@ class Type

+  newmetaparam(: metadata annotation ) do

+    desc "User-supplied descriptive or administrative information about
+      this resource. Metadata Annotation is non-operative, but will be visible in the

+      node's catalog and can be queried for reporting purposes."
+  end
+ {code}
 
h3. Naming considerations

Based on the Wikipedia definition of the term,
" metadata " seems to describe exactly the generalized purpose of attaching data to Puppet resources non-operatively, and fit the use cases given above.

[https://en.wikipedia.org/wiki/Metadata]

The term "annotation"
was considered as well is preferred though , based on looking at similar constructs in Kubernetes because there are multiple different possible kinds of metadata . The definitions of both of those nouns more or less matches the use case for the proposed feature , but . Additional context below in the natural use and rich explanations for "metadata" are a clear and obvious match to the use case comments , whereas the rich explanations regarding preference for " annotation " are less so .

[https://en.wikipedia.org/wiki/Annotation]

Reid Vandewiele (Jira)

unread,
Nov 18, 2020, 3:02:03 PM11/18/20
to puppe...@googlegroups.com
A simple way to solve for this would be to add a new, non-operative metaparam, "*annotation*". As a metaparam, "annotation" would be available to specify on any Puppet resource or class. Because it is non-operative and for reporting purposes only, the addition of the metaparam would by itself constitute foundational delivery of this feature.

The annotation metaparam could be built on by later PE features to produce polished reports, but would not depend on such a thing to deliver value today.


For a customer engagement, a proof-of-concept module has been implemented [here|https://github.com/reidmv/reidmv-annotation]. (Note that the module is more complicated than a built-in integration would be).

Example usage:
{code:java}notify { 'example':
  message  => 'this is a notify resource',
  annotation => 'this is some annotation, a description, about it',

}

file { '/tmp/example.conf':
  ensure   => file,
  owner    => 'root',
  metadata   annotation => {
    'description' => '
Metadata Annotation does not need to be a string',

    'product'     => 'Example Product',
    'owner'       => 'Kelly',
  },
} {code}
h3. What about tags?

Tags have two characteristics that make them unsuitable to fully address these use cases.
# Tags cannot contain text written for human consumption, such as descriptions or text-form comments due to not allowing spaces and other special characters.
# Tags propagate. Especially for long-form comments, it may be desirable NOT to propagate them, as duplication and accidental scope escape can be undesirable.

For some use cases the propagation feature of tags may make them more desirable than using annotation. Annotation would be different enough that a meaningful decision could be made about which to use for a given purpose.
h3. Compatibility considerations

Afaik, there are no concerns with regards to backwards compatibility. If an existing class or type already uses a parameter called "annotation", that will mask/override an annotation by the same name.


Probable Implementation Difficulty: trivial. Improper diff to demonstrate:
{code:diff}diff --git a/lib/puppet/type.rb b/lib/puppet/type.rb
index 8951854ddd..5f230e3cea 100644
--- a/lib/puppet/type.rb
+++ b/lib/puppet/type.rb
@@ -1714,6 +1714,16 @@ class Type

+  newmetaparam(:annotation) do

+    desc "User-supplied descriptive or administrative information about
+      this resource. Annotation is non-operative, but will be visible in the

+      node's catalog and can be queried for reporting purposes."
+  end
+ {code}
 
h3. Naming considerations

Based on the Wikipedia definition of the term, "metadata" seems to describe the generalized purpose of attaching data to Puppet resources non-operatively, and fit the use cases given above.

[https://en.wikipedia.org/wiki/Metadata]

The term "annotation" is preferred though, because there are multiple different possible kinds of metadata. The definitions of both of those nouns more or less matches the use case for the proposed feature. Additional context below in the comments, regarding preference for annotation.

[https://en.wikipedia.org/wiki/Annotation]

Josh Cooper (Jira)

unread,
Feb 25, 2021, 1:25:02 AM2/25/21
to puppe...@googlegroups.com
Josh Cooper commented on New Feature PUP-10491
 
Re: Allow adding descriptive or administrative information to resources

This makes sense to me, overall to the annotation name and not using tags. As this is a foundational kind of feature, could you post what you’ve written up to puppet-dev (if you haven’t already)?

Henrik Lindberg (Jira)

unread,
Feb 25, 2021, 9:15:02 AM2/25/21
to puppe...@googlegroups.com

A couple of thoughts to make annotations composable is to require that they are set for a specific data type. This way users can both get validation (the value must match the data type), and clashes are avoided, say you want to use more than one annotation. The data type can be a simple alias, but have to exist. For example:

type OurOrg::Owner = String[1]
 
annotation => { OurOrg::Owner => "Kim Jones" }

Also note that Pcore has the notion of annotation that works in a similar way - there the type must be a kind of annotation, and any Pcore Object can be annotated. Annotations are included in the serialization of a Pcore Object. Puppet has a function to allow users to annotate Objects. In Pcore, you use the annotation type to retrieve the annotation value from the object. This was done so that annotations can have behavior - for example, the value associated with the annotated target could be some kind of identifier and the value may be stored some place else and retrieved from an external source, or it could be some other kind of derived value.

Something important to decide on is if annotations should propagate (like tags) or not. The use case "notify an owner if resource failed" kind of implies that it needs to propagate.

Just my 2c thrown into the mix.

Josh Cooper (Jira)

unread,
Aug 3, 2021, 6:13:04 PM8/3/21
to puppe...@googlegroups.com
Josh Cooper updated an issue
 
Change By: Josh Cooper
Sprint:
This message was sent by Atlassian Jira (v8.13.2#813002-sha1:c495a97)
Atlassian logo

Josh Cooper (Jira)

unread,
Aug 3, 2021, 6:13:05 PM8/3/21
to puppe...@googlegroups.com

Josh Cooper (Jira)

unread,
Aug 3, 2021, 6:14:04 PM8/3/21
to puppe...@googlegroups.com

Reid Vandewiele (Jira)

unread,
Sep 20, 2021, 4:58:03 PM9/20/21
to puppe...@googlegroups.com
Reid Vandewiele commented on New Feature PUP-10491
 
Re: Allow adding descriptive or administrative information to resources

Josh Cooper I put a note out to puppet-dev on May 14, 2020, here: https://groups.google.com/g/puppet-dev/c/cDCyp_U8Sv0/m/FiN1EqxWAwAJ. No responses or commentary in that forum.

What else needs to happen to move this ticket forward?

 


Henrik Lindberg that's a good consideration. Type validation is a powerful feature, provides some compelling benefits, and that idea inspires the example below. However, I think use of types needs to be optional, not something that could act as a barrier to entry. To be most useful, annotations need to be very, very easy to use.

Users who want type validation could adopt this pattern:

type OurOrg::Annotation =
  Struct[Optional[owner]      => String[1],
         Optional[department] => Enum[operations, support, engineering]]
 
notify { 'example':
  annotation => OurOrg::Annotation({'owner' => 'Riley'})
}

 In the proposed implementation, the metaparameter is validated by a type already (Data). If this is a compelling adjustment, we could choose someday to make that configurable. E.g.

annotation_assert_type = Data # default; could set to OurOrg::Annotation instead 

However, for now I think the code would be clearest by requiring a self-evident pattern like the example. (Raw types as values would be similarly self-evident, but wouldn't be easy enough to use.)

Ciprian Badescu (Jira)

unread,
Sep 21, 2021, 3:03:02 AM9/21/21
to puppe...@googlegroups.com

Moved this to Open so we can discuss it on triage

Ciprian Badescu (Jira)

unread,
Oct 7, 2021, 5:30:03 AM10/7/21
to puppe...@googlegroups.com

Gene Liverman (Jira)

unread,
Oct 7, 2021, 8:47:02 AM10/7/21
to puppe...@googlegroups.com

Ciprian Badescu - we kinda do but this would be even better. We utilize https://forge.puppet.com/modules/ploperations/profile_metadata, which we own, do accomplish a higher level version of this. We combine that with https://forge.puppet.com/modules/ploperations/meta_motd to show metadata in the message of the day (motd) and also have https://github.com/puppetlabs/infinitory which gives us a web interface to browse this information. These serve us fairly well but an in-built solution would be way better and could easily enhance what we are already doing - I could absolutely see utilizing what is proposed here to enhance one or both of our modules and to enhance infinitory. Feel free to hit me up if you'd like to see a live demo of what this looks like in our environment.

Ciprian Badescu (Jira)

unread,
Oct 11, 2021, 10:42:02 AM10/11/21
to puppe...@googlegroups.com

Austin Blatt, Rob Browning , do you have any concerns about increase of data to be saved in puppetdb?

Charlie Sharpsteen, what is your view on this feature?

productboard (Jira)

unread,
Dec 15, 2021, 8:56:01 AM12/15/21
to puppe...@googlegroups.com
productboard updated an issue
 
This message was sent by Atlassian Jira (v8.20.2#820002-sha1:829506d)
Atlassian logo

Lisa Ross (Jira)

unread,
Feb 25, 2022, 12:57:02 PM2/25/22
to puppe...@googlegroups.com
Lisa Ross commented on New Feature PUP-10491
 
Re: Allow adding descriptive or administrative information to resources

nirupama  Reviewed and investing in this part of the platform is not a priority

Reid Vandewiele (Jira)

unread,
Feb 25, 2022, 1:09:01 PM2/25/22
to puppe...@googlegroups.com

Noting for the future:

Given that this is fairly trivial to implement (PR is already up), the main consideration for the future is really just what to call it, and what use cases motivate it.

If we're waiting for other Puppet products to drive the motivation to decide on a name and merge the PR, I expect that if it comes, it will come from HDP. HDP's analytics and reporting platform is the potential Puppet product benefactor of richer annotations on resources describing their business purpose.

If I were confident on the naming I would advocate for merging as-is, but without naming confidence I won't take that position yet. When we're ready, this should be fairly trivial to accomplish.

Josh Cooper (Jira)

unread,
Jul 26, 2022, 5:02:02 PM7/26/22
to puppe...@googlegroups.com
Josh Cooper updated an issue
 
Change By: Josh Cooper
Team: Phoenix
This message was sent by Atlassian Jira (v8.20.11#820011-sha1:0629dd8)
Atlassian logo
Reply all
Reply to author
Forward
0 new messages