text:
ModuleNotFoundError: No module named 'w2kplot.cli'

Traceback (most recent call last):
File "/home/nasir/.local/bin/w2kplot-bands", line 5, in
from w2kplot.cli.bandplot import main
ModuleNotFoundError: No module named 'w2kplot.cli'

Hi @nasirxo, thanks for raising this issue. I'm not sure where this line is actually written in the source I can't find it anywhere. The cli features of w2kplot is to be used directly from the command line. The imported modules are Bands, FatBands, etc.

authors: harrisonlabollita nasirxo


text:
Another example to README

This example illustrates that input objects can have different structure.

landed

Also, thank you for your fine addition!

source: gharchive/pull-request

authors: AlibekJ robertleeplummerjr

license: mit

license_type: permissive

license_source: bigquery


text:
fix1531 sync init value from charts for UI config usage

Harvester will open setting of monitoring for user config from UI, it is necessary to have init values for all fields, avoid blank values in WebUI.
Those values are same with (helm) charts in Harvester now, different value will overwrite (helm) charts and finally be effective in the POD setting.
Harvester issue:
https://github.com/harvester/harvester/issues/1531

@DaiYuzeng @WuJun2016
FYI, with this commit, the initial value of harvester-monitoring will be existing.
cc @guangbochen

vagrant failure:
"TASK [boot Harvester Node 0] ***************************************************",
"changed: [localhost]",
"",
"TASK [wait for Harvester Node 192.168.0.30 to get ready] ***********************",
"FAILED - RETRYING: [localhost]: wait for Harvester Node 192.168.0.30 to get ready (20 retries left).",
...
"FAILED - RETRYING: [localhost]: wait for Harvester Node 192.168.0.30 to get ready (1 retries left).",
"fatal: [localhost]: FAILED! => changed=false ",
"  attempts: 20",
"  elapsed: 3",
"  msg: 'Status code was -1 and not [200]: Request failed: <urlopen error [Errno 113] No route to host>'",
"  redirected: false",
"  status: -1",
"  url: https://192.168.0.30/",
TASK [Cleanup Harvester Vagrant VMs] *******************************************
changed: [localhost]
TASK [Check result] ************************************************************
fatal: [localhost]: FAILED! => {"changed": false, "msg": "ERROR: [WARNING]: No inventory was parsed, only implicit localhost is available\n[WARNING]: provided hosts list is empty, only localhost is available. Note that\nthe implicit localhost does not match 'all'\n[DEPRECATION WARNING]: "include" is deprecated, use include_tasks/import_tasks \ninstead. This feature will be removed in version 2.16. Deprecation warnings can\n be disabled by setting deprecation_warnings=False in ansible.cfg.\n[DEPRECATION WARNING]: "include" is deprecated, use \ninclude_tasks/import_tasks/import_playbook instead. This feature will be \nremoved in version 2.16. Deprecation warnings can be disabled by setting \ndeprecation_warnings=False in ansible.cfg."}
PLAY RECAP *********************************************************************
localhost                  : ok=14   changed=10   unreachable=0    failed=1    skipped=3    rescued=0    ignored=1
FATAL: command execution failed
hudson.AbortException: Ansible playbook execution failed
at org.jenkinsci.plugins.ansible.AnsiblePlaybookBuilder.perform(AnsiblePlaybookBuilder.java:262)
..

Manual install:

POD has expected resource setting

UI has none-empty values:

Set with new value:

@w13915984028 Vagrant test builds ISO in the worker, not fetching from the master. Could you amend commit and force push again? Thanks

@w13915984028 Vagrant test builds ISO in the worker, not fetching from the master. Could you amend commit and force push again? Thanks

@bk201  it still failed in Vagrant installation testing, any idea? thanks.
cc @guangbochen
I tried install a work node manually, it is successful.

Yep, this should be a CI-related issue and @bk201 is also checking the root cause, feel free to contribute a PR if u guys found the root causes, thanks.

repo: harvester/harvester-installer

license_source: github-api


text:
VIP must be different from management NIC's IP

related: https://github.com/harvester/harvester/issues/2229
Assert the difference between VIP and management NIC's IP.
Test plan

Build the installer and run it.
Select Static as your IPv4 Method
Type a IP for management NIC

Select Static as your VIP mode
Type the same IP as NIC management IP

Expect to see the error message "VIP must not be the same as management NIC's IP".

👍

authors: chrisho weihanglo


text:
[Question]Pager Duty integration

I am trying to wire up pagerduty in monitoring and it wont let me edit a to send alerts and I cant enter any of my pager duty credentials
No matter which I use eventsapi or promethus it will not let me enter anything other than none
please advise?

@DaiYuzeng could you have a quick valdate of the related UI, thanks.

source: gharchive/issue

repo: harvester/harvester


text:
storage: add whereabouts cni charts for storage network

Signed-off-by: Date Huang date.huang@suse.com
IMPORTANT: Please do not create a Pull Request without creating an issue first.
Problem:

need whereabouts CNI charts
Solution:

add whereabouts CNI charts into dependency_charts and charts
Related Issue:
https://github.com/harvester/harvester/issues/1055
Test plan:

Install new version harvester and check daemonset whereabouts is existing

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@69a6b1b). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master    #2716   +/-   ##
=========================================
  Coverage          ?   20.96%
=========================================
  Files             ?       54
  Lines             ?     5457
  Branches          ?        0
=========================================
  Hits              ?     1144
  Misses            ?     4196
  Partials          ?      117

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

@tjjh89017 This looks like an upstream chart. Could you document the reason not to use the upstream repository?
If you need the chart maintained in Harvester, the better place is to add in harvester/charts first and publish.

This looks like an upstream chart. Could you document the reason not to use the upstream repository?

whereabouts chart in upstream is out of date. We need to maintain a new version for it.

If you need the chart maintained in Harvester, the better place is to add in harvester/charts first and publish.

ok, I will send PR to that repo

@bk201 Looks like harvester/charts is for some components we build. If it's more like upstream component, will it be better to add it like kubevirt in dependency_charts?

@FrankYang0529 Indeed, although those two charts are created by us too. @guangbochen, do you have any suggestions?

I think it is fine to keep this as a dependency chart in the harvester/harvester repo since we will be the only ones to use it.

Thanks, @guangbochen
@tjjh89017, let's keep it in the harvester, and if we need to test it individually, we can move it out. Sorry for the hassle.

@tjjh89017 The namespace is kube-system; should we move to harvester-system? cc @guangbochen


text:
[TEST] v1.4.0 Release Test: Three node Harvester with Rancher

Prerequisites

VLAN 1 network on mgmt and 1 network on other NICs
Create a new storage class apart from default one. Use the new storage class for some basic operations.
2 VMs with extra disk, data and computed md5sum- 1 running, 1 stopped
2 VM backup, snapshots - 1 backup when VM is running and 1 backup when VM is stooped

Test Steps

Import Harvester in Rancher.
Create RKE2 Harvester node driver cluster

Deploy cloud provider and csi driver all the clusters.
Necessary checks for cloud provider and csi driver working on cluster.
Scale down and scale up of clusters
Delete clusters.

Create RKE2 Harvester node driver cluster (Terraform)
Create RKE2 Harvester node driver cluster (Custom)

Deploy cloud provider and csi driver all the clusters.
Necessary checks for cloud provider and csi driver working on cluster.
Scale down and scale up of clusters
Delete clusters.

Create RKE2 Harvester node driver cluster (Import)

Deploy cloud provider and csi driver all the clusters.
Necessary checks for cloud provider and csi driver working on cluster.
Scale down and scale up of clusters
Delete clusters.

Upgrade Rancher.

Note

For 1.4.0, We'll do full testing For Rancher v2.9.2 (K1.30) & v2.8.8 and rely on automation for Rancher v2.9.2 (K1.29) & v2.7.15
Target Harvester app version

harvester-cloud-provider:103.0.3+up0.2.6
harvester-csi-driver:103.0.2+up0.1.18

Scenario
Manual

Rancher v2.9.2 (v1.30) -> v2.9.3 (-)
Rancher v2.8.8 (v1.27) -> v2.8.9 (v1.28)

Auto

Rancher v2.9.2 (v1.29)
Rancher v2.7.15 (v1.27)

Reference
https://github.com/harvester/tests/issues/1150

Scenario 1: v2.9.2 (v1.30) -> v2.9.3 (-)
Prerequisites

 :green_circle: Setup 3 nodes Harvester `v1.4.0-rc4` cluster

 :green_circle: VLAN 1 network on mgmt and 1 network on other NICs

 :green_circle: Create a new storage class apart from default one. Use the new storage class for some basic operations.

 :green_circle: 2 VMs with extra disk, data and computed md5sum- 1 running, 1 stopped

 :green_circle: 2 VM backup, snapshots - 1 backup when VM is running and 1 backup when VM is stooped

backup-target

backup

snapshot

Test Steps

 :green_circle: Import Harvester in Rancher.

 :green_circle: Create Harvester IP Pool via Rancher

Create RKE2 Harvester node driver cluster

 :green_circle: Deploy cloud provider and csi driver all the clusters.

 :green_circle: Necessary checks for cloud provider and csi driver working on cluster.

Deploy Nginx

Create IPAM DHCP LoadBalancer

Create IPAM Pool LoadBalancer

 :green_circle: Scale up cluster

Scale up

Nginx deployment works

DHCP LB works

Pool LB works

 :green_circle: Scale down cluster

Scale down

Nginx deployment works

LBs works

 :yellow_circle: Delete cluster

Before

VM

Volume

LB

After

VM

Volume

LB

Hit known harvester/harvester/issues/1460

Create RKE2 Harvester node driver cluster (Custom) ^1

 :green_circle: Deploy cloud provider and csi driver all the clusters.

Cluster

Apps

 :green_circle: Necessary checks for cloud provider and csi driver working on cluster.

Deploy Nginx

Create IPAM DHCP LoadBalancer
Create IPAM Pool LoadBalancer

 :green_circle: Scale up cluster

Scale up (Create 1 more VM and do registration)

Nginx deployment works

LBs works

 :green_circle: Scale down cluster

Scale down (Delete the old one, can also check pvc migration)

Nginx deployment works

LBs works

 :yellow_circle: Delete cluster

Rancher

Harvester (Need manually delete cuz it's Import scenaio)

Hit known harvester/harvester/issues/1460

Create RKE2 Harvester node driver cluster (Import)

 :green_circle: Create VMs with cloud-provider & csi-driver cloud-config

cloud-config

harvester-cloud-provider: https://docs.harvesterhci.io/v1.4/rancher/cloud-provider#deploying-to-the-rke2-custom-cluster-experimental
harvester-csi-driver: https://docs.harvesterhci.io/v1.4/rancher/csi-driver#install-csi-driver-manually-in-the-rke2-cluster

 :green_circle: Setting up a RKE2 VM

Ref.

https://github.com/harvester/harvester/issues/5345#issue-2181310986
https://ranchermanager.docs.rancher.com/v2.9/how-to-guides/new-user-guides/kubernetes-cluster-setup/rke2-for-rancher#1-install-kubernetes-and-set-up-the-rke2-server

 :green_circle: Registrate RKE2 VM to Rancher

Ref. https://ranchermanager.docs.rancher.com/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/register-existing-clusters#registering-a-cluster

Registration

Cluster

 :green_circle: Deploy cloud provider and csi driver all the clusters.

 :yellow_circle: Necessary checks for cloud provider and csi driver working on cluster.

Deploy Nginx

Create LoadBalancer

Hit known harvester/harvester/issues/6122

 :green_circle: Scale up cluster

Scale up (Create 1 more VM and do registration)

Nginx deployment works

LBs works

 :green_circle: Scale down cluster

Scale down (Delete the old one, can also check pvc migration)

Nginx deployment works

LBs works

No delete button in Cluster Management page, delete from Clster -> Nodes instead.
This need more time (~10m) to sync compare previous cluster types.

 :yellow_circle: Delete clusters.

Hit known harvester/harvester/issues/1460

 :green_circle: Create RKE2 Harvester node driver cluster (Terraform)

providers.tf.txt

Cluster

Upgrade cloud-provider and csi-driver

LBs

 :green_circle: Upgrade Rancher to v2.9.3

RKE2 clsuter still works

 :green_circle: Delete RKE2 Harvester node driver cluster (Terraform)

providers.tf.txt

:construction: WIP :construction:
Scenario 2: v2.8.8 (v1.27) -> v2.8.9 (v1.28)
Prerequisites

 :white_circle: Setup 3 nodes Harvester v1.4.0-rc4 cluster

 :white_circle: VLAN 1 network on mgmt and 1 network on other NICs

 :white_circle: Create a new storage class apart from default one. Use the new storage class for some basic operations.

 :white_circle: 2 VMs with extra disk, data and computed md5sum- 1 running, 1 stopped

 :white_circle: 2 VM backup, snapshots - 1 backup when VM is running and 1 backup when VM is stooped

backup-target

backup

snapshot

Test Steps

 :white_circle: Import Harvester in Rancher v2.8.8

 :white_circle: Create Harvester IP Pool via Rancher

Create RKE2 Harvester node driver cluster

 :white_circle: Deploy cloud provider and csi driver all the clusters.

 :white_circle: Necessary checks for cloud provider and csi driver working on cluster.

Deploy Nginx

Create IPAM DHCP LoadBalancer

Create IPAM Pool LoadBalancer

 :white_circle: Scale up cluster

Scale up

Nginx deployment works

DHCP LB works

Pool LB works

 :white_circle: Scale down cluster

Scale down

Nginx deployment works

LBs works

 :yellow_circle: Delete cluster

Hit known harvester/harvester/issues/1460

Create RKE2 Harvester node driver cluster (Custom) ^1

 :white_circle: Deploy cloud provider and csi driver all the clusters.

Cluster

Apps

 :white_circle: Necessary checks for cloud provider and csi driver working on cluster.

Deploy Nginx

Create IPAM DHCP LoadBalancer

Create IPAM Pool LoadBalancer

 :white_circle: Scale up cluster

Scale up (Create 1 more VM and do registration)

Nginx deployment works

LBs works

 :white_circle: Scale down cluster

Scale down (Delete the old one, can also check pvc migration)

Nginx deployment works

LBs works

 :yellow_circle: Delete cluster

Rancher

Harvester (Need manually delete cuz it's Import scenaio)

Hit known harvester/harvester/issues/1460

Create RKE2 Harvester node driver cluster (Import)

 :white_circle: Create VMs with cloud-provider & csi-driver cloud-config

cloud-config

harvester-cloud-provider: https://docs.harvesterhci.io/v1.4/rancher/cloud-provider#deploying-to-the-rke2-custom-cluster-experimental
harvester-csi-driver: https://docs.harvesterhci.io/v1.4/rancher/csi-driver#install-csi-driver-manually-in-the-rke2-cluster

 :white_circle: Setting up a RKE2 VM

Ref.

https://github.com/harvester/harvester/issues/5345#issue-2181310986
https://ranchermanager.docs.rancher.com/v2.9/how-to-guides/new-user-guides/kubernetes-cluster-setup/rke2-for-rancher#1-install-kubernetes-and-set-up-the-rke2-server

 :white_circle: Registrate RKE2 VM to Rancher

Ref. https://ranchermanager.docs.rancher.com/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/register-existing-clusters#registering-a-cluster

Registration

Cluster

 :white_circle: Deploy cloud provider and csi driver all the clusters.

 :yellow_circle: Necessary checks for cloud provider and csi driver working on cluster.

Deploy Nginx

Create LoadBalancer

Hit known harvester/harvester/issues/6122

 :white_circle: Scale up cluster

Scale up (Create 1 more VM and do registration)

Nginx deployment works

LBs works

 :white_circle: Scale down cluster

Scale down (Delete the old one, can also check pvc migration)

Nginx deployment works

LBs works

No delete button in Cluster Management page, delete from Clster -> Nodes instead.
This need more time (~10m) to sync compare previous cluster types.

 :yellow_circle: Delete clusters.

Hit known harvester/harvester/issues/1460

 :white_circle: Create RKE2 Harvester node driver cluster (Terraform)

providers.tf.txt

Cluster

Upgrade cloud-provider and csi-driver

LBs

 :white_circle: Upgrade Rancher to v2.8.9

RKE2 clsuter still works

 :white_circle: Upgrade RKE2 version to v1.28

RKE2 clsuter still works

 :white_circle: Delete RKE2 Harvester node driver cluster (Terraform)

providers.tf.txt

:construction: WIP :construction:
Scenario 3: Rancher v2.9.2 (v1.29)

harvester_e2e_tests/integrations/test_9_rancher_integration.py
harvester_e2e_tests/integrations/test_z_terraform_rancher.py

Scenario 4: Rancher v2.7.15 (v1.27)

harvester_e2e_tests/integrations/test_9_rancher_integration.py
harvester_e2e_tests/integrations/test_z_terraform_rancher.py

Test overall PASS, close as done.
Hit issues are all known ones, summarise as following:
Need investigate

harvester/harvester/issues/6845

Low priority

harvester/harvester/issues/6122
harvester/harvester/issues/1460

repo: harvester/tests


text:
Is there a timeout for runs on main pod?

In quite a suspicious way this task has ended in exactly 30 minutes exactly but not ended for sure since not all data is loaded (we need to see 4 different years ago in this table, see following query)
start_date=20220123T190122, end_date=20220123T193122
It happened in previous tasks as well - which is a bit suspicious.
Is there a timeout I'n not aware of?

I don't see any timeout on airflow
the task completed successfully - Command exited with return code 0
I suggest to change all logging commands to print so you can see the logs as I suggested in this issue - https://github.com/hasadna/anyway-etl/issues/13

authors: OriHoch atalyaalon

repo: hasadna/anyway-etl

license: MIT


text:
Update SDK references repo

Problem
Update the SDK references repo to add the specifications for Swift.
https://github.com/hashgraph/hedera-sdk-reference
Solution
See above
Alternatives
No response

This repo will be deprecated and will not require to be updated.

repo: hashgraph/hedera-sdk-rust


text:
Tempus 460

This PR consists code of following issues:-

Tempus-460 (Create Metadata sidebar and homescreen entry)
Tempus-461 (Create Metadata UI service screen)

Merged the two issues as both are dependent.

LGTM

repo: hashmapinc/Tempus


text:
Error when installing homebridge-plugin

I'm running the latest hass.io release, and my config looks like this:
{
  "log_level": "info",
  "avahi_interfaces": "",
  "avahi_hostname": "",
  "avahi_domainname": "local",
  "enable_ipv6": true,
  "packages": [
    "git"
  ],
  "init_commands": [],
  "plugins": [
    "homebridge-harmonyhub"
  ]
}

During startup, (in stage 82) the addon tries to install the homebridge-plugin "homebridge-harmonyhub", but that fails for some reason:
[cont-init.d] 82-user-plugins.sh: executing...
npm WARN registry Unexpected warning for https://registry.npmjs.org/: Miscellaneous Warning EAI_AGAIN: request to https://registry.npmjs.org/debug failed, reason: getaddrinfo EAI_AGAIN registry.npmjs.org:443
npm WARN registry Using stale package data from https://registry.npmjs.org/ due to a request error during revalidation.
npm WARN deprecated node-xmpp-stanza@1.1.0: use @xmpp/xml package <https://www.npmjs.com/package/@xmpp/xml>
npm WARN deprecated node-xmpp-jid@2.3.0: use @xmpp/jid package <https://www.npmjs.com/package/@xmpp/jid>
npm WARN tar ENOENT: no such file or directory, open '/usr/lib/node_modules/.staging/async-b84761f6/LICENSE'
npm WARN tar ENOENT: no such file or directory, open '/usr/lib/node_modules/.staging/jsbn-7cdb5a80/example.html'
npm WARN tar ENOENT: no such file or directory, open '/usr/lib/node_modules/.staging/async-b84761f6/CHANGELOG.md'
npm WARN tar ENOENT: no such file or directory, open '/usr/lib/node_modules/.staging/esprima-7c54439d/ChangeLog'
npm WARN tar ENOENT: no such file or directory, open '/usr/lib/node_modules/.staging/esprima-7c54439d/LICENSE.BSD'
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: source-map@0.4.4 (node_modules/homebridge-harmonyhub/node_modules/handlebars/node_modules/source-map):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: request to https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz failed, reason: getaddrinfo EAI_AGAIN registry.npmjs.org:443
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: has-flag@1.0.0 (node_modules/homebridge-harmonyhub/node_modules/has-flag):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: request to https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz failed, reason: getaddrinfo EAI_AGAIN registry.npmjs.org:443
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: is-buffer@1.1.6 (node_modules/homebridge-harmonyhub/node_modules/is-buffer):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: Cannot cd into '/usr/lib/node_modules/.staging/is-buffer-e71acd2c'
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: async@1.5.2 (node_modules/homebridge-harmonyhub/node_modules/async):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: Cannot cd into '/usr/lib/node_modules/.staging/async-b84761f6'
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: esprima@2.7.3 (node_modules/homebridge-harmonyhub/node_modules/esprima):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: Cannot cd into '/usr/lib/node_modules/.staging/esprima-7c54439d'
npm ERR! code EAI_AGAIN
npm ERR! errno EAI_AGAIN
npm ERR! request to https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz failed, reason: getaddrinfo EAI_AGAIN registry.npmjs.org:443
npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2017-10-26T07_01_51_385Z-debug.log
FATAL: Failed installing plugin homebridge-harmonyhub
[cont-init.d] 82-user-plugins.sh: exited 1.

I've tried the configuration you gave and it worked flawlessly.
So I'm not sure what I am searching for.
Seems like a network and or DNS issue. Have you tried upgrading to the latest release of the add-on yet?

Argh! Sorry, my fault...
The hassio-host was set as (the first) DNS server, but the dnsmasq wasn't running...

Glad you've found the issue 👍

authors: frenck marhoy

repo: hassio-addons/addon-homebridge


text:
New KritiFunc functions

This introduces some new functions and helpers.
Added parserToFunc helper to allow conversion from Aeson FromJson parsers to KritiFuncs. This should allow most current function implementations to be defined in terms of Aeson Parsers and if we switch to a richer KritiFunc representation then we will only need to change the definition of parserToFunc.
New functions: (Naming inspired by https://ramdajs.com/docs/)

toPairs
fromPairs
removeNulls
concat
parserToFunc

@sordina I forgot to ask in the review, but does the changelog need updated?

@sordina I forgot to ask in the review, but does the changelog need updated?

Done!

All of these functions look fine. My only question is if we should look to some standard library our user base will be familiar with, such as Lodash or Ramda, to crib the functions we include in our "standard lib"?
For example, both ramda and lodash use the name fromPairs for arrayToObject.

All of these functions look fine. My only question is if we should look to some standard library our user base will be familiar with, such as Lodash or Ramda, to crib the functions/names we include in our "standard lib"?
For example, both ramda and lodash use the name fromPairs for arrayToObject.

Yeah I was thinking the same thing. The main issue is a lot of those libraries use lambdas, so we might have to find inspiration from somewhere oldschool.

How about the python standard lib?

How about the python standard lib?

I think Python mostly uses splatting for this kind of thing so might not have a lot of similar functions.

@solomon-b I've updated the defined function in basicFuncMap to match the naming from https://ramdajs.com/docs/ where they can.

Looks great!

authors: codedmart solomon-b sordina

repo: hasura/kriti-lang


text:
Watch mode

This is a prototype of a watch mode added to the SDK. There are two ways things are watched:

The configuration file is watched, and if it is changed, the server is re-initialized with the new configuration. This involves validating the new configuration (validate_raw_configuration) and deriving a new state from it (try_init_state). This is all handled by the SDK and requires no special support from the connector implementation.

The connector implementation can optionally implement watch_for_state_change, which given a Configuration returns an Observable (push-based event stream) of new State values. The idea is that the connector will watch any mutable resources it refers to (for example, a database schema, or TypeScript source files) and if they change, it will re-derive a new state and send it on the Observable event stream. The SDK will subscribe to this and update the internal state of the server.

To enable watch mode, --watch is passed on the command line or the WATCH environment variable can be set.

Closing this, we've gone a different path with our watch mode functionality.

repo: hasura/ndc-sdk-typescript


text:
🛑 Analytics Server is down

In 2097f8c, Analytics Server (https://analytics.arash-hatami.ir) was down:

HTTP code: 504
Response time: 15789 ms

Resolved: Analytics Server is back up in fffbd00 after 9 minutes.


text:
Signup and Login Front-End Portion

Preliminary front-end pages for Signup and Login

Fixed inconsistency for signup/login export format. Merging and closing.

repo: hatchways/team-fruit-loops


text:
Why we should reset references in the loader ?

I'm trying to get the loaded objects (references) in my phpunit test after the loading fixtures, but i don't understand how to get them.
I tried to get references through service 'hautelook_alice.alice.fixtures.loader', but it's empty.
There we reset references. Okay, so let's say us need it.
But there returned the void and we don't receive the loaded objects again ...I'm confused.
Help me please. And sorry for my English :)

Ha, that's because you are looking at the wrong loader :)
The loader you gave actually load a fixture file into an array of objects. Maybe that's what you want after all, but otherwise you should use 'hautelook_alice.fixtures.loader', which takes care of the persitence, processors, besides being able to load multiple files.
You should get the loaded objects not via the references but by the array returned by the load() function.
'hautelook_alice.fixtures.loader' is meant to be used if you know which files you're loading, letting you the responsibility of providing the files. Otherwise if you want something more automated, you should try to run the command instead (it is possible to run a console command in your PHPUnit test) or roll out your own service that takes care of retrieving files before giving them to the loader. If you want to do so, you should take a look at Finder\FixturesInterface.
Note that the logic should then be similar to what is happening in the command. But the command is slightly more complex to support Doctrine DataFixturesLoaders.
If there is still something unclear for you don't hesitate to ask.

Thanks for fast answer.
I forgot to say i run the console command in my phpunit test.
In version 0.2 i used following way:
before every test i execute method
    public function prepareEnvironment(KernelInterface $kernel, $recreateSchema = true)
    {
        static::$application = new Application($kernel);
        static::$application->setAutoExit(false);
        if ($recreateSchema) {
            $this->runConsole("doctrine:schema:drop", array("--force" => true));
            $this->runConsole("doctrine:schema:create");
        }
        $this->runConsole("doctrine:fixtures:load");
        self::$em = $kernel->getContainer()->get('doctrine.orm.entity_manager');
        self::$alice = $kernel->getContainer()->get('hautelook_alice.loader');
    }

and inside test i used code in order to get loaded object
    public function testCreateRecipient()
    {
        // Some code ...

        $fixture = static::$alice->getReferences()['order_gas_saver_4'];
        $entity = static::$em->find('AppBundle:Order', $fixture->getId());

        $this->assertEquals(2, $entity->getSequenceStatus());
    }

It was useful. New version don't have analogs.
In version 0.2 the references stored in loader.
IMO in version 1 the references must be stored there, i.e. after persist objects we add references in property "references" in class Hautelook\AliceBundle\Alice\DataFixtures\Loader.
What do you think about it ? I can do it after while.

Sorry for the late answer. I am not really to keen to do that as it would result in a transient state.
IMO you shouldn't need to do that, your objects are persisted so you can retrieve them as you need to. If it is really a need for your, you could always create your own loader which decorates this one.

authors: ivanche theofidry

repo: hautelook/AliceBundle


text:
[Feature Request] Can we have a helm chart?

Hi Devs.
It would be really nice to have a helm chart for deploying multiparty-meeting in k8s. You are half way there with the docker / nodejs / redis / ha proxy architecture. Could boost the usage of multiparty-meeting a lot I guess. Just a thought.
cheers, t.

Have you already given thought to arranging networking for the many ports  of mm in the context of a realistic Kubernetes cluster (other than Minikube)? Would you impose hostNetwork: true everywhere?

@christian-2 well I guess we have to think about it. hostNetwork: true is an option for sure.
http://alesnosek.com/blog/2017/02/14/accessing-kubernetes-pods-from-outside-of-the-cluster/

Helm chart is ön ou

authors: christian-2 himpierre misi

repo: havfo/multiparty-meeting


text:
Inventory on string metrics

(Got all integration tests green on my machine, now checking with travis...)

... need to set org.hawkular.metrics.string-size to -1 in metrics config db...

Putting a hold on any changes/PR merges to the agent until we decide what to do about this major refactoring effort going on right now (see PR #302 ). I've got over 200 files changed (many are wholesale moving of large chunks of files) and any thing going in now it going to potentially involve major conflicts. To avoid any git pain, going to wait until that major refactor is complete. Should be soon.

Ok, anyway, this change must also be coordinated with the MIQ side and other parts (hServices...) so it's not ready to be merged so fast

The agent refactor is complete and merged into master. As expected, this PR is affected. Major conflict resolution required.

@jmazzitelli can you have a look at the last commit? ( https://github.com/hawkular/hawkular-agent/pull/303/commits/6000ce76bb66376445513b63f8fc43b166fd5adc )
Following our discussion yesterday, I made some changes to avoid unnecessary updates. Had to refactor some code.

@metlos took this PR and built upon it and that is now PR #320 which supercedes this PR. This PR will be closed.

PR #325 is the one we are going to use - close this one

authors: jmazzitelli jotak

repo: hawkular/hawkular-agent


text:
HWKAPM-500 Add support for using Kafka as an alternative backbone eve…

…nt processing infrastructure

Review notes:

Kafka is being used as an alternative technology for the event processing backbone of APM
The default implementation used as part of the standard distribution is JMS (ActiveMQ Artemis) which uses durable topic subscriptions to provide load balancing across the various processors.
In the Kaffka based implementation, the topic consumers handle receipt of the messages which are then dispatched to the various processors (which as the same processors invoked from the JMS MDBs in the standard implementation).
Where a fixed group id is used, then this is equivalent to queue semantics. Where a unique group id is created (i.e. based on a name followed by UUID), this consumer will have topic subscription semantics.
Note: I have decided not to use the same retry approach as was used with JMS, where events are published back onto the source, to avoid the log associated with the Kafka topic being polluted with duplicate copies of the events. At present the retries (if a processor fails to handle an event) are handled in memory - which is also not a good solution as this could result in memory issues. A separate jira has been created HWKAPM-501 to implement an infinispan cache based approach for storing events to be retried in a local cache.

@lucasponce Hi Lucas, this is the Kafka PR previously mentioned. This is only an experimental feature currently as more work will be required as we get some experience using Kafka.. It does not replace the existing JEE based distribution, but instead can be used along side it, reporting its data into the same Elasticsearch instances - and then the data being viewed via the UI within the standard server.
Let me know if you have any questions.

@objectiser Hi Gary, I did a basic review and LGTM.
I put a couple of notes, but minor ones, just in case it helps to you in some way.
I haven't tested locally, but the design of APIs and interface look coherent.

@lucasponce Thanks for the review - I'll create a separate jira for testing the service resolver values.

authors: lucasponce objectiser

repo: hawkular/hawkular-apm


text:
HWKAPM-495 | Test framework for checking instrumentation rules

Test scenarios are provided in a separate file structure which contains test scenario definition, scripts and possibly docker-compose.
Test scenario executes test environment (docker image, docker-compose). When executing docker image test framework it first instruments (only when type APM). When executing docker-compose users have to specify Hawkular APM specific properties (env variables, network). Example configuration files are provided
Test scenario:

name
environment definition (docker image)
set of test cases

Test environment:

image: docker image name,
docker-compose: docker-compose name inside test directory
initWaitSeconds: wait in ms after starting environment
type: enum APM or ZIPKIN. Then type is APM jsonPath verifies captures traces objects, when ZIPKIN captured spans are verified.

Test case:

description: string description
action: (bash, python..) for invoking business transactions in the targeted app. The script is executed inside test environment.
afterActionWaitSeconds: wait in ms after invoking action script
verify: currently a set of JSON path expression, could be extended to use a shell script.
skip: whether to skip or not

Looks good so far.

@jpkrohling Could you please review when you have some time?

@jpkrohling Could you please re-review?

Re-review completed. It looks really good!

@jpkrohling Thanks! :+1: :+1:

authors: jpkrohling objectiser pavolloffay


text:
HWKAPM-767 | update version of all zipkin instrumentation libraries

zipkin isntrumentations update
framework dependencies update
Resteasy automatically decodes gzip encoded data therefore it is not
necessary to decode it manually. (Before it produced exception)

Should be reviewed and merged after this: https://github.com/smoketurner/dropwizard-zipkin/pull/18 is merged otherwise it would not be possible to start the server after the environment.
Review notes:
Build locally all touched images and run polyglot example.

@objectiser could you please review?

retest this please

retest this please

rebased. itest  should pass. I have added new test for gzipped spans.

@pavolloffay LGTM :+1:

authors: objectiser pavolloffay


text:
feat: persisting open files on refresh/reload

Fixes issue #7

added collections in IndexedDB for last opened files and active files(editor wise)
queried the collections on loadFile action in Files module.
modified Editor module actions accordingly.

Please review @haxzie.

Hey @ChoukseyKhushbu, good job with the PR :+1:
A couple of changes that I think might be good.

Rename openFileFooter.model.js to openFileFootprint.model.js
While closing a file, check if the file is active, or check if it exists in the db.activeFiles and emove the file from db.activeFiles.

Rest everything looks good to me :+1:

I have implemented the requested changes. Please review @haxzie. Thanks :)

Good job @ChoukseyKhushbu :+1:  Thanks for the PR :partying_face:

authors: ChoukseyKhushbu haxzie


text:
Improve latency

As of testing there is about a 1-1.5 second delay from talking to hearing it out of speakers.

Look at modifying buffer size
Try to modify blocking code

Removing printlns improved latency a bit.

Latency has been improved quite a bit. Having a way to track latency via TCP could be useful.

repo: haydencarlson/ChatRoom


text:
How to import and use with Deno?

I am really having a hard time reading your Deno docs. Can you please provide and example of how to import it from the CDN without having to GIT download anything? I just need a simple import example.
Thank you!

Just import the mod.ts from src/deno
import { Berith } from "https://deno.land/x/berith@v1.2.6/src/deno/mod.ts"

Hello. Thank you for the prompt reply.
The examples on the main page refer to Ed25519Keypair().
error: Uncaught SyntaxError: The requested module 'https://deno.land/x/berith@v1.2.6/src/deno/mod.ts' does not provide an export named 'Ed25519Keypair'.
How is anything generated?

Use await initBundledOnce()
You can find examples here
https://github.com/hazae41/berith/blob/master/src/deno/mods/mod.test.ts

I'm finally getting the hang of it. Just wanted to post an Ed25519 example that shows the basics to first timers.
import { encodeBase64Url, decodeBase64Url } from "https://deno.land/std@0.212.0/encoding/base64url.ts";
import { Berith, Ed25519SigningKey, Memory } from "https://deno.land/x/berith@v1.2.6/src/deno/mod.ts"

// 1. Wait for WASM to load
await Berith.initBundledOnce();

/**
 * JavaScript Web Crypto API Reference Only
 * https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues
 * const seed = crypto.getRandomValues(new Uint8Array(32));
 * const mseed = new Memory(seed);
 */

// 2. Generate random Ed25519 Signing Key
const signingKey = Ed25519SigningKey.random();
// Serialize Ed25519 Signing Key to bytes
const signingKeyBytes = signingKey.to_bytes().copyAndDispose();

// 3. Derive Ed25519 Indentity Key from Ed25519 Signing Key
const indentyKey = signingKey.public();
// Serialize Ed25519 Indentity Key to bytes
const indentyKeyBytes = indentyKey.to_bytes().copyAndDispose();

// Log serialized signingKey key as a Base64UrlSafe string
console.log("signingKey..:", encodeBase64Url(signingKeyBytes));
// Log serialized identityKey key as a Base64UrlSafe string
console.log("identityKey.:", encodeBase64Url(indentyKeyBytes));

// 4. Encode data to sign as UTF-8
const data = new TextEncoder().encode("data");
// 5. Wrap data in Memory object
const mdata = new Memory(data);

// 6. Sign data with Ed25519 Signing Key
const signature = signingKey.sign(mdata);
// Serialize Ed25519Signature to bytes
const signatureBytes = signature.to_bytes().copyAndDispose();

// Log Ed25519Signature bytes as a Base64UrlSafe string
console.log("signature...:", encodeBase64Url(signatureBytes));

// 7. Verify signature with Ed25519 Indentity Key
const verified = indentyKey.verify(mdata, signature);

// Log verification result
console.log("verification:", verified) // true or false

Thanks, I will include it

license: Unlicense


text:
Build magic on osx

Fix magic so that it can build on osx, albeit without X11.
This requires a patch, and is waiting on https://github.com/RTimothyEdwards/magic/pull/222, at which point we can remove the patch.

Thanks for working on this!

authors: proppy xobs

repo: hdl/conda-eda


text:
Gazetteer cleanup listener

For #25

@hkkenneth, great! Well done! Just thinking, do we need to have something similar to clean output directory before job execution (to remove outputs from previous run)? @healtex/deid

It can be easily done with a beforeJob() method with an almost identical implementation - do we have any use cases which we may want to keep the files...?

On a different note, I think in the future, we could have a configuration to let advanced users keep the gazetteer files after the job: to inspect them, or to use the files to customize their own gazetteers?

@hkkenneth For the first version (consider the desktop application) we could just use name of the input folder and then create corresponding folders: {name}-gazetteers (for step1) and {name}-results (for step2) in that case we will be able to run multiple instances of app (e.g. processing two datasets at the same time).
Agree that it might be a good idea to keep gazetteers, so we can a corresponding option to our workflow and in the desktop app we could have a checkbox.

What's {name} here? But can't users already achieve the same effect with separate workspace?

@hkkenneth , yep, workspace sounds like a better option.

authors: hkkenneth mbelousov

repo: healtex/texscrubber


text:
Update README.md

added Understanding Diffusion Models: A Unified Perspective

I already added while adding other papers. Thank you for your interest in my repo!

repo: heejkoo/Awesome-Diffusion-Models


text:
یک ساعت عقب بودن

سلام خسته نباشید
وقتی verta()->format('Y-m-d H:i:s') رو میزنم ساعت رو یک ساعت عقب تر نشون میده.
در صورتی که تاریخ و ساعت سرور درست همین لحظه رو نشون میده.

سلام تست انجام شد
متاسفانه این مورد مشاهده نشد

authors: amirhossein-ceh hekmatinasser

repo: hekmatinasser/verta


text:
[Addition]: RisingHF in Shanghai, Chine

Hotspot b58 Addresses
11YXcEEQ4oBtvCPbNKvE1mGwFSBY1hkKE8HKBntwK9g19YDFVfk
and its witnesses
Discord Handle
No response
Reason(s)
They only witness themselves and have similar RSSI

Your Joined 3 hours ago Github.com?
The first move up is Denylist!
Since you care so much about helium? Why use a new account?
Doubt your motives?

authors: conku heliumpatcher

repo: helium/denylist


text:
[Addition]: PantherX cluster (17 HS)

Hotspot b58 Addresses
112232bGVMAEZkFe2DJ382Bac99RhbpfkDCaLZwHjyzXkTYp8m2G
1124P5P7npBVAKDZqerXoZ2qc9zBaS9mBorNKtufepuY9RtTJQac
112C8BGpQYY1hcj8p65EtjpBi1B4sZK2CXSbxqmTphB7DipCaqZn
112FYgHgGQn1Q2BWBDfjUwSTse8xwaS2HhoZ4Kfo3pam1EzRDE7b
112iHrD1dMx8JY17CQnAsVQQaSgLVGNfkT4mBqQjT2xwGCZoDpde
112KAQ9PYUURhMwcooMdDgmpPxkuj84Xbjv37egfD8VQW9fRXcdi
112P5JC8VnVmyhYUFnBg4vprecY1npTSvzTQyPVVoGVdfXqXFizV
112quR7Ejm36GiA7c1kQbg8FjitKBvYBam5zj8sYvKtvFdTJEjAx
112tFM8DkUtoXE5AF3j6spSV4EZUptx7zDzbDDc1pidQEzM188DY
112WLn8YKeWYFVsZzgbTaJfm4Yd95wtKQi647u4wuFQ1ar2AGYEc
112XeT3f1FUUQo3Sry6CeLvZ7akkwonLyLCQCQw5ZeTb5G4hDsr4
114wnTWrndxo5hH6e4EnoEvLJ8SkEuutZ6nhiHtrR4yvcB82CA5
11c5Z87WRaFT1CHngcAyVr83aRXYAsZjHamB4FSCuSryy5QRjL6
11cjKsKoaVU9NWAhDgR4427PVWTwQLSbLMA4xLTNiGKCCy2DpUF
11DRkYipgzMDbfgY7EKxxKiku8c2sYHVkdqtt8LpTBVZJh5qrqb
11Fs8KFBnzxrZznWNcWBGbg516jHgtjcXBpNvVC9d91EjRMJcHL
11UHThdjs2otsmxBf8RGfcWZBE658G2McEfV3A5GAQJqHXMu71n
Discord Handle
No response
Reason(s)
These Hotspots are only witnessing their own brand, have very often a unlikely (perfect) placement, same assertion date-range(s) and usually there are enough real hotspots arround but these do not get witnessed at all.
High Clustering Coefficient and/or Clique size above the thresholds which are considered normal on the network.
Below some proof of the cluster(s):

Self-witness, same onboading day, link to pr

authors: Reachmyemail berserkrrr


text:
CSV export is missing some columns

CSV Export does not include the transaction HASH

would also be useful to include the then current oracle price in each line of the export, as requested here: https://discord.com/channels/404106811252408320/750533049623773304/798668544384434217

would also be useful to include the then current oracle price in each line of the export, as requested here: https://discord.com/channels/404106811252408320/750533049623773304/798668544384434217

Would it be possible to add an export CSV feature for individual Hotspots? I've seen this requested a few times and think it would be useful, not sure how difficult it would be @danielcolinjames.

Would it be possible to add an export CSV feature for individual Hotspots? I've seen this requested a few times and think it would be useful, not sure how difficult it would be @danielcolinjames.

Looking forward to the Oracle price column.

Looking forward to the Oracle price column.

I'll take a shot at this one. Is there an exhaustive list of missing fields? Should I only add hash and oracle price?

I'll take a shot at this one. Is there an exhaustive list of missing fields? Should I only add hash and oracle price?

Would it be possible to add an export CSV feature for individual Hotspots? I've seen this requested a few times and think it would be useful, not sure how difficult it would be @danielcolinjames.

Addressed in PR-175: https://github.com/helium/explorer/pull/175

hash was added, and it was decided that we won't add oracle / market price for now

authors: danielcolinjames filoozom jiceman nickhough timtamothee woodlandsquash

repo: helium/explorer


text:
Different port than ST B-L072Z-LRWAN1 guide

Hello, I've recently purchased an ST B-L072Z-LRWAN1. Followed the guides on Helium, and in your README.
I have a problem in the last step. When it says: "Navigate to (Tools > Port: COM# or /dev/ttyACM# or usbmodem) depending on whether you are on Windows, Mac, or Linux.", I only see "/dev/cu.Bluetooth-Incoming-Port" in Tools > Port. I'm using a Mac.
Can you please tell me what I'm doing wrong?

Joe, have you commented in the Sensor-dev channel on Discord? Might need a driver, I'm not a Mac-spert.

Switching cables indeed helped (or in my case, stop using adapters). Thanks

authors: JoeKlimcak leroyle

repo: helium/longfi-arduino


text:
Replace the MonadReader instance with a more general version

The current MonadReader instance is specialized for the internal Connection state. However this makes PGTransactionT less useful as a generic transformer. A more general MonadReader instance would be something like
instance MonadReader r m => MonadReader r (PGTransactionT m) where

To regain the current behavior a getConnection function could be added.

@jfischoff thanks, good idea. We'd be happy to accept a PR for this -- is this something you'd be interested in contributing? Otherwise we're happy to make the change.

I have made code change, I'll submit a PR tonight.
On Wed, Aug 24, 2016 at 12:50 PM Reid Draper notifications@github.com
wrote:

@jfischoff https://github.com/jfischoff thanks, good idea. We'd be
happy to accept a PR for this -- is this something you'd be interested in
contributing? Otherwise we're happy to make the change.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/helium/postgresql-transactional/issues/12#issuecomment-242133578,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAKSO_YkohGoky-wqvBHa0ZogAJvVdQzks5qjHZAgaJpZM4Jrl7j
.

authors: jfischoff reiddraper

repo: helium/postgresql-transactional


text:
Unable to send alerts from Grafana after setting SMTP settings in values.yaml file

I've installed grafana using helm using a custom values.yaml file as follows:
helm install -f values.yaml stable/grafana --name grafana --namespace monitoring
I've added the following section to my values.yaml file to configure my smtp settings:
smtp:
  enabled: true
  host: "smtp.gmail.com"
  user: "XXXX@gmail.com"
  password: "XXX"

I've validated that these settings are valid by using a test application to send emails. However when trying to set up notifications in grafana GUI i get the following log errors:
t=2019-02-19T18:48:18+0000 lvl=info msg="Sending alert notification to" logger=alerting.notifier.email addresses="[XXXX@gmail.com]"
t=2019-02-19T18:48:18+0000 lvl=eror msg="Failed to send alert notification email" logger=alerting.notifier.email error="SMTP not configured, check your grafana.ini config file's [smtp] section."
t=2019-02-19T18:48:18+0000 lvl=eror msg="failed to send notification" logger=alerting.notifier id=0 error="SMTP not configured, check your grafana.ini config file's [smtp] section."

Does updating the smtp settings in the value file not automatically update the grafana.ini file when deploying? There has also been mention about using secrets to set SMTP settings but I have yet to find any documentation showing how to set a secret

Grafana is not able to reload configurations without a complete restart. You will need to delete the pod and recreate it

Just completely deleted my grafana install and purged it and then reinstalled it using helm and my values.yaml file containing my SMPT settings and still getting the same error message in the logs. I even did an exec -it into my contaienr and tried manually setting the env variables GF_SMTP_HOST GF_SMTP_ENABLED etc.... and still the same thing. While inside my container i checked my grafana.ini file and it did not contain any of my SMTP settings...

Can you post your entire values file?

It's exactlly what exists in the current stable/grafana/values.yaml with the SMTP section modified to not use secrets and instead store password in plain text (for now).
rbac:
  create: true
  pspEnabled: true
  pspUseAppArmor: true
  namespaced: false
serviceAccount:
  create: true
  name:

replicas: 1

deploymentStrategy: RollingUpdate

readinessProbe:
  httpGet:
    path: /api/health
    port: 3000

livenessProbe:
  httpGet:
    path: /api/health
    port: 3000
  initialDelaySeconds: 60
  timeoutSeconds: 30
  failureThreshold: 10

image:
  repository: grafana/grafana
  tag: 5.4.3
  pullPolicy: IfNotPresent

  ## Optionally specify an array of imagePullSecrets.
  ## Secrets must be manually created in the namespace.
  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
  ##
  # pullSecrets:
  #   - myRegistrKeySecretName

securityContext:
  runAsUser: 472
  fsGroup: 472

extraConfigmapMounts: []
  # - name: certs-configmap
  #   mountPath: /etc/grafana/ssl/
  #   configMap: certs-configmap
  #   readOnly: true

## Assign a PriorityClassName to pods if set
# priorityClassName:

downloadDashboardsImage:
  repository: appropriate/curl
  tag: latest
  pullPolicy: IfNotPresent

chownDataImage:
  repository: busybox
  tag: 1.30.0
  pullPolicy: IfNotPresent

## Pod Annotations
# podAnnotations: {}

## Deployment annotations
# annotations: {}

## Expose the grafana service to be accessed from outside the cluster (LoadBalancer service).
## or access it from within the cluster (ClusterIP service). Set the service type and the port to serve it.
## ref: http://kubernetes.io/docs/user-guide/services/
##
service:
  type: ClusterIP
  port: 80
  annotations: {}
  labels: {}

ingress:
  enabled: false
  annotations: {}
    # kubernetes.io/ingress.class: nginx
    # kubernetes.io/tls-acme: "true"
  labels: {}
  path: /
  hosts:
    - chart-example.local
  tls: []
  #  - secretName: chart-example-tls
  #    hosts:
  #      - chart-example.local

resources: {}
#  limits:
#    cpu: 100m
#    memory: 128Mi
#  requests:
#    cpu: 100m
#    memory: 128Mi

## Node labels for pod assignment
## ref: https://kubernetes.io/docs/user-guide/node-selection/
#
nodeSelector: {}

## Tolerations for pod assignment
## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
##
tolerations: []

## Affinity for pod assignment
## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
##
affinity: {}

## Enable persistence using Persistent Volume Claims
## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
##
persistence:
  enabled: false
  initChownData: true
  # storageClassName: default
  accessModes:
    - ReadWriteOnce
  size: 10Gi
  # annotations: {}
  # subPath: ""
  # existingClaim:

# Administrator credentials when not using an existing secret (see below)
adminUser: admin
# adminPassword: strongpassword

# Use an existing secret for the admin user.
admin:
  existingSecret: ""
  userKey: admin-user
  passwordKey: admin-password

## Use an alternate scheduler, e.g. "stork".
## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
##
# schedulerName:

## Extra environment variables that will be pass onto deployment pods
env: {}

## The name of a secret in the same kubernetes namespace which contain values to be added to the environment
## This can be useful for auth tokens, etc
envFromSecret: ""

## Additional grafana server secret mounts
# Defines additional mounts with secrets. Secrets must be manually created in the namespace.
extraSecretMounts: []
  # - name: secret-files
  #   mountPath: /etc/secrets
  #   secretName: grafana-secret-files
  #   readOnly: true

## Additional grafana server volume mounts
# Defines additional volume mounts.
extraVolumeMounts: []
  # - name: extra-volume
  #   mountPath: /mnt/volume
  #   readOnly: true
  #   existingClaim: volume-claim

## Pass the plugins you want installed as a list.
##
plugins: []
  # - digrich-bubblechart-panel
  # - grafana-clock-panel

## Configure grafana datasources
## ref: http://docs.grafana.org/administration/provisioning/#datasources
##
datasources: {}
#  datasources.yaml:
#    apiVersion: 1
#    datasources:
#    - name: Prometheus
#      type: prometheus
#      url: http://prometheus-prometheus-server
#      access: proxy
#      isDefault: true

## Configure grafana dashboard providers
## ref: http://docs.grafana.org/administration/provisioning/#dashboards
##
## `path` must be /var/lib/grafana/dashboards/<provider_name>
##
dashboardProviders: {}
#  dashboardproviders.yaml:
#    apiVersion: 1
#    providers:
#    - name: 'default'
#      orgId: 1
#      folder: ''
#      type: file
#      disableDeletion: false
#      editable: true
#      options:
#        path: /var/lib/grafana/dashboards/default

## Configure grafana dashboard to import
## NOTE: To use dashboards you must also enable/configure dashboardProviders
## ref: https://grafana.com/dashboards
##
## dashboards per provider, use provider name as key.
##
dashboards: {}
#  default:
#    some-dashboard:
#      json: dashboards/custom-dashboard.json
#    prometheus-stats:
#      gnetId: 2
#      revision: 2
#      datasource: Prometheus
#    local-dashboard:
#      url: https://example.com/repository/test.json
#    local-dashboard-base64:
#      url: https://example.com/repository/test-b64.json
#      b64content: true

## Reference to external ConfigMap per provider. Use provider name as key and ConfiMap name as value.
## A provider dashboards must be defined either by external ConfigMaps or in values.yaml, not in both.
## ConfigMap data example:
##
## data:
##   example-dashboard.json: |
##     RAW_JSON
##
dashboardsConfigMaps: {}
#  default: ""

## Grafana's primary configuration
## NOTE: values in map will be converted to ini format
## ref: http://docs.grafana.org/installation/configuration/
##
grafana.ini:
  paths:
    data: /var/lib/grafana/data
    logs: /var/log/grafana
    plugins: /var/lib/grafana/plugins
    provisioning: /etc/grafana/provisioning
  analytics:
    check_for_updates: true
  log:
    mode: console
  grafana_net:
    url: https://grafana.net
## LDAP Authentication can be enabled with the following values on grafana.ini
## NOTE: Grafana will fail to start if the value for ldap.toml is invalid
  # auth.ldap:
  #   enabled: true
  #   allow_sign_up: true
  #   config_file: /etc/grafana/ldap.toml

## Grafana's LDAP configuration
## Templated by the template in _helpers.tpl
## NOTE: To enable the grafana.ini must be configured with auth.ldap.enabled
## ref: http://docs.grafana.org/installation/configuration/#auth-ldap
## ref: http://docs.grafana.org/installation/ldap/#configuration
ldap:
  # `existingSecret` is a reference to an existing secret containing the ldap configuration
  # for Grafana in a key `ldap-toml`.
  existingSecret: ""
  # `config` is the content of `ldap.toml` that will be stored in the created secret
  config: ""
  # config: |-
  #   verbose_logging = true

  #   [[servers]]
  #   host = "my-ldap-server"
  #   port = 636
  #   use_ssl = true
  #   start_tls = false
  #   ssl_skip_verify = false
  #   bind_dn = "uid=%s,ou=users,dc=myorg,dc=com"

## Grafana's SMTP configuration
## NOTE: To enable, grafana.ini must be configured with smtp.enabled
## ref: http://docs.grafana.org/installation/configuration/#smtp
smtp:
  # `existingSecret` is a reference to an existing secret containing the smtp configuration
  # for Grafana.
  enabled: true
  host: "smtp.sendgrid.net"
  user: "XXXX@azure.com"
  password: "XXXX"

## Sidecars that collect the configmaps with specified label and stores the included files them into the respective folders
## Requires at least Grafana 5 to work and can't be used together with parameters dashboardProviders, datasources and dashboards
sidecar:
  image: kiwigrid/k8s-sidecar:0.0.10
  imagePullPolicy: IfNotPresent
  resources:
#   limits:
#     cpu: 100m
#     memory: 100Mi
#   requests:
#     cpu: 50m
#     memory: 50Mi
  dashboards:
    enabled: false
    # label that the configmaps with dashboards are marked with
    label: grafana_dashboard
    # folder in the pod that should hold the collected dashboards
    folder: /tmp/dashboards
    # If specified, the sidecar will search for dashboard config-maps inside this namespace.
    # Otherwise the namespace in which the sidecar is running will be used.
    # It's also possible to specify ALL to search in all namespaces
    searchNamespace: null
  datasources:
    enabled: false
    # label that the configmaps with datasources are marked with
    label: grafana_datasource
    # If specified, the sidecar will search for datasource config-maps inside this namespace.
    # Otherwise the namespace in which the sidecar is running will be used.
    # It's also possible to specify ALL to search in all namespaces
    searchNamespace: null

Just as a test I set my admin password in plain text in the above values.yaml file and when exec into my grafana container and doing printenv to list all my environment variables my password displayed in plain text under GF_SECURITY_ADMIN_PASSWORD.
No env variables are being set from the SMTP settings I am providing in the values file.... possible bug? Or is this only able to be configured via a secret???

If you search for where the smtp settings are used in the chart you will see the configuration you are setting is templated to allow overriding the specific values that are given in the values file. This is done via environment variables and allows you to set a secure configuration.
Searching through the grafana ini reference, there is a section relating to configuring smtp as well, so I suggest you use this approach in your case

Yes you are correct and it is now working. I suppose I was confused because there is an existing section in the values.yaml file for smtp that allows you to store a secret. This is where I was storing my smtp settings, when in fact they should have been stored under the grafana.ini section in the values file as you mentioned.
Thanks for your help!

Hello @vsliouniaev,
Need your suggestion here, I am doing POC on Prometheus and Grafana to monitor Docker, Kubernetes, Application, etc. and planning to build a centralized monitoring solution for all. I am running Prometheus in each K8 environment and created the data source in grafana. I succeed to place monitoring for Kubernetes and spring-boot applications as of now. But got stuck at alerting part.
1> Do I go with Prometheus or Grafana to build an alerting solution?
2> I am planning to move with grafana alerting solution as i do have multiple prometheus environement and can't create multiple grafana server for each.
3> while i am doing email integration with BPPM tool, we need all email objects so that we can map that with BPPM.
Kindly help over here.

when in fact they should have been

Can you please post the completed values.yml, i am facing the smae issue with SMTP configuration

Hey i am facing same issue @jonnalagadda35153

Yes, @1996Shubh
Please try this
rbac:
create: true
pspEnabled: true
pspUseAppArmor: true
namespaced: false
extraRoleRules: []
# - apiGroups: []
#   resources: []
#   verbs: []
extraClusterRoleRules: []
# - apiGroups: []
#   resources: []
#   verbs: []
serviceAccount:
create: true
name:
nameTest:
annotations:
replicas: 1
See kubectl explain poddisruptionbudget.spec for more
ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
podDisruptionBudget: {}
minAvailable: 1
maxUnavailable: 1
See kubectl explain deployment.spec.strategy for more
ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
deploymentStrategy:
type: RollingUpdate
readinessProbe:
httpGet:
path: /api/health
port: 3000
livenessProbe:
httpGet:
path: /api/health
port: 3000
initialDelaySeconds: 60
timeoutSeconds: 30
failureThreshold: 10
Use an alternate scheduler, e.g. "stork".
ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/

schedulerName: "default-scheduler"
image:
repository: grafana/grafana
tag: 6.5.2
pullPolicy: IfNotPresent
## Optionally specify an array of imagePullSecrets.
## Secrets must be manually created in the namespace.
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
##
# pullSecrets:
#   - myRegistrKeySecretName

testFramework:
enabled: true
image: "dduportal/bats"
tag: "0.4.0"
securityContext: {}
securityContext:
runAsUser: 472
fsGroup: 472
extraConfigmapMounts: []
# - name: certs-configmap
#   mountPath: /etc/grafana/ssl/
#   subPath: certificates.crt # (optional)
#   configMap: certs-configmap
#   readOnly: true
extraEmptyDirMounts: []
# - name: provisioning-notifiers
#   mountPath: /etc/grafana/provisioning/notifiers
Assign a PriorityClassName to pods if set
priorityClassName:
downloadDashboardsImage:
repository: appropriate/curl
tag: latest
pullPolicy: IfNotPresent
downloadDashboards:
env: {}
Pod Annotations
podAnnotations: {}
Pod Labels
podLabels: {}
podPortName: grafana
Deployment annotations
annotations: {}
Expose the grafana service to be accessed from outside the cluster (LoadBalancer service).
or access it from within the cluster (ClusterIP service). Set the service type and the port to serve it.
ref: http://kubernetes.io/docs/user-guide/services/

service:
type: LoadBalancer
ports:
port: 443
targetPort: 3000
# targetPort: 4181 To be used with a proxy extraContainer
annotations:
#Working set
#service.beta.kubernetes.io/aws-load-balancer-ssl-cert:
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: http
service.beta.kubernetes.io/aws-load-balancer-ssl-ports: '*'
########
labels: {}
portName: service
ingress:
enabled: false
path: /*
annotations:
# kubernetes.io/ingress.class: alb
# alb.ingress.kubernetes.io/scheme: internet-facing
# alb.ingress.kubernetes.io/certificate-arn:
# alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTPS":443}]'
# alb.ingress.kubernetes.io/actions.ssl-redirect: '{"Type": "redirect", "RedirectConfig": { "Protocol": "HTTPS", "Port": "443", "StatusCode": "HTTP_301"}}'
# external-dns.alpha.kubernetes.io/hostname: grafana.eksapps.com
# alb.ingress.kubernetes.io/backend-protocol: HTTPS
# alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS": 443}]'
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
labels: {}
hosts:
#-grafana.eksapps.com
## Extra paths to prepend to every host configuration. This is useful when working with annotation based services.
extraPaths: []
# - path: /*
#   backend:
#     serviceName: ssl-redirect
#     servicePort: use-annotation
tls: []
#  - secretName: chart-example-tls
#    hosts:
#      - chart-example.local
resources: {}
limits:
cpu: 100m
memory: 128Mi
requests:
cpu: 100m
memory: 128Mi
Node labels for pod assignment
ref: https://kubernetes.io/docs/user-guide/node-selection/

nodeSelector: {
node: "monitoring"
}
Tolerations for pod assignment
ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/

tolerations: []
Affinity for pod assignment
ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity

affinity: {}
extraInitContainers: []
Enable an Specify container in extraContainers. This is meant to allow adding an authentication proxy to a grafana pod
extraContainers: |
- name: proxy
image: quay.io/gambol99/keycloak-proxy:latest
args:
- -provider=github
- -client-id=
- -client-secret=
- -github-org=<ORG_NAME>
- -email-domain=*
- -cookie-secret=
- -http-address=http://0.0.0.0:4181
- -upstream-url=http://127.0.0.1:3000
ports:
- name: proxy-web
containerPort: 4181
Enable persistence using Persistent Volume Claims
ref: http://kubernetes.io/docs/user-guide/persistent-volumes/

persistence:
type: pvc
enabled: false
storageClassName: prometheus
accessModes:
- ReadWriteOnce
size: 10Gi
# annotations: {}
finalizers:
- kubernetes.io/pvc-protection
# subPath: ""
# existingClaim:
initChownData:
## If false, data ownership will not be reset at startup
## This allows the prometheus-server to be run with an arbitrary user
##
enabled: true
## initChownData container image
##
image:
  repository: busybox
  tag: "1.30"
  pullPolicy: IfNotPresent

## initChownData resource requests and limits
## Ref: http://kubernetes.io/docs/user-guide/compute-resources/
##
resources: {}
#  limits:
#    cpu: 100m
#    memory: 128Mi
#  requests:
#    cpu: 100m
#    memory: 128Mi

Administrator credentials when not using an existing secret (see below)
adminUser: admin
adminPassword:test21221
Use an existing secret for the admin user.
admin:
existingSecret: ""
userKey: admin-user
passwordKey: admin-password
Define command to be executed at startup by grafana container
Needed if using vault-env to manage secrets (ref: https://banzaicloud.com/blog/inject-secrets-into-pods-vault/)
Default is "run.sh" as defined in grafana's Dockerfile
command:
- "sh"
- "/run.sh"
Use an alternate scheduler, e.g. "stork".
ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/

schedulerName:
Extra environment variables that will be pass onto deployment pods
env: {}
"valueFrom" environment variable references that will be added to deployment pods
ref: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.17/#envvarsource-v1-core
Renders in container spec as:
env:
...
- name:
valueFrom:

envValueFrom: {}
The name of a secret in the same kubernetes namespace which contain values to be added to the environment
This can be useful for auth tokens, etc
envFromSecret: ""
Sensible environment variables that will be rendered as new secret object
This can be useful for auth tokens, etc
envRenderSecret: {}
Additional grafana server secret mounts
Defines additional mounts with secrets. Secrets must be manually created in the namespace.
extraSecretMounts: []
# - name: secret-files
#   mountPath: /etc/secrets
#   secretName: grafana-secret-files
#   readOnly: true
Additional grafana server volume mounts
Defines additional volume mounts.
extraVolumeMounts: []
# - name: extra-volume
#   mountPath: /mnt/volume
#   readOnly: true
#   existingClaim: volume-claim
Pass the plugins you want installed as a list.

plugins: []
# - digrich-bubblechart-panel
# - grafana-clock-panel
Configure grafana datasources
ref: http://docs.grafana.org/administration/provisioning/#datasources

datasources:
datasources.yaml:
apiVersion: 1
datasources:
- name: source1
type: prometheus
url: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
access: proxy
isDefault: true
editable: true
- name: source2
type: prometheus
url: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
access: proxy
#isDefault: true
editable: true
Configure notifiers
ref: http://docs.grafana.org/administration/provisioning/#alert-notification-channels

notifiers: {}
notifiers.yaml:
notifiers:
- name: email-notifier
type: email
uid: email1
# either:
org_id: 1
# or
org_name: Main Org.
is_default: true
settings:
addresses: an_email_address@example.com
delete_notifiers:
Configure grafana dashboard providers
ref: http://docs.grafana.org/administration/provisioning/#dashboards

path must be /var/lib/grafana/dashboards/<provider_name>

dashboardProviders: {}
dashboardproviders.yaml:
apiVersion: 1
providers:
- name: 'default'
orgId: 1
folder: ''
type: file
disableDeletion: false
editable: true
options:
path: /var/lib/grafana/dashboards/default
Configure grafana dashboard to import
NOTE: To use dashboards you must also enable/configure dashboardProviders
ref: https://grafana.com/dashboards

dashboards per provider, use provider name as key.

dashboards: {}
# default:
#   some-dashboard:
#     json: |
#       $RAW_JSON
#   custom-dashboard:
#     file: dashboards/custom-dashboard.json
#   prometheus-stats:
#     gnetId: 2
#     revision: 2
#     datasource: Prometheus
#   local-dashboard:
#     url: https://example.com/repository/test.json
#   local-dashboard-base64:
#     url: https://example.com/repository/test-b64.json
#     b64content: true
Reference to external ConfigMap per provider. Use provider name as key and ConfiMap name as value.
A provider dashboards must be defined either by external ConfigMaps or in values.yaml, not in both.
ConfigMap data example:

data:
example-dashboard.json: |
RAW_JSON

dashboardsConfigMaps: {}
default: ""
Grafana's primary configuration
NOTE: values in map will be converted to ini format
ref: http://docs.grafana.org/installation/configuration/

grafana.ini:
paths:
data: /var/lib/grafana/data
logs: /var/log/grafana
plugins: /var/lib/grafana/plugins
provisioning: /etc/grafana/provisioning
analytics:
check_for_updates: true
log:
mode: console
grafana_net:
url: https://grafana.net
smtp:
enabled: true
host: "smtp.gmail.com:587"
user: "xxxxxxxxxx@gmail.com"
password: "xxxxxxxxxxxxx"
skip_verify: true
from_address: "xxxxxxxxxx@gmail.com"
from_name: "Grafana"
LDAP Authentication can be enabled with the following values on grafana.ini
NOTE: Grafana will fail to start if the value for ldap.toml is invalid
# auth.ldap:
#   enabled: true
#   allow_sign_up: true
#   config_file: /etc/grafana/ldap.toml

Grafana's LDAP configuration
Templated by the template in _helpers.tpl
NOTE: To enable the grafana.ini must be configured with auth.ldap.enabled
ref: http://docs.grafana.org/installation/configuration/#auth-ldap
ref: http://docs.grafana.org/installation/ldap/#configuration
ldap:
enabled: false
# existingSecret is a reference to an existing secret containing the ldap configuration
# for Grafana in a key ldap-toml.
existingSecret: ""
# config is the content of ldap.toml that will be stored in the created secret
config: ""
# config: |-
#   verbose_logging = true
#   [[servers]]
#   host = "my-ldap-server"
#   port = 636
#   use_ssl = true
#   start_tls = false
#   ssl_skip_verify = false
#   bind_dn = "uid=%s,ou=users,dc=myorg,dc=com"

Grafana's SMTP configuration
NOTE: To enable, grafana.ini must be configured with smtp.enabled
ref: http://docs.grafana.org/installation/configuration/#smtp
smtp:
# existingSecret is a reference to an existing secret containing the smtp configuration
# for Grafana.
# enabled: true
# host: "smtp.gmail.com:587"
# user: "xxxxxxxxxx@gmail.com"
# password: "xxxxxxxxxx"
# skip_verify: true
# from_address: "xxxxxxxxxx@gmail.com"
# from_name: "Grafana"
Sidecars that collect the configmaps with specified label and stores the included files them into the respective folders
Requires at least Grafana 5 to work and can't be used together with parameters dashboardProviders, datasources and dashboards
sidecar:
image: kiwigrid/k8s-sidecar:0.1.20
imagePullPolicy: IfNotPresent
resources: {}
limits:
cpu: 100m
memory: 100Mi
requests:
cpu: 50m
memory: 50Mi
# skipTlsVerify Set to true to skip tls verification for kube api calls
# skipTlsVerify: true
dashboards:
  enabled: false
  SCProvider: true
  # label that the configmaps with dashboards are marked with
  label: grafana_dashboard
  # folder in the pod that should hold the collected dashboards (unless `defaultFolderName` is set)
  folder: /tmp/dashboards
  # The default folder name, it will create a subfolder under the `folder` and put dashboards in there instead
  defaultFolderName: null
  # If specified, the sidecar will search for dashboard config-maps inside this namespace.
  # Otherwise the namespace in which the sidecar is running will be used.
  # It's also possible to specify ALL to search in all namespaces
  searchNamespace: null
  # provider configuration that lets grafana manage the dashboards
  provider:
    # name of the provider, should be unique
    name: sidecarProvider
    # orgid as configured in grafana
    orgid: 1
    # folder in which the dashboards should be imported in grafana
    folder: ''
    # type of the provider
    type: file
    # disableDelete to activate a import-only behaviour
    disableDelete: false
    # allow updating provisioned dashboards from the UI
    allowUiUpdates: false
datasources:
  enabled: false
  # label that the configmaps with datasources are marked with
  label: grafana_datasource
  # If specified, the sidecar will search for datasource config-maps inside this namespace.
  # Otherwise the namespace in which the sidecar is running will be used.
  # It's also possible to specify ALL to search in all namespaces
  searchNamespace: null

Override the deployment namespace

namespaceOverride: ""

SMTP not configured, check your grafana.ini config file's [smtp] section logger=context userId=1 orgId=1 uname=admin error="SMTP not configured, check your grafana.ini config file's [smtp] section"

Why? I've configured it

repo: helm/charts


text:
stable/sonarqube

When I attempted to install Chart stable/sonarqube using Helm, I get the following error:
$ helm install sonarqube2 stable/sonarqube
Error: unable to build kubernetes objects from release manifest: unable to recognize "": no matches for kind "Deployment" in version "extensions/v1beta1"

Versions I'm using:
$ helm version
version.BuildInfo{Version:"v3.0.2", GitCommit:"19e47ee3283ae98139d98460de796c1be1e3975f", GitTreeState:"clean", GoVersion:"go1.13.5"}

$ kubectl version
Client Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.0", GitCommit:"2bd9643cee5b3b3a5ecbd3af49d09018f0773c77", GitTreeState:"clean", BuildDate:"2019-09-18T14:36:53Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.2", GitCommit:"c97fe5036ef3df2967d086711e6c0c405941e14b", GitTreeState:"clean", BuildDate:"2019-10-15T19:09:08Z", GoVersion:"go1.12.10", Compiler:"gc", Platform:"linux/amd64"}

$ kops version
Version 1.16.0-alpha.2 (git-dfaf0b633)

Anything wrong by me?  I thought stable/sonarqube could be installed with default values.
I know my Kubernetes cluster is working because I already have an unrelated Pod deployed and exposed.

any update on this I am getting same issue with stable/sonarqube charts, are these not maintained anymore?

No updates from me.  I never got this to work.

Seems only way is to downgrade kubernetes version to get it working.


text:
Specify nodeport for tcp/udp services

Feature Request:
It would be nice to be able to specify a nodeport for tcp/udp services like you can for http/https here:
https://github.com/helm/charts/blob/master/stable/nginx-ingress/templates/controller-service.yaml

Is this a request for help?:

Is this a BUG REPORT or FEATURE REQUEST? (choose one):

Version of Helm and Kubernetes:
Which chart:
nginx ingress
What happened:
What you expected to happen:
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know:

I confirm this would be nice to have. Otherwise when controller.service.type is set to NodePort, and a tcp port is specified, the corresponding nodePort will be set randomly in the controller service.

Also running into this issue. Have controller service type as NodePort and need to be able to specify a node port rather than have a random one assigned.

authors: dalsh fritchie stephenmuss


text:
[stable/datadog] Update application version to 6.13.0 and ksm to 1.7.2

Signed-off-by: cedric lamoriniere cedric.lamoriniere@datadoghq.com

What this PR does / why we need it:

Bump the chart version to 1.33.0
Update the application version to 6.13.0
Update Kube-State-Metrics version to 1.7.2 with chart 2.2.3
Fix wrong indentation in kube-state-metrics parameters
Document the possibility to overwrite KSM container resources
Add ci/*-values.yaml files for CI validation

Which issue this PR fixes

fixes #15856

Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/chart])

/test pull-charts-e2e

/test pull-charts-e2e

/lgtm

authors: CharlyF clamoriniere


text:
[incubator/haproxy-ingress] Made terminationGracePeriodSeconds configurable

Is this a new chart
No
What this PR does / why we need it:
It makes terminationGracePeriodSeconds of haproxy pod configurable and not hard coded to 60 seconds.
Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/mychartname])

/assign @xianlubird

/ok-to-test

/lgtm
/approve

authors: mkozioro xianlubird


text:
[stable/sysdig] Use app.kubernetes.io labels instead of custom ones

Signed-off-by: Néstor Salceda nestor.salceda@sysdig.com

Is this a new chart

NOTE: We're experiencing a high volume of PRs to this repo and reviews will be delayed. Please host your own chart repository and submit your repository to the Helm Hub instead of this repo to make them discoverable to the community. Here is how to submit new chart repositories to the Helm Hub.

What this PR does / why we need it:
This PR uses latest autogenerated K8s labels
Which issue this PR fixes
(optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged)

fixes #

Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/mychartname])

/lgtm
/approve

authors: bencer nestorsalceda


text:
Fill gh-pages gh actions automation gap

Related to https://github.com/helm/charts/issues/23850
Adds charts merged since https://github.com/helm/charts/pull/23921 was created, and automation began for new packages releasing to gh-pages.

Manually merged as this is the requirement for gh-pages branch.

authors: mattfarina scottrigby


text:
[stable/magento] Add global registry option

Signed-off-by: Carlos Rodriguez Hernandez crhernandez@bitnami.com

Add global.registry at the top of values.yaml (commented out at the beginning).
Add the required logic to use the global value if it is defined.
Add a link to the values.yaml of the dependency in the main values.yaml chart (in the section of the dependency options).

Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[X] DCO signed
[X] Chart Version bumped
[X] Variables are documented in the README.md

/ok-to-test
/lgtm


text:
Proposal: Make --install the default behavior for helm upgrade

Interested in the upgrade task behaving idempotently by default. Any strong opposition to making --install the default behavior?

Yes. helm upgrade is expected to fail when a release does not exist unless the --install flag is provided. This prevents users from "fat-fingering" a typography in their release name. That is why it was introduced as a feature flag.
Consider this:
helm upgrade --install myapp myapp.tgz
helm upgrade --install myap myapp.tgz

To many users this is undesirable behavior.
In any case, if you want to propose this as a change for Helm 4, please see https://github.com/helm/helm/blob/main/CONTRIBUTING.md#proposing-an-idea
Thanks.

authors: bacongobbler mcandre

repo: helm/helm


text:
Helm does not handle template errors

Steps to reproduce
helm create bar
echo '{{ .Values.bad.doh }}' > bar/templates/foo.yaml
helm template ./bar/

Expected result
Helm should return error and exist with non-zero exit code, as in previous versions:
1 ✗ (43.5ms) 09:45:19 invidian@dellxps15mateusz /tmp $ ./foo/linux-amd64/helm version
version.BuildInfo{Version:"v3.0.3", GitCommit:"ac925eb7279f4a6955df663a0128044a8a6b7593", GitTreeState:"clean", GoVersion:"go1.13.6"}
0 ✓ (52.6ms) 09:47:39 invidian@dellxps15mateusz /tmp $ ./foo/linux-amd64/helm template ./bar/
Error: template: bar/templates/foo.yaml:1:10: executing "bar/templates/foo.yaml" at <.Values.bad.doh>: nil pointer evaluating interface {}.doh
1 ✗ (52.0ms) 09:47:41 invidian@dellxps15mateusz /tmp $

Actual output
Helm does not print any warning and exits gracefully:
1 ✗ (52.0ms) 09:47:41 invidian@dellxps15mateusz /tmp $ helm version
version.BuildInfo{Version:"v3.1.0", GitCommit:"b29d20baf09943e134c2fa5e1e1cab3bf93315fa", GitTreeState:"clean", GoVersion:"go1.13.7"}
0 ✓ (49.1ms) 09:47:53 invidian@dellxps15mateusz /tmp $ helm template ./bar/

0 ✓ (49.6ms) 09:47:55 invidian@dellxps15mateusz /tmp $

Output of helm version:
version.BuildInfo{Version:"v3.1.0", GitCommit:"b29d20baf09943e134c2fa5e1e1cab3bf93315fa", GitTreeState:"clean", GoVersion:"go1.13.7"}

From bisecting, it seems to be caused by https://github.com/helm/helm/commit/8e088fc4a2a616354872b21d9ceb84e9d55a40de.

@invidian Looking at this I am not fully understanding why foo chart is created but you are creating a template in bar. Maybe you could explain this to better understand the issue.
FYI, I tested as follows with the latest in master:
$ helm2 create chrt-7593
Creating chrt-7593

$ echo '{{ .Values.bad.doh }}' > chrt-7593/templates/foo.yaml

$ cat chrt-7593/templates/foo.yaml
{{ .Values.bad.doh }}

$ helm template chrt-7593 -s ./templates/foo.yaml
Error: template: chrt-7593/templates/foo.yaml:1:10: executing "chrt-7593/templates/foo.yaml" at <.Values.bad.doh>: nil pointer evaluating interface {}.doh

$ helm template chrt-7593 chrt-7593/
Error: template: chrt-7593/templates/foo.yaml:1:10: executing "chrt-7593/templates/foo.yaml" at <.Values.bad.doh>: nil pointer evaluating interface {}.doh

@invidian Looking at this I am not fully understanding why foo chart is created but you are creating a template in bar. Maybe you could explain this to better understand the issue.

Oops, it's a typo. My intention was of course to create chart bar. Fixed now.

@hickeyma I can't reproduce the commands you posted either. Why do you use helm and helm2 binaries? Can you post output of version subcommand for both binaries?

@invidian Cab you see any differences between our test (bar the output)?

Good catch.  I am running different versions of Helm on a system.
I can reproduce this now when I run the latest Helm version from master (was running old version in previous comment):
$ helm version
version.BuildInfo{Version:"v3.0.2", GitCommit:"19e47ee3283ae98139d98460de796c1be1e3975f", GitTreeState:"clean", GoVersion:"go1.13.5"}

$ helm template chrt-7593 chrt-7593/
Error: template: chrt-7593/templates/foo.yaml:1:10: executing "chrt-7593/templates/foo.yaml" at <.Values.bad.doh>: nil pointer evaluating interface {}.doh

$ helm3 version
version.BuildInfo{Version:"v3.1+unreleased", GitCommit:"722042e85256dfded5d80c5fa29ed252c433cd5b", GitTreeState:"clean", GoVersion:"go1.13.4"}

$ helm3 template chrt-7593 chrt-7593/

Setting this as a bug.

Working on a fix. Will push when ready.

@invidian PR #7596 ready for review

Closed as PR #7596. Try it out @invidian and see if it works for you. Thanks for finding this bug.

It works well now, thanks @hickeyma for fixing it quickly! When do you plan next release, which will include this fix?

@invidian Not sure but will discuss it this week with other maintainers.

authors: hickeyma invidian


text:
Float16 version of besselj0

From the discussion in #18, it might be useful to also provide lower precision Float16 as well. Here is a first pass at this for besselj0 it has a maximum relative error of 1.303792e-5 which is good enough for Float16.
It is also much faster...
julia> @benchmark Bessels.besselj0_Float16(x) setup=(x=rand()*10)
BenchmarkTools.Trial: 10000 samples with 1000 evaluations.
 Range (min … max):   3.618 ns … 31.208 ns  ┊ GC (min … max): 0.00% … 0.00%
 Time  (median):     11.285 ns              ┊ GC (median):    0.00%
 Time  (mean ± σ):    9.753 ns ±  5.091 ns  ┊ GC (mean ± σ):  0.00% ± 0.00%

  █               ▁▁  ▆▆▄▅    ▆ ▅   ▃                    ▂    ▂
  █▃▁▃▅▄▃▄▁▁▁▁▁▁▁▁██▁▁████▅█▆▄█▄█▁▇▅█▇▇██▇▇▆▁▁▁▁▁▁▁▁▁▁▁▁▁█▁▄█ █
  3.62 ns      Histogram: log(frequency) by time      25.2 ns <

 Memory estimate: 0 bytes, allocs estimate: 0.

julia> @benchmark Bessels.besselj0(x) setup=(x=rand()*10)
BenchmarkTools.Trial: 10000 samples with 1000 evaluations.
 Range (min … max):   4.914 ns … 34.692 ns  ┊ GC (min … max): 0.00% … 0.00%
 Time  (median):     25.608 ns              ┊ GC (median):    0.00%
 Time  (mean ± σ):   22.534 ns ±  7.523 ns  ┊ GC (mean ± σ):  0.00% ± 0.00%

                                                        █
  ▅▂▁▂▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█▂▅▂▂ ▂
  4.91 ns         Histogram: frequency by time        27.2 ns <

 Memory estimate: 0 bytes, allocs estimate: 0.

The function right now was doing everything in Float64 so need to go through and fix this. It is probably best to do all these calculations in Float32? I'm not for sure if there is that much of a performance gain from doing this in Float16. I think the power series for small arguments can be done in low precision but will need to be careful again with the cos(x+xn) term.
And a side note. I tried the integral version of besselj0 = cos(-xsin(\theta)) d\theta integrated from 0 to pi and found that for small arguments this could be evaluated fairly quickly but large arguments it oscillates too much to be worth it.

Using Float64 for the math is reasonable, it should be similar speed (at least for scalar stuff)

Sounds good! I think I'll plan to do all the calculations in Float32 as that should be plenty for this precision? Might be helpful for GPU computing? Though, maybe I should spend some time on the pure 'Float32' implementation instead which would only require two more digits of accuracy.... I'll play around with that as simply converting the Float16 to Float32 and converting it back takes a non-negligible amount of time here it appears...

authors: heltonmc oscardssmith


text:
请问作者，按空格键3秒后程序自动退出是什么情况？

我使用的夜神模拟器。下载的release中的成品。直接运行cmd.exe，按空格3秒后程序自动退出。image文件夹中有question和answer的截图。

从现象描述来看，ADB截图是正常的，那么很可能是截取搜狗结果时出错了，可能是因为搜狗结果的格式问题，这是种偶发现象

请问作者，你判断是否正确是通过后台判断，还是直接前端判断的

后台的判断做参考

authors: MCshang Msj-God-Boy henson

repo: henson/Answer


text:
Release Docs

Need to create the release documentation.

/cc @chuckha can probably sift through history from tags to create a new draft https://github.com/heptio/sonobuoy/releases

@liztio - the build status link needs a refresh to get state from a travis URL

@timothysc this is done

Only remaining items now are:

finish copy editing other docs
create the v0.11.0 releases draft

See PR #371 for first item ^
Will create the draft v0.11.0 release page 3/15

authors: Bradamant3 liztio timothysc

repo: heptio/sonobuoy