Define and apply HPCC autodiscovery annotation

Description

Eclwatch/ESP(in general) might be interested in linking to services defined outside of our chart.

For example, ECLWatch can embed a link to prometheus/grafana interface in order to expose HPCC metrics. The prometheus/grafana service would be required to declare the appropriate annotation for auto discovery by HPCC via k8s APIs, which would then provide connection information to interested clients (ECLWatch)

Another example is Elastic Search which Eclwatch might want to link in order to expose hpcc component logs.

proposed annotation: hpcc.<component>.<action>/<paramname>: <value>

eg hpcc.eclwatch.link/enabled: true

     hpcc.eclwatch.link/path: "/some/kibana/path/overwrite?index=zyz;dashboard=somedash"

 

    

 

Conclusion

None

Activity

Show:

Rodrigo Pastrana August 12, 2021 at 2:23 PM

whichever esp process ends up fetching this type of info will likely require a service account Role akin to this one:

apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: hpcc-agent
rules:

  • apiGroups: [ "" ] # core API group
    resources: [ "pods" ]
    verbs: [ "get", "list" ]

Rodrigo Pastrana August 11, 2021 at 6:20 PM

per today's meeting.

Some incarnation of the above proposal would allow us to auto-discover service endpoints within the cluster via k8s APIs.

Or we can force informative configuration into our helm.

For instance, metrics specific configuration declared in global or within specific component follows this format

<global|component>.metrics.sinks.type[prometheus|file|log|elk].config.map[]

The config.map[] content is not predefined, the Prometheus type might contain  port, path which are directives for our http metrics service is to bind.

Right now, the configuration does not include information about Prometheus service(s) which might scrape from our http 'metrics' services.

It doesn't feel right, but we could add targetPrometheusconnectioninfo (k8s service name, namespace, port, etc).

which wstopology could then provide to ECLWatch.

 

 

Fixed
Pinned fields
Click on the next to a field label to start pinning.

Details

Components

Assignee

Reporter

Priority

Fix versions

Created August 11, 2021 at 2:29 PM
Updated August 25, 2021 at 3:04 PM
Resolved August 25, 2021 at 3:04 PM