Commit graph

360 commits

Author SHA1 Message Date
Kubernetes Prow Robot
89b6c7e31c
Merge pull request #406 from dgrisonnet/fix-build
Makefile: consolidate docker-build
2021-06-03 06:49:38 -07:00
Kubernetes Prow Robot
a7ff3cb9c2
Merge pull request #405 from dgrisonnet/filter-pods
Filter non-running pods
2021-06-03 06:45:38 -07:00
Damien Grisonnet
ef7bb58ff2 go.mod: remove localvendor
The latest version of metrics-server, v0.5.0 doesn't seem to require
having kubelet dependencies locally anymore. Thus, we can safely remove
the localvendor directory that was used to store them.

Signed-off-by: Damien Grisonnet <dgrisonn@redhat.com>
2021-06-02 17:26:03 +02:00
Damien Grisonnet
03e8eb8ddb Makefile: consolidate docker-build
As part of this commit, I upgraded the golang image used for building to
1.16 and consolidated how the docker-build rule was working. Previously,
it was failing in master's CI because the go modules were not downloaded
in the build image. To improve that, I replaced the combination of
docker run and docker build by a multi-stage Dockerfile responsible for
building the adapter and running it.

In addition to that, I removed the `_output` directory completely as it
wasn't really meaningful to have it anymore. I also removed the
`build-local-image` rule as it was a duplicate of the `docker-build`
rule with the only different of using a scratch base image.

Also, since all the base images that we are using by default are based
on busybox, I change the UID used in the image to 65534 which correspond
to the nobody user in busybox.

Signed-off-by: Damien Grisonnet <dgrisonn@redhat.com>
2021-06-02 17:12:27 +02:00
Damien Grisonnet
cf45915a4a pkg: only account for Pods in running state
Create the pod lister based on a filtered informer factory that will
filter non-running pods so that prometheus-adapter don't expect metrics
from them.

Signed-off-by: Damien Grisonnet <dgrisonn@redhat.com>
2021-06-02 11:38:09 +02:00
Kubernetes Prow Robot
815fa20931
Merge pull request #404 from dgrisonnet/module
Move prometheus-adapter to sigs.k8s.io golang package
2021-06-02 02:30:06 -07:00
Damien Grisonnet
9dfbca09ca go.mod: move to sigs.k8s.io golang package
Signed-off-by: Damien Grisonnet <dgrisonn@redhat.com>
2021-06-01 17:35:45 +02:00
Kubernetes Prow Robot
215cb0c292
Merge pull request #395 from dgrisonnet/panic-ms
Prevent metrics-server panics on GetContainerMetrics and GetNodeMetrics
2021-06-01 07:58:27 -07:00
Damien Grisonnet
76e61d47f6 pkg/resourceprovider: prevent metrics-server panic
The code that we are reusing from metrics-server to call
GetContainerMetrics and GetNodeMetrics requires that both functions
returns arrays of lengths of the number of pods/nodes given as
arguments. In some cases, prometheus-adapter was returning nil which
caused panics in metrics-server code.

Signed-off-by: Damien Grisonnet <dgrisonn@redhat.com>
2021-06-01 16:32:58 +02:00
Kubernetes Prow Robot
09334d3a6d
Merge pull request #399 from dgrisonnet/deps
go.mod: bump dependencies
2021-06-01 07:22:27 -07:00
Damien Grisonnet
c67e8f5956 go.mod: bump dependencies
Signed-off-by: Damien Grisonnet <dgrisonn@redhat.com>
2021-06-01 15:25:56 +02:00
Kubernetes Prow Robot
dd7a263002
Merge pull request #401 from dgrisonnet/vendor
Remove vendor directory
2021-06-01 06:22:27 -07:00
Damien Grisonnet
9148122308 chore: update gitignore
Signed-off-by: Damien Grisonnet <dgrisonn@redhat.com>
2021-05-26 09:45:52 +02:00
Damien Grisonnet
39b782bce9 chore: remove vendor directory
Signed-off-by: Damien Grisonnet <dgrisonn@redhat.com>
2021-05-26 09:41:03 +02:00
Kubernetes Prow Robot
f3aafa7c8f
Merge pull request #400 from dgrisonnet/openapi
hack/tools: remove openapi-gen install in vendor
2021-05-26 00:17:21 -07:00
Damien Grisonnet
7bc0f0473d hack/tools: remove openapi-gen install in vendor
Signed-off-by: Damien Grisonnet <dgrisonn@redhat.com>
2021-05-25 19:13:16 +02:00
Kubernetes Prow Robot
c893b1140c
Merge pull request #380 from carsonoid/issue-324-carsonoid
Allow metrics to be defined as `namespaced: false`
2021-05-12 06:12:17 -07:00
Carson Anderson
6c1d85ccf9 Split ExternalMetricsQuery and MetricsQuery funcs 2021-05-11 14:49:11 -06:00
Carson Anderson
c0ae5d6dd4 fix tests 2021-04-23 11:39:47 -06:00
Carson Anderson
fa5f8cd742 Add requested fixes 2021-04-23 11:27:38 -06:00
Carson Anderson
510c3724ce Add docs, tests, and move namespaced to metricsQuery 2021-04-08 11:07:50 -06:00
Kubernetes Prow Robot
4b40c1796d
Merge pull request #391 from andrewpollack/fix-docu-links-deploy
Updating deploy/README.md to fix links
2021-04-06 01:53:35 -07:00
andrewpkq
f4d5bc9045 Updating deploy/README.md to fix links 2021-04-03 18:55:16 -07:00
Kubernetes Prow Robot
b67ac3e747
Merge pull request #389 from dgrisonnet/signal-handler
Add signal handler
2021-03-29 08:40:46 -07:00
Damien Grisonnet
9db8d2f731 cmd/adapter: add signal handler
Add a signal handler stopping the adapter if it receives a SIGINT or
SIGTERM signal. This prevent the prometheus-adapter pod from being stuck
in "Terminating" state.

Signed-off-by: Damien Grisonnet <dgrisonn@redhat.com>
2021-03-29 17:24:49 +02:00
Kubernetes Prow Robot
c30c69de09
Merge pull request #387 from dgrisonnet/remove-travis-verify
.travis.yml: remove verify job
2021-03-25 10:15:36 -07:00
Kubernetes Prow Robot
7151cd83b9
Merge pull request #382 from dgrisonnet/test
Makefile: include tests from cmd directory
2021-03-25 10:15:29 -07:00
Kubernetes Prow Robot
c41a99a529
Merge pull request #386 from aackerman/aackerman/fix-metric-labels
Fix documented metrics labels to work for k8s 1.16+
2021-03-23 11:07:36 -07:00
aackerman
0e105eeeb1 Update tests to use container and pod labels instead of container_name and pod_name 2021-03-23 12:41:44 -05:00
aackerman
54cd969594 Fixup default config generation to use pod and container instead of pod_name and container_name, those labels have been removed in kubernetes 1.16 2021-03-23 10:59:40 -05:00
Damien Grisonnet
df347a1427 .travis.yml: remove verify job
The verify job has been moved to prow, so we can remove the one from
travis.

Signed-off-by: Damien Grisonnet <dgrisonn@redhat.com>
2021-03-23 16:52:30 +01:00
aackerman
dce6abfba9 Fix documented metrics labels to work for k8s 1.16+ 2021-03-23 09:01:56 -05:00
Kubernetes Prow Robot
2c1be65011
Merge pull request #384 from lilic/remove-myself
OWNERS: Remove myself from the OWNERS
2021-03-19 08:38:35 -07:00
Lili Cosic
9231ff996d OWNERS: Remove myself from the OWNERS 2021-03-19 16:33:24 +01:00
Kubernetes Prow Robot
976c38aee4
Merge pull request #379 from TheKangaroo/fix/walkthrough
fix walkthrough example
2021-03-10 08:01:14 -08:00
Damien Grisonnet
737c8232e1 Makefile: include tests from cmd directory
Signed-off-by: Damien Grisonnet <dgrisonn@redhat.com>
2021-03-10 16:53:26 +01:00
Kubernetes Prow Robot
ef33937e43
Merge pull request #377 from dgrisonnet/update-owners
Add dgrisonnet to the OWNERS
2021-03-09 08:05:00 -08:00
Carson Anderson
3ae38c7417 Allow metrics to be defined as namespaced: false
When set to false, no namespace label will be set by the adapter based on the namespace
portion of the url in the request path.

This allows individual consumers to set namespace independent of the source kubernetes resource.

---

Example:

Given an adapter config like this:

```
    externalRules:
    - seriesQuery: 'nsq_topic_depth'
      resources:
        namespaced: false
```

An HPA could target a different namespace by setting it in the selector:

```
  - type: External
    external:
      metric:
        name: nsq_topic_depth
        selector:
          labelSelector:
            topic: my-topic
            namespace: nsq
```

This is useful for scaling on metrics from services that run in a differnt namespace than the source resource.
2021-03-05 15:25:37 -07:00
Till Adam
3bd8b54ad5
fix walkthrough example
The service created by this command did not match the port name used
later on in the walkthrough. Therefor it is defined explicitly here.
2021-03-05 13:06:40 +01:00
Damien Grisonnet
dcf0ece4ea Add dgrisonnet to the OWNERS
Signed-off-by: Damien Grisonnet <dgrisonn@redhat.com>
2021-03-02 12:02:26 +01:00
Kubernetes Prow Robot
7e11fe30ee
Merge pull request #372 from paulfantom/json
pkg/config: allow configuration to be read from json schema
2021-03-01 05:22:46 -08:00
Kubernetes Prow Robot
019a27f200
Merge pull request #354 from iyalang/feature/add-cert-auth
add TLS auth for accessing Prometheus
2021-03-01 05:18:42 -08:00
Kubernetes Prow Robot
e087f72404
Merge pull request #319 from kehao95/update-walkthrough
Update Prometheus Operator Doc location
2021-03-01 01:18:39 -08:00
Kubernetes Prow Robot
30f6e2fd07
Merge pull request #374 from paulfantom/imports
*: move all imports to github.com/kubernetes-sigs/prometheus-adapter
2021-02-23 01:22:03 -08:00
Iya Lang
808bd76c5a add TLS auth for accessing Prometheus 2021-02-22 21:39:58 +01:00
paulfantom
cd55a67b89
*: move all imports to github.com/kubernetes-sigs/prometheus-adapter
Signed-off-by: paulfantom <pawel@krupa.net.pl>
2021-02-22 15:49:03 +01:00
paulfantom
1cc7bed020
pkg/config: allow configuration to be read from json schema 2021-02-22 10:17:27 +01:00
Nikhita Raghunath
dd841a6e5e Fix SECURIY_CONTACTS filename 2021-01-30 11:01:32 +05:30
Nikhita Raghunath
079f67825f Fix OWNERS, OWNERS_ALIASES file names 2021-01-30 10:54:21 +05:30
Sergiusz Urbaniak
12d1fb4a72
Merge pull request #362 from dgrisonnet/fix-auth-webhook-panic
Fix authorizer webhook panic
2021-01-22 10:28:16 +01:00