diff --git a/.gitignore b/.gitignore index 1a6109a..f558a7e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,3 @@ - # Binaries for programs and plugins *.exe *.exe~ @@ -13,3 +12,6 @@ bin *.swo *~ kubeconfig + +# tmp folder +tmp diff --git a/Makefile b/Makefile index f282bfd..4c5ef30 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ # To re-generate a bundle for another specific version without changing the standard setup, you can: # - use the VERSION as arg of the bundle target (e.g make bundle VERSION=0.0.2) # - use environment variables to overwrite this value (e.g export VERSION=0.0.2) -VERSION ?= 0.8.2-alpha.1 +VERSION ?= 0.8.2-alpha.2 # CHANNELS define the bundle channels used in the bundle. # Add a new line here if you would like to change its default config. (E.g CHANNELS = "candidate,fast,stable") diff --git a/bundle/manifests/prometheus-exporter-operator.clusterserviceversion.yaml b/bundle/manifests/prometheus-exporter-operator.clusterserviceversion.yaml index 2cff51e..ab1ba30 100644 --- a/bundle/manifests/prometheus-exporter-operator.clusterserviceversion.yaml +++ b/bundle/manifests/prometheus-exporter-operator.clusterserviceversion.yaml @@ -34,7 +34,7 @@ metadata: operators.operatorframework.io/project_layout: ansible.sdk.operatorframework.io/v1 repository: https://github.com/3scale-ops/prometheus-exporter-operator support: Red Hat, Inc. - name: prometheus-exporter-operator.v0.8.2-alpha.1 + name: prometheus-exporter-operator.v0.8.2-alpha.2 namespace: placeholder spec: apiservicedefinitions: {} @@ -125,7 +125,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.annotations['olm.targetNamespaces'] - image: quay.io/3scale/prometheus-exporter-operator:v0.8.2-alpha.1 + image: quay.io/3scale/prometheus-exporter-operator:v0.8.2-alpha.2 livenessProbe: httpGet: path: /healthz @@ -310,4 +310,4 @@ spec: provider: name: Red Hat url: https://www.redhat.com - version: 0.8.2-alpha.1 + version: 0.8.2-alpha.2 diff --git a/catalog/prometheus-exporter-operator/alpha-channel.yaml b/catalog/prometheus-exporter-operator/alpha-channel.yaml index 2a7115e..58f2a48 100644 --- a/catalog/prometheus-exporter-operator/alpha-channel.yaml +++ b/catalog/prometheus-exporter-operator/alpha-channel.yaml @@ -19,6 +19,8 @@ entries: replaces: prometheus-exporter-operator.v0.8.0 - name: prometheus-exporter-operator.v0.8.2-alpha.1 replaces: prometheus-exporter-operator.v0.8.1 + - name: prometheus-exporter-operator.v0.8.2-alpha.2 + replaces: prometheus-exporter-operator.v0.8.2-alpha.1 name: alpha package: prometheus-exporter-operator schema: olm.channel diff --git a/catalog/prometheus-exporter-operator/objects/prometheus-exporter-operator.v0.8.2-alpha.2.clusterserviceversion.yaml b/catalog/prometheus-exporter-operator/objects/prometheus-exporter-operator.v0.8.2-alpha.2.clusterserviceversion.yaml new file mode 100644 index 0000000..1b9d387 --- /dev/null +++ b/catalog/prometheus-exporter-operator/objects/prometheus-exporter-operator.v0.8.2-alpha.2.clusterserviceversion.yaml @@ -0,0 +1,32 @@ +--- +image: quay.io/3scale/prometheus-exporter-operator-bundle:v0.8.2-alpha.2 +name: prometheus-exporter-operator.v0.8.2-alpha.2 +package: prometheus-exporter-operator +properties: +- type: olm.gvk + value: + group: monitoring.3scale.net + kind: PrometheusExporter + version: v1alpha1 +- type: olm.package + value: + packageName: prometheus-exporter-operator + version: 0.8.2-alpha.2 +- type: olm.bundle.object + value: + data: eyJhcGlWZXJzaW9uIjoiYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEiLCJraW5kIjoiQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uIiwibWV0YWRhdGEiOnsiY3JlYXRpb25UaW1lc3RhbXAiOm51bGwsIm5hbWUiOiJwcm9tZXRoZXVzZXhwb3J0ZXJzLm1vbml0b3JpbmcuM3NjYWxlLm5ldCJ9LCJzcGVjIjp7Imdyb3VwIjoibW9uaXRvcmluZy4zc2NhbGUubmV0IiwibmFtZXMiOnsia2luZCI6IlByb21ldGhldXNFeHBvcnRlciIsImxpc3RLaW5kIjoiUHJvbWV0aGV1c0V4cG9ydGVyTGlzdCIsInBsdXJhbCI6InByb21ldGhldXNleHBvcnRlcnMiLCJzaW5ndWxhciI6InByb21ldGhldXNleHBvcnRlciJ9LCJzY29wZSI6Ik5hbWVzcGFjZWQiLCJ2ZXJzaW9ucyI6W3sibmFtZSI6InYxYWxwaGExIiwic2NoZW1hIjp7Im9wZW5BUElWM1NjaGVtYSI6eyJkZXNjcmlwdGlvbiI6IlByb21ldGhldXNFeHBvcnRlciBpcyB0aGUgU2NoZW1hIGZvciB0aGUgcHJvbWV0aGV1c2V4cG9ydGVycyBBUEkiLCJwcm9wZXJ0aWVzIjp7ImFwaVZlcnNpb24iOnsiZGVzY3JpcHRpb24iOiJBUElWZXJzaW9uIGRlZmluZXMgdGhlIHZlcnNpb25lZCBzY2hlbWEgb2YgdGhpcyByZXByZXNlbnRhdGlvbiBvZiBhbiBvYmplY3QuIFNlcnZlcnMgc2hvdWxkIGNvbnZlcnQgcmVjb2duaXplZCBzY2hlbWFzIHRvIHRoZSBsYXRlc3QgaW50ZXJuYWwgdmFsdWUsIGFuZCBtYXkgcmVqZWN0IHVucmVjb2duaXplZCB2YWx1ZXMuIE1vcmUgaW5mbzogaHR0cHM6Ly9naXQuazhzLmlvL2NvbW11bml0eS9jb250cmlidXRvcnMvZGV2ZWwvc2lnLWFyY2hpdGVjdHVyZS9hcGktY29udmVudGlvbnMubWQjcmVzb3VyY2VzIiwidHlwZSI6InN0cmluZyJ9LCJraW5kIjp7ImRlc2NyaXB0aW9uIjoiS2luZCBpcyBhIHN0cmluZyB2YWx1ZSByZXByZXNlbnRpbmcgdGhlIFJFU1QgcmVzb3VyY2UgdGhpcyBvYmplY3QgcmVwcmVzZW50cy4gU2VydmVycyBtYXkgaW5mZXIgdGhpcyBmcm9tIHRoZSBlbmRwb2ludCB0aGUgY2xpZW50IHN1Ym1pdHMgcmVxdWVzdHMgdG8uIENhbm5vdCBiZSB1cGRhdGVkLiBJbiBDYW1lbENhc2UuIE1vcmUgaW5mbzogaHR0cHM6Ly9naXQuazhzLmlvL2NvbW11bml0eS9jb250cmlidXRvcnMvZGV2ZWwvc2lnLWFyY2hpdGVjdHVyZS9hcGktY29udmVudGlvbnMubWQjdHlwZXMta2luZHMiLCJ0eXBlIjoic3RyaW5nIn0sIm1ldGFkYXRhIjp7InR5cGUiOiJvYmplY3QifSwic3BlYyI6eyJkZXNjcmlwdGlvbiI6IlNwZWMgZGVmaW5lcyB0aGUgZGVzaXJlZCBzdGF0ZSBvZiBQcm9tZXRoZXVzRXhwb3J0ZXIiLCJwcm9wZXJ0aWVzIjp7ImF3c0NyZWRlbnRpYWxzU2VjcmV0TmFtZSI6eyJkZXNjcmlwdGlvbiI6IkZvciBjbG91ZHdhdGNoIGV4cG9ydGVyLCB0aGUgU2VjcmV0IG5hbWUgY29udGFpbmluZyBBV1MgSUFNIGNyZWRlbnRpYWxzIChBV1NfQUNDRVNTX0tFWV9JRCAvIEFXU19TRUNSRVRfQUNDRVNTX0tFWSkiLCJ0eXBlIjoic3RyaW5nIn0sImNvbmZpZ3VyYXRpb25Db25maWdtYXBOYW1lIjp7ImRlc2NyaXB0aW9uIjoiRm9yIGNsb3Vkd2F0Y2ggZXhwb3J0ZXIsIHRoZSBDb25maWdNYXAgbmFtZSBjb250YWluaW5nIENsb3Vkd2F0Y2ggY29uZmlnLnltbCAoU2VydmljZXMsIERpbWVuc2lvbnMsIFRhZ3MgdXNlZCBmb3IgYXV0b2Rpc2NvdmVyeS4uLikuIEZvciBwcm9iZSBleHBvcnRlciwgQ29uZmlnTWFwIG5hbWUgY29udGFpbmluZyBibGFja2JveCBtb2R1bGVzIGNvbmZpZ3VyYXRpb24uIiwidHlwZSI6InN0cmluZyJ9LCJjb25maWd1cmF0aW9uU2VjcmV0TmFtZSI6eyJkZXNjcmlwdGlvbiI6IkZvciBwcm9iZSBleHBvcnRlciwgb3B0aW9uYWwgU2VjcmV0IG5hbWUgY29udGFpbmluZyBibGFja2JveCBtb2R1bGVzIGNvbmZpZ3VyYXRpb24uIFJlcGxhY2VzIHVzYWdlIG9mIGNvbmZpZ3VyYXRpb25Db25maWdtYXBOYW1lIChpbiBjYXNlIGNvbmZpZyBpbmNsdWRlcyBzZW5zaXRpdmUgZGF0YSBhbmQgc28geW91IHByZWZlciB0byB1c2UgYSBTZWNyZXQpIiwidHlwZSI6InN0cmluZyJ9LCJkYkNoZWNrS2V5cyI6eyJkZXNjcmlwdGlvbiI6IkZvciByZWRpcyBleHBvcnRlciwgdGhlIG9wdGlvbmFsIHJlZGlzIGtleXMgdG8gbW9uaXRvciIsInR5cGUiOiJzdHJpbmcifSwiZGJDb25uZWN0aW9uU3RyaW5nU2VjcmV0TmFtZSI6eyJkZXNjcmlwdGlvbiI6IkZvciBteXNxbCBhbmQgcG9zdGdyZXNxbCBleHBvcnRlcnMsIHRoZSBTZWNyZXQgbmFtZSBjb250YWluaW5nIGNvbm5lY3Rpb24gc3RyaW5nIGRlZmluaXRpb24gKERTTikiLCJ0eXBlIjoic3RyaW5nIn0sImRiSG9zdCI6eyJkZXNjcmlwdGlvbiI6IkZvciByZWRpcywgbWVtY2FjaGVkLCBzcGhpbngsIG1hbnRpY29yZSBhbmQgZXMgZXhwb3J0ZXJzLCB0aGUgZGIgaG9zdCB0byBtb25pdG9yIiwidHlwZSI6InN0cmluZyJ9LCJkYlBvcnQiOnsiZGVzY3JpcHRpb24iOiJGb3IgcmVkaXMsIG1lbWNhY2hlZCwgc3BoaW54LCBtYW50aWNvcmUgYW5kIGVzIGV4cG9ydGVycywgdGhlIGRiIHBvcnQgdG8gbW9uaXRvciIsInR5cGUiOiJpbnRlZ2VyIn0sImV4dHJhTGFiZWwiOnsicHJvcGVydGllcyI6eyJrZXkiOnsiZGVzY3JpcHRpb24iOiJBZGQgZXh0cmEgbGFiZWwga2V5IHRvIGFsbCBjcmVhdGVkIHJlc291cmNlcyIsInR5cGUiOiJzdHJpbmcifSwidmFsdWUiOnsiZGVzY3JpcHRpb24iOiJBZGQgZXh0cmEgbGFiZWwgdmFsdWUgdG8gYWxsIGNyZWF0ZWQgcmVzb3VyY2VzIiwidHlwZSI6InN0cmluZyJ9fSwidHlwZSI6Im9iamVjdCJ9LCJncmFmYW5hRGFzaGJvYXJkIjp7InByb3BlcnRpZXMiOnsiYXBpVmVyc2lvbiI6eyJkZXNjcmlwdGlvbiI6IkdyYWZhbmFEYXNoYm9hcmQgY3VzdG9tIHJlc291cmNlIGFwaVZlcnNpb24iLCJlbnVtIjpbInYxYWxwaGExIiwidjFiZXRhMSJdLCJ0eXBlIjoic3RyaW5nIn0sImVuYWJsZWQiOnsiZGVzY3JpcHRpb24iOiJDcmVhdGUgKHRydWUpIG9yIG5vdCAoZmFsc2UpIEdyYWZhbmFEYXNoYm9hcmQgb2JqZWN0IiwidHlwZSI6ImJvb2xlYW4ifSwibGFiZWwiOnsicHJvcGVydGllcyI6eyJrZXkiOnsiZGVzY3JpcHRpb24iOiJMYWJlbCBrZXkgdXNlZCBieSBncmFmYW5hLW9wZXJhdG9yIGZvciBkYXNoYm9hcmQgZGlzY292ZXJ5IiwidHlwZSI6InN0cmluZyJ9LCJ2YWx1ZSI6eyJkZXNjcmlwdGlvbiI6IkxhYmVsIHZhbHVlIHVzZWQgYnkgZ3JhZmFuYS1vcGVyYXRvciBmb3IgZGFzaGJvYXJkIGRpc2NvdmVyeSIsInR5cGUiOiJzdHJpbmcifX0sInR5cGUiOiJvYmplY3QifX0sInR5cGUiOiJvYmplY3QifSwiaW1hZ2UiOnsicHJvcGVydGllcyI6eyJuYW1lIjp7ImRlc2NyaXB0aW9uIjoiUHJvbWV0aGV1cyBleHBvcnRlciBpbWFnZSBuYW1lIiwidHlwZSI6InN0cmluZyJ9LCJ2ZXJzaW9uIjp7ImRlc2NyaXB0aW9uIjoiUHJvbWV0aGV1cyBleHBvcnRlciBpbWFnZSB0YWcgdmVyc2lvbiIsInR5cGUiOiJzdHJpbmcifX0sInR5cGUiOiJvYmplY3QifSwibGl2ZW5lc3NQcm9iZSI6eyJkZXNjcmlwdGlvbiI6IlJlYWRpbmVzcyBwcm9iZSIsInByb3BlcnRpZXMiOnsiZmFpbHVyZVRocmVzaG9sZCI6eyJkZXNjcmlwdGlvbiI6Ik1pbmltdW0gY29uc2VjdXRpdmUgZmFpbHVyZXMgZm9yIHRoZSBwcm9iZSB0byBiZSBjb25zaWRlcmVkIGZhaWxlZCBhZnRlciBoYXZpbmcgc3VjY2VlZGVkIiwiZm9ybWF0IjoiaW50MzIiLCJ0eXBlIjoiaW50ZWdlciJ9LCJwZXJpb2RTZWNvbmRzIjp7ImRlc2NyaXB0aW9uIjoiSG93IG9mdGVuIChpbiBzZWNvbmRzKSB0byBwZXJmb3JtIHRoZSBwcm9iZSIsImZvcm1hdCI6ImludDMyIiwidHlwZSI6ImludGVnZXIifSwic3VjY2Vzc1RocmVzaG9sZCI6eyJkZXNjcmlwdGlvbiI6Ik1pbmltdW0gY29uc2VjdXRpdmUgc3VjY2Vzc2VzIGZvciB0aGUgcHJvYmUgdG8gYmUgY29uc2lkZXJlZCBzdWNjZXNzZnVsIGFmdGVyIGhhdmluZyBmYWlsZWQiLCJmb3JtYXQiOiJpbnQzMiIsInR5cGUiOiJpbnRlZ2VyIn0sInRpbWVvdXRTZWNvbmRzIjp7ImRlc2NyaXB0aW9uIjoiTnVtYmVyIG9mIHNlY29uZHMgYWZ0ZXIgd2hpY2ggdGhlIHByb2JlIHRpbWVzIG91dCIsImZvcm1hdCI6ImludDMyIiwidHlwZSI6ImludGVnZXIifX0sInR5cGUiOiJvYmplY3QifSwibG9nTGV2ZWwiOnsiZGVzY3JpcHRpb24iOiJGb3IgcHJvYmUgZXhwb3J0ZXIsIGxvZyBsZXZlbCBvZiB0aGUgZXhwb3J0ZXIiLCJlbnVtIjpbImluZm8iLCJkZWJ1ZyJdLCJ0eXBlIjoic3RyaW5nIn0sIm5vZGVTZWxlY3RvciI6eyJhZGRpdGlvbmFsUHJvcGVydGllcyI6eyJ0eXBlIjoic3RyaW5nIn0sImRlc2NyaXB0aW9uIjoiTWFwIG9mIG5vZGVTZWxlY3RvciBrZXktdmFsdWUgcGFpcnMiLCJ0eXBlIjoib2JqZWN0In0sInBvcnQiOnsiZGVzY3JpcHRpb24iOiJQcm9tZXRoZXVzIGV4cG9ydGVyIHBvcnQgd2hlcmUgbWV0cmljcyBhcmUgYXZhaWxhYmxlIiwidHlwZSI6ImludGVnZXIifSwicHJvYmVUYXJnZXRMYWJlbCI6eyJkZXNjcmlwdGlvbiI6IkZvciBwcm9iZSBleHBvcnRlciwgc3BlY2lmaWVzIHRoZSBQcm9tZXRoZXVzIGxhYmVsIHVzZWQgdG8gZGlzdGluZ3Vpc2ggYW1vbmcgbW9uaXRvcmVkIHRhcmdldHMgb24gZ3JhZmFuYSBkYXNoYm9hcmQiLCJ0eXBlIjoic3RyaW5nIn0sInJlYWRpbmVzc1Byb2JlIjp7ImRlc2NyaXB0aW9uIjoiUmVhZGluZXNzIHByb2JlIiwicHJvcGVydGllcyI6eyJmYWlsdXJlVGhyZXNob2xkIjp7ImRlc2NyaXB0aW9uIjoiTWluaW11bSBjb25zZWN1dGl2ZSBmYWlsdXJlcyBmb3IgdGhlIHByb2JlIHRvIGJlIGNvbnNpZGVyZWQgZmFpbGVkIGFmdGVyIGhhdmluZyBzdWNjZWVkZWQiLCJmb3JtYXQiOiJpbnQzMiIsInR5cGUiOiJpbnRlZ2VyIn0sInBlcmlvZFNlY29uZHMiOnsiZGVzY3JpcHRpb24iOiJIb3cgb2Z0ZW4gKGluIHNlY29uZHMpIHRvIHBlcmZvcm0gdGhlIHByb2JlIiwiZm9ybWF0IjoiaW50MzIiLCJ0eXBlIjoiaW50ZWdlciJ9LCJzdWNjZXNzVGhyZXNob2xkIjp7ImRlc2NyaXB0aW9uIjoiTWluaW11bSBjb25zZWN1dGl2ZSBzdWNjZXNzZXMgZm9yIHRoZSBwcm9iZSB0byBiZSBjb25zaWRlcmVkIHN1Y2Nlc3NmdWwgYWZ0ZXIgaGF2aW5nIGZhaWxlZCIsImZvcm1hdCI6ImludDMyIiwidHlwZSI6ImludGVnZXIifSwidGltZW91dFNlY29uZHMiOnsiZGVzY3JpcHRpb24iOiJOdW1iZXIgb2Ygc2Vjb25kcyBhZnRlciB3aGljaCB0aGUgcHJvYmUgdGltZXMgb3V0IiwiZm9ybWF0IjoiaW50MzIiLCJ0eXBlIjoiaW50ZWdlciJ9fSwidHlwZSI6Im9iamVjdCJ9LCJyZXNvdXJjZXMiOnsiZGVzY3JpcHRpb24iOiJQcm9tZXRoZXVzIGV4cG9ydGVyIHJlc291cmNlcyByZXF1aXJlZC4iLCJwcm9wZXJ0aWVzIjp7ImxpbWl0cyI6eyJhZGRpdGlvbmFsUHJvcGVydGllcyI6eyJhbnlPZiI6W3sidHlwZSI6ImludGVnZXIifSx7InR5cGUiOiJzdHJpbmcifV0sInBhdHRlcm4iOiJeKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKChbS01HVFBFXWkpfFtudW1rTUdUUEVdfChbZUVdKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKSk/JCIsIngta3ViZXJuZXRlcy1pbnQtb3Itc3RyaW5nIjp0cnVlfSwiZGVzY3JpcHRpb24iOiJMaW1pdHMgZGVzY3JpYmVzIHRoZSBtYXhpbXVtIGFtb3VudCBvZiBjb21wdXRlIHJlc291cmNlcyBhbGxvd2VkLiBNb3JlIGluZm86IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL2NvbmNlcHRzL2NvbmZpZ3VyYXRpb24vbWFuYWdlLWNvbXB1dGUtcmVzb3VyY2VzLWNvbnRhaW5lci8iLCJ0eXBlIjoib2JqZWN0In0sInJlcXVlc3RzIjp7ImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjp7ImFueU9mIjpbeyJ0eXBlIjoiaW50ZWdlciJ9LHsidHlwZSI6InN0cmluZyJ9XSwicGF0dGVybiI6Il4oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkoKFtLTUdUUEVdaSl8W251bWtNR1RQRV18KFtlRV0oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkpKT8kIiwieC1rdWJlcm5ldGVzLWludC1vci1zdHJpbmciOnRydWV9LCJkZXNjcmlwdGlvbiI6IlJlcXVlc3RzIGRlc2NyaWJlcyB0aGUgbWluaW11bSBhbW91bnQgb2YgY29tcHV0ZSByZXNvdXJjZXMgcmVxdWlyZWQuIElmIFJlcXVlc3RzIGlzIG9taXR0ZWQgZm9yIGEgY29udGFpbmVyLCBpdCBkZWZhdWx0cyB0byBMaW1pdHMgaWYgdGhhdCBpcyBleHBsaWNpdGx5IHNwZWNpZmllZCwgb3RoZXJ3aXNlIHRvIGFuIGltcGxlbWVudGF0aW9uLWRlZmluZWQgdmFsdWUuIE1vcmUgaW5mbzogaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvY29uY2VwdHMvY29uZmlndXJhdGlvbi9tYW5hZ2UtY29tcHV0ZS1yZXNvdXJjZXMtY29udGFpbmVyLyIsInR5cGUiOiJvYmplY3QifX0sInR5cGUiOiJvYmplY3QifSwic2VuZGdyaWRBY2N1bXVsYXRlZE1ldHJpY3MiOnsiZGVzY3JpcHRpb24iOiJGb3Igc2VuZGdyaWQgZXhwb3J0ZXIsIGNvbmZpZ3VyZXMgbW9udGhseSBhY3VtdWxhdGVkIG1ldHJpY3MgKHRydWUpIGluc3RlYWQgb2YgZGFpbHkgbWV0cmljcyAoZmFsc2UpIiwidHlwZSI6ImJvb2xlYW4ifSwic2VuZGdyaWRDcmVkZW50aWFsc1NlY3JldE5hbWUiOnsiZGVzY3JpcHRpb24iOiJGb3Igc2VuZGdyaWQgZXhwb3J0ZXIsIFNlY3JldCBuYW1lIGNvbnRhaW5pbmcgU2VuZGdyaWQgdXNlcm5hbWUgYW5kIGFwaWtleSIsInR5cGUiOiJzdHJpbmcifSwic2VuZGdyaWRMb2NhdGlvbiI6eyJkZXNjcmlwdGlvbiI6IkZvciBzZW5kZ3JpZCBleHBvcnRlciwgY29uZmlndXJlcyB0aW1lIHpvbmUiLCJ0eXBlIjoic3RyaW5nIn0sInNlbmRncmlkVGltZU9mZnNldCI6eyJkZXNjcmlwdGlvbiI6IkZvciBzZW5kZ3JpZCBleHBvcnRlciwgc3BlY2lmaWVzIHRoZSBvZmZzZXQgaW4gc2Vjb25kcyBmcm9tIFVUQyBhcyBhbiBpbnRlZ2VyIChuZWVkZWQgYWxvbmcgd2l0aCBsb2NhdGlvbikiLCJ0eXBlIjoiaW50ZWdlciJ9LCJzZXJ2aWNlTW9uaXRvciI6eyJwcm9wZXJ0aWVzIjp7ImVuYWJsZWQiOnsiZGVzY3JpcHRpb24iOiJDcmVhdGUgKHRydWUpIG9yIG5vdCAoZmFsc2UpIFNlcnZpY2VNb25pdG9yIG9iamVjdCIsInR5cGUiOiJib29sZWFuIn0sImludGVydmFsIjp7ImRlc2NyaXB0aW9uIjoiUHJvbWV0aGV1cyBzY3JhcGUgaW50ZXJ2YWwgKGV4YW1wbGUgMzBzKSIsInR5cGUiOiJzdHJpbmcifX0sInR5cGUiOiJvYmplY3QifSwidG9sZXJhdGlvbnMiOnsiZGVzY3JpcHRpb24iOiJUb2xlcmF0aW9ucyBhbGxvdyB0aGUgcG9kcyB0byBzY2hlZHVsZSBvbnRvIG5vZGVzIHdpdGggbWF0Y2hpbmcgdGFpbnRzIiwiaXRlbXMiOnsiZGVzY3JpcHRpb24iOiJUaGUgcG9kIHRoaXMgVG9sZXJhdGlvbiBpcyBhdHRhY2hlZCB0byB0b2xlcmF0ZXMgYW55IHRhaW50IHRoYXQgbWF0Y2hlcyB0aGUgdHJpcGxlIFx1MDAzY2tleSx2YWx1ZSxlZmZlY3RcdTAwM2UgdXNpbmcgdGhlIG1hdGNoaW5nIG9wZXJhdG9yIFx1MDAzY29wZXJhdG9yXHUwMDNlLiIsInByb3BlcnRpZXMiOnsiZWZmZWN0Ijp7ImRlc2NyaXB0aW9uIjoiRWZmZWN0IGluZGljYXRlcyB0aGUgdGFpbnQgZWZmZWN0IHRvIG1hdGNoLiBFbXB0eSBtZWFucyBtYXRjaCBhbGwgdGFpbnQgZWZmZWN0cy4gV2hlbiBzcGVjaWZpZWQsIGFsbG93ZWQgdmFsdWVzIGFyZSBOb1NjaGVkdWxlLCBQcmVmZXJOb1NjaGVkdWxlIGFuZCBOb0V4ZWN1dGUuIiwidHlwZSI6InN0cmluZyJ9LCJrZXkiOnsiZGVzY3JpcHRpb24iOiJLZXkgaXMgdGhlIHRhaW50IGtleSB0aGF0IHRoZSB0b2xlcmF0aW9uIGFwcGxpZXMgdG8uIEVtcHR5IG1lYW5zIG1hdGNoIGFsbCB0YWludCBrZXlzLiBJZiB0aGUga2V5IGlzIGVtcHR5LCBvcGVyYXRvciBtdXN0IGJlIEV4aXN0czsgdGhpcyBjb21iaW5hdGlvbiBtZWFucyB0byBtYXRjaCBhbGwgdmFsdWVzIGFuZCBhbGwga2V5cy4iLCJ0eXBlIjoic3RyaW5nIn0sIm9wZXJhdG9yIjp7ImRlc2NyaXB0aW9uIjoiT3BlcmF0b3IgcmVwcmVzZW50cyBhIGtleSdzIHJlbGF0aW9uc2hpcCB0byB0aGUgdmFsdWUuIFZhbGlkIG9wZXJhdG9ycyBhcmUgRXhpc3RzIGFuZCBFcXVhbC4gRGVmYXVsdHMgdG8gRXF1YWwuIEV4aXN0cyBpcyBlcXVpdmFsZW50IHRvIHdpbGRjYXJkIGZvciB2YWx1ZSwgc28gdGhhdCBhIHBvZCBjYW4gdG9sZXJhdGUgYWxsIHRhaW50cyBvZiBhIHBhcnRpY3VsYXIgY2F0ZWdvcnkuIiwidHlwZSI6InN0cmluZyJ9LCJ0b2xlcmF0aW9uU2Vjb25kcyI6eyJkZXNjcmlwdGlvbiI6IlRvbGVyYXRpb25TZWNvbmRzIHJlcHJlc2VudHMgdGhlIHBlcmlvZCBvZiB0aW1lIHRoZSB0b2xlcmF0aW9uICh3aGljaCBtdXN0IGJlIG9mIGVmZmVjdCBOb0V4ZWN1dGUsIG90aGVyd2lzZSB0aGlzIGZpZWxkIGlzIGlnbm9yZWQpIHRvbGVyYXRlcyB0aGUgdGFpbnQuIEJ5IGRlZmF1bHQsIGl0IGlzIG5vdCBzZXQsIHdoaWNoIG1lYW5zIHRvbGVyYXRlIHRoZSB0YWludCBmb3JldmVyIChkbyBub3QgZXZpY3QpLiBaZXJvIGFuZCBuZWdhdGl2ZSB2YWx1ZXMgd2lsbCBiZSB0cmVhdGVkIGFzIDAgKGV2aWN0IGltbWVkaWF0ZWx5KSBieSB0aGUgc3lzdGVtLiIsImZvcm1hdCI6ImludDY0IiwidHlwZSI6ImludGVnZXIifSwidmFsdWUiOnsiZGVzY3JpcHRpb24iOiJWYWx1ZSBpcyB0aGUgdGFpbnQgdmFsdWUgdGhlIHRvbGVyYXRpb24gbWF0Y2hlcyB0by4gSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cywgdGhlIHZhbHVlIHNob3VsZCBiZSBlbXB0eSwgb3RoZXJ3aXNlIGp1c3QgYSByZWd1bGFyIHN0cmluZy4iLCJ0eXBlIjoic3RyaW5nIn19LCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSJ9LCJ0eXBlIjp7ImRlc2NyaXB0aW9uIjoiU3VwcG9ydGVkIHByb21ldGhldXMtZXhwb3J0ZXIgdHlwZXMiLCJlbnVtIjpbIm1lbWNhY2hlZCIsInJlZGlzIiwibXlzcWwiLCJwb3N0Z3Jlc3FsIiwic3BoaW54IiwibWFudGljb3JlIiwiZXMiLCJjbG91ZHdhdGNoIiwicHJvYmUiLCJzZW5kZ3JpZCJdLCJ0eXBlIjoic3RyaW5nIn19LCJyZXF1aXJlZCI6WyJ0eXBlIl0sInR5cGUiOiJvYmplY3QiLCJ4LWt1YmVybmV0ZXMtcHJlc2VydmUtdW5rbm93bi1maWVsZHMiOnRydWV9LCJzdGF0dXMiOnsiZGVzY3JpcHRpb24iOiJTdGF0dXMgZGVmaW5lcyB0aGUgb2JzZXJ2ZWQgc3RhdGUgb2YgUHJvbWV0aGV1c0V4cG9ydGVyIiwidHlwZSI6Im9iamVjdCIsIngta3ViZXJuZXRlcy1wcmVzZXJ2ZS11bmtub3duLWZpZWxkcyI6dHJ1ZX19LCJ0eXBlIjoib2JqZWN0In19LCJzZXJ2ZWQiOnRydWUsInN0b3JhZ2UiOnRydWUsInN1YnJlc291cmNlcyI6eyJzdGF0dXMiOnt9fX1dfSwic3RhdHVzIjp7ImFjY2VwdGVkTmFtZXMiOnsia2luZCI6IiIsInBsdXJhbCI6IiJ9LCJjb25kaXRpb25zIjpudWxsLCJzdG9yZWRWZXJzaW9ucyI6bnVsbH19 +- type: olm.bundle.object + value: + data: eyJhcGlWZXJzaW9uIjoibW9uaXRvcmluZy5jb3Jlb3MuY29tL3YxIiwia2luZCI6IlNlcnZpY2VNb25pdG9yIiwibWV0YWRhdGEiOnsibGFiZWxzIjp7ImNvbnRyb2wtcGxhbmUiOiJjb250cm9sbGVyLW1hbmFnZXIifSwibmFtZSI6InByb21ldGhldXMtZXhwb3J0ZXItb3BlcmF0b3ItY29udHJvbGxlci1tYW5hZ2VyLW1ldHJpY3MtbW9uaXRvciJ9LCJzcGVjIjp7ImVuZHBvaW50cyI6W3sicGF0aCI6Ii9tZXRyaWNzIiwicG9ydCI6Imh0dHAifV0sInNlbGVjdG9yIjp7Im1hdGNoTGFiZWxzIjp7ImNvbnRyb2wtcGxhbmUiOiJjb250cm9sbGVyLW1hbmFnZXIifX19fQ== +- type: olm.bundle.object + value: + data: eyJhcGlWZXJzaW9uIjoidjEiLCJraW5kIjoiU2VydmljZSIsIm1ldGFkYXRhIjp7ImNyZWF0aW9uVGltZXN0YW1wIjpudWxsLCJsYWJlbHMiOnsiY29udHJvbC1wbGFuZSI6ImNvbnRyb2xsZXItbWFuYWdlciJ9LCJuYW1lIjoicHJvbWV0aGV1cy1leHBvcnRlci1vcGVyYXRvci1jb250cm9sbGVyLW1hbmFnZXItbWV0cmljcy1zZXJ2aWNlIn0sInNwZWMiOnsicG9ydHMiOlt7Im5hbWUiOiJodHRwIiwicG9ydCI6ODA4MCwidGFyZ2V0UG9ydCI6Imh0dHAifV0sInNlbGVjdG9yIjp7ImNvbnRyb2wtcGxhbmUiOiJjb250cm9sbGVyLW1hbmFnZXIifX0sInN0YXR1cyI6eyJsb2FkQmFsYW5jZXIiOnt9fX0= +- type: olm.bundle.object + value: + data: eyJhcGlWZXJzaW9uIjoib3BlcmF0b3JzLmNvcmVvcy5jb20vdjFhbHBoYTEiLCJraW5kIjoiQ2x1c3RlclNlcnZpY2VWZXJzaW9uIiwibWV0YWRhdGEiOnsiYW5ub3RhdGlvbnMiOnsiYWxtLWV4YW1wbGVzIjoiW1xuICB7XG4gICAgXCJhcGlWZXJzaW9uXCI6IFwibW9uaXRvcmluZy4zc2NhbGUubmV0L3YxYWxwaGExXCIsXG4gICAgXCJraW5kXCI6IFwiUHJvbWV0aGV1c0V4cG9ydGVyXCIsXG4gICAgXCJtZXRhZGF0YVwiOiB7XG4gICAgICBcIm5hbWVcIjogXCJleGFtcGxlLW1lbWNhY2hlZFwiXG4gICAgfSxcbiAgICBcInNwZWNcIjoge1xuICAgICAgXCJkYkhvc3RcIjogXCJ5b3VyLW1lbWNhY2hlZC1ob3N0XCIsXG4gICAgICBcImRiUG9ydFwiOiAxMTIxMSxcbiAgICAgIFwiZ3JhZmFuYURhc2hib2FyZFwiOiB7XG4gICAgICAgIFwibGFiZWxcIjoge1xuICAgICAgICAgIFwia2V5XCI6IFwiZGlzY292ZXJ5XCIsXG4gICAgICAgICAgXCJ2YWx1ZVwiOiBcImVuYWJsZWRcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJ0eXBlXCI6IFwibWVtY2FjaGVkXCJcbiAgICB9XG4gIH1cbl0iLCJjYXBhYmlsaXRpZXMiOiJEZWVwIEluc2lnaHRzIiwiY2F0ZWdvcmllcyI6Ik1vbml0b3JpbmciLCJjZXJ0aWZpZWQiOiJmYWxzZSIsImNvbnRhaW5lckltYWdlIjoicXVheS5pby8zc2NhbGUvcHJvbWV0aGV1cy1leHBvcnRlci1vcGVyYXRvciIsImNyZWF0ZWRBdCI6IjIwMjAtMDYtMDggMDA6MDA6MDAiLCJkZXNjcmlwdGlvbiI6Ik9wZXJhdG9yIHRvIHNldHVwIDNyZCBwYXJ0eSBwcm9tZXRoZXVzIGV4cG9ydGVycywgd2l0aCBhIGNvbGxlY3Rpb24gb2YgZ3JhZmFuYSBkYXNoYm9hcmRzIiwib3BlcmF0b3JzLm9wZXJhdG9yZnJhbWV3b3JrLmlvL2J1aWxkZXIiOiJvcGVyYXRvci1zZGstdjEuMjQuMCIsIm9wZXJhdG9ycy5vcGVyYXRvcmZyYW1ld29yay5pby9wcm9qZWN0X2xheW91dCI6ImFuc2libGUuc2RrLm9wZXJhdG9yZnJhbWV3b3JrLmlvL3YxIiwicmVwb3NpdG9yeSI6Imh0dHBzOi8vZ2l0aHViLmNvbS8zc2NhbGUtb3BzL3Byb21ldGhldXMtZXhwb3J0ZXItb3BlcmF0b3IiLCJzdXBwb3J0IjoiUmVkIEhhdCwgSW5jLiJ9LCJuYW1lIjoicHJvbWV0aGV1cy1leHBvcnRlci1vcGVyYXRvci52MC44LjItYWxwaGEuMiIsIm5hbWVzcGFjZSI6InBsYWNlaG9sZGVyIn0sInNwZWMiOnsiYXBpc2VydmljZWRlZmluaXRpb25zIjp7fSwiY3VzdG9tcmVzb3VyY2VkZWZpbml0aW9ucyI6eyJvd25lZCI6W3siZGVzY3JpcHRpb24iOiJDb25maWd1cmVzIGEgcHJvbWV0aGV1cyBleHBvcnRlciB0byBtb25pdG9yIGEgbWVtY2FjaGVkIGluc3RhbmNlIiwiZGlzcGxheU5hbWUiOiJQcm9tZXRoZXVzRXhwb3J0ZXIiLCJraW5kIjoiUHJvbWV0aGV1c0V4cG9ydGVyIiwibmFtZSI6InByb21ldGhldXNleHBvcnRlcnMubW9uaXRvcmluZy4zc2NhbGUubmV0IiwidmVyc2lvbiI6InYxYWxwaGExIn1dfSwiZGVzY3JpcHRpb24iOiJBIEt1YmVybmV0ZXMgT3BlcmF0b3IgYmFzZWQgb24gdGhlIE9wZXJhdG9yIFNESyB0byBjZW50cmFsaXplIHRoZSBzZXR1cCBvZiAzcmQgcGFydHkgcHJvbWV0aGV1cyBleHBvcnRlcnMgb24gKipLdWJlcm5ldGVzL09wZW5TaGlmdCoqLCB3aXRoIGEgY29sbGVjdGlvbiBvZiBncmFmYW5hIGRhc2hib2FyZHMuXG5cbkJ5IGp1c3QgcHJvdmlkaW5nIGEgZmV3IHBhcmFtZXRlcnMgbGlrZSAqZGJIb3N0KiBvciAqZGJQb3J0KiAob3BlcmF0b3IgbWFuYWdlIHRoZSBjb250YWluZXIgaW1hZ2UsIHBvcnQsIGFyZ3VtZW50LCBjb21tYW5kLCB2b2x1bWVzLi4uIGFuZCBhbHNvIHByb21ldGhldXMgYFNlcnZpY2VNb25pdG9yYCBhbmQgYEdyYWZhbmFEYXNoYm9hcmRgIGs4cyBvYmplY3RzKSwgeW91IGNhbiBzZXR1cCBkaWZmZXJlbnQgcHJvbWV0aGV1cyBleHBvcnRlcnMgdG8gbW9uaXRvcjpcbiogVGhlICoqaW50ZXJuYWxzIGZyb20gZGlmZmVyZW50IGRhdGFiYXNlcyoqXG4qICoqSFRUUC9UQ1AgZW5kcG9pbnRzKiogKGF2YWlsYWJpbGl0eSwgbGF0ZW5jeSwgU1NML1RMUyBjZXJ0aWZpY2F0ZSBleHBpcmF0aW9uLi4uKVxuKiBBbnkgYXZhaWxhYmxlICoqY2xvdWR3YXRjaCBtZXRyaWMgZnJvbSBhbnkgQVdTIFNlcnZpY2UqKlxuKiBTZW5kZ3JpZCBlbWFpbCBzdGF0aXN0aWNzIChkZWxpdmVyZWQsIGJvdW5jZXMsIGVycm9ycywgc3BhbS4uLilcblxuQ3VycmVudCBwcm9tZXRoZXVzIGV4cG9ydGVycyB0eXBlcyBzdXBwb3J0ZWQsIG1hbmFnZWQgYnkgc2FtZSBwcm9tZXRoZXVzLWV4cG9ydGVyLW9wZXJhdG9yOlxuKiBtZW1jYWNoZWRcbiogcmVkaXNcbiogbXlzcWxcbiogcG9zdGdyZXNxbFxuKiBzcGhpbnhcbiogbWFudGljb3JlXG4qIGVzIChlbGFzdGljc2VhcmNoKVxuKiBjbG91ZHdhdGNoXG4qIHByb2JlIChibGFja2JveClcbiogc2VuZGdyaWRcblxuVGhlIG9wZXJhdG9yIG1hbmFnZXMgdGhlIGxpZmVjeWNsZSBvZiB0aGUgZm9sbG93aW5nIG9iamVjdHM6XG4qIERlcGxveW1lbnQgKG9uZSBwZXIgQ1IpXG4qIFNlcnZpY2UgKG9uZSBwZXIgQ1IpXG4qIFNlcnZpY2VNb25pdG9yIChvcHRpb25hbCwgb25lIHBlciBDUilcbiogR3JhZmFuYURhc2hib2FyZCAob3B0aW9uYWwsIG9uZSBwZXIgTmFtZXNwYWNlKVxuXG4jIyMgRG9jdW1lbnRhdGlvblxuRG9jdW1lbnRhdGlvbiBjYW4gYmUgZm91bmQgb24gb3VyIFt3ZWJzaXRlXShodHRwczovL2dpdGh1Yi5jb20vM3NjYWxlLW9wcy9wcm9tZXRoZXVzLWV4cG9ydGVyLW9wZXJhdG9yI2RvY3VtZW50YXRpb24pLlxuXG4jIyMgR2V0dGluZyBoZWxwXG5JZiB5b3UgZW5jb3VudGVyIGFueSBpc3N1ZXMgd2hpbGUgdXNpbmcgb3BlcmF0b3IsIHlvdSBjYW4gY3JlYXRlIGFuIGlzc3VlIG9uIG91ciBbd2Vic2l0ZV0oaHR0cHM6Ly9naXRodWIuY29tLzNzY2FsZS1vcHMvcHJvbWV0aGV1cy1leHBvcnRlci1vcGVyYXRvcikgZm9yIGJ1Z3MsIGVuaGFuY2VtZW50cywgb3Igb3RoZXIgcmVxdWVzdHMuXG5cbiMjIyBDb250cmlidXRpbmdcbllvdSBjYW4gY29udHJpYnV0ZSBieTpcbiogUmFpc2luZyBhbnkgaXNzdWVzIHlvdSBmaW5kIHVzaW5nIFByb21ldGhldXMgRXhwb3J0ZXIgT3BlcmF0b3JcbiogRml4aW5nIGlzc3VlcyBieSBvcGVuaW5nIFtQdWxsIFJlcXVlc3RzXShodHRwczovL2dpdGh1Yi5jb20vM3NjYWxlLW9wcy9wcm9tZXRoZXVzLWV4cG9ydGVyLW9wZXJhdG9yL3B1bGxzKVxuKiBTdWJtaXR0aW5nIGEgcGF0Y2ggb3Igb3BlbmluZyBhIFBSXG4qIEltcHJvdmluZyBbZG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly9naXRodWIuY29tLzNzY2FsZS1vcHMvcHJvbWV0aGV1cy1leHBvcnRlci1vcGVyYXRvcilcbiogVGFsa2luZyBhYm91dCBQcm9tZXRoZXVzIEV4cG9ydGVyIE9wZXJhdG9yXG5BbGwgYnVncywgdGFza3Mgb3IgZW5oYW5jZW1lbnRzIGFyZSB0cmFja2VkIGFzIFtHaXRIdWIgaXNzdWVzXShodHRwczovL2dpdGh1Yi5jb20vM3NjYWxlLW9wcy9wcm9tZXRoZXVzLWV4cG9ydGVyLW9wZXJhdG9yL2lzc3VlcykuXG5cbiMjIyBMaWNlbnNlXG5Qcm9tZXRoZXVzIEV4cG9ydGVyIE9wZXJhdG9yIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBbQXBhY2hlIDIuMCBsaWNlbnNlXShodHRwczovL2dpdGh1Yi5jb20vM3NjYWxlLW9wcy9wcm9tZXRoZXVzLWV4cG9ydGVyLW9wZXJhdG9yL2Jsb2IvbWFpbi9MSUNFTlNFKVxuIiwiZGlzcGxheU5hbWUiOiJQcm9tZXRoZXVzIEV4cG9ydGVyIE9wZXJhdG9yIiwiaWNvbiI6W3siYmFzZTY0ZGF0YSI6IlBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlWVlJHTFRnaUlITjBZVzVrWVd4dmJtVTlJbTV2SWo4K0NqeHpkbWNLSUNBZ2VHMXNibk02WkdNOUltaDBkSEE2THk5d2RYSnNMbTl5Wnk5a1l5OWxiR1Z0Wlc1MGN5OHhMakV2SWdvZ0lDQjRiV3h1Y3pwall6MGlhSFIwY0RvdkwyTnlaV0YwYVhabFkyOXRiVzl1Y3k1dmNtY3Zibk1qSWdvZ0lDQjRiV3h1Y3pweVpHWTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MekU1T1Rrdk1ESXZNakl0Y21SbUxYTjViblJoZUMxdWN5TWlDaUFnSUhodGJHNXpPbk4yWnowaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUNpQWdJSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SUtJQ0FnZUcxc2JuTTZjMjlrYVhCdlpHazlJbWgwZEhBNkx5OXpiMlJwY0c5a2FTNXpiM1Z5WTJWbWIzSm5aUzV1WlhRdlJGUkVMM052Wkdsd2IyUnBMVEF1WkhSa0lnb2dJQ0I0Yld4dWN6cHBibXR6WTJGd1pUMGlhSFIwY0RvdkwzZDNkeTVwYm10elkyRndaUzV2Y21jdmJtRnRaWE53WVdObGN5OXBibXR6WTJGd1pTSUtJQ0FnYVc1cmMyTmhjR1U2ZG1WeWMybHZiajBpTUM0NU1pNDBJQ2gxYm10dWIzZHVLU0lLSUNBZ2FXNXJjMk5oY0dVNlpYaHdiM0owTFhsa2NHazlJalF4TUM0eE9TSUtJQ0FnYVc1cmMyTmhjR1U2Wlhod2IzSjBMWGhrY0drOUlqUXhNQzR4T1NJS0lDQWdhVzVyYzJOaGNHVTZaWGh3YjNKMExXWnBiR1Z1WVcxbFBTSXZWWE5sY25NdmNtRmxiQzlFYjNkdWJHOWhaSE12Y0hKdmJXVjBhR1YxY3kxbGVIQnZjblJsY2k1d2JtY2lDaUFnSUhOdlpHbHdiMlJwT21SdlkyNWhiV1U5SW5CeWIyMWxkR2hsZFhNdFpYaHdiM0owWlhJdE0zTmpZV3hsTFc1bGR5NXpkbWNpQ2lBZ0lHbGtQU0p6ZG1jNE5ETWlDaUFnSUhCeVpYTmxjblpsUVhOd1pXTjBVbUYwYVc4OUluaE5hV1JaVFdsa0lHMWxaWFFpQ2lBZ0lIWnBaWGRDYjNnOUlqQWdNQ0EzTXpZdU5ESTFOemdnTmpFNUxqYzBPRFEzSWdvZ0lDQm9aV2xuYUhROUlqWXhPUzQzTkRnME4zQjBJZ29nSUNCM2FXUjBhRDBpTnpNMkxqUXlOVGM0Y0hRaUNpQWdJSFpsY25OcGIyNDlJakV1TUNJK0NpQWdQRzFsZEdGa1lYUmhDaUFnSUNBZ2FXUTlJbTFsZEdGa1lYUmhPRFE1SWo0S0lDQWdJRHh5WkdZNlVrUkdQZ29nSUNBZ0lDQThZMk02VjI5eWF3b2dJQ0FnSUNBZ0lDQnlaR1k2WVdKdmRYUTlJaUkrQ2lBZ0lDQWdJQ0FnUEdSak9tWnZjbTFoZEQ1cGJXRm5aUzl6ZG1jcmVHMXNQQzlrWXpwbWIzSnRZWFErQ2lBZ0lDQWdJQ0FnUEdSak9uUjVjR1VLSUNBZ0lDQWdJQ0FnSUNCeVpHWTZjbVZ6YjNWeVkyVTlJbWgwZEhBNkx5OXdkWEpzTG05eVp5OWtZeTlrWTIxcGRIbHdaUzlUZEdsc2JFbHRZV2RsSWlBdlBnb2dJQ0FnSUNBOEwyTmpPbGR2Y21zK0NpQWdJQ0E4TDNKa1pqcFNSRVkrQ2lBZ1BDOXRaWFJoWkdGMFlUNEtJQ0E4WkdWbWN3b2dJQ0FnSUdsa1BTSmtaV1p6T0RRM0lpQXZQZ29nSUR4emIyUnBjRzlrYVRwdVlXMWxaSFpwWlhjS0lDQWdJQ0JwYm10elkyRndaVHBqZFhKeVpXNTBMV3hoZVdWeVBTSnpkbWM0TkRNaUNpQWdJQ0FnYVc1cmMyTmhjR1U2ZDJsdVpHOTNMVzFoZUdsdGFYcGxaRDBpTVNJS0lDQWdJQ0JwYm10elkyRndaVHAzYVc1a2IzY3RlVDBpTWpjaUNpQWdJQ0FnYVc1cmMyTmhjR1U2ZDJsdVpHOTNMWGc5SWpBaUNpQWdJQ0FnYVc1cmMyTmhjR1U2WTNrOUlqTTFOeTR3TkRjeE55SUtJQ0FnSUNCcGJtdHpZMkZ3WlRwamVEMGlNemMwTGpNM09UY2lDaUFnSUNBZ2FXNXJjMk5oY0dVNmVtOXZiVDBpTUM0Mk9EYzNPREl5TkNJS0lDQWdJQ0JwYm10elkyRndaVHBzYjJOclozVnBaR1Z6UFNKMGNuVmxJZ29nSUNBZ0lITm9iM2RuY21sa1BTSm1ZV3h6WlNJS0lDQWdJQ0JwWkQwaWJtRnRaV1IyYVdWM09EUTFJZ29nSUNBZ0lHbHVhM05qWVhCbE9uZHBibVJ2ZHkxb1pXbG5hSFE5SWpFek56WWlDaUFnSUNBZ2FXNXJjMk5oY0dVNmQybHVaRzkzTFhkcFpIUm9QU0l5TlRZd0lnb2dJQ0FnSUdsdWEzTmpZWEJsT25CaFoyVnphR0ZrYjNjOUlqSWlDaUFnSUNBZ2FXNXJjMk5oY0dVNmNHRm5aVzl3WVdOcGRIazlJakFpQ2lBZ0lDQWdaM1ZwWkdWMGIyeGxjbUZ1WTJVOUlqRXdJZ29nSUNBZ0lHZHlhV1IwYjJ4bGNtRnVZMlU5SWpFd0lnb2dJQ0FnSUc5aWFtVmpkSFJ2YkdWeVlXNWpaVDBpTVRBaUNpQWdJQ0FnWW05eVpHVnliM0JoWTJsMGVUMGlNU0lLSUNBZ0lDQnBibXR6WTJGd1pUcGtiMk4xYldWdWRDMXliM1JoZEdsdmJqMGlNQ0lLSUNBZ0lDQmliM0prWlhKamIyeHZjajBpSXpZMk5qWTJOaUlLSUNBZ0lDQndZV2RsWTI5c2IzSTlJaU5tWm1abVptWWlJQzgrQ2lBZ1BIQmhkR2dLSUNBZ0lDQmtQU0p0SURjeE5TNHhNRE00Tml3ek1TNDNORGcwTnpZZ1l5QXRNVEV1TlN3MExqa2dMVEkzTGpNc01URXVOU0F0TXpVc01UUXVOeUF0TWpBdU5pdzRMamNnTFRVd0xESXhMakVnTFRZMkxqVXNNamd1TVNBdE1UY3VOU3czTGpVZ0xUTTRMakVzTVRZdU1pQXROekV1TXl3ek1DNHdNREF3TURRZ0xURXpMallzTlM0M0lDMHlOQzQyTERFd0xqY2dMVEkwTGpVc01URXVNU0F3TGpJc01DNHpJREV3TGpjc09TNDBJREl6TGpNc01qQXVNU0F4TWk0M0xERXdMamdnTWpRdU9Td3lNUzR6SURJM0xqSXNNak11TkNCc0lEUXVNeXd6TGprZ0xUWXVOeXczTGpVZ1l5QXRNekV1T1N3ek5pNHhJQzA0TVM0MUxEZzJMamtnTFRFeE1pNDRMREV4TlM0M0lDMHhNVEF1Tml3eE1ERXVOaUF0TWpJeUxqUXNNVGN3TGpJZ0xUTXlOeXd5TURBdU9DQXRNVFF1Tnl3MExqTWdMVFF4TGpFd01EQXdNU3d4TUM0MklDMDBPUzQxTURBd01ERXNNVEV1T0NBdE1TNDVMREF1TXlBdE5pNDBMREVnTFRFd0xERXVOU0F0TXk0MkxEQXVOaUF0T1M0MExERXVOQ0F0TVRNc01TNDNJQzB6TGpZc01DNDBJQzA1TGpRc01TQXRNVE1zTVM0MUlDMHpMallzTUM0MElDMHhOQzR5TERBdU55QXRNak11Tnl3d0xqWWdMVGt1TlRBd01EQXdNeXd0TUM0eElDMHhOeTR4TURBd01EQXpNaXd3SUMweE5pNDVNREF3TURBek1pd3dMakVnTVM0ME1EQXdNREF3TWl3eExqUWdNemd1TXpBd01EQXdNeklzTmk0NUlEVTJMakF3TURBd01ETXlMRGd1TXlBeE1TNDFMREVnTlRNdU5UQXdNREF4TERFdU15QTJOQzR4TURBd01ERXNNQzQxSURJdU9Dd3RNQzR5SURrdU15d3RNQzQySURFMExqVXNMVEVnTlM0eUxDMHdMak1nTVRBdU5pd3RNQzQ0SURFeUxDMHhJREV1TkN3dE1DNHlJRFV1TWl3dE1DNDNJRGd1TlN3dE1TQXpOeTQwTEMwekxqa2dPRFV1Tml3dE1UUXVPU0F4TWpZdU5Td3RNamt1TVNBNU1TNDBMQzB6TVM0MklERTNOeTR4TEMwNE1pNDVJREkyTVN3dE1UVTJMalVnTWpBdU5Td3RNVGN1T1NBMk9DNHhMQzAyTlM0eUlEZzJMalFzTFRnMUxqY2diQ0F4TWk0NExDMHhOQzR5SURFdU9Dd3lMaklnWXlBd0xqa3NNUzR6SURFd0xqZ3NNVFFnTWpFdU9Td3lPQzR6SURFeExqRXNNVFF1TXlBeU1DNDFMREkyTGpFZ01qRXNNall1TXlBd0xqUXNNQzR4SURFdU5Td3RNeTQzSURJdU5Td3RPQzQxSURBdU9Td3ROQzQ1SURZdU5Dd3RNek11TVNBeE1pNHhMQzAyTWk0NElEVXVOeXd0TWprdU55QXhNaTQ1TEMwMk55NHhJREUyTEMwNE15QXhOeXd0T0RjdU9EQXdNREEwSURFNUxqWXNMVEV3TVM0M01EQXdNRFFnTVRrdU15d3RNVEF5TGprd01EQXdOQ0F0TUM0eUxDMHdMamdnTFRnc01pQXRNakV1TXl3M0xqWWdlaUlLSUNBZ0lDQnBaRDBpY0dGMGFEZ3pOU0lLSUNBZ0lDQnBibXR6WTJGd1pUcGpiMjV1WldOMGIzSXRZM1Z5ZG1GMGRYSmxQU0l3SWdvZ0lDQWdJSE4wZVd4bFBTSm1hV3hzT2lNMVlUVmhOV0U3Wm1sc2JDMXZjR0ZqYVhSNU9qRTdjM1J5YjJ0bE9tNXZibVU3YzNSeWIydGxMWGRwWkhSb09qQXVNU0lnTHo0S0lDQThjR0YwYUFvZ0lDQWdJR1E5SW0wZ01qSXVNakF6T0RVNUxERTFOaTQxTkRnME9DQmpJRElzTVRVZ01Ua3VOaXcyT1M0MklESTFMRGMzTGpVZ01DNDRMREV1TVNBeExqUXNNaTQxSURFdU5Dd3pMak1nTUN3d0xqY2dNaXcxTGpRZ05DNDFMREV3TGpRZ01pNDFMRFVnTkM0MUxEa3VOU0EwTGpVc09TNDVJREFzTVM0eElERTFMalVzTWprdU5DQXlNeXcwTVM0NUlEa3VNeXd4TlM0M0lETTJMakV3TURBd01TdzFOQzQ0SURNNExqa3dNREF3TVN3MU55QXdMalFzTUM0eklERXVPQ3d5TGpFZ015NHhMRFFnTVM0ekxERXVPU0F5TGpjc015NDNJRE1zTkNBd0xqTXNNQzR6SURJdU5Dd3lMamNnTkM0MUxEVXVOU0F5TGpJc01pNDNJRFF1TWl3MUxqSWdOQzQxTERVdU5TQXdMak1zTUM0eklETXVOQ3d6TGprZ055dzRJREV4TGpnc01UTXVOeUF4Tnk0eUxERTVMak1nTXpndU9DdzBNQzQzSURFeExqZ3NNVEV1TnlBeU1pNHhMREl4TGpNZ01qSXVOeXd5TVM0eklERXVOeXd3SURZekxqa3NMVE0wTGpjZ05qUXVNeXd0TXpVdU9DQXdMakVzTFRBdU5TQXROQzQ0TEMwMElDMHhNU3d0Tnk0M0lDMDRNUzQyTEMwME9TNHpJQzB4TlRZdU5qQXdNREF4TEMweE1UY2dMVEU1T0M0MU1EQXdNREVzTFRFM09TNDFJQzB4TlM0ekxDMHlNaTQ0SUMweU55d3RORFV1TXlBdE16VXVNaXd0TmpjdU5TQXRNU3d0TWk0M0lDMHhMQzB5TGpZZ0xUQXVOU3d4TGpVZ2VpSUtJQ0FnSUNCcFpEMGljR0YwYURnek55SUtJQ0FnSUNCcGJtdHpZMkZ3WlRwamIyNXVaV04wYjNJdFkzVnlkbUYwZFhKbFBTSXdJZ29nSUNBZ0lITjBlV3hsUFNKbWFXeHNPaU5sWXpkaE1EZzdabWxzYkMxdmNHRmphWFI1T2pFN2MzUnliMnRsT201dmJtVTdjM1J5YjJ0bExYZHBaSFJvT2pBdU1TSWdMejRLSUNBOGNHRjBhQW9nSUNBZ0lHUTlJbTBnTXpFNExqTXdNemcyTERRM09TNDBORGcwT0NCaklDMHlOaTQ0TERrdU55QXRORGd1Tnl3eE55NDVJQzAwT0M0M0xERTRMak1nTUN3eExqSWdNekV1TlN3eU1TNDJJRFV5TGpnc016UXVNaUExTkN3ek1pQXhNamt1T1N3Mk5pQXhPVEF1TWl3NE5TNHhJR3dnT0M0MUxESXVOeUF5Tnl3dE1DNDJJR01nTWpVdU9Td3RNQzQySURJM0xqZ3NMVEF1T0NBME9Dd3ROQzQySURRd0xqVXNMVGN1TmlBMk9DNDNMQzB4Tnk0NUlEZzVMaklzTFRNeUxqWWdOaTR4TEMwMExqTWdNVEF1T1N3dE9DNHhJREV3TGpjc0xUZ3VOQ0F0TVM0MExDMHhMalFnTFRVeUxqZ3NMVEUySUMwNE9TNDBMQzB5TlM0MElDMHhOQ3d0TXk0M0lDMHlOaTQwTEMwM0lDMHlOeTQxTEMwM0xqVWdMVEV1TVN3dE1DNDFJQzAyTGpFc0xURXVPQ0F0TVRFdU1Td3RNeUF0TVRBc0xUSXVNeUF0TmpRdU5Dd3RNakF1TXlBdE9UQXVOeXd0TXpBZ0xUTXdMamdzTFRFeExqUWdMVGN5TGpJc0xUSTRMalVnTFRFd05DNDNMQzAwTXk0MElHd2dMVFV1Tml3dE1pNDFJSG9pQ2lBZ0lDQWdhV1E5SW5CaGRHZzRNemtpQ2lBZ0lDQWdhVzVyYzJOaGNHVTZZMjl1Ym1WamRHOXlMV04xY25aaGRIVnlaVDBpTUNJS0lDQWdJQ0J6ZEhsc1pUMGlabWxzYkRvalpXTTNZVEE0TzJacGJHd3RiM0JoWTJsMGVUb3hPM04wY205clpUcHViMjVsTzNOMGNtOXJaUzEzYVdSMGFEb3dMakVpSUM4K0Nqd3ZjM1puUGdvPSIsIm1lZGlhdHlwZSI6ImltYWdlL3N2Zyt4bWwifV0sImluc3RhbGwiOnsic3BlYyI6eyJkZXBsb3ltZW50cyI6W3sibGFiZWwiOnsiY29udHJvbC1wbGFuZSI6ImNvbnRyb2xsZXItbWFuYWdlciJ9LCJuYW1lIjoicHJvbWV0aGV1cy1leHBvcnRlci1vcGVyYXRvci1jb250cm9sbGVyLW1hbmFnZXIiLCJzcGVjIjp7InJlcGxpY2FzIjoxLCJzZWxlY3RvciI6eyJtYXRjaExhYmVscyI6eyJjb250cm9sLXBsYW5lIjoiY29udHJvbGxlci1tYW5hZ2VyIn19LCJzdHJhdGVneSI6e30sInRlbXBsYXRlIjp7Im1ldGFkYXRhIjp7ImFubm90YXRpb25zIjp7Imt1YmVjdGwua3ViZXJuZXRlcy5pby9kZWZhdWx0LWNvbnRhaW5lciI6Im1hbmFnZXIifSwibGFiZWxzIjp7ImNvbnRyb2wtcGxhbmUiOiJjb250cm9sbGVyLW1hbmFnZXIifX0sInNwZWMiOnsiY29udGFpbmVycyI6W3siYXJncyI6WyItLWhlYWx0aC1wcm9iZS1iaW5kLWFkZHJlc3M9OjY3ODkiLCItLW1ldHJpY3MtYmluZC1hZGRyZXNzPTAuMC4wLjA6ODA4MCIsIi0tbGVhZGVyLWVsZWN0IiwiLS1sZWFkZXItZWxlY3Rpb24taWQ9cHJvbWV0aGV1cy1leHBvcnRlci1vcGVyYXRvciJdLCJlbnYiOlt7Im5hbWUiOiJBTlNJQkxFX0dBVEhFUklORyIsInZhbHVlIjoiZXhwbGljaXQifSx7Im5hbWUiOiJXQVRDSF9OQU1FU1BBQ0UiLCJ2YWx1ZUZyb20iOnsiZmllbGRSZWYiOnsiZmllbGRQYXRoIjoibWV0YWRhdGEuYW5ub3RhdGlvbnNbJ29sbS50YXJnZXROYW1lc3BhY2VzJ10ifX19XSwiaW1hZ2UiOiJxdWF5LmlvLzNzY2FsZS9wcm9tZXRoZXVzLWV4cG9ydGVyLW9wZXJhdG9yOnYwLjguMi1hbHBoYS4yIiwibGl2ZW5lc3NQcm9iZSI6eyJodHRwR2V0Ijp7InBhdGgiOiIvaGVhbHRoeiIsInBvcnQiOjY3ODl9LCJpbml0aWFsRGVsYXlTZWNvbmRzIjozMCwicGVyaW9kU2Vjb25kcyI6MjAsInRpbWVvdXRTZWNvbmRzIjo1fSwibmFtZSI6Im1hbmFnZXIiLCJwb3J0cyI6W3siY29udGFpbmVyUG9ydCI6ODA4MCwibmFtZSI6Imh0dHAifV0sInJlYWRpbmVzc1Byb2JlIjp7Imh0dHBHZXQiOnsicGF0aCI6Ii9yZWFkeXoiLCJwb3J0Ijo2Nzg5fSwiaW5pdGlhbERlbGF5U2Vjb25kcyI6NSwicGVyaW9kU2Vjb25kcyI6MTAsInRpbWVvdXRTZWNvbmRzIjo1fSwicmVzb3VyY2VzIjp7ImxpbWl0cyI6eyJjcHUiOiIxIiwibWVtb3J5IjoiMUdpIn0sInJlcXVlc3RzIjp7ImNwdSI6IjEwbSIsIm1lbW9yeSI6IjEyOE1pIn19LCJzZWN1cml0eUNvbnRleHQiOnsiYWxsb3dQcml2aWxlZ2VFc2NhbGF0aW9uIjpmYWxzZSwiY2FwYWJpbGl0aWVzIjp7ImRyb3AiOlsiQUxMIl19fX1dLCJzZWN1cml0eUNvbnRleHQiOnsicnVuQXNOb25Sb290Ijp0cnVlfSwic2VydmljZUFjY291bnROYW1lIjoicHJvbWV0aGV1cy1leHBvcnRlci1vcGVyYXRvci1jb250cm9sbGVyLW1hbmFnZXIiLCJ0ZXJtaW5hdGlvbkdyYWNlUGVyaW9kU2Vjb25kcyI6MTB9fX19XSwicGVybWlzc2lvbnMiOlt7InJ1bGVzIjpbeyJhcGlHcm91cHMiOlsiIl0sInJlc291cmNlcyI6WyJjb25maWdtYXBzIl0sInZlcmJzIjpbImdldCIsImxpc3QiLCJ3YXRjaCIsImNyZWF0ZSIsInVwZGF0ZSIsInBhdGNoIiwiZGVsZXRlIl19LHsiYXBpR3JvdXBzIjpbImNvb3JkaW5hdGlvbi5rOHMuaW8iXSwicmVzb3VyY2VzIjpbImxlYXNlcyJdLCJ2ZXJicyI6WyJnZXQiLCJsaXN0Iiwid2F0Y2giLCJjcmVhdGUiLCJ1cGRhdGUiLCJwYXRjaCIsImRlbGV0ZSJdfSx7ImFwaUdyb3VwcyI6WyIiXSwicmVzb3VyY2VzIjpbImV2ZW50cyJdLCJ2ZXJicyI6WyJjcmVhdGUiLCJwYXRjaCJdfSx7ImFwaUdyb3VwcyI6WyJhcHBzIl0sInJlc291cmNlcyI6WyJkZXBsb3ltZW50cyJdLCJ2ZXJicyI6WyJjcmVhdGUiLCJkZWxldGUiLCJnZXQiLCJsaXN0IiwicGF0Y2giLCJ1cGRhdGUiLCJ3YXRjaCJdfSx7ImFwaUdyb3VwcyI6WyIiXSwicmVzb3VyY2VzIjpbInNlcnZpY2VzIl0sInZlcmJzIjpbImNyZWF0ZSIsImRlbGV0ZSIsImdldCIsImxpc3QiLCJwYXRjaCIsInVwZGF0ZSIsIndhdGNoIl19LHsiYXBpR3JvdXBzIjpbIiJdLCJyZXNvdXJjZXMiOlsic2VjcmV0cyJdLCJ2ZXJicyI6WyJnZXQiLCJsaXN0Iiwid2F0Y2giXX0seyJhcGlHcm91cHMiOlsiIl0sInJlc291cmNlcyI6WyJjb25maWdtYXBzIl0sInZlcmJzIjpbImdldCIsImxpc3QiLCJ3YXRjaCJdfSx7ImFwaUdyb3VwcyI6WyJtb25pdG9yaW5nLmNvcmVvcy5jb20iXSwicmVzb3VyY2VzIjpbInNlcnZpY2Vtb25pdG9ycyJdLCJ2ZXJicyI6WyJjcmVhdGUiLCJkZWxldGUiLCJnZXQiLCJsaXN0IiwicGF0Y2giLCJ1cGRhdGUiLCJ3YXRjaCJdfSx7ImFwaUdyb3VwcyI6WyJpbnRlZ3JlYXRseS5vcmciLCJncmFmYW5hLmludGVncmVhdGx5Lm9yZyJdLCJyZXNvdXJjZXMiOlsiZ3JhZmFuYWRhc2hib2FyZHMiXSwidmVyYnMiOlsiY3JlYXRlIiwiZGVsZXRlIiwiZ2V0IiwibGlzdCIsInBhdGNoIiwidXBkYXRlIiwid2F0Y2giXX0seyJhcGlHcm91cHMiOlsibW9uaXRvcmluZy4zc2NhbGUubmV0Il0sInJlc291cmNlcyI6WyJwcm9tZXRoZXVzZXhwb3J0ZXJzIiwicHJvbWV0aGV1c2V4cG9ydGVycy9zdGF0dXMiLCJwcm9tZXRoZXVzZXhwb3J0ZXJzL2ZpbmFsaXplcnMiXSwidmVyYnMiOlsiY3JlYXRlIiwiZGVsZXRlIiwiZ2V0IiwibGlzdCIsInBhdGNoIiwidXBkYXRlIiwid2F0Y2giXX1dLCJzZXJ2aWNlQWNjb3VudE5hbWUiOiJwcm9tZXRoZXVzLWV4cG9ydGVyLW9wZXJhdG9yLWNvbnRyb2xsZXItbWFuYWdlciJ9XX0sInN0cmF0ZWd5IjoiZGVwbG95bWVudCJ9LCJpbnN0YWxsTW9kZXMiOlt7InN1cHBvcnRlZCI6dHJ1ZSwidHlwZSI6Ik93bk5hbWVzcGFjZSJ9LHsic3VwcG9ydGVkIjp0cnVlLCJ0eXBlIjoiU2luZ2xlTmFtZXNwYWNlIn0seyJzdXBwb3J0ZWQiOnRydWUsInR5cGUiOiJNdWx0aU5hbWVzcGFjZSJ9LHsic3VwcG9ydGVkIjp0cnVlLCJ0eXBlIjoiQWxsTmFtZXNwYWNlcyJ9XSwia2V5d29yZHMiOlsibW9uaXRvcmluZyIsIm1ldHJpY3MiLCJvYnNlcnZhYmlsaXR5IiwicHJvbWV0aGV1cyIsImV4cG9ydGVyIiwiZ3JhZmFuYSIsIm15c3FsIiwicG9zdGdyZXNxbCIsIm1lbWNhY2hlZCIsInJlZGlzIiwic3BoaW54IiwiZWxhc3RpY3NlYXJjaCIsImNsb3Vkd2F0Y2giLCJibGFja2JveCIsInNlbmRncmlkIiwibWFudGljb3JlIl0sImxpbmtzIjpbeyJuYW1lIjoiR2l0SHViIiwidXJsIjoiaHR0cHM6Ly9naXRodWIuY29tLzNzY2FsZS1vcHMvcHJvbWV0aGV1cy1leHBvcnRlci1vcGVyYXRvciJ9XSwibWFpbnRhaW5lcnMiOlt7ImVtYWlsIjoiM3NjYWxlLW9wZXJhdGlvbnNAcmVkaGF0LmNvbSIsIm5hbWUiOiIzc2NhbGUgT3BzIn1dLCJtYXR1cml0eSI6ImFscGhhIiwicHJvdmlkZXIiOnsibmFtZSI6IlJlZCBIYXQiLCJ1cmwiOiJodHRwczovL3d3dy5yZWRoYXQuY29tIn0sInZlcnNpb24iOiIwLjguMi1hbHBoYS4yIn19 +relatedImages: +- image: quay.io/3scale/prometheus-exporter-operator-bundle:v0.8.2-alpha.2 + name: "" +- image: quay.io/3scale/prometheus-exporter-operator:v0.8.2-alpha.2 + name: "" +schema: olm.bundle diff --git a/config/manager/kustomization.yaml b/config/manager/kustomization.yaml index 928a462..6ad9408 100644 --- a/config/manager/kustomization.yaml +++ b/config/manager/kustomization.yaml @@ -8,4 +8,4 @@ kind: Kustomization images: - name: controller newName: quay.io/3scale/prometheus-exporter-operator - newTag: v0.8.2-alpha.1 + newTag: v0.8.2-alpha.2 diff --git a/examples/README.md b/examples/README.md index 56f7951..024a1de 100644 --- a/examples/README.md +++ b/examples/README.md @@ -14,77 +14,86 @@ Once the deployed prometheus-exporter operator is up and running and watching fo ## Memcached -* Official doc: https://github.com/prometheus/memcached_exporter +- Official doc: https://github.com/prometheus/memcached_exporter ### Deploy example -* Create `memcached-exporter` example ([example-DB](memcached/memcached-db-service.yaml), [example-CR](memcached/memcached-cr.yaml)): + +- Create `memcached-exporter` example ([example-DB](memcached/memcached-db-service.yaml), [example-CR](memcached/memcached-cr.yaml)): + ```bash $ make memcached-create ``` -* Once tested, delete created objects: + +- Once tested, delete created objects: + ```bash $ make memcached-delete ``` ## Redis -* Official doc: https://github.com/oliver006/redis_exporter +- Official doc: https://github.com/oliver006/redis_exporter ### Deploy example -* Create `redis-exporter` example ([example-DB](redis/redis-db-service.yaml), [example-CR](redis/redis-cr.yaml), [example-CR-2](redis/redis-cr-2.yaml)): +- Create `redis-exporter` example ([example-DB](redis/redis-db-service.yaml), [example-CR](redis/redis-cr.yaml), [example-CR-2](redis/redis-cr-2.yaml)): + ```bash $ make redis-create ``` -* Once tested, delete created objects: + +- Once tested, delete created objects: + ```bash $ make redis-delete ``` ## MySQL -* Official doc: https://github.com/prometheus/mysqld_exporter +- Official doc: https://github.com/prometheus/mysqld_exporter ### CR needed extra object -* **The Secret should have been previously created as the operator expects it**: - * **[mysql-secret-example](mysql/mysql-secret.yaml) (Remember to set object name on CR field `dbConnectionStringSecretName`)** +- **The Secret should have been previously created as the operator expects it**: + - **[mysql-secret-example](mysql/mysql-secret.yaml) (Remember to set object name on CR field `dbConnectionStringSecretName`)** ### Permission requirements -* In addition, a database user with specific grants is needed *(this is just an example, go to the official doc for the latest information)*: +- In addition, a database user with specific grants is needed _(this is just an example, go to the official doc for the latest information)_: ```sql CREATE USER 'exporter'@'%' IDENTIFIED BY 'XXXXXXXX' WITH MAX_USER_CONNECTIONS 3; GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'%'; ``` -> **NOTE** ->
It is recommended to set a max connection limit for the user to avoid overloading the server with monitoring scrapes under heavy load. +> **NOTE** >
It is recommended to set a max connection limit for the user to avoid overloading the server with monitoring scrapes under heavy load. ### Deploy example -* Create `mysql-exporter` example ([example-secret](mysql/mysql-secret.yaml), [example-DB](mysql/mysql-db-service.yaml), [example-CR](mysql/mysql-cr.yaml)): +- Create `mysql-exporter` example ([example-secret](mysql/mysql-secret.yaml), [example-DB](mysql/mysql-db-service.yaml), [example-CR](mysql/mysql-cr.yaml)): + ```bash $ make mysql-create ``` -* Once tested, delete created objects: + +- Once tested, delete created objects: + ```bash $ make mysql-delete ``` ## PostgreSQL -* Official doc: https://github.com/wrouesnel/postgres_exporter +- Official doc: https://github.com/prometheus-community/postgres_exporter ### CR needed extra object -* **The Secret should have been previously created as the operator expects it**: - * **[postgresql-secret-example](postgresql/postgresql-secret.yaml) (Remember to set the object name on the CR field `dbConnectionStringSecretName`)** +- **The Secret should have been previously created as the operator expects it**: + - **[postgresql-secret-example](postgresql/postgresql-secret.yaml) (Remember to set the object name on the CR field `dbConnectionStringSecretName`)** ### Permission requirements -* In addition, a database user with specific grants is needed*(this is just an example, go to official doc for latest information)*. To be able to collect metrics from `pg_stat_activity` and `pg_stat_replication` as `non-superuser` you have to create views as a `superuser`, and assign permissions separately to those. In PostgreSQL, views run with the permissions of the user that created them so they can act as security barriers *(this is just an example, go to official doc for latest information)*: +- In addition, a database user with specific grants is needed*(this is just an example, go to official doc for latest information)*. To be able to collect metrics from `pg_stat_activity` and `pg_stat_replication` as `non-superuser` you have to create views as a `superuser`, and assign permissions separately to those. In PostgreSQL, views run with the permissions of the user that created them so they can act as security barriers _(this is just an example, go to official doc for latest information)_: ```sql CREATE USER postgres_exporter PASSWORD 'password'; @@ -107,145 +116,165 @@ CREATE VIEW postgres_exporter.pg_stat_replication AS GRANT SELECT ON postgres_exporter.pg_stat_replication TO postgres_exporter; ``` -> **NOTE** ->
Remember to use `postgres` database name in the connection string: +> **NOTE** >
Remember to use `postgres` database name in the connection string: +> > ``` > DATA_SOURCE_NAME=postgresql://postgres_exporter:password@localhost:5432/postgres?sslmode=disable > ``` ### Deploy example -* Create `postgresql-exporter` example ([example-secret](postgresql/postgresql-secret.yaml), [example-DB](postgresql/postgresql-db-service.yaml), [example-CR](postgresql/postgresql-cr.yaml)): +- Create `postgresql-exporter` example ([example-secret](postgresql/postgresql-secret.yaml), [example-DB](postgresql/postgresql-db-service.yaml), [example-CR](postgresql/postgresql-cr.yaml)): + ```bash $ make postgresql-create ``` -* Once tested, delete created objects: + +- Once tested, delete created objects: + ```bash $ make postgresql-delete ``` ## Sphinx -* Official doc: https://github.com/foxdalas/sphinx_exporter +- Official doc: https://github.com/foxdalas/sphinx_exporter ### Deploy example -* **Make sure you have a Sphinx instance available, and dbHost/dbPort are correctly set on CR example file** -* Create `sphinx-exporter` example ([example-CR](sphinx/sphinx-cr.yaml)): +- **Make sure you have a Sphinx instance available, and dbHost/dbPort are correctly set on CR example file** +- Create `sphinx-exporter` example ([example-CR](sphinx/sphinx-cr.yaml)): + ```bash $ make sphinx-create ``` -* Once tested, delete created objects: + +- Once tested, delete created objects: + ```bash $ make sphinx-delete ``` ## Manticore -* Official doc: https://github.com/manticoresoftware/manticoresearch-prometheus +- Official doc: https://github.com/manticoresoftware/manticoresearch-prometheus ### Deploy example -* **Make sure you have a Manticore instance available, and dbHost/dbPort are correctly set on CR example file** -* Create `manticore-exporter` example ([example-CR](manticore/manticore-cr.yaml)): +- **Make sure you have a Manticore instance available, and dbHost/dbPort are correctly set on CR example file** +- Create `manticore-exporter` example ([example-CR](manticore/manticore-cr.yaml)): + ```bash $ make manticore-create ``` -* Once tested, delete created objects: + +- Once tested, delete created objects: + ```bash $ make manticore-delete ``` ## Elasticsearch -* Official doc: https://github.com/justwatchcom/elasticsearch_exporter +- Official doc: https://github.com/prometheus-community/elasticsearch_exporter ### Deploy example -* **Make sure you have an Elasticsearch cluster available and that dbHost/dbPort are correctly set on CR example file** -* Create `elasticsearch-exporter` example ([example-CR](elasticsearch/es-cr.yaml)): +- **Make sure you have an Elasticsearch cluster available and that dbHost/dbPort are correctly set on CR example file** +- Create `elasticsearch-exporter` example ([example-CR](elasticsearch/es-cr.yaml)): + ```bash $ make elasticsearch-create ``` -* Once tested, delete created objects: + +- Once tested, delete created objects: + ```bash $ make elasticsearch-delete ``` ## AWS CloudWatch -* Official doc: https://github.com/prometheus/cloudwatch_exporter -> **NOTE** ->
The metrics from some services like `AWSClientVPN` are reported to AWS CloudWatch every **5 minutes** (instead of default **1 minute**), because they are not critical services like databases (RDS/EC) where details are more important. So on thoses cases, scrapping AWS Cloudwatch metrics every 1 minute makes no sense, so it is better to specify the var `period_seconds: 300` (instead of default `period_seconds: 60`) in the metric definition in the configmap. In addition, for those cases reporting metrics every 5 minutes, empty spaces (null values) could appear empty in the prometheus time series database, so in order to configure alerts, you can use queries like `max_over_time(aws_clientvpn_crl_days_to_expiry_average[10m]) < 2`, which takes max value within last 10 minutes, so we guarantee there is always a value that can fire an alert that won't disappear from time to time although alert might not be really recovered. +- Official doc: https://github.com/prometheus/cloudwatch_exporter + > **NOTE** >
The metrics from some services like `AWSClientVPN` are reported to AWS CloudWatch every **5 minutes** (instead of default **1 minute**), because they are not critical services like databases (RDS/EC) where details are more important. So on thoses cases, scrapping AWS Cloudwatch metrics every 1 minute makes no sense, so it is better to specify the var `period_seconds: 300` (instead of default `period_seconds: 60`) in the metric definition in the configmap. In addition, for those cases reporting metrics every 5 minutes, empty spaces (null values) could appear empty in the prometheus time series database, so in order to configure alerts, you can use queries like `max_over_time(aws_clientvpn_crl_days_to_expiry_average[10m]) < 2`, which takes max value within last 10 minutes, so we guarantee there is always a value that can fire an alert that won't disappear from time to time although alert might not be really recovered. ### CR needed extra objects -* **The Secret/ConfigMap should have been previously created as the operator expects them**: - * **[cw-secret-example](cloudwatch/cloudwatch-secret.yaml) (Remember to set the object name on the CR field `awsCredentialsSecretName`)** - * **[cw-configmap-example](cloudwatch/cloudwatch-configmap.yaml) (Remember to set the object name on the CR field `configurationConfigmapName`)** +- **The Secret/ConfigMap should have been previously created as the operator expects them**: + - **[cw-secret-example](cloudwatch/cloudwatch-secret.yaml) (Remember to set the object name on the CR field `awsCredentialsSecretName`)** + - **[cw-configmap-example](cloudwatch/cloudwatch-configmap.yaml) (Remember to set the object name on the CR field `configurationConfigmapName`)** ### Permission requirements -* In addition, the created IAM user requires some specific IAM permissions: - * `cloudwatch:ListMetrics` - * `cloudwatch:GetMetricStatistics` - * `tag:GetResources` +- In addition, the created IAM user requires some specific IAM permissions: + - `cloudwatch:ListMetrics` + - `cloudwatch:GetMetricStatistics` + - `tag:GetResources` ### Deploy example -* Create `cloudwatch-exporter` example ([example-secret](cloudwatch/cloudwatch-secret.yaml), [example-configmap](cloudwatch/cloudwatch-configmap.yaml), [example-CR](cloudwatch/cloudwatch-cr.yaml)): +- Create `cloudwatch-exporter` example ([example-secret](cloudwatch/cloudwatch-secret.yaml), [example-configmap](cloudwatch/cloudwatch-configmap.yaml), [example-CR](cloudwatch/cloudwatch-cr.yaml)): + ```bash $ make cloudwatch-create ``` -* Once tested, delete the created objects: + +- Once tested, delete the created objects: + ```bash $ make cloudwatch-delete ``` ## Probe -* Official doc: https://github.com/prometheus/blackbox_exporter +- Official doc: https://github.com/prometheus/blackbox_exporter ### CR needed extra object -* **The ConfigMap should have been previously created as the operator expects it**: - * **[probe-configmap-example](probe/probe-configmap.yaml) (Remember to set the object name on the CR field `configurationConfigmapName`)** -* **The optional Secret (replacing previous ConfigMap) should have been previously created as the operator expects it (in case config includes sensitive data and so you prefer to use a Secret** - * **[probe-secret-example](probe/probe-secret.yaml) (Remember to set the object name on the CR field `configurationSecretName` replacing previous `configurationConfigmapName`)** +- **The ConfigMap should have been previously created as the operator expects it**: + - **[probe-configmap-example](probe/probe-configmap.yaml) (Remember to set the object name on the CR field `configurationConfigmapName`)** +- **The optional Secret (replacing previous ConfigMap) should have been previously created as the operator expects it (in case config includes sensitive data and so you prefer to use a Secret** + - **[probe-secret-example](probe/probe-secret.yaml) (Remember to set the object name on the CR field `configurationSecretName` replacing previous `configurationConfigmapName`)** -> **NOTE** ->
To deploy a probe exporter (blackbox exporter) it is just needed the configmap (or secret) with blackbox modules configuration, and a single `PrometheusExporter` custom resource of type `probe`. But then, in order to be able to scrape different targets, you need to deploy for every endpoint that you want to monitor, a prometheus `Probe` resource with the `prober.url` pointing to the deployed probe exporter service `prometheus-exporter-probe-${CR_NAME}.${NAMESPACE}.svc:9115`, and then configure the specific module and target. +> **NOTE** >
To deploy a probe exporter (blackbox exporter) it is just needed the configmap (or secret) with blackbox modules configuration, and a single `PrometheusExporter` custom resource of type `probe`. But then, in order to be able to scrape different targets, you need to deploy for every endpoint that you want to monitor, a prometheus `Probe` resource with the `prober.url` pointing to the deployed probe exporter service `prometheus-exporter-probe-${CR_NAME}.${NAMESPACE}.svc:9115`, and then configure the specific module and target. ### Target Probe extra objects - * **[probe-target-probe-example](probe/probe-target-probe.yaml) (Remember to set the `prober.url` pointing to the deployed probe exporter service `prometheus-exporter-probe-${CR_NAME}.${NAMESPACE}.svc:9115`)** + +- **[probe-target-probe-example](probe/probe-target-probe.yaml) (Remember to set the `prober.url` pointing to the deployed probe exporter service `prometheus-exporter-probe-${CR_NAME}.${NAMESPACE}.svc:9115`)** ### Deploy example -* Create `probe-exporter` example ([example-configmap](probe/probe-configmap.yaml), [example-CR](probe/probe-cr.yaml), [example-target-probe](probe/probe-target-probe.yaml)): +- Create `probe-exporter` example ([example-configmap](probe/probe-configmap.yaml), [example-CR](probe/probe-cr.yaml), [example-target-probe](probe/probe-target-probe.yaml)): + ```bash $ make probe-create ``` -* Once tested, delete the created objects: + +- Once tested, delete the created objects: + ```bash $ make probe-delete ``` ## Sendgrid -* Official doc: https://github.com/chatwork/sendgrid-stats-exporter +- Official doc: https://github.com/chatwork/sendgrid-stats-exporter ### CR needed extra object -* **The Secret should have been previously created as the operator expects it**: - * **[sendgrid-secret-example](sendgrid/sendgrid-secret.yaml) (Remember to set the object name on the CR field `sendgridCredentialsSecretName`)** +- **The Secret should have been previously created as the operator expects it**: + - **[sendgrid-secret-example](sendgrid/sendgrid-secret.yaml) (Remember to set the object name on the CR field `sendgridCredentialsSecretName`)** ### Deploy example -* Create `sendgrid-exporter` example ([example-secret](sendgrid/sendgrid-secret.yaml), [example-CR](sendgrid/sendgrid-cr.yaml)): +- Create `sendgrid-exporter` example ([example-secret](sendgrid/sendgrid-secret.yaml), [example-CR](sendgrid/sendgrid-cr.yaml)): + ```bash $ make sendgrid-create ``` -* Once tested, delete the created objects: + +- Once tested, delete the created objects: + ```bash $ make sendgrid-delete -``` \ No newline at end of file +``` diff --git a/roles/prometheusexporter/exporters/cloudwatch/vars.yml b/roles/prometheusexporter/exporters/cloudwatch/vars.yml index a63dd72..99e7582 100644 --- a/roles/prometheusexporter/exporters/cloudwatch/vars.yml +++ b/roles/prometheusexporter/exporters/cloudwatch/vars.yml @@ -1,8 +1,7 @@ --- - # Exporter image_name: "prom/cloudwatch-exporter" -image_version: "cloudwatch_exporter-0.11.0" +image_version: "v0.16.0" port: 9106 liveness_probe_timeout_seconds: 45 liveness_probe_period_seconds: 60 @@ -20,7 +19,6 @@ resources_limits_memory: "256Mi" # Custom aws_credentials_secret_name: "prometheus-exporter-{{ type }}-{{ ansible_operator_meta.name }}" configuration_configmap_name: "prometheus-exporter-{{ type }}-{{ ansible_operator_meta.name }}" - ###### Example of Secret # # If you don't specify CR field awsCredentialsSecretName, it will be used default Secret name "prometheus-exporter-cloudwatch-{{ CR_NAME }}" diff --git a/roles/prometheusexporter/exporters/es/container.yml.j2 b/roles/prometheusexporter/exporters/es/container.yml.j2 index 7ad67fb..484a53f 100644 --- a/roles/prometheusexporter/exporters/es/container.yml.j2 +++ b/roles/prometheusexporter/exporters/es/container.yml.j2 @@ -1,4 +1,3 @@ -command: - - "/bin/elasticsearch_exporter" +args: - "--es.uri={{ db_host }}:{{ db_port }}" - "--es.all" \ No newline at end of file diff --git a/roles/prometheusexporter/exporters/es/vars.yml b/roles/prometheusexporter/exporters/es/vars.yml index bb766f4..af67909 100644 --- a/roles/prometheusexporter/exporters/es/vars.yml +++ b/roles/prometheusexporter/exporters/es/vars.yml @@ -1,8 +1,7 @@ --- - # Exporter -image_name: "justwatch/elasticsearch_exporter" -image_version: "1.1.0" +image_name: "quay.io/prometheuscommunity/elasticsearch-exporter" +image_version: "v1.8.0" port: 9114 liveness_probe_timeout_seconds: 10 liveness_probe_period_seconds: 15 diff --git a/roles/prometheusexporter/exporters/manticore/vars.yml b/roles/prometheusexporter/exporters/manticore/vars.yml index fab9a50..7148147 100644 --- a/roles/prometheusexporter/exporters/manticore/vars.yml +++ b/roles/prometheusexporter/exporters/manticore/vars.yml @@ -1,8 +1,7 @@ --- - # Exporter image_name: "manticoresearch/prometheus-exporter" -image_version: "6.2.13.0" +image_version: "6.3.2.0" port: 8081 liveness_probe_timeout_seconds: 3 liveness_probe_period_seconds: 15 diff --git a/roles/prometheusexporter/exporters/memcached/vars.yml b/roles/prometheusexporter/exporters/memcached/vars.yml index b010481..e5ee711 100644 --- a/roles/prometheusexporter/exporters/memcached/vars.yml +++ b/roles/prometheusexporter/exporters/memcached/vars.yml @@ -1,8 +1,7 @@ --- - # Exporter image_name: "prom/memcached-exporter" -image_version: "v0.6.0" +image_version: "v0.15.0" port: 9150 liveness_probe_timeout_seconds: 3 liveness_probe_period_seconds: 15 diff --git a/roles/prometheusexporter/exporters/mysql/vars.yml b/roles/prometheusexporter/exporters/mysql/vars.yml index 89ff2d7..81a4762 100644 --- a/roles/prometheusexporter/exporters/mysql/vars.yml +++ b/roles/prometheusexporter/exporters/mysql/vars.yml @@ -1,8 +1,7 @@ --- - # Exporter image_name: "prom/mysqld-exporter" -image_version: "v0.12.1" +image_version: "v0.14.0" # v0.15 and above introduces breaking changes, replacing connection string secret with a .my.cnf based configuration port: 9104 liveness_probe_timeout_seconds: 3 liveness_probe_period_seconds: 15 @@ -19,7 +18,6 @@ resources_limits_memory: "64Mi" # Custom db_connection_string_secret_name: "prometheus-exporter-{{ type }}-{{ ansible_operator_meta.name }}" - ###### Example of Secret # # If you don't specify CR field dbConnectionStringSecretName, it will be used default Secret name "prometheus-exporter-mysql-{{ CR_NAME }}" diff --git a/roles/prometheusexporter/exporters/postgresql/vars.yml b/roles/prometheusexporter/exporters/postgresql/vars.yml index 8ec8b32..9c52b5a 100644 --- a/roles/prometheusexporter/exporters/postgresql/vars.yml +++ b/roles/prometheusexporter/exporters/postgresql/vars.yml @@ -1,8 +1,7 @@ --- - # Exporter -image_name: "wrouesnel/postgres_exporter" -image_version: "v0.8.0" +image_name: "quay.io/prometheuscommunity/postgres-exporter" +image_version: "v0.16.0" port: 9187 liveness_probe_timeout_seconds: 3 liveness_probe_period_seconds: 15 @@ -19,7 +18,6 @@ resources_limits_memory: "64Mi" # Custom db_connection_string_secret_name: "prometheus-exporter-{{ type }}-{{ ansible_operator_meta.name }}" - ###### Example of Secret # # If you don't specify CR field dbConnectionStringSecretName, it will be used default Secret name "prometheus-exporter-postgresql-{{ CR_NAME }}" diff --git a/roles/prometheusexporter/exporters/probe/vars.yml b/roles/prometheusexporter/exporters/probe/vars.yml index 6a29b52..87a5cc0 100644 --- a/roles/prometheusexporter/exporters/probe/vars.yml +++ b/roles/prometheusexporter/exporters/probe/vars.yml @@ -2,7 +2,7 @@ # Exporter image_name: "quay.io/prometheus/blackbox-exporter" -image_version: "v0.22.0" +image_version: "v0.25.0" port: 9115 liveness_probe_timeout_seconds: 3 liveness_probe_period_seconds: 15 diff --git a/roles/prometheusexporter/exporters/redis/vars.yml b/roles/prometheusexporter/exporters/redis/vars.yml index f4b73f9..070fcdf 100644 --- a/roles/prometheusexporter/exporters/redis/vars.yml +++ b/roles/prometheusexporter/exporters/redis/vars.yml @@ -1,8 +1,7 @@ --- - # Exporter image_name: "oliver006/redis_exporter" -image_version: "v1.44.0" +image_version: "v1.66.0" port: 9121 liveness_probe_timeout_seconds: 3 liveness_probe_period_seconds: 15 @@ -20,7 +19,6 @@ resources_limits_memory: "64Mi" # Custom db_host: "backend-redis" db_port: 6379 - ## Optional: # Example 3scale backend: #db_check_keys: "resque:queue:stats,resque:queue:priority,resque:queue:main,resque:failed" diff --git a/roles/prometheusexporter/exporters/sendgrid/vars.yml b/roles/prometheusexporter/exporters/sendgrid/vars.yml index 4aaa01e..1d5027c 100644 --- a/roles/prometheusexporter/exporters/sendgrid/vars.yml +++ b/roles/prometheusexporter/exporters/sendgrid/vars.yml @@ -1,8 +1,7 @@ --- - # Exporter image_name: "chatwork/sendgrid-stats-exporter" -image_version: "0.0.9" +image_version: "v0.0.10" port: 9154 liveness_probe_timeout_seconds: 3 liveness_probe_period_seconds: 15 @@ -22,7 +21,6 @@ sendgrid_credentials_secret_name: "prometheus-exporter-{{ type }}-{{ ansible_ope sendgrid_accumulated_metrics: "True" sendgrid_location: "" sendgrid_time_offset: "0" - ###### Example of Secret # # If you don't specify CR field sendgridCredentialsSecretName, it will be used default Secret name "prometheus-exporter-sendgrid-{{ CR_NAME }}" diff --git a/roles/prometheusexporter/exporters/sphinx/vars.yml b/roles/prometheusexporter/exporters/sphinx/vars.yml index 888ecde..6f27577 100644 --- a/roles/prometheusexporter/exporters/sphinx/vars.yml +++ b/roles/prometheusexporter/exporters/sphinx/vars.yml @@ -1,8 +1,7 @@ --- - # Exporter image_name: "foxdalas/sphinx-exporter" -image_version: "master" +image_version: "v0.3.0" port: 9247 liveness_probe_timeout_seconds: 3 liveness_probe_period_seconds: 15