Refactor: Idiomatic React Query

Basics

[x] I added a line to changelog.md
[X] The PR is rebased with current master.

[x] References to issues, e.g. close #X, are in the commit messages and changelog.
[ ] The buildserver is happy.

Checklist

[x] I have installed and I am using pre-commit hooks
[x] I fully described what my PR does in the documentation
[x] I fixed all affected documentation
[ ] I fixed the introduction tour
[ ] I wrote migrations in a way that they are compatible with already present data
[ ] I fixed all affected decisions
[ ] I added automated tests or a manual test protocol
[x] I added code comments, logging, and assertions as appropriate
[ ] I translated all strings visible to the user
[ ] I mentioned every code or binary not directly written or done by me in reuse syntax
[ ] I created left-over issues for things that are still to be done
[x] Code is conforming to our Architecture
[x] Code is conforming to our Guidelines
[x] Code is consistent to our Design Decisions
[ ] Exceptions to any guidelines are documented

Review

[ ] I've tested the code
[ ] I've read through the whole code
[ ] I've read through the whole documentation
[ ] I've checked conformity to guidelines

jenkins build please

jenkins build please

jenkins build please

jenkins build please

jenkins build please

@markus2330 @4ydan
Somehow the e2e tests fails for the inventory.
I am pretty sure that the e2e test is wrong in this case.
locally creating, editing and archiving works fine.

It seems the tests fails because the database is not properly reset. (Failing because map/seed already exists).

@danielsteinkogler
Thanks for the review, glad that you like the approach.
I created #1136 for the leftover error messages.

1: considering it as passed. The video shows there was a problem with the backend...

2: passed

jenkins build please

jenkins build please


[BugFix] Repair GC logic for shared-data persistent index while multi-disk is used for storage

Why I'm doing:
What I'm doing:
Fixes #issue
What type of PR is this:

[x] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Does this PR entail a change in behavior?

[ ] Yes, this PR will result in a change in behavior.
[x] No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

[ ] Interface/UI changes: syntax, type conversion, expression evaluation, display information
[ ] Parameter changes: default values, similar parameters but with different default values
[ ] Policy changes: use new policy to replace old one, functionality automatically enabled
[ ] Feature removed
[ ] Miscellaneous: upgrade & downgrade compatibility, etc.

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

[ ] This is a backport pr

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto-backported to the target branch

[x] 3.4
[x] 3.3
[x] 3.2
[x] 3.1
[ ] 3.0

Can you describe the specific bug and explain the cause of it?

Can you describe the specific bug and explain the cause of it?

done

Maybe it might be better to add a specified data_dir in LakePrimaryIndex. This is because the result obtained from get_persistent_index_store may be inconsistent at different stages, which could lead to an error where the metadata cannot be found during the publish process.


[Dashboard_app] Add new pipeline for pylint

Before applying, Read our Contributor Guidelines and README.
Add new github pipeline for running pylint for dashboard_app
Please, fix all issues which will pop up with adding docstring and other stuff
Example, how it was implemented for data_hanlder

I i be assigned this, really love to work on it

Is this issue still available? I'm proficient in python

Can I take care of this issue? I love orange
It will be my first time on this repo

Hi, I've successfully added pipeline for dashboard_app


Add angular-scroll definitions

New definitions for the angular-scroll library: https://github.com/oblador/angular-scroll

@oblador can you review?

LGTM.
should I was waiting for his review?
@samherrmann If you want to merge immediately, please ping me.

@vvakame if you can merge immediately that would be great. I am not sure if @oblador (author of angular-scroll) is familiar with Typescript, but I pinged him on this review just so he is aware of this work.

Hi, I'm new to TypeScript so not entirely sure what I'm supposed to review.
However, the interface for the …Animated methods without the duration argument looks wrong. They should always return a promise, if not then my implementation is wrong.
Not sure how to run the unit tests and they don't look like the tests I'm used to write :-) Maybe it's just a demonstration?
How about the directives? Those are the most used part of the module I guess.

@oblador thanks for reviewing! You are definitely right about the wrong return type of the ...Animated  methods. I have made the corrections.
The tests are not runnable unit tests to test the implementations, but rather "sample" code that exercises the interfaces to make sure there is no compilation error. If you want to run the tests yourself, the instructions can be found here.
Regarding the directives, there is no need for type definitions because directives are used in the HTML, which is not touched by the TypeScript compiler anyway. If you want to develop directives in TypeScript, then you use the ng.IDirective interface that is defined in the angular.d.ts file.
If you want to learn more about writing Typescript definition files for existing JavaScript libraries, visit this page.
Thanks again for reviewing. Please let me know if you see any other issues or if you approve.

:+1: Good to merge!

@vvakame the review is complete.

@oblador Thanks a lot!
@samherrmann thanks mate!


Add how the product works section

Is your feature request related to a problem? Please describe.
Add the how the product works section and make it responsive.
Describe the solution you'd like
To make it easier for you, you can use Grid to make the section responsive to different devices.
Below is the desktop and mobile view.

Describe alternatives you've considered
n/a
Additional context
The assets for the website are in the website-assets folder and before you push run git pull origin develop to get the updates before you push your branch. Also, remember to read the contribution.md file before cloning the project.

@muchirijane Would you be able to extract out the images for each laptop and the two card images at the bottom?  Thanks.


nginx failed to start

invalid port in upstream "<IP_ADDRESS>:$grpc_port" in /etc/nginx/sites-enabled/x.domain:25

Reinstall and enter a valid port for grpc.


Test with realistic data. Expect that test will fail by changing condition.

Condition is changed from https://github.com/HiroIshida/yamaopt/pull/24

Test passed against my expectation.
Move to https://github.com/HiroIshida/yamaopt/issues/18#issuecomment-1002915454

With scipy==0.19.1 tests successfully fails.


Helm Operator doesn't create resources for Kube Prometheus Stack

Bug Report

What did you do?

Generated Helm Operator for kube-prometheus-stack using operator SDK from master branch (commit<PHONE_NUMBER>91ac9b2b4f45034fb9329cbfe1ef22) to test fix for https://github.com/operator-framework/operator-sdk/issues/4636
$ operator-sdk init --plugins helm --helm-chart prometheus-community/kube-prometheus-stack --domain example.com --group helm-chart --version v1 --kind Promhelm
Writing scaffold for you to edit...
Creating the API:
$ operator-sdk create api --group helm-chart --version v1 --kind Promhelm --helm-chart prometheus-community/kube-prometheus-stack
Created helm-charts/kube-prometheus-stack
Generating RBAC rules
WARN[0006] The RBAC rules generated in config/rbac/role.yaml are based on the chart's default manifest. Some rules may be missing for resources that are only enabled with custom values, and some existing rules may be overly broad. Double check the rules generated in config/rbac/role.yaml to ensure they meet the operator's permission requirements.

Modified Dockerfile to use image for master branch:
# Build the manager binary
FROM quay.io/operator-framework/helm-operator:master

ENV HOME=/opt/helm
COPY watches.yaml ${HOME}/watches.yaml
COPY helm-charts  ${HOME}/helm-charts
WORKDIR ${HOME}

Set --zap-log-level=debug in config/default/manager_auth_proxy_patch.yaml:
# This patch inject a sidecar container which is a HTTP proxy for the
# controller manager, it performs RBAC authorization against the Kubernetes API using SubjectAccessReviews.
apiVersion: apps/v1
kind: Deployment
metadata:
  name: controller-manager
  namespace: system
spec:
  template:
    spec:
      containers:
      - name: kube-rbac-proxy
        image: gcr.io/kubebuilder/kube-rbac-proxy:v0.8.0
        args:
        - "--secure-listen-address=<IP_ADDRESS>:8443"
        - "--upstream=http://<IP_ADDRESS>:8080/"
        - "--logtostderr=true"
        - "--v=10"
        ports:
        - containerPort: 8443
          name: https
      - name: manager
        args:
        - "--health-probe-bind-address=:8081"
        - "--metrics-bind-address=<IP_ADDRESS>:8080"
        - "--leader-elect"
        - "--leader-election-id=kube-prometheus-stack"
        - "--zap-log-level=debug"

make docker-build IMG="localhost:32000/prom-operator:master"
make docker-push IMG="localhost:32000/prom-operator:master"
make deploy IMG="localhost:32000/prom-operator:master"

$ kubectl get pods -n kube-prometheus-stack-system
NAME                                                        READY   STATUS    RESTARTS   AGE
kube-prometheus-stack-controller-manager-6789dcd479-nmqjf   2/2     Running   0          3m1s

$ kubectl apply -f config/samples/helm-chart_v1_promhelm.yaml
promhelm.helm-chart.example.com/promhelm-sample created

$ kubectl get pods -n kube-prometheus-stack-system
NAME                                                        READY   STATUS    RESTARTS   AGE
kube-prometheus-stack-controller-manager-6789dcd479-nmqjf   2/2     Running   1          5m1s

$ kubectl logs -n kube-prometheus-stack-system kube-prometheus-stack-controller-manager-6789dcd479-nmqjf manager -p
{"level":"info","ts":1617873971.0132182,"logger":"cmd","msg":"Version","Go Version":"go1.15.10","GOOS":"linux","GOARCH":"amd64","helm-operator":"scorecard-kuttl/v2.0.0+git","commit":"6b6c021400894281b0d35033e83b5671e4c5f1ac"}
{"level":"info","ts":1617873971.0135608,"logger":"cmd","msg":"WATCH_NAMESPACE environment variable not set. Watching all namespaces.","Namespace":""}
{"level":"info","ts":1617873971.6110563,"logger":"controller-runtime.metrics","msg":"metrics server is starting to listen","addr":"<IP_ADDRESS>:8080"}
{"level":"info","ts":1617873971.6118536,"logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":1617873971.6119115,"logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":1617873971.6119232,"logger":"helm.controller","msg":"Watching resource","apiVersion":"helm-chart.example.com/v1","kind":"Promhelm","namespace":"","reconcilePeriod":"1m0s"}
I0408 09:26:11.612256       1 leaderelection.go:243] attempting to acquire leader lease kube-prometheus-stack-system/kube-prometheus-stack...
{"level":"info","ts":1617873971.6124713,"logger":"controller-runtime.manager","msg":"starting metrics server","path":"/metrics"}
I0408 09:26:29.014673       1 leaderelection.go:253] successfully acquired lease kube-prometheus-stack-system/kube-prometheus-stack
{"level":"debug","ts":1617873989.0147357,"logger":"controller-runtime.manager.events","msg":"Normal","object":{"kind":"ConfigMap","namespace":"kube-prometheus-stack-system","name":"kube-prometheus-stack","uid":"017e4b1f-54c4-4467-b03f-bf565d53ee5c","apiVersion":"v1","resourceVersion":"40132"},"reason":"LeaderElection","message":"kube-prometheus-stack-controller-manager-6789dcd479-nmqjf_f3f32247-4aa7-4e88-9dfa-3af70c809469 became leader"}
{"level":"info","ts":1617873989.0148664,"logger":"controller-runtime.manager.controller.promhelm-controller","msg":"Starting EventSource","source":"kind source: helm-chart.example.com/v1, Kind=Promhelm"}
{"level":"info","ts":1617873989.115548,"logger":"controller-runtime.manager.controller.promhelm-controller","msg":"Starting Controller"}
{"level":"info","ts":1617873989.1155875,"logger":"controller-runtime.manager.controller.promhelm-controller","msg":"Starting workers","worker count":4}
{"level":"debug","ts":1617873989.1157281,"logger":"helm.controller","msg":"Reconciling","namespace":"default","name":"promhelm-sample","apiVersion":"helm-chart.example.com/v1","kind":"Promhelm"}

$ kubectl logs -n kube-prometheus-stack-system kube-prometheus-stack-controller-manager-6789dcd479-nmqjf manager
{"level":"info","ts":1617873971.0132182,"logger":"cmd","msg":"Version","Go Version":"go1.15.10","GOOS":"linux","GOARCH":"amd64","helm-operator":"scorecard-kuttl/v2.0.0+git","commit":"6b6c021400894281b0d35033e83b5671e4c5f1ac"}
{"level":"info","ts":1617873971.0135608,"logger":"cmd","msg":"WATCH_NAMESPACE environment variable not set. Watching all namespaces.","Namespace":""}
{"level":"info","ts":1617873971.6110563,"logger":"controller-runtime.metrics","msg":"metrics server is starting to listen","addr":"<IP_ADDRESS>:8080"}
{"level":"info","ts":1617873971.6118536,"logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":1617873971.6119115,"logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":1617873971.6119232,"logger":"helm.controller","msg":"Watching resource","apiVersion":"helm-chart.example.com/v1","kind":"Promhelm","namespace":"","reconcilePeriod":"1m0s"}
I0408 09:26:11.612256       1 leaderelection.go:243] attempting to acquire leader lease kube-prometheus-stack-system/kube-prometheus-stack...
{"level":"info","ts":1617873971.6124713,"logger":"controller-runtime.manager","msg":"starting metrics server","path":"/metrics"}
I0408 09:26:29.014673       1 leaderelection.go:253] successfully acquired lease kube-prometheus-stack-system/kube-prometheus-stack
{"level":"debug","ts":1617873989.0147357,"logger":"controller-runtime.manager.events","msg":"Normal","object":{"kind":"ConfigMap","namespace":"kube-prometheus-stack-system","name":"kube-prometheus-stack","uid":"017e4b1f-54c4-4467-b03f-bf565d53ee5c","apiVersion":"v1","resourceVersion":"40132"},"reason":"LeaderElection","message":"kube-prometheus-stack-controller-manager-6789dcd479-nmqjf_f3f32247-4aa7-4e88-9dfa-3af70c809469 became leader"}
{"level":"info","ts":1617873989.0148664,"logger":"controller-runtime.manager.controller.promhelm-controller","msg":"Starting EventSource","source":"kind source: helm-chart.example.com/v1, Kind=Promhelm"}
{"level":"info","ts":1617873989.115548,"logger":"controller-runtime.manager.controller.promhelm-controller","msg":"Starting Controller"}
{"level":"info","ts":1617873989.1155875,"logger":"controller-runtime.manager.controller.promhelm-controller","msg":"Starting workers","worker count":4}
{"level":"debug","ts":1617873989.1157281,"logger":"helm.controller","msg":"Reconciling","namespace":"default","name":"promhelm-sample","apiVersion":"helm-chart.example.com/v1","kind":"Promhelm"}

$ kubectl get pods -n kube-prometheus-stack-system
NAME                                                        READY   STATUS    RESTARTS   AGE
kube-prometheus-stack-controller-manager-6789dcd479-nmqjf   2/2     Running   4          8m50s

$ kubectl get Promhelm --all-namespaces
NAMESPACE   NAME              AGE
default     promhelm-sample   5m15s

$ kubectl get pods
No resources found in default namespace.

$ kubectl get pods -n kube-prometheus-stack-system
NAME                                                        READY   STATUS             RESTARTS   AGE
kube-prometheus-stack-controller-manager-6789dcd479-nmqjf   1/2     CrashLoopBackOff   12         49m

$ kubectl describe pod kube-prometheus-stack-controller-manager-6789dcd479-nmqjf -n kube-prometheus-stack-system
Name:         kube-prometheus-stack-controller-manager-6789dcd479-nmqjf
Namespace:    kube-prometheus-stack-system
Priority:     0
Node:         sumologic-kubernetes-collection-operator/<IP_ADDRESS>
Start Time:   Thu, 08 Apr 2021 09:19:17 +0000
Labels:       control-plane=controller-manager
              pod-template-hash=6789dcd479
Annotations:  cni.projectcalico.org/podIP: <IP_ADDRESS>/32
              cni.projectcalico.org/podIPs: <IP_ADDRESS>/32
Status:       Running
IP:           <IP_ADDRESS>
IPs:
  IP:           <IP_ADDRESS>
Controlled By:  ReplicaSet/kube-prometheus-stack-controller-manager-6789dcd479
Containers:
  kube-rbac-proxy:
    Container ID:  containerd://6b86eaa14a4dbaf980caf911818951968dce0abf8f84f049c81aca6260cfd75d
    Image:         gcr.io/kubebuilder/kube-rbac-proxy:v0.8.0
    Image ID:      gcr.io/kubebuilder/kube-rbac-proxy@sha256:a06e7b56c5e1e63b87abb417344f59bf4a8e53695b8463121537c3854c5fda82
    Port:          8443/TCP
    Host Port:     0/TCP
    Args:
      --secure-listen-address=<IP_ADDRESS>:8443
      --upstream=http://<IP_ADDRESS>:8080/
      --logtostderr=true
      --v=10
    State:          Running
      Started:      Thu, 08 Apr 2021 09:19:18 +0000
    Ready:          True
    Restart Count:  0
    Environment:    <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from kube-prometheus-stack-controller-manager-token-q7cks (ro)
  manager:
    Container ID:  containerd://c052bd69dad7c106a71f5439890e345d8c730e2e9fe8531cf0bd99ee8dc74fcd
    Image:         localhost:32000/prom-operator:master
    Image ID:      localhost:32000/prom-operator@sha256:23f325cc84af8f317a14b6e3b19cbed64668efa0bf10fb93b91e54e4e152e8d4
    Port:          <none>
    Host Port:     <none>
    Args:
      --health-probe-bind-address=:8081
      --metrics-bind-address=<IP_ADDRESS>:8080
      --leader-elect
      --leader-election-id=kube-prometheus-stack
      --zap-log-level=debug
    State:          Running
      Started:      Thu, 08 Apr 2021 09:30:02 +0000
    Last State:     Terminated
      Reason:       OOMKilled
      Exit Code:    137
      Started:      Thu, 08 Apr 2021 09:27:42 +0000
      Finished:     Thu, 08 Apr 2021 09:28:34 +0000
    Ready:          True
    Restart Count:  5
    Limits:
      cpu:     100m
      memory:  90Mi
    Requests:
      cpu:        100m
      memory:     60Mi
    Liveness:     http-get http://:8081/healthz delay=15s timeout=1s period=20s #success=1 #failure=3
    Readiness:    http-get http://:8081/readyz delay=5s timeout=1s period=10s #success=1 #failure=3
    Environment:  <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from kube-prometheus-stack-controller-manager-token-q7cks (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             True
  ContainersReady   True
  PodScheduled      True
Volumes:
  kube-prometheus-stack-controller-manager-token-q7cks:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  kube-prometheus-stack-controller-manager-token-q7cks
    Optional:    false
QoS Class:       Burstable
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                 node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
  Type     Reason     Age                   From               Message
  ----     ------     ----                  ----               -------
  Normal   Scheduled  11m                   default-scheduler  Successfully assigned kube-prometheus-stack-system/kube-prometheus-stack-controller-manager-6789dcd479-nmqjf to sumologic-kubernetes-collection-operator
  Normal   Pulled     11m                   kubelet            Container image "gcr.io/kubebuilder/kube-rbac-proxy:v0.8.0" already present on machine
  Normal   Created    11m                   kubelet            Created container kube-rbac-proxy
  Normal   Started    11m                   kubelet            Started container kube-rbac-proxy
  Warning  Unhealthy  5m54s                 kubelet            Readiness probe failed: Get "http://<IP_ADDRESS>:8081/readyz": dial tcp <IP_ADDRESS>:8081: connect: connection refused
  Normal   Started    4m28s (x4 over 11m)   kubelet            Started container manager
  Normal   Pulled     2m56s (x5 over 11m)   kubelet            Container image "localhost:32000/prom-operator:master" already present on machine
  Normal   Created    2m56s (x5 over 11m)   kubelet            Created container manager
  Warning  BackOff    75s (x13 over 5m54s)  kubelet            Back-off restarting failed container

What did you expect to see?

Kube Prometheus Stack is deployed, resources are created
Operator not go to CrashLoopBackOff status

What did you see instead? Under which circumstances?

Kube Prometheus Stack is not deployed, resources are not created
Operator has CrashLoopBackOff status

Environment
Operator type: helm

Kubernetes cluster type:

$ operator-sdk version
$ operator-sdk version
operator-sdk version: "scorecard-kuttl/v2.0.0-49-g50825522", commit: "508255228591ac9b2b4f45034fb9329cbfe1ef22", kubernetes version: "v1.19.4", go version: "go1.15.7", GOOS: "linux", GOARCH: "amd64"

$ go version (if language is Go)
$ go version
go version go1.15.7 linux/amd64

$ kubectl version

$ kubectl version
Client Version: version.Info{Major:"1", Minor:"19+", GitVersion:"v1.19.9-34+69a399560680be", GitCommit:"69a399560680be89d9b60c220c82560cf89adfaf", GitTreeState:"clean", BuildDate:"2021-03-22T17:04:05Z", GoVersion:"go1.15.10", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"19+", GitVersion:"v1.19.9-34+69a399560680be", GitCommit:"69a399560680be89d9b60c220c82560cf89adfaf", GitTreeState:"clean", BuildDate:"2021-03-22T17:05:12Z", GoVersion:"go1.15.10", Compiler:"gc", Platform:"linux/amd64"}

$ helm version
$ helm version
WARNING: Kubernetes configuration file is group-readable. This is insecure. Location: /var/snap/microk8s/current/credentials/kubelet.config
version.BuildInfo{Version:"v3.5.2", GitCommit:"167aac70832d3a384f65f9745335e9fb40169dc2", GitTreeState:"dirty", GoVersion:"go1.15.7"}

$ helm search repo prometheus-community/kube-prometheus-stack
WARNING: Kubernetes configuration file is group-readable. This is insecure. Location: /var/snap/microk8s/current/credentials/kubelet.config
NAME                                            CHART VERSION   APP VERSION     DESCRIPTION
prometheus-community/kube-prometheus-stack      14.5.0          0.46.0          kube-prometheus-stack collects Kubernetes manif...

Possible Solution

Additional context

I made exactly the same steps for prometheus-community/prometheus-node-exporter Helm chart and the issue did not appear and everything worked as expected.

Yesterday I tested the version from https://github.com/operator-framework/operator-sdk/commit/6b6c021400894281b0d35033e83b5671e4c5f1ac  and I saw that resources for kube-prometheus-stack are created when I applied simpler CRD which was provided under the issue #4636.
I reproduced the issue on version from https://github.com/operator-framework/operator-sdk/commit/6b6c021400894281b0d35033e83b5671e4c5f1ac  and I saw the same behaviour but when I applied simpler configuration resources for kube-prometheus-stack were created but Pod for helm operator is restarted quite frequently without any errors in logs.
See my steps:
$ git log -n 1
commit 6b6c021400894281b0d35033e83b5671e4c5f1ac (HEAD -> master)
Author: Eric Stroczynski<EMAIL_ADDRESS>Date:   Mon Mar 29 14:57:39 2021 -0700

    internal/plugins: follow-up updates from #4581 (#4707)

    Signed-off-by: Eric Stroczynski<EMAIL_ADDRESS>
cd $GOPATH/src/github.com/operator-framework/operator-sdk/

docker buildx build --platform linux/amd64 -t localhost:32000/helm-operator:6b6c0214 --push -f images/helm-operator/Dockerfile .

$ docker images
REPOSITORY                      TAG        IMAGE ID       CREATED          SIZE
localhost:32000/helm-operator   6b6c0214   5a4da601230f   12 seconds ago   161MB

make build
make install

mkdir $HOME/kube-prometheus-stack
cd $HOME/kube-prometheus-stack

$ operator-sdk version
operator-sdk version: "scorecard-kuttl/v2.0.0-43-g6b6c0214", commit: "6b6c021400894281b0d35033e83b5671e4c5f1ac", kubernetes version: "v1.19.4", go version: "go1.15.7", GOOS: "linux", GOARCH: "amd64"

mkdir $HOME/kube-prometheus-stack
cd $HOME/kube-prometheus-stack

$ operator-sdk init --plugins helm --helm-chart prometheus-community/kube-prometheus-stack --domain example.com --group helm-chart --version v1 --kind Promhelm
Creating the API:
$ operator-sdk create api --group helm-chart --version v1 --kind Promhelm --helm-chart prometheus-community/kube-prometheus-stack
Created helm-charts/kube-prometheus-stack
Generating RBAC rules
WARN[0006] The RBAC rules generated in config/rbac/role.yaml are based on the chart's default manifest. Some rules may be missing for resources that are only enabled with custom values, and some existing rules may be overly broad. Double check the rules generated in config/rbac/role.yaml to ensure they meet the operator's permission requirements.

Modified Dockerfile to use image from desired version:
# Build the manager binary
FROM localhost:32000/helm-operator:6b6c0214

ENV HOME=/opt/helm
COPY watches.yaml ${HOME}/watches.yaml
COPY helm-charts  ${HOME}/helm-charts
WORKDIR ${HOME}

make docker-build IMG="localhost:32000/prom-operator:latest"
make docker-push IMG="localhost:32000/prom-operator:latest"
make deploy IMG="localhost:32000/prom-operator:latest"

$ kubectl get pods -n kube-prometheus-stack-system
NAME                                                      READY   STATUS    RESTARTS   AGE
kube-prometheus-stack-controller-manager-9c49595f-2l4vm   2/2     Running   0          14s

$ kubectl describe pod -n kube-prometheus-stack-system
Name:         kube-prometheus-stack-controller-manager-9c49595f-2l4vm
Namespace:    kube-prometheus-stack-system
Priority:     0
Node:         sumologic-kubernetes-collection-operator/<IP_ADDRESS>
Start Time:   Thu, 08 Apr 2021 12:18:18 +0000
Labels:       control-plane=controller-manager
              pod-template-hash=9c49595f
Annotations:  cni.projectcalico.org/podIP: <IP_ADDRESS>/32
              cni.projectcalico.org/podIPs: <IP_ADDRESS>/32
Status:       Running
IP:           <IP_ADDRESS>
IPs:
  IP:           <IP_ADDRESS>
Controlled By:  ReplicaSet/kube-prometheus-stack-controller-manager-9c49595f
Containers:
  kube-rbac-proxy:
    Container ID:  containerd://923d6be1930fa4ad8dd1d8c3a558ab0ec922233d6251ffecfc3d85007648c012
    Image:         gcr.io/kubebuilder/kube-rbac-proxy:v0.8.0
    Image ID:      gcr.io/kubebuilder/kube-rbac-proxy@sha256:a06e7b56c5e1e63b87abb417344f59bf4a8e53695b8463121537c3854c5fda82
    Port:          8443/TCP
    Host Port:     0/TCP
    Args:
      --secure-listen-address=<IP_ADDRESS>:8443
      --upstream=http://<IP_ADDRESS>:8080/
      --logtostderr=true
      --v=10
    State:          Running
      Started:      Thu, 08 Apr 2021 12:18:19 +0000
    Ready:          True
    Restart Count:  0
    Environment:    <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from kube-prometheus-stack-controller-manager-token-trztg (ro)
  manager:
    Container ID:  containerd://7a7777bfff0233f07dcb7b6b5ec364c43b93c3003a02e9a051ded02a67482536
    Image:         localhost:32000/prom-operator:latest
    Image ID:      localhost:32000/prom-operator@sha256:61ce10c111dee0f620e60676225c913bcb0d79e8bab816ecf0100da35c4d2236
    Port:          <none>
    Host Port:     <none>
    Args:
      --health-probe-bind-address=:8081
      --metrics-bind-address=<IP_ADDRESS>:8080
      --leader-elect
      --leader-election-id=kube-prometheus-stack
    State:          Running
      Started:      Thu, 08 Apr 2021 12:18:19 +0000
    Ready:          True
    Restart Count:  0
    Limits:
      cpu:     100m
      memory:  90Mi
    Requests:
      cpu:        100m
      memory:     60Mi
    Liveness:     http-get http://:8081/healthz delay=15s timeout=1s period=20s #success=1 #failure=3
    Readiness:    http-get http://:8081/readyz delay=5s timeout=1s period=10s #success=1 #failure=3
    Environment:  <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from kube-prometheus-stack-controller-manager-token-trztg (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             True
  ContainersReady   True
  PodScheduled      True
Volumes:
  kube-prometheus-stack-controller-manager-token-trztg:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  kube-prometheus-stack-controller-manager-token-trztg
    Optional:    false
QoS Class:       Burstable
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                 node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
  Type    Reason     Age   From               Message
  ----    ------     ----  ----               -------
  Normal  Scheduled  47s   default-scheduler  Successfully assigned kube-prometheus-stack-system/kube-prometheus-stack-controller-manager-9c49595f-2l4vm to sumologic-kubernetes-collection-operator
  Normal  Pulled     46s   kubelet            Container image "gcr.io/kubebuilder/kube-rbac-proxy:v0.8.0" already present on machine
  Normal  Created    46s   kubelet            Created container kube-rbac-proxy
  Normal  Started    46s   kubelet            Started container kube-rbac-proxy
  Normal  Pulling    46s   kubelet            Pulling image "localhost:32000/prom-operator:latest"
  Normal  Pulled     46s   kubelet            Successfully pulled image "localhost:32000/prom-operator:latest" in 175.343247ms
  Normal  Created    46s   kubelet            Created container manager
  Normal  Started    46s   kubelet            Started container manager

$ kubectl apply -f config/samples/helm-chart_v1_promhelm.yaml -n kube-prometheus-stack-system
promhelm.helm-chart.example.com/promhelm-sample created

$ kubectl get pods -n kube-prometheus-stack-system
NAME                                                      READY   STATUS    RESTARTS   AGE
kube-prometheus-stack-controller-manager-9c49595f-2l4vm   2/2     Running   0          2m4s

$ kubectl get pods -n kube-prometheus-stack-system
NAME                                                      READY   STATUS    RESTARTS   AGE
kube-prometheus-stack-controller-manager-9c49595f-2l4vm   2/2     Running   0          2m4s

$ kubectl logs -n kube-prometheus-stack-system kube-prometheus-stack-controller-manager-9c49595f-2l4vm manager
{"level":"info","ts":1617884430.7197988,"logger":"cmd","msg":"Version","Go Version":"go1.15.11","GOOS":"linux","GOARCH":"amd64","helm-operator":"scorecard-kuttl/v2.0.0+git","commit":"6b6c021400894281b0d35033e83b5671e4c5f1ac"}
{"level":"info","ts":1617884430.7199905,"logger":"cmd","msg":"WATCH_NAMESPACE environment variable not set. Watching all namespaces.","Namespace":""}
{"level":"info","ts":1617884431.2739377,"logger":"controller-runtime.metrics","msg":"metrics server is starting to listen","addr":"<IP_ADDRESS>:8080"}
{"level":"info","ts":1617884431.2748816,"logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":1617884431.274924,"logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":1617884431.2749338,"logger":"helm.controller","msg":"Watching resource","apiVersion":"helm-chart.example.com/v1","kind":"Promhelm","namespace":"","reconcilePeriod":"1m0s"}
{"level":"info","ts":1617884431.2753308,"logger":"controller-runtime.manager","msg":"starting metrics server","path":"/metrics"}
I0408 12:20:31.275330       1 leaderelection.go:243] attempting to acquire leader lease kube-prometheus-stack-system/kube-prometheus-stack...
I0408 12:20:48.679177       1 leaderelection.go:253] successfully acquired lease kube-prometheus-stack-system/kube-prometheus-stack
{"level":"info","ts":1617884448.6794257,"logger":"controller-runtime.manager.controller.promhelm-controller","msg":"Starting EventSource","source":"kind source: helm-chart.example.com/v1, Kind=Promhelm"}
{"level":"info","ts":1617884448.7798038,"logger":"controller-runtime.manager.controller.promhelm-controller","msg":"Starting Controller"}
{"level":"info","ts":1617884448.779887,"logger":"controller-runtime.manager.controller.promhelm-controller","msg":"Starting workers","worker count":4}

$ kubectl logs -n kube-prometheus-stack-system kube-prometheus-stack-controller-manager-9c49595f-2l4vm manager -p
{"level":"info","ts":1617884430.7197988,"logger":"cmd","msg":"Version","Go Version":"go1.15.11","GOOS":"linux","GOARCH":"amd64","helm-operator":"scorecard-kuttl/v2.0.0+git","commit":"6b6c021400894281b0d35033e83b5671e4c5f1ac"}
{"level":"info","ts":1617884430.7199905,"logger":"cmd","msg":"WATCH_NAMESPACE environment variable not set. Watching all namespaces.","Namespace":""}
{"level":"info","ts":1617884431.2739377,"logger":"controller-runtime.metrics","msg":"metrics server is starting to listen","addr":"<IP_ADDRESS>:8080"}
{"level":"info","ts":1617884431.2748816,"logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":1617884431.274924,"logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":1617884431.2749338,"logger":"helm.controller","msg":"Watching resource","apiVersion":"helm-chart.example.com/v1","kind":"Promhelm","namespace":"","reconcilePeriod":"1m0s"}
{"level":"info","ts":1617884431.2753308,"logger":"controller-runtime.manager","msg":"starting metrics server","path":"/metrics"}
I0408 12:20:31.275330       1 leaderelection.go:243] attempting to acquire leader lease kube-prometheus-stack-system/kube-prometheus-stack...
I0408 12:20:48.679177       1 leaderelection.go:253] successfully acquired lease kube-prometheus-stack-system/kube-prometheus-stack
{"level":"info","ts":1617884448.6794257,"logger":"controller-runtime.manager.controller.promhelm-controller","msg":"Starting EventSource","source":"kind source: helm-chart.example.com/v1, Kind=Promhelm"}
{"level":"info","ts":1617884448.7798038,"logger":"controller-runtime.manager.controller.promhelm-controller","msg":"Starting Controller"}
{"level":"info","ts":1617884448.779887,"logger":"controller-runtime.manager.controller.promhelm-controller","msg":"Starting workers","worker count":4}

$ kubectl get pods --all-namespaces
NAMESPACE                      NAME                                                      READY   STATUS    RESTARTS   AGE
kube-system                    calico-node-k742j                                         1/1     Running   0          22h
kube-system                    hostpath-provisioner-5c65fbdb4f-pr25r                     1/1     Running   0          22h
kube-system                    calico-kube-controllers-847c8c99d-qwmb8                   1/1     Running   0          22h
container-registry             registry-9b57d9df8-fgr4t                                  1/1     Running   0          22h
kube-system                    coredns-86f78bb79c-ccvx9                                  1/1     Running   0          22h
kube-prometheus-stack-system   kube-prometheus-stack-controller-manager-9c49595f-2l4vm   2/2     Running   2          3m56s

$ kubectl get Promhelm --all-namespaces
NAMESPACE                      NAME              AGE
kube-prometheus-stack-system   promhelm-sample   3m7s

$ kubectl get pods -n kube-prometheus-stack-system
NAME                                                      READY   STATUS             RESTARTS   AGE
kube-prometheus-stack-controller-manager-9c49595f-2l4vm   1/2     CrashLoopBackOff   3          5m51s

$ kubectl describe pod -n kube-prometheus-stack-system kube-prometheus-stack-controller-manager-9c49595f-2l4vm
Name:         kube-prometheus-stack-controller-manager-9c49595f-2l4vm
Namespace:    kube-prometheus-stack-system
Priority:     0
Node:         sumologic-kubernetes-collection-operator/<IP_ADDRESS>
Start Time:   Thu, 08 Apr 2021 12:18:18 +0000
Labels:       control-plane=controller-manager
              pod-template-hash=9c49595f
Annotations:  cni.projectcalico.org/podIP: <IP_ADDRESS>/32
              cni.projectcalico.org/podIPs: <IP_ADDRESS>/32
Status:       Running
IP:           <IP_ADDRESS>
IPs:
  IP:           <IP_ADDRESS>
Controlled By:  ReplicaSet/kube-prometheus-stack-controller-manager-9c49595f
Containers:
  kube-rbac-proxy:
    Container ID:  containerd://923d6be1930fa4ad8dd1d8c3a558ab0ec922233d6251ffecfc3d85007648c012
    Image:         gcr.io/kubebuilder/kube-rbac-proxy:v0.8.0
    Image ID:      gcr.io/kubebuilder/kube-rbac-proxy@sha256:a06e7b56c5e1e63b87abb417344f59bf4a8e53695b8463121537c3854c5fda82
    Port:          8443/TCP
    Host Port:     0/TCP
    Args:
      --secure-listen-address=<IP_ADDRESS>:8443
      --upstream=http://<IP_ADDRESS>:8080/
      --logtostderr=true
      --v=10
    State:          Running
      Started:      Thu, 08 Apr 2021 12:18:19 +0000
    Ready:          True
    Restart Count:  0
    Environment:    <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from kube-prometheus-stack-controller-manager-token-trztg (ro)
  manager:
    Container ID:  containerd://937b266b36cb80432c8e0abc6acb9612fb7f99e2875ed188ddae020b6de69fec
    Image:         localhost:32000/prom-operator:latest
    Image ID:      localhost:32000/prom-operator@sha256:61ce10c111dee0f620e60676225c913bcb0d79e8bab816ecf0100da35c4d2236
    Port:          <none>
    Host Port:     <none>
    Args:
      --health-probe-bind-address=:8081
      --metrics-bind-address=<IP_ADDRESS>:8080
      --leader-elect
      --leader-election-id=kube-prometheus-stack
    State:          Running
      Started:      Thu, 08 Apr 2021 12:24:24 +0000
    Last State:     Terminated
      Reason:       OOMKilled
      Exit Code:    137
      Started:      Thu, 08 Apr 2021 12:22:48 +0000
      Finished:     Thu, 08 Apr 2021 12:23:31 +0000
    Ready:          True
    Restart Count:  4
    Limits:
      cpu:     100m
      memory:  90Mi
    Requests:
      cpu:        100m
      memory:     60Mi
    Liveness:     http-get http://:8081/healthz delay=15s timeout=1s period=20s #success=1 #failure=3
    Readiness:    http-get http://:8081/readyz delay=5s timeout=1s period=10s #success=1 #failure=3
    Environment:  <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from kube-prometheus-stack-controller-manager-token-trztg (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             True
  ContainersReady   True
  PodScheduled      True
Volumes:
  kube-prometheus-stack-controller-manager-token-trztg:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  kube-prometheus-stack-controller-manager-token-trztg
    Optional:    false
QoS Class:       Burstable
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                 node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
  Type     Reason     Age                   From               Message
  ----     ------     ----                  ----               -------
  Normal   Scheduled  6m34s                 default-scheduler  Successfully assigned kube-prometheus-stack-system/kube-prometheus-stack-controller-manager-9c49595f-2l4vm to sumologic-kubernetes-collection-operator
  Normal   Pulled     6m33s                 kubelet            Container image "gcr.io/kubebuilder/kube-rbac-proxy:v0.8.0" already present on machine
  Normal   Created    6m33s                 kubelet            Created container kube-rbac-proxy
  Normal   Started    6m33s                 kubelet            Started container kube-rbac-proxy
  Normal   Pulled     6m33s                 kubelet            Successfully pulled image "localhost:32000/prom-operator:latest" in 175.343247ms
  Warning  Unhealthy  4m23s                 kubelet            Readiness probe failed: Get "http://<IP_ADDRESS>:8081/readyz": dial tcp <IP_ADDRESS>:8081: connect: connection refused
  Normal   Pulled     4m22s                 kubelet            Successfully pulled image "localhost:32000/prom-operator:latest" in 44.107264ms
  Normal   Pulled     3m23s                 kubelet            Successfully pulled image "localhost:32000/prom-operator:latest" in 23.664867ms
  Normal   Pulling    2m4s (x4 over 6m33s)  kubelet            Pulling image "localhost:32000/prom-operator:latest"
  Normal   Pulled     2m4s                  kubelet            Successfully pulled image "localhost:32000/prom-operator:latest" in 24.778475ms
  Normal   Created    2m4s (x4 over 6m33s)  kubelet            Created container manager
  Normal   Started    2m4s (x4 over 6m33s)  kubelet            Started container manager
  Warning  BackOff    80s (x6 over 3m40s)   kubelet            Back-off restarting failed container

$ kubectl logs -n kube-prometheus-stack-system kube-prometheus-stack-controller-manager-9c49595f-2l4vm manager -p
{"level":"info","ts":1617884665.0066597,"logger":"cmd","msg":"Version","Go Version":"go1.15.11","GOOS":"linux","GOARCH":"amd64","helm-operator":"scorecard-kuttl/v2.0.0+git","commit":"6b6c021400894281b0d35033e83b5671e4c5f1ac"}
{"level":"info","ts":1617884665.007016,"logger":"cmd","msg":"WATCH_NAMESPACE environment variable not set. Watching all namespaces.","Namespace":""}
{"level":"info","ts":1617884665.562092,"logger":"controller-runtime.metrics","msg":"metrics server is starting to listen","addr":"<IP_ADDRESS>:8080"}
{"level":"info","ts":1617884665.5630333,"logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":1617884665.5630617,"logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":1617884665.563072,"logger":"helm.controller","msg":"Watching resource","apiVersion":"helm-chart.example.com/v1","kind":"Promhelm","namespace":"","reconcilePeriod":"1m0s"}
{"level":"info","ts":1617884665.5634668,"logger":"controller-runtime.manager","msg":"starting metrics server","path":"/metrics"}
I0408 12:24:25.563445       1 leaderelection.go:243] attempting to acquire leader lease kube-prometheus-stack-system/kube-prometheus-stack...
I0408 12:24:42.962445       1 leaderelection.go:253] successfully acquired lease kube-prometheus-stack-system/kube-prometheus-stack
{"level":"info","ts":1617884682.9627075,"logger":"controller-runtime.manager.controller.promhelm-controller","msg":"Starting EventSource","source":"kind source: helm-chart.example.com/v1, Kind=Promhelm"}
{"level":"info","ts":1617884683.0632606,"logger":"controller-runtime.manager.controller.promhelm-controller","msg":"Starting Controller"}
{"level":"info","ts":1617884683.0632865,"logger":"controller-runtime.manager.controller.promhelm-controller","msg":"Starting workers","worker count":4}

$ kubectl logs -n kube-prometheus-stack-system kube-prometheus-stack-controller-manager-9c49595f-2l4vm manager
{"level":"info","ts":1617884665.0066597,"logger":"cmd","msg":"Version","Go Version":"go1.15.11","GOOS":"linux","GOARCH":"amd64","helm-operator":"scorecard-kuttl/v2.0.0+git","commit":"6b6c021400894281b0d35033e83b5671e4c5f1ac"}
{"level":"info","ts":1617884665.007016,"logger":"cmd","msg":"WATCH_NAMESPACE environment variable not set. Watching all namespaces.","Namespace":""}
{"level":"info","ts":1617884665.562092,"logger":"controller-runtime.metrics","msg":"metrics server is starting to listen","addr":"<IP_ADDRESS>:8080"}
{"level":"info","ts":1617884665.5630333,"logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":1617884665.5630617,"logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":1617884665.563072,"logger":"helm.controller","msg":"Watching resource","apiVersion":"helm-chart.example.com/v1","kind":"Promhelm","namespace":"","reconcilePeriod":"1m0s"}
{"level":"info","ts":1617884665.5634668,"logger":"controller-runtime.manager","msg":"starting metrics server","path":"/metrics"}
I0408 12:24:25.563445       1 leaderelection.go:243] attempting to acquire leader lease kube-prometheus-stack-system/kube-prometheus-stack...
I0408 12:24:42.962445       1 leaderelection.go:253] successfully acquired lease kube-prometheus-stack-system/kube-prometheus-stack
{"level":"info","ts":1617884682.9627075,"logger":"controller-runtime.manager.controller.promhelm-controller","msg":"Starting EventSource","source":"kind source: helm-chart.example.com/v1, Kind=Promhelm"}
{"level":"info","ts":1617884683.0632606,"logger":"controller-runtime.manager.controller.promhelm-controller","msg":"Starting Controller"}
{"level":"info","ts":1617884683.0632865,"logger":"controller-runtime.manager.controller.promhelm-controller","msg":"Starting workers","worker count":4}

make undeploy

make deploy IMG="localhost:32000/prom-operator:latest"

$ kubectl get pods -n kube-prometheus-stack-system
NAME                                                      READY   STATUS    RESTARTS   AGE
kube-prometheus-stack-controller-manager-9c49595f-m6hlz   2/2     Running   0          24s

sample.yaml:
apiVersion: helm-chart.example.com/v1
kind: Promhelm
metadata:
  name: promhelm-sample
spec:
  additionalPrometheusRulesMap:
    some-rules:
      groups:
        - name: foo
          rules:
            - expr: bar
              record: baz
  alertmanager:
    enabled: false
  grafana:
    enabled: false
    defaultDashboardsEnabled: false
  prometheusOperator:
    admissionWebhooks:
      enabled: false
    tls:
      enabled: false

kubectl apply -f sample.yaml

$ kubectl get pods
NAME                                                  READY   STATUS    RESTARTS   AGE
promhelm-sample-kube-prome-operator-b5f68465b-r6jcj   1/1     Running   0          42s
promhelm-sample-prometheus-node-exporter-jd7c4        1/1     Running   0          43s
prometheus-promhelm-sample-kube-prome-prometheus-0    2/2     Running   1          40s
promhelm-sample-kube-state-metrics-7f7c9dd764-ws6x8   1/1     Running   0          43s

$ kubectl get pods -n kube-prometheus-stack-system
NAME                                                      READY   STATUS    RESTARTS   AGE
kube-prometheus-stack-controller-manager-9c49595f-m6hlz   2/2     Running   3          11m

$ kubectl describe pod -n kube-prometheus-stack-system kube-prometheus-stack-controller-manager-9c49595f-m6hlz
Name:         kube-prometheus-stack-controller-manager-9c49595f-m6hlz
Namespace:    kube-prometheus-stack-system
Priority:     0
Node:         sumologic-kubernetes-collection-operator/<IP_ADDRESS>
Start Time:   Thu, 08 Apr 2021 12:28:51 +0000
Labels:       control-plane=controller-manager
              pod-template-hash=9c49595f
Annotations:  cni.projectcalico.org/podIP: <IP_ADDRESS>/32
              cni.projectcalico.org/podIPs: <IP_ADDRESS>/32
Status:       Running
IP:           <IP_ADDRESS>
IPs:
  IP:           <IP_ADDRESS>
Controlled By:  ReplicaSet/kube-prometheus-stack-controller-manager-9c49595f
Containers:
  kube-rbac-proxy:
    Container ID:  containerd://c2690044d06512b64e0a2a7fbcdce5355f822bbe0a548e2065b8a06a0689e04d
    Image:         gcr.io/kubebuilder/kube-rbac-proxy:v0.8.0
    Image ID:      gcr.io/kubebuilder/kube-rbac-proxy@sha256:a06e7b56c5e1e63b87abb417344f59bf4a8e53695b8463121537c3854c5fda82
    Port:          8443/TCP
    Host Port:     0/TCP
    Args:
      --secure-listen-address=<IP_ADDRESS>:8443
      --upstream=http://<IP_ADDRESS>:8080/
      --logtostderr=true
      --v=10
    State:          Running
      Started:      Thu, 08 Apr 2021 12:28:53 +0000
    Ready:          True
    Restart Count:  0
    Environment:    <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from kube-prometheus-stack-controller-manager-token-gr4qn (ro)
  manager:
    Container ID:  containerd://0bbf3772c4142602b966b374db3bc0ec246820dfec837ea26da6656fc74dcd69
    Image:         localhost:32000/prom-operator:latest
    Image ID:      localhost:32000/prom-operator@sha256:61ce10c111dee0f620e60676225c913bcb0d79e8bab816ecf0100da35c4d2236
    Port:          <none>
    Host Port:     <none>
    Args:
      --health-probe-bind-address=:8081
      --metrics-bind-address=<IP_ADDRESS>:8080
      --leader-elect
      --leader-election-id=kube-prometheus-stack
    State:          Running
      Started:      Thu, 08 Apr 2021 12:39:48 +0000
    Last State:     Terminated
      Reason:       OOMKilled
      Exit Code:    137
      Started:      Thu, 08 Apr 2021 12:36:31 +0000
      Finished:     Thu, 08 Apr 2021 12:39:16 +0000
    Ready:          True
    Restart Count:  3
    Limits:
      cpu:     100m
      memory:  90Mi
    Requests:
      cpu:        100m
      memory:     60Mi
    Liveness:     http-get http://:8081/healthz delay=15s timeout=1s period=20s #success=1 #failure=3
    Readiness:    http-get http://:8081/readyz delay=5s timeout=1s period=10s #success=1 #failure=3
    Environment:  <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from kube-prometheus-stack-controller-manager-token-gr4qn (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             True
  ContainersReady   True
  PodScheduled      True
Volumes:
  kube-prometheus-stack-controller-manager-token-gr4qn:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  kube-prometheus-stack-controller-manager-token-gr4qn
    Optional:    false
QoS Class:       Burstable
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                 node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
  Type     Reason     Age                   From               Message
  ----     ------     ----                  ----               -------
  Normal   Scheduled  12m                   default-scheduler  Successfully assigned kube-prometheus-stack-system/kube-prometheus-stack-controller-manager-9c49595f-m6hlz to sumologic-kubernetes-collection-operator
  Normal   Pulled     12m                   kubelet            Container image "gcr.io/kubebuilder/kube-rbac-proxy:v0.8.0" already present on machine
  Normal   Created    12m                   kubelet            Created container kube-rbac-proxy
  Normal   Started    12m                   kubelet            Started container kube-rbac-proxy
  Normal   Pulled     12m                   kubelet            Successfully pulled image "localhost:32000/prom-operator:latest" in 40.39793ms
  Normal   Pulled     9m12s                 kubelet            Successfully pulled image "localhost:32000/prom-operator:latest" in 77.804653ms
  Normal   Pulled     5m1s                  kubelet            Successfully pulled image "localhost:32000/prom-operator:latest" in 33.196248ms
  Warning  BackOff    118s (x4 over 5m14s)  kubelet            Back-off restarting failed container
  Normal   Pulling    104s (x4 over 12m)    kubelet            Pulling image "localhost:32000/prom-operator:latest"
  Normal   Pulled     104s                  kubelet            Successfully pulled image "localhost:32000/prom-operator:latest" in 34.870757ms
  Normal   Created    104s (x4 over 12m)    kubelet            Created container manager
  Normal   Started    104s (x4 over 12m)    kubelet            Started container manager

$ kubectl logs -n kube-prometheus-stack-system kube-prometheus-stack-controller-manager-9c49595f-m6hlz manager
{"level":"info","ts":1617885589.0111742,"logger":"cmd","msg":"Version","Go Version":"go1.15.11","GOOS":"linux","GOARCH":"amd64","helm-operator":"scorecard-kuttl/v2.0.0+git","commit":"6b6c021400894281b0d35033e83b5671e4c5f1ac"}
{"level":"info","ts":1617885589.0114315,"logger":"cmd","msg":"WATCH_NAMESPACE environment variable not set. Watching all namespaces.","Namespace":""}
{"level":"info","ts":1617885589.6114593,"logger":"controller-runtime.metrics","msg":"metrics server is starting to listen","addr":"<IP_ADDRESS>:8080"}
{"level":"info","ts":1617885589.6125834,"logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":1617885589.6126118,"logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":1617885589.6126218,"logger":"helm.controller","msg":"Watching resource","apiVersion":"helm-chart.example.com/v1","kind":"Promhelm","namespace":"","reconcilePeriod":"1m0s"}
{"level":"info","ts":1617885589.6130738,"logger":"controller-runtime.manager","msg":"starting metrics server","path":"/metrics"}
I0408 12:39:49.613069       1 leaderelection.go:243] attempting to acquire leader lease kube-prometheus-stack-system/kube-prometheus-stack...
I0408 12:40:07.017515       1 leaderelection.go:253] successfully acquired lease kube-prometheus-stack-system/kube-prometheus-stack
{"level":"info","ts":1617885607.0180488,"logger":"controller-runtime.manager.controller.promhelm-controller","msg":"Starting EventSource","source":"kind source: helm-chart.example.com/v1, Kind=Promhelm"}
{"level":"info","ts":1617885607.1210427,"logger":"controller-runtime.manager.controller.promhelm-controller","msg":"Starting Controller"}
{"level":"info","ts":1617885607.1211226,"logger":"controller-runtime.manager.controller.promhelm-controller","msg":"Starting workers","worker count":4}
{"level":"info","ts":1617885617.4087298,"logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":1617885617.408756,"logger":"controller-runtime.manager.controller.promhelm-controller","msg":"Starting EventSource","source":"kind source: policy/v1beta1, Kind=PodSecurityPolicy"}
{"level":"info","ts":1617885617.5090806,"logger":"helm.controller","msg":"Watching dependent resource","ownerApiVersion":"helm-chart.example.com/v1","ownerKind":"Promhelm","apiVersion":"policy/v1beta1","kind":"PodSecurityPolicy"}
{"level":"info","ts":1617885617.5092545,"logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":1617885617.509262,"logger":"controller-runtime.manager.controller.promhelm-controller","msg":"Starting EventSource","source":"kind source: rbac.authorization.k8s.io/v1, Kind=ClusterRoleBinding"}
{"level":"info","ts":1617885617.609786,"logger":"helm.controller","msg":"Watching dependent resource","ownerApiVersion":"helm-chart.example.com/v1","ownerKind":"Promhelm","apiVersion":"rbac.authorization.k8s.io/v1","kind":"ClusterRoleBinding"}
{"level":"info","ts":1617885617.6101124,"logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":1617885617.6101496,"logger":"controller-runtime.manager.controller.promhelm-controller","msg":"Starting EventSource","source":"kind source: monitoring.coreos.com/v1, Kind=ServiceMonitor"}
{"level":"info","ts":1617885617.710829,"logger":"helm.controller","msg":"Watching dependent resource","ownerApiVersion":"helm-chart.example.com/v1","ownerKind":"Promhelm","apiVersion":"monitoring.coreos.com/v1","kind":"ServiceMonitor"}
{"level":"info","ts":1617885617.7112002,"logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":1617885617.7112153,"logger":"controller-runtime.manager.controller.promhelm-controller","msg":"Starting EventSource","source":"kind source: monitoring.coreos.com/v1, Kind=PrometheusRule"}
{"level":"info","ts":1617885617.8114567,"logger":"helm.controller","msg":"Watching dependent resource","ownerApiVersion":"helm-chart.example.com/v1","ownerKind":"Promhelm","apiVersion":"monitoring.coreos.com/v1","kind":"PrometheusRule"}
{"level":"info","ts":1617885617.8125825,"logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":1617885617.812598,"logger":"controller-runtime.manager.controller.promhelm-controller","msg":"Starting EventSource","source":"kind source: /v1, Kind=Service"}
{"level":"info","ts":1617885617.9143608,"logger":"helm.controller","msg":"Watching dependent resource","ownerApiVersion":"helm-chart.example.com/v1","ownerKind":"Promhelm","apiVersion":"v1","kind":"Service"}
{"level":"info","ts":1617885617.9153116,"logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":1617885617.9154415,"logger":"controller-runtime.manager.controller.promhelm-controller","msg":"Starting EventSource","source":"kind source: /v1, Kind=ServiceAccount"}
{"level":"info","ts":1617885618.0158792,"logger":"helm.controller","msg":"Watching dependent resource","ownerApiVersion":"helm-chart.example.com/v1","ownerKind":"Promhelm","apiVersion":"v1","kind":"ServiceAccount"}
{"level":"info","ts":1617885618.016231,"logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":1617885618.0162437,"logger":"controller-runtime.manager.controller.promhelm-controller","msg":"Starting EventSource","source":"kind source: apps/v1, Kind=Deployment"}
{"level":"info","ts":1617885618.1166298,"logger":"helm.controller","msg":"Watching dependent resource","ownerApiVersion":"helm-chart.example.com/v1","ownerKind":"Promhelm","apiVersion":"apps/v1","kind":"Deployment"}
{"level":"info","ts":1617885618.1170475,"logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":1617885618.1170623,"logger":"controller-runtime.manager.controller.promhelm-controller","msg":"Starting EventSource","source":"kind source: monitoring.coreos.com/v1, Kind=Prometheus"}
{"level":"info","ts":1617885618.257182,"logger":"helm.controller","msg":"Watching dependent resource","ownerApiVersion":"helm-chart.example.com/v1","ownerKind":"Promhelm","apiVersion":"monitoring.coreos.com/v1","kind":"Prometheus"}
{"level":"info","ts":1617885618.2598388,"logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":1617885618.2598763,"logger":"controller-runtime.manager.controller.promhelm-controller","msg":"Starting EventSource","source":"kind source: rbac.authorization.k8s.io/v1, Kind=ClusterRole"}
{"level":"info","ts":1617885618.3602767,"logger":"helm.controller","msg":"Watching dependent resource","ownerApiVersion":"helm-chart.example.com/v1","ownerKind":"Promhelm","apiVersion":"rbac.authorization.k8s.io/v1","kind":"ClusterRole"}
{"level":"info","ts":1617885618.3641388,"logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":1617885618.3641825,"logger":"controller-runtime.manager.controller.promhelm-controller","msg":"Starting EventSource","source":"kind source: apps/v1, Kind=DaemonSet"}
{"level":"info","ts":1617885618.5082662,"logger":"helm.controller","msg":"Watching dependent resource","ownerApiVersion":"helm-chart.example.com/v1","ownerKind":"Promhelm","apiVersion":"apps/v1","kind":"DaemonSet"}
{"level":"info","ts":1617885618.5151618,"logger":"helm.controller","msg":"Reconciled release","namespace":"default","name":"promhelm-sample","apiVersion":"helm-chart.example.com/v1","kind":"Promhelm","release":"promhelm-sample"}
{"level":"info","ts":1617885689.213356,"logger":"helm.controller","msg":"Reconciled release","namespace":"default","name":"promhelm-sample","apiVersion":"helm-chart.example.com/v1","kind":"Promhelm","release":"promhelm-sample"}

$ kubectl logs -n kube-prometheus-stack-system kube-prometheus-stack-controller-manager-9c49595f-m6hlz manager -p
{"level":"info","ts":1617885392.0094311,"logger":"cmd","msg":"Version","Go Version":"go1.15.11","GOOS":"linux","GOARCH":"amd64","helm-operator":"scorecard-kuttl/v2.0.0+git","commit":"6b6c021400894281b0d35033e83b5671e4c5f1ac"}
{"level":"info","ts":1617885392.0097,"logger":"cmd","msg":"WATCH_NAMESPACE environment variable not set. Watching all namespaces.","Namespace":""}
{"level":"info","ts":1617885392.5659904,"logger":"controller-runtime.metrics","msg":"metrics server is starting to listen","addr":"<IP_ADDRESS>:8080"}
{"level":"info","ts":1617885392.5668662,"logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":1617885392.5668905,"logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":1617885392.5668995,"logger":"helm.controller","msg":"Watching resource","apiVersion":"helm-chart.example.com/v1","kind":"Promhelm","namespace":"","reconcilePeriod":"1m0s"}
{"level":"info","ts":1617885392.5672748,"logger":"controller-runtime.manager","msg":"starting metrics server","path":"/metrics"}
I0408 12:36:32.567256       1 leaderelection.go:243] attempting to acquire leader lease kube-prometheus-stack-system/kube-prometheus-stack...
I0408 12:36:49.976819       1 leaderelection.go:253] successfully acquired lease kube-prometheus-stack-system/kube-prometheus-stack
{"level":"info","ts":1617885409.9772243,"logger":"controller-runtime.manager.controller.promhelm-controller","msg":"Starting EventSource","source":"kind source: helm-chart.example.com/v1, Kind=Promhelm"}
{"level":"info","ts":1617885410.0789983,"logger":"controller-runtime.manager.controller.promhelm-controller","msg":"Starting Controller"}
{"level":"info","ts":1617885410.0790343,"logger":"controller-runtime.manager.controller.promhelm-controller","msg":"Starting workers","worker count":4}
{"level":"info","ts":1617885420.4141154,"logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":1617885420.4141743,"logger":"controller-runtime.manager.controller.promhelm-controller","msg":"Starting EventSource","source":"kind source: /v1, Kind=Service"}
{"level":"info","ts":1617885420.6142578,"logger":"helm.controller","msg":"Watching dependent resource","ownerApiVersion":"helm-chart.example.com/v1","ownerKind":"Promhelm","apiVersion":"v1","kind":"Service"}
{"level":"info","ts":1617885420.6146474,"logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":1617885420.6146653,"logger":"controller-runtime.manager.controller.promhelm-controller","msg":"Starting EventSource","source":"kind source: monitoring.coreos.com/v1, Kind=ServiceMonitor"}
{"level":"info","ts":1617885420.7150357,"logger":"helm.controller","msg":"Watching dependent resource","ownerApiVersion":"helm-chart.example.com/v1","ownerKind":"Promhelm","apiVersion":"monitoring.coreos.com/v1","kind":"ServiceMonitor"}
{"level":"info","ts":1617885420.7153766,"logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":1617885420.715394,"logger":"controller-runtime.manager.controller.promhelm-controller","msg":"Starting EventSource","source":"kind source: rbac.authorization.k8s.io/v1, Kind=ClusterRole"}
{"level":"info","ts":1617885420.863868,"logger":"helm.controller","msg":"Watching dependent resource","ownerApiVersion":"helm-chart.example.com/v1","ownerKind":"Promhelm","apiVersion":"rbac.authorization.k8s.io/v1","kind":"ClusterRole"}
{"level":"info","ts":1617885420.8646004,"logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":1617885420.864618,"logger":"controller-runtime.manager.controller.promhelm-controller","msg":"Starting EventSource","source":"kind source: monitoring.coreos.com/v1, Kind=Prometheus"}
{"level":"info","ts":1617885420.9706144,"logger":"helm.controller","msg":"Watching dependent resource","ownerApiVersion":"helm-chart.example.com/v1","ownerKind":"Promhelm","apiVersion":"monitoring.coreos.com/v1","kind":"Prometheus"}
{"level":"info","ts":1617885420.970929,"logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":1617885420.9709432,"logger":"controller-runtime.manager.controller.promhelm-controller","msg":"Starting EventSource","source":"kind source: monitoring.coreos.com/v1, Kind=PrometheusRule"}
{"level":"info","ts":1617885421.071404,"logger":"helm.controller","msg":"Watching dependent resource","ownerApiVersion":"helm-chart.example.com/v1","ownerKind":"Promhelm","apiVersion":"monitoring.coreos.com/v1","kind":"PrometheusRule"}
{"level":"info","ts":1617885421.071789,"logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":1617885421.071804,"logger":"controller-runtime.manager.controller.promhelm-controller","msg":"Starting EventSource","source":"kind source: /v1, Kind=ServiceAccount"}
{"level":"info","ts":1617885421.1719925,"logger":"helm.controller","msg":"Watching dependent resource","ownerApiVersion":"helm-chart.example.com/v1","ownerKind":"Promhelm","apiVersion":"v1","kind":"ServiceAccount"}
{"level":"info","ts":1617885421.172388,"logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":1617885421.1724393,"logger":"controller-runtime.manager.controller.promhelm-controller","msg":"Starting EventSource","source":"kind source: rbac.authorization.k8s.io/v1, Kind=ClusterRoleBinding"}
{"level":"info","ts":1617885421.2729137,"logger":"helm.controller","msg":"Watching dependent resource","ownerApiVersion":"helm-chart.example.com/v1","ownerKind":"Promhelm","apiVersion":"rbac.authorization.k8s.io/v1","kind":"ClusterRoleBinding"}
{"level":"info","ts":1617885421.2758267,"logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":1617885421.2758417,"logger":"controller-runtime.manager.controller.promhelm-controller","msg":"Starting EventSource","source":"kind source: policy/v1beta1, Kind=PodSecurityPolicy"}
{"level":"info","ts":1617885421.3760803,"logger":"helm.controller","msg":"Watching dependent resource","ownerApiVersion":"helm-chart.example.com/v1","ownerKind":"Promhelm","apiVersion":"policy/v1beta1","kind":"PodSecurityPolicy"}
{"level":"info","ts":1617885421.3806233,"logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":1617885421.3806388,"logger":"controller-runtime.manager.controller.promhelm-controller","msg":"Starting EventSource","source":"kind source: apps/v1, Kind=Deployment"}
{"level":"info","ts":1617885421.5051467,"logger":"helm.controller","msg":"Watching dependent resource","ownerApiVersion":"helm-chart.example.com/v1","ownerKind":"Promhelm","apiVersion":"apps/v1","kind":"Deployment"}
{"level":"info","ts":1617885421.5117383,"logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":1617885421.5118723,"logger":"controller-runtime.manager.controller.promhelm-controller","msg":"Starting EventSource","source":"kind source: apps/v1, Kind=DaemonSet"}
{"level":"info","ts":1617885421.812438,"logger":"helm.controller","msg":"Watching dependent resource","ownerApiVersion":"helm-chart.example.com/v1","ownerKind":"Promhelm","apiVersion":"apps/v1","kind":"DaemonSet"}
{"level":"info","ts":1617885421.8141348,"logger":"helm.controller","msg":"Reconciled release","namespace":"default","name":"promhelm-sample","apiVersion":"helm-chart.example.com/v1","kind":"Promhelm","release":"promhelm-sample"}
{"level":"info","ts":1617885492.5111997,"logger":"helm.controller","msg":"Reconciled release","namespace":"default","name":"promhelm-sample","apiVersion":"helm-chart.example.com/v1","kind":"Promhelm","release":"promhelm-sample"}

I've found the reason in kubectl describe output:
Last State:     Terminated
      Reason:       OOMKilled

so I think that assigning sufficient resources for Pod will solve this issue.


enhancement: build also in dockerfile - transparent build different platforms

Summary
Also run the actual build process of the exporter within the dockerfile - so this is portable to run it also on e.g. raspis with this dockerfile definition
Checklist

enhancement
no documentation update needed

Hi @mabunixda
Thanks for your interest in the project and making a PR.
Did you know that crossbuild is already happening with Goreleaser? Inside that config file you will see which OS and arch is enabled and which Docker images. Right now, it's for linux/amd64, linux/arm64/v8 and linux/arm/v7. This is done with Docker manifest, so when pulling latest and other tags, your docker client should automatically select the version for our OS and arch. The ARM images should cover your case for a raspi.
In case a particular arch is missing, please let me know.

Ok i missed that - but how can this be done locally ?

There's no direct support for crossbuilding locally. However you have some options to figure out.
You can either: build locally with goreleaser or manually
With Goreleaser:
export GOOS=linux
export GOARCH=arm64
export IMAGE_REPOSITORY=ccremer/fronius-exporter
goreleaser build --snapshot --rm-dist --single-target

(I don't know if goreleaser build also builds the docker image though and not just the binary. Otherwise use goreleaser release --snapshot --skip-sign)
export GOOS=linux
export GOARCH=arm64
make build
# you now have a binary with arm64 arch

docker buildx build --platform ... .

I didn't test neither approach, but hopefully it helps you.

Hi @mabunixda
Did that help you? If yes, we could consider adding some lines to the README at least.


interface simple pipeline

I want to try to implement a pipeline for memcached commands. This PR provides a sample template. What do you think about it? I'd like to make it work with the get and set command stack at least

I have some limited time for reviewing PRs and proposals, I would prefer if we could go one by one, at least for this one and the https://github.com/emcache/emcache/pull/136 since are complex enough.


Deselect text when jumping to function

Fix #16479 (deselect text when jumping to function).

Just to be clear, here's how it behaves currently:

And with this PR:


Add /blog

Very simple dummy blog for now (to get the announcement out). Will improve it in due time (before the 2nd blog post is published).

Great. Code looks good, will try to test locally today.
Note for other reviewers: doesn't look like CI automatically deploys to the live infra (based on contents of https://github.com/OpenSats/website/blob/master/.github/workflows/build.yml).

@jamesob not sure what you mean regarding deployment?
We've deployed a lot of changes in the last couple of days. Both Preview and Production are working fine.

@dergigi what I mean is that, as far as I can tell, merging does not trigger an automatic deployment. But I could be wrong!


Setting multiple cookies at once

It would be useful to be able to set multiple cookies at once so that server would return more than one set-cookie header. The need came out while investigating https://github.com/shazow/urllib3/issues/3

Hmm, maybe.


Ruby retract/assert

Can you explain the difference between retract/assert vs retract_fact/assert_fact methods?
I am not assigning id's myself (if that matters) and I seem to see very different, non-obvious, behavior when using these interchangeably.

I'll also add that in my use-case I'm asserting this fact (via assert) from inside an action. If I retract from a different action, it doesn't seem to actually retract it. If I try assigning an id in my original assertion, I receive the following error after the retract:
ERR Error running script (call to f_b02ecc4a0c7779ccf1ac6506221ab6eee82e02d8): @user_script:1015: user_script:1015: attempt to index local 'frame' (a number value)

Thanks again!

Hi, retract/assert are the only valid methods in Ruby (retract_fact/assert_fact are not defined). Would you mind pasting the code you are having problems with?

Oh ok! I've since switched to a statechart, so maybe I'm not properly catching the exceptions when I tried retract_fact/assert_fact.
Below is the code I'm working with. I've made this a fictitious example to conceal some of our internal properties, so no need to read too heavily into the properties / rules. However, this does demonstrate the same `ERR Error running script" issue I'm seeing.
The general idea is to 1) have a state for linking together similar boxes based on various criteria 2) a review state to ensure choices are OK and retract/re-process boxes if something isn't ideal (hoping when it goes back into the previous state the working set of facts is different and therefore different results) and then 3) eventually take these grouped boxes and assign them to particular locations in the warehouse.
Aside from this error, based on some debugging it seems retracting the neighbor fact doesn't actually remove it. Any and all feedback is welcome to my approach. It's been a work in progress to get things working thus far. Thank you again!
require "durable"

Durable.statechart :service do
  state :start do
    to :positioning
  end

  # Link similar boxes together
  state :positioning do

    # (0) Position cold temperature boxes next to similar
    to :positioning, when_all(pri(0), c.b1 = (m.t == "box") &
                                             ((m.temperature == "cold") | (m.temperature == "any")),
                                      c.b2 = (m.t == "box") &
                                             (m.temperature != "room") &
                                             (m.box_id != b1.box_id),
                                      none((m.t == "neighbor") & (m.b1 == b1.box_id)), none((m.t == "neighbor") & (m.b1 == b2.box_id)), none((m.t == "neighbor") & (m.b2 == b2.box_id))) do

      assert(:t => "neighbor", :b1 => b1.box_id, :b2 => b2.box_id)
      post(:t => "visited", :box_id => b1.box_id)
      puts "#{b1.box_id} (#{b1.contents}) neighbor to #{b2.box_id} (#{b2.contents})"
    end

    # (0) Position room temperature boxes next to similar
    to :positioning, when_all(pri(0), c.b1 = (m.t == "box") &
                                             ((m.temperature == "room") | (m.temperature == "any")),
                                      c.b2 = (m.t == "box") &
                                             (m.temperature != "cold"),
                                             (m.box_id != b1.box_id),
                                      none((m.t == "neighbor") & (m.b1 == b1.box_id)), none((m.t == "neighbor") & (m.b1 == b2.box_id)), none((m.t == "neighbor") & (m.b2 == b2.box_id))) do

      assert(:t => "neighbor", :b1 => b1.box_id, :b2 => b2.box_id)
      post(:t => "visited", :box_id => b1.box_id)
      puts "#{b1.box_id} (#{b1.contents}) neighbor to #{b2.box_id} (#{b2.contents})"
    end

    # (1) Once a box has been linked from, move it to the check/review stage
    to :check, when_all(pri(1), (m.t == "visited")) do
      puts "To check..."
    end
  end

  # Review linked boxes - retract any errors or unoptimized choices and re-process those boxes
  state :check do

    # (0) Send solo (non-linked) boxes back into positioning (not certain this is an actual possible case, yet)
    to :positioning, when_all(pri(0), c.box = (m.t == "box"),
                                      none((m.t == "neighbor") & (m.b1 == box.box_id)),
                                      none((m.t == "neighbor") & (m.b2 == box.box_id))) do

      puts "Re-processing non-linked box #{box.box_id}..."
    end

    # (1) Send boxes that fail neighbor blacklist (b1 -> b2) back into positioning
    to :positioning, when_all(pri(1), c.b1 = (m.t == "box"),
                                      c.b2 = (m.t == "box") &
                                             (m.neighbor_blacklist == b1.contents),
                                      c.neighbor = (m.t == "neighbor") &
                                                   (m.b1 == b1.box_id) &
                                                   (m.b2 == b2.box_id)) do

      puts "Retract neighbor join and re-processing blacklisted boxes #{b1.box_id} (#{b1.contents}) / #{b2.box_id} (#{b2.contents})..."
      retract(neighbor)
    end

    # (1) Send boxes that fail neighbor blacklist (b2 -> b1) back into positioning
    to :positioning, when_all(pri(1), c.b1 = (m.t == "box"),
                                      c.b2 = (m.t == "box") &
                                             (m.neighbor_blacklist == b1.contents),
                                      c.neighbor = (m.t == "neighbor") &
                                                   (m.b1 == b2.box_id) &
                                                   (m.b2 == b1.box_id)) do

      puts "Retract neighbor join and re-processing blacklisted boxes #{b1.box_id} (#{b1.contents}) / #{b2.box_id} (#{b2.contents})..."
      retract(neighbor)
    end

    to :complete, when_all(pri(2), (m.t == "box") & (+m.testing)) do
      puts "Completing process..."
    end

    to :check
  end

  state :complete

  when_start do
    assert :service, { t: "box", :box_id => "B1", :fragile => false, :temperature => "cold", :contents => "Food", :neighbor_blacklist => "Chemical" }
    assert :service, { t: "box", :box_id => "B2", :fragile => false, :temperature => "cold", :contents => "Food", :neighbor_blacklist => "Chemical" }
    assert :service, { t: "box", :box_id => "B3", :fragile => false, :temperature => "cold", :contents => "Food", :neighbor_blacklist => "Chemical" }
    assert :service, { t: "box", :box_id => "B4", :fragile => false, :temperature => "cold", :contents => "Food", :neighbor_blacklist => "Chemical" }

    assert :service, { t: "box", :box_id => "B5", :fragile => true, :temperature => "room", :contents => "Glass", :neighbor_blacklist => "" }
    assert :service, { t: "box", :box_id => "B6", :fragile => true, :temperature => "room", :contents => "Glass", :neighbor_blacklist => "" }
    assert :service, { t: "box", :box_id => "B7", :fragile => true, :temperature => "room", :contents => "Glass", :neighbor_blacklist => "" }

    assert :service, { t: "box", :box_id => "B8", :fragile => false, :temperature => "any", :contents => "Chemical", :neighbor_blacklist => "" }
    assert :service, { t: "box", :box_id => "B9", :fragile => false, :temperature => "any", :contents => "Chemical", :neighbor_blacklist => "" }
  end
end

Durable.run_all

I've done a few more tests on this and it indeed seems that the retract(neighbor) isn't retracting when sent back into the positioning state.

Hi, thanks for posting the sample code. Let me debug your scenario. I will report back in a couple of days.

Great thanks! If helpful, I'm happy to email over the full working code (vs this example). I just didn't want to post here. Let me know - thanks again.

Hi, reporting back on this. There was a bug when verifying the action frame before dispatch, when an event/fact has been asserted after action scheduling. I have fixed the bug and published the change to gem, npm and pipy. Please give it a try.

Thanks @jruizgit! Will test this shortly and report back.

This is working now! Thanks again, @jruizgit !!


Add MikroTik Cloud Hosted Router.

Summary
Add MikroTik Cloud Hosted Router node definition.

Thanks!  I love that we're having people contribute new node types.  A couple of things:

I didn't see a QCOW2 image from the download site.  That's fine, it can be generated, but can you include the instructions in your readme as to which image to download and how to convert it to QCOW2?
Can you include a sample image def that you used?

@xorrkaz
Thank you for your reply!
I fixed following:

The image conversion procedure of CHR was added.
Add CHR image definition.

Fixed the structure of the virl-base-images directory when adding the CHR image definition. Is that okay?

Thanks!  Looks good.

Ah, I missed it.  You didn't add your name to the Authors section in the root README.md.  Want to create a new PR to add it?


Error: when pressing ESC key

From anywhere in the app if i press ESC i get following error:
Uncaught TypeError: v.contains is not a function     at HTMLDocument.n (vue-sonner.js?v=5d769250:669:157)

Nice, thank you  🙏


AWS keystore retrieval with secrets manager

PR description
Class for retrieving BLS keystores from AWS Secrets manager.
Fixed Issue(s)
Fixes https://github.com/ConsenSys/signers/issues/131

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


First re-centering zoom doesn't match initial zoom

Describe the bug
First of all I want to thank you for the new version. I played around with it a bit and it works very well! 👏👏👏
The only thing I noticed is that when initialZoom is set, the first expansion of a node is zoomed in with ZoomLevel 1.
You can reproduce it with the example. So it shouldn't be an error in my config.
To Reproduce
Steps to reproduce the behavior:

Set initialZoom (e.g. initialZoom(0.3)
Expand a node
See that the expansion ignored the initial zoom level and zoomed in more (probably default zoom level 1)

Expected behavior
The zoom should match the initial zoom level.
Screenshots
Before expansion:

After expansion:

Thanks for reporting
I fixed it with this commit - https://github.com/bumbeishvili/org-chart/commit/9a179c1d5ef74fec1c35045c109ab9808c2a8f1d
And published it on NPM as well
If you want to give it a try, load this version in your project  -<EMAIL_ADDRESS>, not sure when jsdelivr updates its cache to load the latest version

Thanks a lot for the really quick fix!
I noticed that with initial zoom the first expansion has a different animation that the other expansions. It doesn't bother me, but wanted to let you know.

@chrisslazzz  yes, I know about that. It's because by default active node gets centered.
You can turn it off using the following snippet
chart
    .initialZoom(0.5)
    .setActiveNodeCentered(false) //  Turns of default node centering


Fix versionable behavior

As mentioned in issue #824  versionble behavior was generating the version table with duplicate prefix.
Table was changed the call method Table::getName() and replaced by Table::getOriginCommonName()
And finally been implemented tests for database with tablePrefix.

Cool, thanks!


Command: Testing expectation - support closures

If we are using closures, we can generate from closure typehints expected result and input parameters:
expectation would not create Closure $createData but
public readonly NotebookPageEntity $createDataPage,
        public readonly NotebookFinancePageEntity $createDataResultResult,

Assert::assertEquals($createData($expectation->createDataResultPage), $expectation->createDataResult, $message);

https://github.com/larastrict/strict-mock/issues/10


Back port v2023-11-22 Azure REST specs

Which issue this PR addresses:

Fixes https://issues.redhat.com/browse/ARO-5599
What this PR does / why we need it:

This PR back ports changes made to upstream v2023-11-22 Azure REST specs and a handful of additional changes to align ARO-RP REST specs and Azure REST specs.
Changes include:

Change Provisioning State "Cancelled" -> "Canceled".  This change was required for ARM SignOff to upstream v2023-11-22 to Azure REST Specs.
Add x-ms-enum header to ProvisioningState and PreconfiguredNSG.  These changes were in Azure REST specs but never made it to ARO-RP during previous API upstreaming.
Add WorkerProfilesStatus to examples in 2023-11-22.  This was missed when creating v2023-11-22 in ARO-RP.

Test plan for issue:
Existing CI

Is there any documentation that needs to be updated for this PR?


Replacing Lenna as an example image

Is your feature request related to a problem? Please describe.
Please see the context below.
Describe the solution you'd like
Use something other than Lenna for examples.
Describe alternatives you've considered
How about one from Kodak image collection?
Additional context
Thanks for all the hard works on Jimp. While going through docs, I noticed that you are using Lenna as an example image. I believe the history of the image ( link for Wikipedia article )  goes against code of conduct of this repo.
Leaving this link for more context: https://www.tandfonline.com/doi/full/10.1080/09500340.2016.1270881

+1
Also more backstory in the article at https://www.theatlantic.com/technology/archive/2016/02/lena-image-processing-playboy/461970/

Totally down for it! Just don't have the time to do it myself. Feel free to make a PR!

Done 🚀


Release: hwc-buildpack 3.1.17

Dependency Changes:
No dependency changes

New Commits on Develop:
501ef0b Update libbuildpack
59ea704 Update libbuildpack
ce24114 Update libbuildpack
ffd4469 Update libbuildpack
Refer to release instructions.

Nothing to release. Closing.


Prowles does not return Groups and Checks definitions using csv and json formats

Groups and Checks definitions are working option for  -M mono flag and at default output.
In details:
Groups definition
./prowler -L -M mono -b
<list of Groups>

But:
./prowler -L -M json -b
<empty>
./prowler -L -M csv -b
<empty>

Checks definition
Does not work json format
 ./prowler -l -M json -b
<empty>

As I said in your other issue #504, options -L or -l don't execute any check, they only list existing groups of checks respectively.

@toniblyx exactly, I want to list all available checks without real scanning, but prowler return the empty  value.

To list available checks ./prowler -l, to list available groups ./prowler -L. Feel free to reopen this case if you need further information.


Creating a session in Netty like in Mina

I am new to Github and also to Netty. I am currently using netty 4.1.11. I also worked slightly with Mina package. In Mina whenever a client gets connected to a Server automatically a session is created. Is there anyway doing the same in Netty? I am working in Stocking market.As a result I need to connect to the Exchange market and get the data. For this I need to create a session. Is there anyway for creating a session in Netty? Can anyone please provide an example. It will help others also.
A simple client that creates a session whenever it is connected to a server.
JVM version :1.8
OS version :windows

@Hema-Chandra what is a Session in mina ?

Every time a client connects to the server, a new session is created on the server, and will be kept in memory until the client is disconnected. If you are using MINA on the client side, everytime you conect to a server, a session will be created on the client too.
A session is used to store persistent informations about the connection, plus any kind of information the client or the server might need to use during the request processing, and eventually during the whole session life.
This is also your access point for any operation you need to do on a session : sending messages, closing the session, etc...
You can get a sample look here:
https://mina.apache.org/mina-project/userguide/ch4-session/ch4-session.html

I guess Channel.attr(...) is what you are looking for to store stuff and then you would just use Channel.* or ChannelHandlerContext.* operations for write etc

Sorry, I didn't get you. Can you please provide an example. I have been searching for this from past 9 days


⚠ Samsung has degraded performance

In d72a24e, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2224 ms

Resolved: Samsung performance has improved in 5a5f991.


About experiment detail

Hello, your work is excellent. I would like to ask for your advice on how many A800 to use for this experiment's full fine-tune？
I am looking forward to your early reply!

Hi,
We used 8 A800s for full-tuning, and the training time is about 15 hours.

ok, thank you very much!


Test to see if Issues working for end-user content

this is a test. Please assign to me, mihart.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 66e6d45d-17cd-6e69-cdf8-2b1d58bb4889
Version Independent ID: 058458dd-4115-4dc0-c87e-0ed659bd0d60
Content: Power BI service- basic concepts for consumers - Power BI
Content Source: powerbi-docs/consumer/end-user-basic-concepts.md
Service: powerbi
GitHub Login: @mihart
Microsoft Alias: mihart

Hi, @mihart -- assigning this test issue to you. Hope that helps!


Add utility function to save/load all models/optimizers stored in an accelerator

Hi all,
I'm not from the nlp regime, but I love the concept of accelerate. However, I would like to propose some new features.
Since every accelerator.prepare call will essentially store a reference of the object in accelerator. It should be easy to implement a save_all()/load_all() utility that saves/loads all the pytorch module and optimizer state dicts to/from a checkpoint. This utility also has the benifit to save and load the state dict of grad scaler, and potentially any other internal states (which are all agnostic to accelerator users)
I guess the singature could look something like def save_all(self, filename: str, dict_of_additional_usr_data: Dict[str, Any])
What do the maintainers think of this utility?

Yes, this is on the roadmap and should come in the next few weeks! It will save everything you said plus all the RNG states, so that one can resume training in the exact same conditions. It will also provide an easy way to upload said checkpoint to the Hub so that you can easily resume training on another machine.
I am swamped until the end of next week but hoping to get into adding this the first week of October :-)

Is this feature still on the roadmap?

Yes, I just need the time to dig into it. I have a few things to wrap up in Transformers but plan to work on Accelerate only afterward for a couple of months.


Add shadow drive support

This PR adds a new shdw upload method supporting Shadow Drive v1.5

Moved to draft to wait for v1.5 release.


chore: add CODEOWNERS

Let's take this as the first draft version and improve it / discuss it before merging
Note: Will is off this week, back next week.

Looks like I need to add it in the exclude list for CI :D


[VL] Make velox writer queue size configurable

What changes were proposed in this pull request?
This PR aims to make velox writer queue size is configurable to avoid oom from being caused by too many batches.
How was this patch tested?
GA

cc @PHILO-HE

@yikf, it looks good to me. Did you observe that this config can help relieve the OOM issue on your side?
BTW, please fix code style issue, see reference:
https://github.com/apache/incubator-gluten/blob/main/docs/developers/NewToGluten.md#javascala-code-style

BTW, please fix code style issue, see reference:
https://github.com/apache/incubator-gluten/blob/main/docs/developers/NewToGluten.md#javascala-code-style

thanks for the reminding of codestyle.

it looks good to me. Did you observe that this config can help relieve the OOM issue on your side?

yes, we have a scenario which trigger an oom is due to a large number of batches being held in a queue. making queue configurable may reduce oom occurrence, but it will also block the query thread, which is not optimal, but it is the fastest way to prevent oom. then we can implement push-based writing to refactor the logic of this piece


Fix action validation error

Purpose
Allow local variable de-structure on action result.
Fixes https://github.com/ballerina-platform/ballerina-lang/issues/19019
Approach

Describe how you are implementing the solutions along with the design details.

Samples

Provide high-level details about the samples related to this feature.

Remarks

List any other known issues, related PRs, TODO items, or any other notes related to the PR.

Check List

[ ] Read the Contributing Guide
[ ] Required Balo version update
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[ ] Added necessary tests

[ ] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

Codecov Report

Merging #19203 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master   #19203   +/-   ##
=======================================
  Coverage    15.8%    15.8%
=======================================
  Files          47       47
  Lines        1259     1259
  Branches      196      196
=======================================
  Hits          199      199
  Misses       1047     1047
  Partials       13       13

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update cd208e1...d19aca8. Read the comment docs.

@hasithaa, @rdhananjaya the relevant issue has been marked minor-compatible, but can't we add this to a patch instead? AFAICT, this wouldn't break anything?