Compare commits

...

2024 Commits
0.18.3 ... main

Author SHA1 Message Date
Sanskar Jaiswal
d4cc9bf616 Merge pull request #1862 from fluxcd/dependabot/go_modules/golang.org/x/crypto-0.45.0
build(deps): bump golang.org/x/crypto from 0.42.0 to 0.45.0
2025-12-29 18:38:24 +05:30
dependabot[bot]
ca3fd315cd build(deps): bump golang.org/x/crypto from 0.42.0 to 0.45.0
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.42.0 to 0.45.0.
- [Commits](https://github.com/golang/crypto/compare/v0.42.0...v0.45.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-version: 0.45.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-29 12:14:13 +00:00
Stefan Prodan
d9d910b0cf Merge pull request #1861 from renatovassaomb/rv/istio-primary-cookie-name-support
Feat: Add support for stickiness for primary deployment in Istio
2025-12-18 09:11:10 +02:00
Stefan Prodan
9090802dcc Merge pull request #1858 from erikmiller-gusto/main
fix: datadog metrics should provide http status code on error if non-2xx response
2025-12-18 09:09:51 +02:00
Renato Vassão
70c4c528ed Updates docs with new support for primary cookie name in istio router
Signed-off-by: Renato Vassão <renato.vassao@mindbodyonline.com>
2025-12-12 10:55:37 -03:00
Stefan Prodan
3ce87af077 Merge pull request #1868 from darkweaver87/chore/update-traefik
chore(ci): update Traefik to 3.6.2 in E2E tests
2025-12-11 13:22:30 +02:00
Rémi BUISSON
1709b076e0 chore(ci): update traefik for E2E tests
Signed-off-by: Rémi BUISSON <remi.buisson@traefik.io>
2025-12-11 11:36:53 +01:00
Renato Vassão
f3b240ca82 Adds integration tests for session affinity in Istio router
Signed-off-by: Renato Vassão <renato.vassao@mindbodyonline.com>
2025-11-18 15:16:42 -03:00
Renato Vassão
4821a687c1 Adds support for setting primary cookie name in istio router
Signed-off-by: Renato Vassão <renato.vassao@mindbodyonline.com>
2025-11-18 15:08:25 -03:00
Renato Vassão
931dd7fa6b Adds usage of PrimarySessionAffinityCookie in Gateway API router
Signed-off-by: Renato Vassão <renato.vassao@mindbodyonline.com>
2025-11-18 15:07:19 -03:00
Renato Vassão
8018353d54 Adds primarySessionAffinityCookie field to sessionAffinity
Signed-off-by: Renato Vassão <renato.vassao@mindbodyonline.com>
2025-11-18 15:04:04 -03:00
Erik Miller
ffddfd9c24 fix: datadog metrics should provide http status code on error if non-2xx response
currently the log line exposes the error, however that's always going to be nil
based on the check just above it.  This provides better visibility into the failure reason

Signed-off-by: Erik Miller <erik.miller@gusto.com>
2025-11-13 12:59:08 -08:00
Stefan Prodan
3a27fd147f Merge pull request #1847 from fluxcd/release-1.42.0
Release Flagger 1.42.0
2025-10-16 16:56:35 +03:00
Stefan Prodan
1a727d294c Release Flagger 1.42.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2025-10-16 15:59:48 +03:00
Stefan Prodan
b170bf479c Merge pull request #1846 from fluxcd/loadtester-0.36.0
Release loadtester 0.36.0
2025-10-16 14:46:03 +03:00
Stefan Prodan
ae5e39bb3d Release loadtester 0.36.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2025-10-16 13:34:13 +03:00
Stefan Prodan
7fcba13050 Merge pull request #1845 from fluxcd/update-docs
Update GitOps install docs to latest Flux APIs
2025-10-16 13:23:31 +03:00
Stefan Prodan
8fedc5cdd7 Update documentation
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2025-10-16 13:10:55 +03:00
Stefan Prodan
fce1781ebf Merge pull request #1791 from steved/main
fix: gateway router should wait for accepted condition
2025-10-16 12:51:36 +03:00
Stefan Prodan
461abc9e10 Merge pull request #1797 from steved/steved/event-webhook-timeout
fix: honor event webhook timeout
2025-10-16 12:10:36 +03:00
Stefan Prodan
6b89d56074 Merge pull request #1792 from steved/steved/phase-succeeded-webhook
fix: send succeeded webhooks with correct phase
2025-10-16 11:03:49 +03:00
Steven Davidovitz
bb7ad65462 fix: gateway router should wait for accepted condition
It can take some time for changes to propagate for cloud load balancers,
so flagger should ensure the route changes are current before proceeding
with any more.

Signed-off-by: Steven Davidovitz <sdavidovitz@groq.com>
2025-10-15 17:27:12 -07:00
Steven Davidovitz
6fcbe192a7 fix: send succeeded webhooks with correct phase
Signed-off-by: Steven Davidovitz <sdavidovitz@groq.com>
2025-10-15 17:23:02 -07:00
Steven Davidovitz
253123bdff fix: honor event webhook timeout
Signed-off-by: Steven Davidovitz <sdavidovitz@groq.com>
2025-10-15 17:21:14 -07:00
Stefan Prodan
ae72e15049 Merge pull request #1844 from fluxcd/svc-traffic-distribution
Add support for setting traffic distribution
2025-10-15 19:14:05 +03:00
Stefan Prodan
c30e6552d7 Add support for setting traffic distribution
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2025-10-15 16:57:06 +03:00
Stefan Prodan
60cb38a773 Merge pull request #1843 from fluxcd/gateway-api-cors
Add support for CORS policy to Gateway API
2025-10-15 16:55:58 +03:00
Stefan Prodan
6031abc3a9 Add support for CORS policy to Gateway API
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2025-10-15 16:43:39 +03:00
Stefan Prodan
e4c355e772 Merge pull request #1842 from fluxcd/gateway-api-v1.4
Update Gateway API to v1.4.0
2025-10-15 14:15:47 +03:00
Stefan Prodan
f9fe9a1635 Update Gateway API to v1.4.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2025-10-15 12:41:37 +03:00
Stefan Prodan
34830b2448 Merge pull request #1836 from fluxcd/dependabot/github_actions/ci-ebec57696b
build(deps): bump the ci group across 1 directory with 4 updates
2025-10-15 12:25:16 +03:00
dependabot[bot]
9ed5fcdaa3 build(deps): bump the ci group across 1 directory with 4 updates
Bumps the ci group with 4 updates in the / directory: [actions/checkout](https://github.com/actions/checkout), [actions/setup-go](https://github.com/actions/setup-go), [sigstore/cosign-installer](https://github.com/sigstore/cosign-installer) and [github/codeql-action](https://github.com/github/codeql-action).


Updates `actions/checkout` from 4 to 5
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

Updates `actions/setup-go` from 5 to 6
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v5...v6)

Updates `sigstore/cosign-installer` from 3.8.1 to 3.10.0
- [Release notes](https://github.com/sigstore/cosign-installer/releases)
- [Commits](https://github.com/sigstore/cosign-installer/compare/v3.8.1...v3.10.0)

Updates `github/codeql-action` from 3 to 4
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: ci
- dependency-name: actions/setup-go
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: ci
- dependency-name: sigstore/cosign-installer
  dependency-version: 3.10.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: ci
- dependency-name: github/codeql-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: ci
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-15 08:33:49 +00:00
Stefan Prodan
3dc0658a80 Merge pull request #1832 from fluxcd/go1.25
Update dependencies to Kubernetes 1.34
2025-10-15 11:31:34 +03:00
Stefan Prodan
751f52ec25 Regenerate clientset with Kubernetes 1.34 code-gen
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2025-10-15 10:20:27 +03:00
Stefan Prodan
e1839fd9c3 Update dependencies to Kubernetes 1.34
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2025-10-15 10:10:43 +03:00
Stefan Prodan
b445c8eeaf Build with Go 1.25
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2025-10-15 10:09:57 +03:00
Stefan Prodan
3d99d2fddd Merge pull request #1823 from briansonnenberg/main
Add `unmanagedMetadata` to canary service specification
2025-10-15 09:52:08 +03:00
Stefan Prodan
b77230227f Merge pull request #1826 from renatovassaomb/rv/add-cookie-attributes
Feat: Add Support for Cookie Attributes in Session Affinity
2025-10-15 00:33:38 +03:00
Brian Sonnenberg
ea219506a5 Added a new field to canary spec to specify unmanaged metadata
These are labels and annotations that should be ignored by Flagger
(i.e. not overwritten upon reconciliation).

See: github.com/fluxcd/flagger/issues/1573

Signed-off-by: Brian Sonnenberg <bsonnenberg@google.com>
2025-10-14 21:18:47 +00:00
Renato Vassão
fab45404e6 Update docs with new cookie attributes
Signed-off-by: Renato Vassão <renato.vassao@mindbodyonline.com>
2025-10-14 17:57:09 -03:00
Renato Vassão
0dd9fe9301 Add cookie attributes to Canary CRD
Signed-off-by: Renato Vassão <renato.vassao@mindbodyonline.com>
2025-10-14 16:00:14 -03:00
Renato Vassão
278e7d31bc Use BuildCookie function when setting cookie in Gateway API routers
Signed-off-by: Renato Vassão <renato.vassao@mindbodyonline.com>
2025-10-14 16:00:14 -03:00
Renato Vassão
c7dad5b532 Use BuildCookie function when setting cookie in Istio router
Signed-off-by: Renato Vassão <renato.vassao@mindbodyonline.com>
2025-10-14 16:00:14 -03:00
Renato Vassão
b672363a37 Add cookie attributes to SessionAffinity
Signed-off-by: Renato Vassão <renato.vassao@mindbodyonline.com>
2025-10-14 16:00:07 -03:00
Stefan Prodan
939c32b390 Merge pull request #1835 from fluxcd/traefik-update
Update traefik.containo.us to traefik.io
2025-10-10 23:38:58 +03:00
Sanskar Jaiswal
e08cc1d798 fix: Upgraded traefik helm version for testing
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
Co-authored-by: Ashton Pillay <ashpilzusa@gmail.com>
2025-10-10 23:18:25 +05:30
Sanskar Jaiswal
28291d42d8 fix: update traefik.containo.us to traefik.io
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
Co-authored-by: Ashton Pillay <ashpilzusa@gmail.com>
2025-10-10 23:17:12 +05:30
Stefan Prodan
5c481cd6f9 Merge pull request #1828 from angelbarrera92/issue-1827
fix: default namespace for cross-namespace ref validation
2025-10-08 10:53:20 +03:00
Barrera, Angel
eeeac3543a fix: default namespace for cross-namespace ref validation
When cross-namespace references are disabled, ensure that UpstreamRef,
MetricTemplateRef, and AlertProviderRef default to the canary's namespace
if their namespace field is empty. This aligns the validation logic with
the rest of the controller and prevents false positives when the namespace
is omitted.

Fixes #1827

Signed-off-by: Barrera, Angel <angelbarrerasanchez@protonmail.com>
2025-10-08 09:16:29 +02:00
Stefan Prodan
0743ef72b3 Merge pull request #1812 from cappyzawa/issue-856-count-metrics
Add count metrics for canary successes and failures
2025-10-08 09:49:27 +03:00
cappyzawa
ffbc25efda Add count metrics for canary successes and failures
Implement flagger_canary_successes_total and flagger_canary_failures_total
counter metrics with deployment strategy detection and analysis status
tracking for better observability of canary deployment outcomes.

Signed-off-by: cappyzawa <cappyzawa@gmail.com>
2025-10-08 13:53:03 +09:00
cappyzawa
16f54923b2 Add metrics verification to controller tests
Enhance existing scheduler tests for deployments, daemonsets, and
services by adding prometheus metrics verification using testutil.
This ensures that status metrics are correctly recorded during
canary promotion workflows and provides better test coverage for
the metrics recording functionality.

Signed-off-by: cappyzawa <cappyzawa@gmail.com>
2025-10-08 13:47:11 +09:00
Stefan Prodan
f9f10e842e Merge pull request #1739 from kahirokunn/fix-typo
fix: correct typo in AutoscalerReference type name
2025-10-07 13:14:17 +03:00
kahirokunn
56200f6d0f fix: correct typo in AutoscalerReference type name
- Fix spelling of AutoscalerReference (was AutoscalerRefernce) in type definition and struct field

Signed-off-by: kahirokunn <okinakahiro@gmail.com>
2025-10-07 18:28:04 +09:00
Stefan Prodan
2cf112841c Merge pull request #1831 from KevinSnyderCodes/fix-apisix-e2e-test
Fix `apisix` E2E test
2025-10-06 21:34:53 +03:00
Kevin Snyder
a67c36ed99 Fix apisix E2E test
`apisix` Helm chart has dependency on `etcd` chart which uses a pinned Bitnami image. These became unavailable on August 28, 2025: https://github.com/bitnami/containers/issues/83267

The image is still available in the `bitnamilegacy` repository.

Signed-off-by: Kevin Snyder <kevin.snyder@gusto.com>
2025-10-06 11:03:03 -07:00
Stefan Prodan
27daa2ca46 Merge pull request #1803 from alex-souslik-hs/main
loadtester: add pod security context
2025-04-21 09:23:30 +02:00
Alex
ed38a79545 add pod security context
Signed-off-by: Alex <alex.souslik@workday.com>
2025-04-20 19:15:37 +03:00
Sanskar Jaiswal
6f165a10de Merge pull request #1788 from fluxcd/release-v1.41.0
Release v1.41.0
2025-04-02 12:40:43 +01:00
Sanskar Jaiswal
89c1ddee79 Release v1.41.0
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2025-04-02 12:32:23 +01:00
Sanskar Jaiswal
1b8e7653d3 Merge pull request #1787 from fluxcd/update-deps
update Go dependencies
2025-03-31 18:09:11 +05:30
Stefan Prodan
98f8514258 Merge pull request #1786 from fluxcd/fix-session-affinity-e2e
update webhook host in session affinity e2e test
2025-03-30 14:04:02 +01:00
Sanskar Jaiswal
d9c8a09d3e update Go dependencies
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2025-03-29 18:00:26 +00:00
Sanskar Jaiswal
2ac22f831f update webhook host in session affinity e2e test
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2025-03-28 12:30:23 +05:30
Sanskar Jaiswal
e0de40dcb0 Merge pull request #1757 from otternq/metric-provider-headers
allow headers to be added to prometheus requests
2025-03-28 12:26:38 +05:30
Nick Otter
8f9bb5b1bc allow headers to be added to prometheus requests
Signed-off-by: Nick Otter <otternq@gmail.com>
Co-authored-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2025-03-27 01:03:23 +05:30
Sanskar Jaiswal
f21bc1de3e Merge pull request #1783 from fluxcd/session-affinity-primary-cookie
feat: add support for primary backend cookies in session affinity (Gateway API)
2025-03-24 16:02:30 +05:30
Sanskar Jaiswal
1fc7ac5847 add docs for primary stickiness for session affinity
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>

dfk
2025-03-24 13:08:29 +05:30
Sanskar Jaiswal
1dc270c2e6 feat: add support for primary backend cookies in session affinity
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2025-03-24 13:08:27 +05:30
Stefan Prodan
50d1331ba6 Merge pull request #1785 from fluxcd/loadtester-0.35.0
Release loadtester 0.35.0
2025-03-23 10:14:29 +02:00
Stefan Prodan
bc78156535 Release loadtester 0.35.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2025-03-23 09:31:44 +02:00
Stefan Prodan
0df8af8d04 Merge pull request #1771 from fluxcd/dependabot/github_actions/ci-8077bd6f50
build(deps): bump the ci group across 1 directory with 2 updates
2025-03-23 09:29:16 +02:00
dependabot[bot]
633f639383 build(deps): bump the ci group across 1 directory with 2 updates
Bumps the ci group with 2 updates in the / directory: [sigstore/cosign-installer](https://github.com/sigstore/cosign-installer) and [slsa-framework/slsa-github-generator](https://github.com/slsa-framework/slsa-github-generator).


Updates `sigstore/cosign-installer` from 3.7.0 to 3.8.1
- [Release notes](https://github.com/sigstore/cosign-installer/releases)
- [Commits](https://github.com/sigstore/cosign-installer/compare/v3.7.0...v3.8.1)

Updates `slsa-framework/slsa-github-generator` from 2.0.0 to 2.1.0
- [Release notes](https://github.com/slsa-framework/slsa-github-generator/releases)
- [Changelog](https://github.com/slsa-framework/slsa-github-generator/blob/main/CHANGELOG.md)
- [Commits](https://github.com/slsa-framework/slsa-github-generator/compare/v2.0.0...v2.1.0)

---
updated-dependencies:
- dependency-name: sigstore/cosign-installer
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: ci
- dependency-name: slsa-framework/slsa-github-generator
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: ci
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-23 07:19:45 +00:00
Stefan Prodan
d03cc73386 Merge pull request #1784 from fluxcd/go-1.24
Build with Go 1.24
2025-03-23 09:17:55 +02:00
Stefan Prodan
eaf5bb992c Ensure constant format strings in fmt calls
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2025-03-23 08:59:45 +02:00
Stefan Prodan
22618ccb11 Build with Go 1.24
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2025-03-23 08:50:59 +02:00
Stefan Prodan
f5af225ffc Merge pull request #1776 from fluxcd/dependabot/go_modules/golang.org/x/net-0.36.0
build(deps): bump golang.org/x/net from 0.33.0 to 0.36.0
2025-03-23 08:45:20 +02:00
dependabot[bot]
40a34199fe build(deps): bump golang.org/x/net from 0.33.0 to 0.36.0
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.33.0 to 0.36.0.
- [Commits](https://github.com/golang/net/compare/v0.33.0...v0.36.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-23 06:40:43 +00:00
Stefan Prodan
d7357a7377 Merge pull request #1682 from tombanksme/knative-support
Add support for Knative
2025-03-23 08:39:29 +02:00
Sanskar Jaiswal
12ee6cbc86 add docs for knative
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2025-03-22 01:02:32 +05:30
Thomas Banks
f1c8807c0d feat: add knative integration
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
Co-authored-by: Thomas Banks
2025-03-22 01:02:30 +05:30
Stefan Prodan
8276bfa5a5 Merge pull request #1763 from easimon/fix/datadog-provider
fix: do not evaluate incomplete samples from datadog
2025-02-22 10:36:22 +02:00
Markus Dobel
2c4b7a69a2 fix: do not evaluate incomplete samples from datadog
Signed-off-by: Markus Dobel <markus.dobel@epicompany.eu>
2025-02-12 18:12:38 +01:00
Sanskar Jaiswal
660ed7486b Merge pull request #1677 from jdgeisler/keda-scaled-object-hpa-migration
Prevent primary hpa collision for keda scaled objects when migrating from an hpa
2025-02-11 22:49:54 +05:30
James Geisler
21acd7e3d6 If applied, this commit will allow the migration from an hpa to a scaled object
Signed-off-by: James Geisler <geislerjamesd@gmail.com>
2025-02-10 10:24:58 -06:00
Stefan Prodan
40e2802c3d Merge pull request #1707 from quintonm/main
chart: add support for deploymentLabels
2025-01-26 09:44:37 +02:00
Sanskar Jaiswal
d99d37b219 Merge pull request #1755 from fluxcd/headless-svc 2025-01-14 15:02:59 +05:30
Sanskar Jaiswal
45618b90db feat: add option to generate headless services
Add a new field `.spec.service.headless` which if set to true results in
Flagger generating headless Services, i.e. with the Service's
`.spec.clusterIP` set to None.

Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2025-01-14 14:09:12 +05:30
Sanskar Jaiswal
ff4051f728 Merge pull request #1756 from fluxcd/bump-go-net
chore: bump golang.org/x/net to v0.33.0
2025-01-14 13:18:03 +05:30
Sanskar Jaiswal
2ea13a477b chore: bump golang.org/x/net to v0.33.0
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2025-01-14 00:18:27 +05:30
quintonm
03d4acc77f add support for deploymentLabels
Signed-off-by: quintonm <quinton.mccombs@gmail.com>
2025-01-13 07:56:30 -06:00
Stefan Prodan
16a607549e Merge pull request #1751 from fluxcd/dependabot/github_actions/ci-cba3cefdba
Bump helm/kind-action from 1.11.0 to 1.12.0 in the ci group
2024-12-23 14:12:52 +02:00
dependabot[bot]
b57afd3b0f Bump helm/kind-action from 1.11.0 to 1.12.0 in the ci group
Bumps the ci group with 1 update: [helm/kind-action](https://github.com/helm/kind-action).


Updates `helm/kind-action` from 1.11.0 to 1.12.0
- [Release notes](https://github.com/helm/kind-action/releases)
- [Commits](https://github.com/helm/kind-action/compare/v1.11.0...v1.12.0)

---
updated-dependencies:
- dependency-name: helm/kind-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: ci
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-23 11:28:50 +00:00
Stefan Prodan
9000136233 Merge pull request #1749 from fluxcd/release-1.40.0
Release v1.40.0
2024-12-17 11:42:02 +02:00
Stefan Prodan
14543cc8bf Release v1.40.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-12-17 11:14:49 +02:00
Stefan Prodan
642ef6bb7d Merge pull request #1745 from fluxcd/dependabot/github_actions/ci-f4c9def711
Bump helm/kind-action from 1.10.0 to 1.11.0 in the ci group
2024-12-17 10:06:24 +02:00
Stefan Prodan
3ebbfb0a54 Merge pull request #1747 from fluxcd/loadtester-0.34.0
Release loadtester 0.34.0
2024-12-17 10:05:54 +02:00
Stefan Prodan
a52f497370 Release loadtester 0.34.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-12-16 19:27:19 +02:00
Stefan Prodan
64b50813ff Merge pull request #1744 from fluxcd/update-deps-alpine
Update dependencies
2024-12-16 19:09:11 +02:00
Stefan Prodan
9244d6de65 Merge pull request #1746 from fluxcd/fix-drift-aws-gateway
Preserve HTTPRoute annotations injected by AWS Gateway API
2024-12-16 19:08:56 +02:00
Sanskar Jaiswal
3b6b550d64 Add tests for annotations preservation in Gateway API router
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2024-12-16 22:16:08 +05:30
Stefan Prodan
282f2b36f0 Preserve HTTPRoute annotations injected by AWS Gateway API
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-12-16 16:35:41 +02:00
dependabot[bot]
0a76f808b8 Bump helm/kind-action from 1.10.0 to 1.11.0 in the ci group
Bumps the ci group with 1 update: [helm/kind-action](https://github.com/helm/kind-action).


Updates `helm/kind-action` from 1.10.0 to 1.11.0
- [Release notes](https://github.com/helm/kind-action/releases)
- [Commits](https://github.com/helm/kind-action/compare/v1.10.0...v1.11.0)

---
updated-dependencies:
- dependency-name: helm/kind-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: ci
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-16 11:48:55 +00:00
Stefan Prodan
a85887de3c Merge pull request #1735 from kahirokunn/add-helper-gen
Automate zz_generated.deepcopy.go updates with make codegen
2024-12-13 18:52:29 +02:00
kahirokunn
febc327673 chore(codegen): add helper generation to codegen script
chore(gatewayapi/v1beta1): add deepcopy-gen annotations
run `make codegen`

Signed-off-by: kahirokunn <okinakahiro@gmail.com>
2024-12-14 00:10:24 +09:00
Stefan Prodan
6d5aabff05 Update loadtester tools
- helm 3.16.3
- kubectl 1.31.3
- grcp probe 0.4.35
- bash 5.2.37
- bats 1.1.1

Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-12-13 16:23:12 +02:00
Stefan Prodan
51d0bb2c92 Update Alpine to 3.21
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-12-13 16:21:33 +02:00
Stefan Prodan
dc947fb164 Update Go dependencies
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-12-13 16:21:12 +02:00
Stefan Prodan
0138e2e6c4 Merge pull request #1733 from kane8n/add-splunk-provider
Add Splunk as a metrics provider
2024-12-13 16:11:25 +02:00
kane8n
d4bd0f2ef8 add splunk provider
Signed-off-by: kane8n <takumi.kaneda@zozo.com>
2024-12-13 22:22:25 +09:00
Stefan Prodan
30f4b25925 Merge pull request #1731 from fluxcd/fix-changelog-date
Fix changelog date for 1.39 release
2024-11-26 12:38:33 +00:00
Stefan Prodan
25fd9be1db Fix changelog date for 1.39 release
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-11-26 12:12:17 +00:00
Stefan Prodan
4d497b2a9d Merge pull request #1730 from fluxcd/xx-build
Optimize multi-arch build with XX
2024-11-26 12:03:12 +00:00
Stefan Prodan
0ef356706a Optimize build with XX
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-11-26 11:56:09 +00:00
Sanskar Jaiswal
ebf43ef104 Merge pull request #1728 from fluxcd/release-v1.39.0
Release v1.39.0
2024-11-26 13:08:53 +05:30
Sanskar Jaiswal
7754cdb89a Release v1.39.0
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2024-11-25 23:26:36 +05:30
Stefan Prodan
c6b5b39187 Merge pull request #1721 from swimablefish/main
fix(helm): podinfo fails to create the hpa object
2024-11-25 14:51:22 +00:00
Stefan Prodan
a6a7a20737 Merge pull request #1727 from fluxcd/dependabot/github_actions/ci-b81aef8ad7
Bump the ci group across 1 directory with 4 updates
2024-11-25 14:49:23 +00:00
dependabot[bot]
c04ff05aa4 Bump the ci group across 1 directory with 4 updates
Bumps the ci group with 4 updates in the / directory: [codecov/codecov-action](https://github.com/codecov/codecov-action), [sigstore/cosign-installer](https://github.com/sigstore/cosign-installer), [docker/build-push-action](https://github.com/docker/build-push-action) and [goreleaser/goreleaser-action](https://github.com/goreleaser/goreleaser-action).


Updates `codecov/codecov-action` from 4 to 5
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v4...v5)

Updates `sigstore/cosign-installer` from 3.5.0 to 3.7.0
- [Release notes](https://github.com/sigstore/cosign-installer/releases)
- [Commits](https://github.com/sigstore/cosign-installer/compare/v3.5.0...v3.7.0)

Updates `docker/build-push-action` from 5 to 6
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v5...v6)

Updates `goreleaser/goreleaser-action` from 5 to 6
- [Release notes](https://github.com/goreleaser/goreleaser-action/releases)
- [Commits](https://github.com/goreleaser/goreleaser-action/compare/v5...v6)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: ci
- dependency-name: sigstore/cosign-installer
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: ci
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: ci
- dependency-name: goreleaser/goreleaser-action
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: ci
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-25 14:43:40 +00:00
Stefan Prodan
b4bc93d0a8 Merge pull request #1726 from fluxcd/go-1.23
Build with Go 1.23
2024-11-25 14:41:19 +00:00
Stefan Prodan
6ee00e14f9 Build with Go 1.23
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-11-25 14:33:38 +00:00
Stefan Prodan
a7d90c227f Merge pull request #1725 from fluxcd/regen-1.31
Update generated client for Kubernetes 1.31
2024-11-25 14:24:48 +00:00
Sanskar Jaiswal
4c0a26b675 gatewayapi: return early after creating new http routes
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2024-11-24 19:04:27 +05:30
Stefan Prodan
d4f766285d Update generated client for Kubernetes 1.31
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-11-23 20:50:47 +02:00
Stefan Prodan
66fcea7581 Merge pull request #1724 from fluxcd/fix-codegen
fix: fix codegen script and update generated code
2024-11-23 20:35:40 +02:00
Stefan Prodan
9bfc531da0 Merge pull request #1723 from fluxcd/k8s-1.31.3
Update dependencies to Kubernetes v1.31.3
2024-11-23 15:59:22 +02:00
Sanskar Jaiswal
398fc90cc0 fix: fix codegen script and update generated code
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2024-11-23 18:12:23 +05:30
Stefan Prodan
682230e8c0 Update dependencies to Kubernetes v1.31.3
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-11-23 11:31:29 +02:00
Stefan Prodan
92daf5174c Merge pull request #1702 from aufarg/add-autoscaler-ref-validation
Add validation for `primaryScalerReplicas` field in the CRD
2024-11-23 11:16:22 +02:00
Stefan Prodan
2ba00a33a7 Merge pull request #1709 from juparog/juparog/webhook-disabletls
feat: add `disableTLS` option for webhooks request
2024-11-23 11:13:25 +02:00
Juan Rodriguez
8f838388e8 feat: add disableTls option for webhooks request
Signed-off-by: Juan Rodriguez <engineer.jrg@gmail.com>
2024-11-21 19:22:18 +05:30
Sanskar Jaiswal
7cd14761d5 Merge pull request #1713 from mingjie-li/main
Gateway API: Sort header filters to avoid canary restarts
2024-11-21 19:06:21 +05:30
swimablefish
e99add460f fix(helm): podinfo fails to create the hpa object
Signed-off-by: swimablefish <swimablefish@gmail.com>
2024-11-11 15:24:28 +08:00
Mingjie Li
b88e080a66 add test back and use slices.SortFunc
Signed-off-by: Mingjie Li <mli@liveperson.com>
2024-10-26 16:50:51 +02:00
Mingjie Li
9941843385 fix #1712 : sort gateway api header fileter to fix canary restart
Signed-off-by: Mingjie Li <mli@liveperson.com>
2024-10-26 16:50:51 +02:00
Stefan Prodan
a159421290 Merge pull request #1711 from fluxcd/update-codeowners
add @aryan9600 to CODEOWNERS
2024-10-07 23:49:57 +03:00
Sanskar Jaiswal
43cb4bc8e9 add @aryan9600 to CODEOWNERS
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2024-10-08 00:47:33 +05:30
Aufar Gilbran
b719427337 Add validation for primaryScalerReplicas counts
Signed-off-by: Aufar Gilbran <aufargilbran@gmail.com>
2024-09-12 16:50:10 +08:00
Sanskar Jaiswal
b6ac5e19aa Merge pull request #1691 from fluxcd/release-v1.38.0
Release v1.38.0
2024-07-30 19:00:43 +05:30
Sanskar Jaiswal
6a090bca51 Release v1.38.0
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2024-07-30 13:06:44 +05:30
Stefan Prodan
e07a2618c2 Merge pull request #1676 from defenestration/add-podMonitor.honorLabels
Helm - Add podMonitor.honor labels
2024-07-29 12:50:11 +03:00
Stefan Prodan
9fcb6e9c93 Merge pull request #1690 from fluxcd/loadtester-0.33.0
Release loadtester 0.33.0
2024-07-29 12:48:47 +03:00
Stefan Prodan
a88e06db17 Release loadtester v0.33.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-07-29 12:12:00 +03:00
Stefan Prodan
401d0490da Update Kubernetes to v1.30.3
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-07-29 12:11:29 +03:00
Sanskar Jaiswal
3d1aedeb44 Merge pull request #1683 from fluxcd/fix-kuma
kuma: bump e2e version to 2.7.5
2024-07-26 15:51:33 +05:30
Sanskar Jaiswal
4015103815 kuma: disable daemonset for e2e
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2024-07-26 15:27:48 +05:30
Sanskar Jaiswal
74b98dab00 kuma: add ingress annotaions as custom metadata
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2024-07-26 15:27:47 +05:30
Sanskar Jaiswal
01dfa06891 kuma: update default namespace to kong-mesh-system
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2024-07-26 15:27:47 +05:30
Sanskar Jaiswal
90054b3b27 kuma: bump e2e version to 2.7.5
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2024-07-26 15:27:46 +05:30
Sanskar Jaiswal
cff2032ac0 Merge pull request #1686 from driv/fix_nginx_query
Fix Nginx request-duration query
2024-07-26 15:27:24 +05:30
Federico Nafria
2d5e289142 Fix Nginx request-duration query
`nginx_ingress_controller_ingress_upstream_latency_seconds_sum` measures the connection latency, not the time it takes the backend to respond.

Fixes #1685

Signed-off-by: Federico Nafria <federiconafria@gmail.com>
2024-07-19 17:08:02 +00:00
Sanskar Jaiswal
f38183bfd1 Merge pull request #1675 from fluxcd/dependabot/go_modules/google.golang.org/grpc-1.64.1
Bump google.golang.org/grpc from 1.64.0 to 1.64.1
2024-07-17 15:07:26 +05:30
Alan B
c09a61a198 add podMonitor.honorLabel
Signed-off-by: Alan B <961130+defenestration@users.noreply.github.com>
2024-07-10 10:53:58 -04:00
Alan B
417f035afb Update values.yaml
add honorLabels to default values.yaml

Signed-off-by: Alan B <961130+defenestration@users.noreply.github.com>
2024-07-10 10:51:48 -04:00
Alan B
28f2ab7bdb add honorLabels to PodMonitor
Signed-off-by: Alan B <961130+defenestration@users.noreply.github.com>
2024-07-10 10:26:54 -04:00
dependabot[bot]
d6433a16b5 Bump google.golang.org/grpc from 1.64.0 to 1.64.1
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.64.0 to 1.64.1.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.64.0...v1.64.1)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-09 21:51:38 +00:00
Sanskar Jaiswal
9b39cf16f1 Merge pull request #1666 from olivierlemasle/doc/keda
doc: fix KEDA doc regarding namespaces
2024-07-01 17:17:26 +05:30
Olivier Lemasle
d2cfcbde1a doc: fix KEDA doc regarding namespaces
Fix KEDA tutorial regarding namespaces

Signed-off-by: Olivier Lemasle <olivier.lemasle@apalia.net>
2024-06-24 15:47:37 +02:00
Sanskar Jaiswal
133fdecf56 Merge pull request #1657 from shivamnarula/fix/empty-annotations-and-volumes
Fix removal of empty keys from flagger chart
2024-06-12 13:19:35 +05:30
Shivam Narula
3490d60e89 Fix removal of empty keys from flagger chart
Signed-off-by: Shivam Narula <shivamnarula@sharechat.co>
2024-06-12 12:49:35 +05:30
Sanskar Jaiswal
97d1ef0f18 Merge pull request #1630 from bacherfl/poc/keptn-provider
feat: implement a Keptn metrics provider
2024-06-12 12:31:49 +05:30
Florian Bacher
ce976e28f0 feat: implement a Keptn metrics provider
Add a Keptn metrics provider for two resources:
* KeptnMetric: Verify the value of a single metric.
* Analysis (via AnalysisDefinition): Run a Keptn analysis over an
  interval validating SLOs.

Signed-off-by: Florian Bacher <florian.bacher@dynatrace.com>
2024-06-11 19:23:03 +05:30
Sanskar Jaiswal
adc60596f5 Merge pull request #1656 from fluxcd/update-deps
Update Go dependencies and Alpine
2024-05-30 23:09:04 +05:30
Sanskar Jaiswal
cf04e28774 Update Alpine to 3.20
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2024-05-30 21:55:44 +05:30
Sanskar Jaiswal
ba29384dd4 Update Go dependencies
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2024-05-30 21:55:42 +05:30
Sanskar Jaiswal
86a4514932 Merge pull request #1653 from pazmd/bump-deps-golang.org/x/net-v0.25.0
Bump golang.org/x/net to v0.25.0 and other deps.
2024-05-30 21:34:35 +05:30
pazmd
61d81ff35a Tidy dependencies.
Signed-off-by: pazmd <171067554+pazmd@users.noreply.github.com>
2024-05-29 09:50:52 +01:00
pazmd
588f91ab7b Bump golang.org/x/net to v0.25.0.
Signed-off-by: pazmd <171067554+pazmd@users.noreply.github.com>
2024-05-29 09:50:52 +01:00
Stefan Prodan
24b968029e Merge pull request #1649 from sm43/sa-annotation-support
loadtester: add support for annotation on service account
2024-05-24 18:44:29 +03:00
Shivam Mukhade
0ab3c07017 loadtester: add support for annotation on service account
this adds support to add annotation on serviceaccount when rbac is enabled.

Signed-off-by: Shivam Mukhade <shivam.mukhade@wooga.net>
2024-05-24 16:00:06 +02:00
Stefan Prodan
2d89870b14 Merge pull request #1648 from fluxcd/dependabot/github_actions/ci-610874c938
build(deps): bump the ci group across 1 directory with 2 updates
2024-05-23 10:24:47 +03:00
Sanskar Jaiswal
8e86366484 Merge pull request #1637 from ta924/matrixpanic
block panic when prom returns range vector
2024-05-23 10:21:54 +05:30
Tanner Altares
e5dfbf4adc Signed-off-by: Tanner Altares <ta924@yahoo.com>
block panic when prom returns range vector
2024-05-22 18:51:04 +05:30
Sanskar Jaiswal
04f5c68a83 Merge pull request #1634 from relu/patch-deployment-fix
Use `Patch` instead of `Update` for Deployment scaling
2024-05-22 18:32:24 +05:30
dependabot[bot]
52293a35ad ---
updated-dependencies:
- dependency-name: sigstore/cosign-installer
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: ci
- dependency-name: slsa-framework/slsa-github-generator
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: ci
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-22 11:48:16 +00:00
Aurel Canciu
553184b82b Use Patch instead of Update in the deployment_controller when scaling
This should avoid frequent "Operation cannot be fulfilled" errors from
polluting Canary resource events and logs.

Signed-off-by: Aurel Canciu <aurel.canciu@nexhealth.com>
2024-05-22 17:16:16 +05:30
Sanskar Jaiswal
6289f8e371 Merge pull request #1638 from relu/k8s-1.30
Update dependencies to Kubernetes 1.30
2024-05-22 17:15:56 +05:30
Aurel Canciu
5e6815d531 Update e2e kind-related versions
Signed-off-by: Aurel Canciu <aurel.canciu@nexhealth.com>
2024-05-15 10:05:19 +03:00
Aurel Canciu
66d69f3d22 Update dependencies to Kubernetes 1.30
Signed-off-by: Aurel Canciu <aurel.canciu@nexhealth.com>
2024-05-02 12:52:01 +02:00
Stefan Prodan
9a0c6e7e54 Merge pull request #1628 from cyc0l4b/main
Bumps golang.org/x/net to v0.23.0
2024-04-12 09:50:12 +03:00
cyc0l4b
2ddbaf3324 chore: bumps golang.org/x/net to v0.23.0
Signed-off-by: cyc0l4b <cyc0l4b@proton.me>
2024-04-11 15:41:15 -03:00
Stefan Prodan
ab68d18230 Merge pull request #1624 from fluxcd/fix-release-workflow
Setup Go toolchain for release workflow
2024-03-26 15:11:52 +02:00
Stefan Prodan
214022ce7b Setup Go toolchain for release workflow
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-03-26 15:11:25 +02:00
Stefan Prodan
9acc70efc3 Merge pull request #1623 from fluxcd/release-1.37.0
Release 1.37.0
2024-03-26 14:20:43 +02:00
Stefan Prodan
4a12fc8499 Release v1.37.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-03-26 12:47:51 +02:00
Stefan Prodan
407e28e632 Release loadtester v0.32.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-03-26 12:27:11 +02:00
Stefan Prodan
82589a525d Merge pull request #1622 from fluxcd/go-1.22
Update dependencies (Go 1.22)
2024-03-26 11:38:44 +02:00
Stefan Prodan
6651751fbe Update dependencies (Go 1.22)
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-03-26 11:02:19 +02:00
Stefan Prodan
62fd5d2f77 Merge pull request #1620 from fluxcd/dependabot/github_actions/ci-ce785973a7
build(deps): bump the ci group with 1 update
2024-03-26 10:33:22 +02:00
Stefan Prodan
0a616df01e Merge pull request #1602 from benoitg31/main
Migrate istio VirtualService/DestinationRule to APIversion v1beta1 (current v1alpha3)
2024-03-26 10:26:30 +02:00
Stefan Prodan
f3be47d90b Merge pull request #1621 from hernit/main
Add omitempty to statuses to allow better marshalling
2024-03-26 00:59:11 +02:00
Henry Tam
935d6f9746 Add omitempty to statuses to allow better marshalling.
Signed-off-by: Henry Tam <Henry.Tam@anz.com>
2024-03-25 23:17:22 +11:00
dependabot[bot]
ded722fb2d build(deps): bump the ci group with 1 update
Bumps the ci group with 1 update: [slsa-framework/slsa-github-generator](https://github.com/slsa-framework/slsa-github-generator).


Updates `slsa-framework/slsa-github-generator` from 1.9.0 to 1.10.0
- [Release notes](https://github.com/slsa-framework/slsa-github-generator/releases)
- [Changelog](https://github.com/slsa-framework/slsa-github-generator/blob/main/CHANGELOG.md)
- [Commits](https://github.com/slsa-framework/slsa-github-generator/compare/v1.9.0...v1.10.0)

---
updated-dependencies:
- dependency-name: slsa-framework/slsa-github-generator
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: ci
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-25 11:40:20 +00:00
Stefan Prodan
a437af030a Merge pull request #1617 from sopida-chotwanwirach/gloo-reconcile-upstream-spec-change
fix(gloo): Update reconciler to detect change in gloo upstream spec
2024-03-25 09:45:12 +02:00
sopida-chotwanwirach
e3a529e1c8 switch to use patch
Signed-off-by: sopida-chotwanwirach <sopida.chotwanwirach@offerup.com>
2024-03-18 19:37:08 -07:00
sopida-chotwanwirach
e153b8a3df fix(gloo): Update reconciler to detect change in gloo upstream spec
Signed-off-by: sopida-chotwanwirach <sopida.chotwanwirach@offerup.com>
2024-03-14 14:13:02 -07:00
Stefan Prodan
c45be96f73 Merge pull request #1614 from cyc0l4b/main
Updates google.golang.org/protobuf to v1.33.0
2024-03-14 11:22:20 +02:00
cyc0l4b
dfa403705d chore: bumps google.golang.org/protobuf to v1.33
Signed-off-by: cyc0l4b <cyc0l4b@proton.me>
2024-03-12 16:40:19 -03:00
Stefan Prodan
9a0f01079f Merge pull request #1611 from LiZhenCheng9527/fix-metricTemplate
Fixed bug where query with no metric template returned an error
2024-03-07 12:03:38 +02:00
LiZhenCheng9527
b778013e07 Fixed issue where query with no metric template returned an error
Signed-off-by: LiZhenCheng9527 <lizhencheng6@huawei.com>
2024-03-07 16:06:23 +08:00
Stefan Prodan
29576900df Merge pull request #1610 from andrew-demb/patch-2
Fix link to alerting docs in changelog
2024-03-07 09:45:57 +02:00
Andrii Dembitskyi
5c70efb124 Fix link to alerting docs in changelog
Signed-off-by: Andrii Dembitskyi <andrew.dembitskiy@gmail.com>
2024-03-06 18:23:33 +02:00
Sanskar Jaiswal
9a224a0c90 Merge pull request #1608 from fluxcd/release-v1.36.1
Release v1.36.1
2024-03-06 13:04:41 +05:30
Sanskar Jaiswal
bd3249feae Release v1.36.1
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2024-03-06 11:27:05 +05:30
Sanskar Jaiswal
740477a757 Merge pull request #1607 from fluxcd/update-deps
Update Go dependencies
2024-03-05 22:01:32 +05:30
Sanskar Jaiswal
27967d7780 Update Go dependencies
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2024-03-05 20:14:40 +05:30
Sanskar Jaiswal
0e6c88261f Merge pull request #1598 from fluxcd/dependabot/github_actions/ci-d63955f9e9
build(deps): bump the ci group with 1 update
2024-03-05 20:13:46 +05:30
dependabot[bot]
7780a85bfa build(deps): bump the ci group with 1 update
Bumps the ci group with 1 update: [helm/kind-action](https://github.com/helm/kind-action).


Updates `helm/kind-action` from 1.8.0 to 1.9.0
- [Release notes](https://github.com/helm/kind-action/releases)
- [Commits](https://github.com/helm/kind-action/compare/v1.8.0...v1.9.0)

---
updated-dependencies:
- dependency-name: helm/kind-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: ci
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-05 13:54:22 +00:00
Sanskar Jaiswal
1f073843bf Merge pull request #1606 from andrew-demb/patch-2
Actualize link to flux in-depth guide
2024-03-05 19:21:31 +05:30
Sanskar Jaiswal
5b03840db6 Merge pull request #1603 from fluxcd/fix-deploy-progress
scheduler: fail canary according to progress deadline
2024-03-05 19:19:03 +05:30
Andrii Dembitskyi
fb4af8217d Actualize link to flux in-depth guide
Signed-off-by: Andrii Dembitskyi <andrew.dembitskiy@gmail.com>
2024-03-04 23:10:41 +02:00
Sanskar Jaiswal
757d90121b scheduler: fail canary according to progress deadline
Modify `canary.IsPrimaryReady()` and `canary.Initialize()` to return a
boolean indicating if the error is retriable. Modify the scheduler to
rollback the analysis and mark the Canary object as failed if the above
two functions or `canary.IsCanaryRead()` returns false along with an
error.

Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2024-03-05 00:10:30 +05:30
Benoit Gaillard
217db66a5e make flagger use apiversion v1beta1 for istio VirtualService and DestinationRule instead of v1alpha1
Signed-off-by: Benoit Gaillard <benoit.gaillard@continental-corporation.com>
2024-02-28 15:09:40 +01:00
Stefan Prodan
1a27295728 Merge pull request #1599 from worldtiki/readme
Fix broken link in readme
2024-02-20 13:40:59 +02:00
Daniel Albuquerque
285ee6eee7 Fix broken link in readme
Signed-off-by: Daniel Albuquerque <daniel.albuquerque@teya.com>
2024-02-20 10:05:10 +00:00
Stefan Prodan
613f532b0d Merge pull request #1597 from fluxcd/fix-changelog
Fix Istio link in changelog
2024-02-08 19:24:34 +02:00
Stefan Prodan
619253ebce Fix Istio link in changelog
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-02-08 18:01:55 +02:00
Stefan Prodan
3f06a0b344 Merge pull request #1596 from fluxcd/release-1.36.0
Release 1.36.0
2024-02-07 21:03:54 +02:00
Stefan Prodan
cf6e241fa5 Release v1.36.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-02-07 20:35:09 +02:00
Stefan Prodan
8128ab3785 Release loadtester 0.31.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-02-07 18:47:23 +02:00
Stefan Prodan
c0a00e6970 Merge pull request #1595 from fluxcd/update-deps-k8s
Update dependencies
2024-02-07 18:43:31 +02:00
Stefan Prodan
2c3259bdb3 Merge pull request #1511 from chrisminton/pdb/fix
fix(pdb): use the full capabilities comparison for PDBs
2024-02-07 18:26:33 +02:00
Stefan Prodan
3d40ee1242 Update dependencies
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-02-07 18:21:32 +02:00
Stefan Prodan
dd89cd5625 Merge pull request #1594 from fluxcd/go1.21
Build with Go 1.21 and Alpine 3.19
2024-02-07 18:03:26 +02:00
Stefan Prodan
af1e210f08 Merge pull request #1564 from kubroid/istio-tcp-canary
Istio Canary TCP service support
2024-02-07 18:03:06 +02:00
Alexey Kubrinsky
4932527464 Istio Canary TCP service support
Signed-off-by: Alexey Kubrinsky <akubrinsky@zetaglobal.com>
2024-02-07 14:51:30 +01:00
Stefan Prodan
862c63e8c3 Build with Go 1.21 and Alpine 3.19
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-02-07 15:50:10 +02:00
Stefan Prodan
f946e0e9e8 Merge pull request #1590 from fluxcd/dependabot/github_actions/ci-02cc0d4dbf
build(deps): bump the ci group with 3 updates
2024-02-07 13:35:24 +02:00
Sanskar Jaiswal
0a2169965a Merge pull request #1593 from fluxcd/lfx-trademark
docs: add lfx trademark disclaimer
2024-02-07 16:11:06 +05:30
Sanskar Jaiswal
169aea200c docs: add lfx trademark disclaimer
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2024-02-07 13:04:23 +05:30
dependabot[bot]
785db00796 build(deps): bump the ci group with 3 updates
Bumps the ci group with 3 updates: [actions/cache](https://github.com/actions/cache), [codecov/codecov-action](https://github.com/codecov/codecov-action) and [sigstore/cosign-installer](https://github.com/sigstore/cosign-installer).


Updates `actions/cache` from 3.3.2 to 4.0.0
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3.3.2...v4.0.0)

Updates `codecov/codecov-action` from 3 to 4
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v3...v4)

Updates `sigstore/cosign-installer` from 3.3.0 to 3.4.0
- [Release notes](https://github.com/sigstore/cosign-installer/releases)
- [Commits](https://github.com/sigstore/cosign-installer/compare/v3.3.0...v3.4.0)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: ci
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: ci
- dependency-name: sigstore/cosign-installer
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: ci
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-05 11:16:40 +00:00
Stefan Prodan
a88c056e04 Merge pull request #1589 from fluxcd/stefan-affiliation
Change Stefan Prodan's affiliation to ControlPlane
2024-02-05 11:36:54 +02:00
Stefan Prodan
6584f452b7 Change Stefan Prodan's affiliation to ControlPlane
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-02-05 11:27:04 +02:00
Stefan Prodan
16f8e15c98 Merge pull request #1582 from LiZhenCheng9527/fix-metric-bug
return an error for missing metric templates
2024-01-30 14:17:14 +02:00
LiZhenCheng9527
5f8aeb878b add ut for function runMetricChecks
Signed-off-by: LiZhenCheng9527 <lizhencheng6@huawei.com>
2024-01-18 18:14:44 +08:00
LiZhenCheng9527
d618cfcedd fix ut failed
Signed-off-by: LiZhenCheng9527 <lizhencheng6@huawei.com>
2024-01-18 16:52:18 +08:00
LiZhenCheng9527
471da0abba return an error for missing metric templates and count that towards the failure threshold
Signed-off-by: LiZhenCheng9527 <lizhencheng6@huawei.com>
2024-01-18 09:51:31 +08:00
Sanskar Jaiswal
b562ddd3e2 Merge pull request #1576 from fluxcd/update-sanskar-affiliation
Change Sanskar Jaiswal's affiliation to Independent
2024-01-08 15:35:54 +05:30
Sanskar Jaiswal
82e5e3ad93 Change Sanskar Jaiswal's affiliation to Independent
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2024-01-08 15:24:37 +05:30
Stefan Prodan
fa30864580 Merge pull request #1574 from fluxcd/stefanprodan-affiliation
Change Stefan Prodan's affiliation to independent
2024-01-03 15:12:46 +02:00
Stefan Prodan
dc9fc923e4 Change Stefan Prodan's affiliation to independent
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-01-03 14:22:59 +02:00
Stefan Prodan
6f42af4ade Merge pull request #1570 from fluxcd/dependabot/github_actions/ci-49e604c729
build(deps): bump the ci group with 3 updates
2024-01-02 11:12:25 +02:00
Stefan Prodan
28afd0acd6 Merge pull request #1572 from fluxcd/dependabot/go_modules/golang.org/x/crypto-0.17.0
build(deps): bump golang.org/x/crypto from 0.15.0 to 0.17.0
2024-01-02 11:11:59 +02:00
dependabot[bot]
0810972d31 build(deps): bump the ci group with 3 updates
Bumps the ci group with 3 updates: [actions/setup-go](https://github.com/actions/setup-go), [sigstore/cosign-installer](https://github.com/sigstore/cosign-installer) and [github/codeql-action](https://github.com/github/codeql-action).


Updates `actions/setup-go` from 4 to 5
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v4...v5)

Updates `sigstore/cosign-installer` from 3.2.0 to 3.3.0
- [Release notes](https://github.com/sigstore/cosign-installer/releases)
- [Commits](https://github.com/sigstore/cosign-installer/compare/v3.2.0...v3.3.0)

Updates `github/codeql-action` from 2 to 3
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: ci
- dependency-name: sigstore/cosign-installer
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: ci
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: ci
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-25 11:52:08 +00:00
dependabot[bot]
64f393fd60 build(deps): bump golang.org/x/crypto from 0.15.0 to 0.17.0
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.15.0 to 0.17.0.
- [Commits](https://github.com/golang/crypto/compare/v0.15.0...v0.17.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-19 00:02:01 +00:00
Sanskar Jaiswal
a2d147387c Merge pull request #1571 from fluxcd/istio-retries
istio: make retry attempts a mandatory field
2023-12-18 21:22:17 +05:30
Sanskar Jaiswal
3a887bd79a istio: make retry attempts a mandatory field
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2023-12-18 17:36:49 +05:30
Stefan Prodan
9f5ad2ec23 Merge pull request #1555 from fluxcd/dependabot/github_actions/ci-bb4b00b6aa
build(deps): bump the ci group with 1 update
2023-11-30 17:26:06 +02:00
Sanskar Jaiswal
d1de1d788d Merge pull request #1559 from fluxcd/release-v1.35.0
Release v1.35.0
2023-11-30 20:52:16 +05:30
Sanskar Jaiswal
7e95b1a8a5 Release v1.35.0
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2023-11-30 20:16:00 +05:30
Sanskar Jaiswal
83b5800009 Merge pull request #1560 from fluxcd/release-ld-v0.30.0
Release loadtester v0.30.0
2023-11-30 20:15:41 +05:30
Sanskar Jaiswal
daab49730e Release loadtester v0.30.0
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2023-11-30 19:46:21 +05:30
Sanskar Jaiswal
825b5d103a Merge pull request #1558 from fluxcd/update-deps
Update Go dependencies
2023-11-30 15:57:57 +05:30
Sanskar Jaiswal
eb8026e22b Update Go dependencies
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2023-11-30 15:07:42 +05:30
Sanskar Jaiswal
e9b8dee726 Merge pull request #1557 from fluxcd/gatewayapi-v1
gatewayapi: add support for `v1`
2023-11-30 15:06:31 +05:30
Sanskar Jaiswal
37621dead8 gatewayapi: modify tutorial to use istio and v1
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2023-11-30 13:17:58 +05:30
Sanskar Jaiswal
1f2c464b45 gatewayapi: add support for timeouts
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2023-11-29 20:56:33 +05:30
Sanskar Jaiswal
09b0937e18 gatewayapi: bump e2e tests to v1
Bump Gateway API E2E tests to v1 and switch to Istio from Contour.

Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2023-11-29 20:56:33 +05:30
Sanskar Jaiswal
0d0d0ef811 gatewayapi: add support for v1 and drop v1alpha2
Add support for v1 of Gateway API `HTTPRoute`. Drop support for v1alpha2
as it was deprecated almost a year ago.

Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2023-11-29 20:56:30 +05:30
Sanskar Jaiswal
8935ef5e6a Merge pull request #1541 from Kwasniewski/webhook_retries
feat: Webhook retries
2023-11-28 19:31:39 +05:30
dependabot[bot]
61eee5750b build(deps): bump the ci group with 1 update
Bumps the ci group with 1 update: [fossa-contrib/fossa-action](https://github.com/fossa-contrib/fossa-action).

- [Release notes](https://github.com/fossa-contrib/fossa-action/releases)
- [Changelog](https://github.com/fossa-contrib/fossa-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/fossa-contrib/fossa-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: fossa-contrib/fossa-action
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: ci
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-27 11:42:34 +00:00
Joseph Kwasniewski
ad8e7d613a feat: add support for webhook retries
Add a new field `.spec.webhooks[].retries` to specify the number of
retries when calling a webhook.

Signed-off-by: Joseph Kwasniewski <kwasniewski@gmail.com>
2023-11-27 13:57:08 +05:30
Stefan Prodan
3e87c153db Merge pull request #1549 from fluxcd/dependabot/github_actions/ci-121354bc3a
build(deps): bump the ci group with 1 update
2023-11-20 13:43:16 +02:00
dependabot[bot]
9189f17ff8 build(deps): bump the ci group with 1 update
Bumps the ci group with 1 update: [sigstore/cosign-installer](https://github.com/sigstore/cosign-installer).

- [Release notes](https://github.com/sigstore/cosign-installer/releases)
- [Commits](https://github.com/sigstore/cosign-installer/compare/v3.1.2...v3.2.0)

---
updated-dependencies:
- dependency-name: sigstore/cosign-installer
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: ci
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-20 11:14:05 +00:00
Sanskar Jaiswal
749e099ff0 Merge pull request #1552 from fluxcd/canary-dep-finalize
controller: wait for canary deployment to be ready before removing finalizers
2023-11-20 15:51:44 +05:30
Sanskar Jaiswal
63ec848b38 controller: wait for canary deployment to be ready before removing finalizers
Fix the waiting logic to actually wait for the canary deployment to be
ready before continuing with the rest of the finalization logic.
Previously, the canary deployment was not being checked for a ready
status due to the the absence of the `Steps` field in the specified
backoff.

Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2023-11-17 18:03:57 +05:30
Stefan Prodan
8c078e898b Merge pull request #1545 from fluxcd/dependabot/go_modules/google.golang.org/grpc-1.58.3
build(deps): bump google.golang.org/grpc from 1.58.2 to 1.58.3
2023-10-26 09:28:09 +03:00
dependabot[bot]
e784f88045 build(deps): bump google.golang.org/grpc from 1.58.2 to 1.58.3
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.58.2 to 1.58.3.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.58.2...v1.58.3)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-25 21:35:07 +00:00
Sanskar Jaiswal
c5369e9113 Merge pull request #1540 from S-mishina/feature/support-istio-destinationrule-warmupdurationsecs
Support istio Destination Dule WarmupDurationSecs
2023-10-17 18:52:50 +05:30
S-mishina
d196fae71c support WarmupDurationSecs
Signed-off-by: S-mishina <seiryu.mishina@zozo.com>

Delete unwanted descriptions

Signed-off-by: S-mishina <seiryu.mishina@zozo.com>

Add kustomize/base/flagger/crd.yaml WarmupDurationSecs field 

Signed-off-by: S-mishina <seiryu.mishina@zozo.com>

fix warmupDurationSecs description

Signed-off-by: S-mishina <seiryu.mishina@zozo.com>
2023-10-17 21:50:11 +09:00
Sanskar Jaiswal
d7bf6a2474 Merge pull request #1537 from rye-sw/fix-issue-1534
set original node selector value when finalizing service
2023-10-17 12:14:47 +05:30
rye-sw
d796c206d3 Set original node selector value when finalizing service
Signed-off-by: rye-sw <rye@stairwell.com>
2023-10-16 10:44:18 -07:00
Stefan Prodan
55db424082 Merge pull request #1538 from fluxcd/dependabot/go_modules/golang.org/x/net-0.17.0
build(deps): bump golang.org/x/net from 0.15.0 to 0.17.0
2023-10-12 09:22:19 +03:00
dependabot[bot]
750a1e53aa build(deps): bump golang.org/x/net from 0.15.0 to 0.17.0
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.15.0 to 0.17.0.
- [Commits](https://github.com/golang/net/compare/v0.15.0...v0.17.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-11 23:18:39 +00:00
Sanskar Jaiswal
450abb60b9 Merge pull request #1529 from fluxcd/release-v1.34.0
Release v1.34.0
2023-10-04 15:41:32 +05:30
Sanskar Jaiswal
ce70a50047 Release v1.34.0
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2023-10-04 14:56:51 +05:30
Sanskar Jaiswal
f465a6cdda Merge pull request #1528 from fluxcd/update-deps
Update Go dependencies
2023-10-04 13:33:51 +05:30
Sanskar Jaiswal
c1f39443d6 Update Go dependencies
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2023-10-04 12:47:15 +05:30
Sanskar Jaiswal
6112ad9c54 Merge pull request #1525 from fluxcd/gw-mirror
gatewayapi: add support for b/g mirroring
2023-10-04 11:28:48 +05:30
Sanskar Jaiswal
8dbc72d7ff gatewayapi: add docs for b/g mirroring
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2023-10-03 14:41:38 +05:30
Sanskar Jaiswal
dc6dd0661a gatewayapi: add support for b/g mirroring
Add support for mirroring requests while performing B/G deployments with
Gateway API. A `RequestMirror` filter pointing to the canary service is
added to the HTTPRoute during a Canary run. During the Canary run, drift
correction for `.spec.rules[].filters` is disabled to avoid removing the
mirror filter.

Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2023-10-03 14:41:37 +05:30
Stefan Prodan
475aff81ae Merge pull request #1524 from Megum1n/main
Change Gloo Duration type to string
2023-10-03 12:11:20 +03:00
Megum1n
968a193f42 Fix typo in the test script
Signed-off-by: Megum1n <misaka@pantsu.moe>
2023-10-03 10:05:45 +02:00
Megum1n
22a9fd3d12 Add connectionTimeout configuration to gloo canary test
Signed-off-by: Megum1n <misaka@pantsu.moe>
2023-10-03 10:05:45 +02:00
Megum1n
8ada61edd1 Use strings for gloo duration configuration
Signed-off-by: Megum1n <misaka@pantsu.moe>
2023-10-03 10:05:45 +02:00
Stefan Prodan
cadce1a2c2 Merge pull request #1522 from fluxcd/enterprise-runners
ci: Use GitHub larger runners
2023-09-25 10:49:20 +03:00
Stefan Prodan
3a7fd48d3a Merge pull request #1518 from mumubin/docs_deployment_strategies_fix
docs: fix error example in deployment strategies
2023-09-22 17:52:47 +03:00
Sanskar Jaiswal
15ef64eb14 Merge pull request #1512 from fluxcd/gw-filters
gatewayapi: add support for route rule filters
2023-09-22 16:39:07 +05:30
Sanskar Jaiswal
c0e2096f92 gatewayapi: add support for route rule filters
Add support for [`Filters`](https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1beta1.HTTPRouteFilter)
in the HTTPRoute API. We reuse most of the existing fields used for
Istio to construct the appopriate filter. A new API
`.spec.service.mirror` is added to allow for request mirroring. The
`.spec.service.rewrite` API has been changed to a custom `HTTPRewrite`
API instead of importing it from Istio, to allow covering all features
that Gateway API provides.

Support for the [`RequestRedirect`](https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1beta1.HTTPRequestRedirectFilter)
Filter has been left out on purpose, since it's not possible to specify
it if the same rule also specifies `.backendRefs` (which Flagger does).

Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2023-09-22 16:10:09 +05:30
Stefan Prodan
e4c05c3034 ci: Use GitHub larger runners
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2023-09-19 17:16:01 +03:00
Stefan Prodan
794fea8cc6 Merge pull request #1521 from bigkevmcd/hook-versions
Add Checksum field to the Webhook payload to distinguish canary runs
2023-09-19 16:54:12 +03:00
Kevin McDermott
56b6339f8c Add Canary Webhook checksum.
This adds a new Checksum field to the canary webhook body, which is a
hash of the LastAppliedSpec and TrackedConfigs.

This can be used to identify the rollout of a specific configuration,
and differentiate between webhooks being sent for different
configuration and deployment versions.

Signed-off-by: Kevin McDermott <kevin@weave.works>
2023-09-19 12:50:37 +01:00
Stefan Prodan
788e692e90 Merge pull request #1517 from fluxcd/dependabot/github_actions/ci-86952151d7
build(deps): bump the ci group with 9 updates
2023-09-19 12:19:27 +03:00
Stefan Prodan
a517309557 Merge pull request #1516 from adleong/alex/linkerd
Update Linkerd tutorial to use Kubernetes Gateway API
2023-09-19 12:19:01 +03:00
bin.hu
ecdde862bf docs: fix error example in deployment strategies
Signed-off-by: bin.hu <bin.hu@ringcentral.com>
2023-09-18 14:08:36 +08:00
dependabot[bot]
0bcc814154 build(deps): bump the ci group with 9 updates
Bumps the ci group with 9 updates:

| Package | From | To |
| --- | --- | --- |
| [actions/checkout](https://github.com/actions/checkout) | `3` | `4` |
| [actions/cache](https://github.com/actions/cache) | `3.3.1` | `3.3.2` |
| [sigstore/cosign-installer](https://github.com/sigstore/cosign-installer) | `3.1.1` | `3.1.2` |
| [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) | `2` | `3` |
| [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) | `2` | `3` |
| [docker/login-action](https://github.com/docker/login-action) | `2` | `3` |
| [docker/metadata-action](https://github.com/docker/metadata-action) | `4` | `5` |
| [docker/build-push-action](https://github.com/docker/build-push-action) | `4` | `5` |
| [goreleaser/goreleaser-action](https://github.com/goreleaser/goreleaser-action) | `4` | `5` |


Updates `actions/checkout` from 3 to 4
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

Updates `actions/cache` from 3.3.1 to 3.3.2
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3.3.1...v3.3.2)

Updates `sigstore/cosign-installer` from 3.1.1 to 3.1.2
- [Release notes](https://github.com/sigstore/cosign-installer/releases)
- [Commits](https://github.com/sigstore/cosign-installer/compare/v3.1.1...v3.1.2)

Updates `docker/setup-qemu-action` from 2 to 3
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](https://github.com/docker/setup-qemu-action/compare/v2...v3)

Updates `docker/setup-buildx-action` from 2 to 3
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v2...v3)

Updates `docker/login-action` from 2 to 3
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v2...v3)

Updates `docker/metadata-action` from 4 to 5
- [Release notes](https://github.com/docker/metadata-action/releases)
- [Upgrade guide](https://github.com/docker/metadata-action/blob/master/UPGRADE.md)
- [Commits](https://github.com/docker/metadata-action/compare/v4...v5)

Updates `docker/build-push-action` from 4 to 5
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v4...v5)

Updates `goreleaser/goreleaser-action` from 4 to 5
- [Release notes](https://github.com/goreleaser/goreleaser-action/releases)
- [Commits](https://github.com/goreleaser/goreleaser-action/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: ci
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: ci
- dependency-name: sigstore/cosign-installer
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: ci
- dependency-name: docker/setup-qemu-action
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: ci
- dependency-name: docker/setup-buildx-action
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: ci
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: ci
- dependency-name: docker/metadata-action
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: ci
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: ci
- dependency-name: goreleaser/goreleaser-action
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: ci
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-16 07:12:30 +00:00
Stefan Prodan
aaafdca6ca Merge pull request #1513 from fluxcd/dependabot-group
ci: group depandabot updates
2023-09-16 10:10:35 +03:00
Alex Leong
22c96c5af5 Fix threshold ranges
Signed-off-by: Alex Leong <alex@buoyant.io>
2023-09-15 15:36:19 -07:00
Alex Leong
04a1f2fa68 Add metrics templates
Signed-off-by: Alex Leong <alex@buoyant.io>
2023-09-15 15:08:32 -07:00
Alex Leong
efc588001f Include gatewayRefs in Linkerd Canary resources
Signed-off-by: Alex Leong <alex@buoyant.io>
2023-09-15 14:05:14 -07:00
Alex Leong
d543c8ef95 Update test
Signed-off-by: Alex Leong <alex@buoyant.io>
2023-09-15 12:21:46 -07:00
Alex Leong
da7015397c Update Linkerd tutorial
Signed-off-by: Alex Leong <alex@buoyant.io>
2023-09-15 12:08:23 -07:00
Sanskar Jaiswal
fe32b2162d ci: group depandabot updates
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2023-09-15 12:47:29 +05:30
Chris Minton
68d306ca83 fix(pdb): use the full capabilities comparison for PDBs
Signed-off-by: Chris Minton <chris.minton@sainsburys.co.uk>
2023-09-11 22:35:49 +01:00
Sanskar Jaiswal
7ab0eb14ea Merge pull request #1507 from fluxcd/gw-session-affinity
gatewayapi: add support for session affinity
2023-09-11 18:54:54 +05:30
Sanskar Jaiswal
0eaf054e8b remove all usages of autoscaling/v2beta2 from docs
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2023-09-11 13:57:26 +05:30
Sanskar Jaiswal
a312f6a5e1 e2e: add tests for canary releases with session affinity
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2023-09-11 13:57:26 +05:30
Sanskar Jaiswal
00fcf991a6 gatewayapi: add support for session affinity
Add support for Canary releases with session affinity for Gateway API.
This enables any Gateway API implementation that supports
[`ResponseHeaderModifier`](3d22aa5a08/apis/v1beta1/httproute_types.go (L651))
to be used with session affinity.

Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2023-09-11 13:57:23 +05:30
Sanskar Jaiswal
8dbd8d509b Merge pull request #1505 from sonbui00/fix-880
fix: Support for queryParams in canary match condition #880
2023-09-07 13:16:48 +05:30
Son Bui
ff25d1ee92 fix: Support for queryParams in canary match condition #880
Signed-off-by: Son Bui <sonbv00@gmail.com>
2023-09-07 11:59:03 +08:00
Sanskar Jaiswal
2d3f039d80 Merge pull request #1506 from fluxcd/update-k8s
Update Kubernetes to v1.27
2023-09-06 18:59:25 +05:30
Sanskar Jaiswal
69cb3cd881 run k8s 1.24 in ci for skipper
Skipper's installation requires the creation of a PodSecurityPolicy
object. Since PSP was removed from k8s 1.25, we need to run tests for
skipper on k8s 1.24.

Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2023-09-06 18:34:33 +05:30
Sanskar Jaiswal
225e968288 ci: update kubernetes to v1.27
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2023-09-06 16:37:27 +05:30
Sanskar Jaiswal
f0ffb67cff update kubernetes to v1.27
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2023-09-06 15:49:25 +05:30
Sanskar Jaiswal
dc8fe81c91 Merge pull request #1502 from sonbui00/doc-incorrect-name
chore: fix incorrect canary name on document
2023-09-06 00:33:52 +05:30
Son Bui
f29c74b957 chore: fix incorrect canary name on document
Signed-off-by: Son Bui <sonbv00@gmail.com>
2023-09-01 13:08:24 +08:00
Stefan Prodan
dfc0c96824 Merge pull request #1499 from fluxcd/fix-cosign-goreleaser
ci: Fix goreleaser signatures
2023-08-29 17:08:10 +03:00
Stefan Prodan
1093c64d5a ci: Fix goreleaser signatures
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2023-08-29 17:06:15 +03:00
Stefan Prodan
993385036c Merge pull request #1498 from fluxcd/fix-flux-push
ci: Fix flux push artifact
2023-08-29 16:10:52 +03:00
Stefan Prodan
0c8b5048dd ci: Fix flux push artifact
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2023-08-29 16:09:46 +03:00
Stefan Prodan
c90da790c5 Merge pull request #1497 from fluxcd/fix-cosign
ci: Fix cosign signatures
2023-08-29 15:27:35 +03:00
Stefan Prodan
cef1bb8e67 ci: Fix cosign signatures
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2023-08-29 15:19:42 +03:00
Stefan Prodan
34b544bb47 Merge pull request #1496 from fluxcd/fix-release
ci: fix release workflow
2023-08-29 14:09:28 +03:00
Sanskar Jaiswal
2fd45cd0d8 ci: fix release workflow
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2023-08-29 16:09:24 +05:30
Sanskar Jaiswal
aec43794d8 Merge pull request #1493 from fluxcd/release-v1.33.0
Release v1.33.0
2023-08-29 15:42:31 +05:30
Sanskar Jaiswal
d35ecbeba8 Release v1.33.0
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2023-08-29 14:32:06 +05:30
Stefan Prodan
e1b9d64379 Merge pull request #1495 from fluxcd/slsa3
ci: Generate SLSA provenance for release artifacts
2023-08-29 12:01:52 +03:00
Stefan Prodan
137d31ac79 ci: Generate SLSA provenance for release artifacts
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2023-08-29 11:34:15 +03:00
Sanskar Jaiswal
b30855480f Merge pull request #1494 from fluxcd/kubectl-docs
add docs for kubectl in loadtester
2023-08-29 14:04:08 +05:30
Sanskar Jaiswal
cc08d31622 add docs for kubectl in loadtester
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2023-08-29 13:50:50 +05:30
Sanskar Jaiswal
d021e25757 Merge pull request #1446 from miguelvalerio/fix-traefik-request-duration
Fix Traefik request-duration metric
2023-08-28 20:58:48 +05:30
Sanskar Jaiswal
7a0e95b498 update traefik version to 24.0.0 in e2e tests
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2023-08-28 20:21:17 +05:30
miguelvalerio
c812dcffc1 fix traefik request-duration metric
Signed-off-by: miguelvalerio <miguelgomes.valerio@gmail.com>
2023-08-28 20:14:53 +05:30
Sanskar Jaiswal
e1c4257b68 Merge pull request #1483 from tyagian/helm_chart_fix
Helm: Allow custom labels for servicemonitor
2023-08-28 20:12:35 +05:30
Anuj Tyagi
a31a46f375 Add labels and namespace to servicemonitor chart
Signed-off-by: Anuj Tyagi <tyagi.an@husky.neu.edu>
2023-08-28 19:37:52 +05:30
Stefan Prodan
a41a7bb6a4 Merge pull request #1442 from hsolberg/feature/make-honorLabels-configurable
Helm: Add option to configure honorLabels for serviceMonitor
2023-08-28 16:24:46 +03:00
Stefan Prodan
2992a99bbc Merge pull request #1443 from RobinNil/fix-typos
fix: typo on "Parase", should be "Parse".
2023-08-28 16:23:13 +03:00
Sanskar Jaiswal
eb302fe16e Merge pull request #1489 from sonbui00/fix-1104
Update Istio Gateway reference format
2023-08-28 18:51:09 +05:30
Son Bui
2e4fe73d34 fix: Incorrect format for istio gateways #1104
Signed-off-by: Son Bui <sonbv00@gmail.com>
2023-08-28 20:46:30 +08:00
Stefan Prodan
aad4f54afa Merge pull request #1492 from sonbui00/upgrade-istio
e2e: Update Istio to v1.18
2023-08-28 15:25:29 +03:00
Sanskar Jaiswal
311cb5f2fd Merge pull request #1490 from fluxcd/release-ld-v0.29.0
Release loadtester v0.29.0
2023-08-28 17:49:26 +05:30
Son Bui
388c0ef344 upgrade istio version
Signed-off-by: Son Bui <sonbv00@gmail.com>
2023-08-28 19:29:46 +08:00
Sanskar Jaiswal
3feaabea76 Release loadtester v0.29.0
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2023-08-28 16:08:44 +05:30
Sanskar Jaiswal
ddc337b01a Update Helm, grpc-health-probe and ghz in loadtester
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2023-08-28 16:08:44 +05:30
Sanskar Jaiswal
29c94d5f5e Update Go dependencies
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2023-08-28 16:08:44 +05:30
Sanskar Jaiswal
7af4498fd4 Merge pull request #1491 from fluxcd/cosign
ci: update cosign signing
2023-08-28 15:43:02 +05:30
Sanskar Jaiswal
7cce4fd6d8 ci: update cosign signing
Bypass prompt confirmation and switch to signing digests instead of
tags.

Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2023-08-28 14:51:47 +05:30
Sanskar Jaiswal
5a809d7b3a Merge pull request #1485 from mumubin/support-kubectl
feat: loadtester support kubectl type
2023-08-28 13:27:08 +05:30
bin.hu
1802c4b7be feat: kubectl support kustomize remote git repo
Signed-off-by: bin.hu <bin.hu@ringcentral.com>
2023-08-24 09:56:37 +08:00
bin.hu
084daaf3f9 feat: loadtester support kubectl type
Signed-off-by: bin.hu <bin.hu@ringcentral.com>
2023-08-22 10:36:24 +08:00
Sanskar Jaiswal
7fc007a123 Merge pull request #1452 from fluxcd/dependabot/github_actions/sigstore/cosign-installer-3.1.1
build(deps): bump sigstore/cosign-installer from 2.8.1 to 3.1.1
2023-08-22 00:12:28 +05:30
dependabot[bot]
6359d5ea19 build(deps): bump sigstore/cosign-installer from 2.8.1 to 3.1.1
Bumps [sigstore/cosign-installer](https://github.com/sigstore/cosign-installer) from 2.8.1 to 3.1.1.
- [Release notes](https://github.com/sigstore/cosign-installer/releases)
- [Commits](https://github.com/sigstore/cosign-installer/compare/v2.8.1...v3.1.1)

---
updated-dependencies:
- dependency-name: sigstore/cosign-installer
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-21 17:27:50 +00:00
Sanskar Jaiswal
1de46a0bd3 Merge pull request #1477 from xtineskim/main
podinfo: Update hpa version from autoscaling/v2beta2 to autoscaling/v2
2023-08-21 22:56:47 +05:30
Christine Kim
a8769f8cf5 Kustomize update hpa version
Signed-off-by: Christine Kim <xtineskim@gmail.com>
2023-08-21 12:12:03 -04:00
Sanskar Jaiswal
67bc27f515 Merge pull request #1466 from arukiidou/patch-1
Update doc.go
2023-08-21 14:45:56 +05:30
arukiidou
dfb5d0847a Update gatewayapi v1beta1 doc.go
Signed-off-by: arukiidou <arukiidou@yahoo.co.jp>
2023-08-21 13:49:34 +05:30
Sanskar Jaiswal
ee37069385 Merge pull request #1456 from kellyfj/fix-faq
Fix FAQ templating format and change reference of $workload to $target.
2023-08-21 12:51:44 +05:30
Frank Kelly
e5c0ffb693 Fix FAQ templating format and change workload to target.
Signed-off-by: Frank Kelly <kellyfj@gmail.com>
2023-08-21 11:36:55 +05:30
Sanskar Jaiswal
ba7fedf762 Merge pull request #1451 from miguelvalerio/fix-initialization-downtime
Fix initial deployment downtime
2023-08-18 16:33:21 +05:30
miguelvalerio
b25e12d45d fix initial deployment downtime
Signed-off-by: miguelvalerio <miguelgomes.valerio@gmail.com>
2023-08-18 12:40:56 +05:30
Stefan Prodan
2944581a70 Merge pull request #1470 from ta924/main
Avoid running traffic increase hooks when waiting for promotion or promoting
2023-08-14 18:30:22 +03:00
Stefan Prodan
45038cbf9f Merge pull request #1476 from bdols/pdb-versions
Helm: Use PodDisruptionBudget API policy/v1 if available
2023-08-14 18:29:36 +03:00
Brian Dols
0bdffc9e10 use PodDisruptionBudget API policy/v1 if available
Signed-off-by: Brian Dols <brian.dols@inky.com>
2023-08-10 23:43:34 -05:00
ta924@yahoo.com
ca6867a6b1 fix trafficIncrease calls when using confirmPromotion
Signed-off-by: ta924@yahoo.com <ta924@yahoo.com>
2023-08-03 11:16:25 -05:00
Stefan Prodan
eee3607ab7 Merge pull request #1461 from fluxcd/dependabot/github_actions/helm/kind-action-1.8.0
build(deps): bump helm/kind-action from 1.7.0 to 1.8.0
2023-07-17 18:25:18 +03:00
dependabot[bot]
17075e9006 build(deps): bump helm/kind-action from 1.7.0 to 1.8.0
Bumps [helm/kind-action](https://github.com/helm/kind-action) from 1.7.0 to 1.8.0.
- [Release notes](https://github.com/helm/kind-action/releases)
- [Commits](https://github.com/helm/kind-action/compare/v1.7.0...v1.8.0)

---
updated-dependencies:
- dependency-name: helm/kind-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-17 11:57:06 +00:00
Sanskar Jaiswal
cf037c60ab Merge pull request #1460 from fluxcd/release-v1.32.0
Release v1.32.0
2023-07-14 15:17:07 +05:30
Sanskar Jaiswal
27f354cc24 Release v1.32.0
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2023-07-14 12:57:25 +05:30
Sanskar Jaiswal
3d583068aa Merge pull request #1459 from fluxcd/update-deps
Update Go dependencies
2023-07-13 21:28:32 +05:30
Sanskar Jaiswal
00fd1f93a9 Update Go dependencies
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2023-07-13 20:27:17 +05:30
Sanskar Jaiswal
440b88103a Merge pull request #1455 from nickcaballero/feat/gloo-lb-slowstart
feat: Copy slowStartConfig for Gloo upstreams
2023-07-13 18:56:40 +05:30
Nick Caballero
8747d15417 feat: Copy slowStartConfig for Gloo upstreams
Signed-off-by: Nick Caballero <nick.caballero@offerup.com>
2023-07-13 18:25:02 +05:30
Stefan Prodan
ac3140b8a2 Merge pull request #1458 from steve-fraser/main
Fixing namespace of HelmRepository in installation docs
2023-07-13 10:17:10 +03:00
Steven Fraser
310ca7eae8 Fixing namespace of HelmRepository
Signed-off-by: Steven Fraser <steve.fraser@weave.works>
2023-07-12 17:27:04 -04:00
Sanskar Jaiswal
6d6fc94855 Merge pull request #1439 from Codasquieves/main
Add support for istio LEAST_REQUEST destination rule load balancing
2023-07-07 20:45:23 +05:30
Ivan Lopes
7d29af4f41 Add support for istio LEAST_REQUEST destination rule load balancing algorithm
Signed-off-by: Ivan Lopes <ivanckp@gmail.com>
2023-07-06 10:11:00 -03:00
Sanskar Jaiswal
2b80c4756c Merge pull request #1453 from adleong/alex/parent-port
Add gatewayRef port to Canary CRD
2023-07-05 12:20:36 +05:30
Alex Leong
879ea26cf6 Add gatewayRef port to Canary CRD
Signed-off-by: Alex Leong <alex@buoyant.io>
2023-07-04 13:22:24 -07:00
Robin
7b7cdcf7cd fix: typo on "Parase", should be "Parse".
title says it all.

Signed-off-by: Robin <330836+RobinNil@users.noreply.github.com>
2023-06-23 08:04:24 -04:00
Henrik Solberg
93a3aaa86f Helm: Add option to configure honorLabels for serviceMonitor.
Signed-off-by: Henrik Solberg <henrik.solberg@sparebank1.no>
2023-06-16 09:41:35 +02:00
Sanskar Jaiswal
d960666b68 Merge pull request #1437 from pinkavaj/pi-fix-nil
Fix panic when annotation of ingress is empty
2023-05-30 16:09:25 +05:30
Jiří Pinkava
d2564874ab Fix panic when annotation of ingress is empty
When the annotation of ingress is not set, the returned value is nil
(not empty map). Trying to assign to this map leads to panic.

Signed-off-by: Jiří Pinkava <j-pi@seznam.cz>
2023-05-29 11:27:28 +02:00
Stefan Prodan
e71ce18b9d Merge pull request #1436 from fluxcd/dependabot/github_actions/helm/kind-action-1.7.0
build(deps): bump helm/kind-action from 1.5.0 to 1.7.0
2023-05-22 16:33:21 +03:00
dependabot[bot]
59849f6c05 build(deps): bump helm/kind-action from 1.5.0 to 1.7.0
Bumps [helm/kind-action](https://github.com/helm/kind-action) from 1.5.0 to 1.7.0.
- [Release notes](https://github.com/helm/kind-action/releases)
- [Commits](https://github.com/helm/kind-action/compare/v1.5.0...v1.7.0)

---
updated-dependencies:
- dependency-name: helm/kind-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-22 11:59:49 +00:00
Sanskar Jaiswal
5a6e2d165b Merge pull request #1431 from fluxcd/suspend
Add `spec.suspend` to allow suspending canary
2023-05-17 16:13:39 +05:30
Sanskar Jaiswal
6384bfb4a2 add spec.suspend to allow suspending canary
Suspend, if set to true will suspend the Canary, disabling any canary runs
regardless of any changes to its target, services, etc. Note that if the
Canary is suspended during an analysis, its paused until the Canary is unsuspended.

Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2023-05-17 13:43:23 +05:30
Sanskar Jaiswal
4303f8edfd Merge pull request #1429 from fluxcd/finalize-keda
Resume target scaler during finalization
2023-05-17 13:42:50 +05:30
Sanskar Jaiswal
25754a3f03 resume target scaler during finalization
Resume target scaler during finalization so that targetRef deployment
does not get stuck at 0 replicas after canary has been deleted.

Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2023-05-17 12:26:06 +05:30
Stefan Prodan
b71f0ce721 Merge pull request #1426 from fluxcd/update-alpine
Update Alpine to 3.18
2023-05-12 16:58:28 +03:00
Hidde Beydals
9055f96eeb Update Alpine to 3.18
Signed-off-by: Hidde Beydals <hiddeco@users.noreply.github.com>
2023-05-12 15:34:38 +02:00
Stefan Prodan
073ac2206f Merge pull request #1425 from eabykov/main
Helm: Add option to create service and serviceMonitor
2023-05-11 14:06:10 +03:00
Eugene Bykov
3814e8f19d Added servicemonitor
Signed-off-by: Eugene Bykov <44170496+eabykov@users.noreply.github.com>

Update README.md

Signed-off-by: Eugene Bykov <44170496+eabykov@users.noreply.github.com>

Update values.yaml

Signed-off-by: Eugene Bykov <44170496+eabykov@users.noreply.github.com>

Update service.yaml

Signed-off-by: Eugene Bykov <44170496+eabykov@users.noreply.github.com>

Update values.yaml

Signed-off-by: Eugene Bykov <44170496+eabykov@users.noreply.github.com>

Update service.yaml

Signed-off-by: Eugene Bykov <44170496+eabykov@users.noreply.github.com>

Create servicemonitor.yaml

Signed-off-by: Eugene Bykov <44170496+eabykov@users.noreply.github.com>

Update service.yaml

Signed-off-by: Eugene Bykov <44170496+eabykov@users.noreply.github.com>

Create service.yaml

Signed-off-by: Eugene Bykov <44170496+eabykov@users.noreply.github.com>
2023-05-11 13:38:57 +03:00
Stefan Prodan
1e5d83ad21 Merge pull request #1424 from fluxcd/release-v1.31.0
Release v1.31.0
2023-05-10 18:42:30 +03:00
Sanskar Jaiswal
68f0920548 Release v1.31.0
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2023-05-10 19:10:58 +05:30
Stefan Prodan
0d25d84230 Merge pull request #1384 from to266/fix-docs
Fix the loadtester install with flux documentation
2023-05-10 11:30:31 +03:00
Sanskar Jaiswal
15a6f742e0 Merge pull request #1414 from fluxcd/confirm-rollout
Run `confirm-rollout` checks only before scaling up deployment
2023-05-08 23:39:54 +05:30
Sanskar Jaiswal
495a5b24f4 run confirm-rollout checks only before scaling up
Run the `confirm-rollout` webhook check right before scaling up the
deployment only, instead of running it on every loop.

Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2023-05-08 20:15:42 +05:30
Stefan Prodan
956daea9dd Merge pull request #1423 from fluxcd/remove-osm-e2e
e2e: Remove OSM tests
2023-05-08 17:41:31 +03:00
Stefan Prodan
7b17286b96 e2e: Remove OSM tests
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2023-05-08 17:09:20 +03:00
Sanskar Jaiswal
e535b01de1 Merge pull request #1417 from alpeb/linkerd-2.13
Add support for Linkerd 2.13
2023-05-08 18:01:16 +05:30
Alejandro Pedraza
d151a1b5e4 Update linkerd tutorial
Signed-off-by: Alejandro Pedraza <alejandro@buoyant.io>
2023-05-08 06:33:00 -05:00
Alejandro Pedraza
7242fa7d5c Add support for Linkerd 2.13
In Linkerd 2.13 the Prometheus instance in
the `linkerd-viz` namespace is now locked behind an
[_AuthorizationPolicy_](https://github.com/linkerd/linkerd2/blob/stable-2.13.1/viz/charts/linkerd-viz/templates/prometheus-policy.yaml)
that only allows access to the `metrics-api` _ServiceAccount_.

This adds an extra _AuthorizationPolicy_ to authorize the `flagger`
_ServiceAccount_. It's created by default when using Kustomize, but
needs to be opted-in when using Helm via the new
`linkerdAuthPolicy.create` value. This also implies that the Flagger
workload has to be injected by the Linkerd proxy, and that can't happen
in the same `linkerd` namespace where the control plane lives, so we're
moving Flagger into the new injected `flagger-system` namespace.

The `namespace` field in `kustomization.yml` was resetting the namespace
for the new _AuthorizationPolicy_ resource, so that gets restored back
  to `linkerd-viz` using a `patchesJson6902` entry. A better way to do
  this would have been to use the `unsetOnly` field in a
  _NamespaceTransformer_ (see kubernetes-sigs/kustomize#4708) but for
  the life of me I couldn't make that work...

Signed-off-by: Alejandro Pedraza <alejandro@buoyant.io>
2023-05-08 06:33:00 -05:00
Sanskar Jaiswal
9d4ebd9ddd Merge pull request #1413 from fluxcd/release-v1.30.0
Release v1.30.0
2023-04-12 20:09:44 +05:30
Sanskar Jaiswal
b2e713dbc1 Release v1.30.0
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2023-04-12 19:44:59 +05:30
Sanskar Jaiswal
8bcc7bf9af Merge pull request #1412 from fluxcd/update-deps
Update dependencies
2023-04-12 19:28:06 +05:30
Sanskar Jaiswal
3078f96830 update dependencies
* cloud.google.com/go/monitoring => v1.13.0
* github.com/Masterminds/semver/v3 => v3.2.1
* github.com/aws/aws-sdk-go => v1.44.241
* github.com/googleapis/gax-go/v2 => v2.8.0
* github.com/influxdata/influxdb-client-go/v2 => v2.12.3
* google.golang.org/api => v0.117.0
* google.golang.org/genproto => v0.0.0-20230410155749-daa745c078e1
* google.golang.org/grpc => v1.54.0
* google.golang.org/protobuf => v1.30.0
* k8s.io/klog/v2 => v2.90.1

Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2023-04-12 18:57:14 +05:30
Sanskar Jaiswal
8708e35287 Merge pull request #1411 from clux/main 2023-04-12 18:21:46 +05:30
clux
a8b96f053d Allow configuring deployment annotations
Signed-off-by: clux <sszynrae@gmail.com>
2023-04-12 13:27:31 +01:00
Sanskar Jaiswal
a487357bd5 Merge pull request #1392 from jonnylangefeld/jlf/update-apex-labels-annotations
Enable updates for labels and annotations
2023-04-12 16:47:28 +05:30
jonny.langefeld
e8aba087ac Enable updates for labels and annotations
Fix #1386

Signed-off-by: jonny.langefeld <jonnylangefeld@gmail.com>
Signed-off-by: Jonny Langefeld <jonnylangefeld@gmail.com>
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2023-04-12 16:04:28 +05:30
Sanskar Jaiswal
5b7a679944 Merge pull request #1408 from fluxcd/helm-drift
Disable Flux helm drift detection for managed resources
2023-04-10 18:26:20 +05:30
Sanskar Jaiswal
8229852585 disable flux helm drift detection for managed resources
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2023-04-10 17:28:39 +05:30
Sanskar Jaiswal
f1def19f25 Merge pull request #1405 from ta924/main
avoid copying canary labels to primary on promotion
2023-04-10 17:12:03 +05:30
ta924@yahoo.com
44363d5d99 address issue with all canary labels copied to primary on promote
address issue with all canary labels copied to primary on promote

Signed-off-by: ta924@yahoo.com <ta924@yahoo.com>

address review comments
2023-04-09 22:08:09 -05:00
Stefan Prodan
f3f62667bf Merge pull request #1385 from fluxcd/dependabot/github_actions/actions/cache-3.3.1
build(deps): bump actions/cache from 3.2.5 to 3.3.1
2023-04-07 14:05:13 +03:00
Sanskar Jaiswal
3d8615735b Merge pull request #1394 from fluxcd/dependabot/github_actions/actions/setup-go-4
build(deps): bump actions/setup-go from 3 to 4
2023-04-07 15:57:07 +05:30
dependabot[bot]
d1b6b36bcd build(deps): bump actions/setup-go from 3 to 4
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 3 to 4.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-07 10:00:46 +00:00
Sanskar Jaiswal
e4755a4567 Merge pull request #1393 from gdasson/main
helm: Added the option to supply additional volumes
2023-04-06 16:55:49 +05:30
Gaurav Dasson
2ced721cf1 Added the option to supply additional
volumes to the flagger pod.

Signed-off-by: Gaurav Dasson <gaurav.dasson@gmail.com>
2023-04-06 16:01:38 +05:30
Stefan Prodan
cf267d0bbd Merge pull request #1402 from johnharris85/update-kuma
update Kuma version and docs
2023-04-06 13:29:10 +03:00
John Harris
49d59f3b45 update Kuma version and docs
Signed-off-by: John Harris <john@johnharris.io>
2023-04-06 14:27:19 +05:30
Sanskar Jaiswal
699ea2b8aa Merge pull request #1406 from aryan9600/bump-k8s
ci: bump k8s to 1.24 and kind to 1.18
2023-04-06 13:23:29 +05:30
Sanskar Jaiswal
064d867510 ci: bump k8s to 1.24 and kind to 1.18
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2023-04-06 12:35:09 +05:30
Stefan Prodan
5f63c4ae63 Merge pull request #1398 from kwongtn/patch-1
Update flagger-install-with-flux.md
2023-03-25 10:11:37 +02:00
KwongTN
4ebb38743d Update flagger-install-with-flux.md
Signed-off-by: KwongTN <5886584+kwongtn@users.noreply.github.com>
2023-03-25 00:20:17 +08:00
dependabot[bot]
01a7f3606c build(deps): bump actions/cache from 3.2.5 to 3.3.1
Bumps [actions/cache](https://github.com/actions/cache) from 3.2.5 to 3.3.1.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3.2.5...v3.3.1)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-13 12:03:11 +00:00
Tomas Ostasevicius
699c577fa6 Fix the install documentation so that it works
Signed-off-by: Tomas Ostasevicius <t.ostasevicius@gmail.com>
2023-03-08 10:01:37 +01:00
Sanskar Jaiswal
6879038a63 Merge pull request #1375 from fluxcd/release-v1.29.0
Release v1.29.0
2023-02-21 13:53:20 +05:30
Sanskar Jaiswal
cc2f9456cf Release v1.29.0
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2023-02-21 12:22:14 +05:30
Sanskar Jaiswal
7994989b29 Merge pull request #1374 from aryan9600/update-deps
update dependencies
2023-02-20 22:40:03 +05:30
Sanskar Jaiswal
1206132e0c update dependencies
* github.com/aws/aws-sdk-go => v1.44.204
* github.com/influxdata/influxdb-client-go/v2 => v2.12.2
* google.golang.org/api => v0.110.0
* google.golang.org/genproto => v0.0.0-20230216225411-c8e22ba71e44
* google.golang.org/grpc => v1.53.0

Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2023-02-20 21:27:02 +05:30
Sanskar Jaiswal
74cfbda40c Merge pull request #1373 from fluxcd/dependabot/go_modules/golang.org/x/net-0.7.0
build(deps): bump golang.org/x/net from 0.4.0 to 0.7.0
2023-02-20 21:15:19 +05:30
dependabot[bot]
1266ff48d8 build(deps): bump golang.org/x/net from 0.4.0 to 0.7.0
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.4.0 to 0.7.0.
- [Release notes](https://github.com/golang/net/releases)
- [Commits](https://github.com/golang/net/compare/v0.4.0...v0.7.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-20 13:35:22 +00:00
Sanskar Jaiswal
b1315679b8 Merge pull request #1372 from fluxcd/dependabot/github_actions/fossa-contrib/fossa-action-2
build(deps): bump fossa-contrib/fossa-action from 1 to 2
2023-02-20 19:04:21 +05:30
Sanskar Jaiswal
859fb7e160 Merge pull request #1371 from thechristschn/helm-chart-allow-custom-affinities
Allow custom affinities for flagger deployment in helm chart
2023-02-20 18:52:44 +05:30
dependabot[bot]
32077636ff build(deps): bump fossa-contrib/fossa-action from 1 to 2
Bumps [fossa-contrib/fossa-action](https://github.com/fossa-contrib/fossa-action) from 1 to 2.
- [Release notes](https://github.com/fossa-contrib/fossa-action/releases)
- [Changelog](https://github.com/fossa-contrib/fossa-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/fossa-contrib/fossa-action/compare/v1...v2)

---
updated-dependencies:
- dependency-name: fossa-contrib/fossa-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-20 12:06:29 +00:00
Stefan Prodan
e263d6a169 Merge pull request #1370 from thechristschn/add-namespaces-in-helm-chart
Add namespace to namespaced resources in helm chart
2023-02-20 12:39:34 +02:00
Christian Baumann
8d517799b5 Allow custom affinities in helm chart
Signed-off-by: Christian Baumann <thechristschn@gmail.com>
2023-02-18 23:45:46 +01:00
Christian Baumann
a89cd6d3ba Add namespace to namespaced resources in helm chart
Signed-off-by: Christian Baumann <thechristschn@gmail.com>
2023-02-18 14:50:02 +01:00
Stefan Prodan
4c2de0c716 Merge pull request #1366 from fluxcd/dependabot/github_actions/actions/cache-3.2.5
build(deps): bump actions/cache from 3.2.4 to 3.2.5
2023-02-13 15:37:13 +02:00
dependabot[bot]
059a304a07 build(deps): bump actions/cache from 3.2.4 to 3.2.5
Bumps [actions/cache](https://github.com/actions/cache) from 3.2.4 to 3.2.5.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3.2.4...v3.2.5)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-13 12:07:09 +00:00
Sanskar Jaiswal
317d53a71f Merge pull request #1364 from fluxcd/session-affinity-regex
use regex to match against headers in istio
2023-02-08 22:38:47 +05:30
Sanskar Jaiswal
202b6e7eb1 use regex to match against headers in istio
Use regex filtering to match against session affinity cookie headers
when using Istio instead of an exact match.

Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2023-02-08 21:41:19 +05:30
Sanskar Jaiswal
e59e3aedd4 Merge pull request #1355 from njohnstone2/metric_template_vars
Add support for custom variables in metric templates
2023-02-08 18:12:42 +05:30
Nelson Johnstone
2b45c2013c metric variables documentation and e2e tests
Signed-off-by: Nelson Johnstone <93178586+njohnstone2@users.noreply.github.com>
2023-02-08 19:49:22 +10:00
Nelson Johnstone
6786668684 updated canary CRD and query rendering
Signed-off-by: Nelson Johnstone <93178586+njohnstone2@users.noreply.github.com>
2023-02-08 11:41:58 +10:00
Nelson Johnstone
27eb21ecc8 Support custom variables on metric templates
Signed-off-by: Nelson Johnstone <93178586+njohnstone2@users.noreply.github.com>
2023-02-08 11:41:52 +10:00
Stefan Prodan
e7d8adecb4 Merge pull request #1362 from fluxcd/dependabot/github_actions/actions/cache-3.2.4
build(deps): bump actions/cache from 3.2.3 to 3.2.4
2023-02-06 17:19:24 +02:00
Stefan Prodan
aa574d469e Merge pull request #1361 from fluxcd/dependabot/github_actions/docker/build-push-action-4
build(deps): bump docker/build-push-action from 3 to 4
2023-02-06 17:18:58 +02:00
dependabot[bot]
5ba20c254a build(deps): bump actions/cache from 3.2.3 to 3.2.4
Bumps [actions/cache](https://github.com/actions/cache) from 3.2.3 to 3.2.4.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3.2.3...v3.2.4)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-06 11:09:53 +00:00
dependabot[bot]
bb2cf39393 build(deps): bump docker/build-push-action from 3 to 4
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 3 to 4.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-06 11:09:45 +00:00
Sanskar Jaiswal
05d08d3ff1 Merge pull request #1359 from fluxcd/release-workflow-dispatch
modify release workflow to publish rc images
2023-02-05 18:10:27 +05:30
Sanskar Jaiswal
7ec3774172 modify release workflow to publish rc images
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2023-02-05 17:38:41 +05:30
Sanskar Jaiswal
e9ffef29f6 Merge pull request #1346 from lloydchang/patch-2
docs(readme.md): add additional tutorial
2023-02-05 00:37:55 +05:30
Stefan Prodan
64035b4942 Merge pull request #1356 from fluxcd/docker-sbom
build: Enable SBOM and SLSA Provenance
2023-01-31 18:25:16 +02:00
Stefan Prodan
925cc37c8f build: Enable SBOM and SLSA Provenance
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2023-01-31 15:11:28 +02:00
Stefan Prodan
1574e29376 Merge pull request #1354 from fluxcd/release-1.28.0
Release v1.28.0
2023-01-26 13:33:54 +02:00
Stefan Prodan
4a34158587 Release v1.28.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2023-01-26 12:35:51 +02:00
Stefan Prodan
534196adde Merge pull request #1352 from fluxcd/kube-1.26.1
Update Kubernetes packages to v1.26.1
2023-01-26 11:54:08 +02:00
Stefan Prodan
57bf2ab7d1 Update Kubernetes packages to v1.26.1
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2023-01-25 13:47:38 +02:00
Sanskar Jaiswal
c65d072249 Merge pull request #1338 from wwadge/add-prometheus-bearer-auth
Allow access to Prometheus in OpenShift via SA token
2023-01-18 19:32:49 +05:30
Wallace Wadge
a50d7de86d Allow access to Prometheus in OpenShift via SA token
Fixes: https://github.com/fluxcd/flagger/issues/1064

Signed-off-by: Wallace Wadge <wwadge@gmail.com>
2023-01-18 08:56:53 +01:00
Stefan Prodan
e365c21322 Merge pull request #1343 from relu/autoscaler-replicas-overrides
Support for overriding primary scaler replicas
2023-01-17 16:01:14 +02:00
Stefan Prodan
7ce679678f Merge pull request #1340 from fluxcd/dependabot/github_actions/actions/cache-3.2.3
build(deps): bump actions/cache from 3.0.11 to 3.2.3
2023-01-17 15:59:42 +02:00
lloydchang
685c816a12 docs(readme.md): add additional tutorial
AWS App Mesh: Canary Deployment Using Flagger
https://www.eksworkshop.com/advanced/340_appmesh_flagger/

Signed-off-by: lloydchang <lloydchang@gmail.com>
2023-01-16 15:28:22 -08:00
Aurel Canciu
5d3ab056f0 Support for overriding primary scaler replicas
Adding support for overriding the primary scaler replica count via
.spec.autoscalerRef.primaryScalerReplicas, a feature which would enable
users to define a different scaling configurations for the primary.

This can be useful in the situation where the user does not want to
scale the canary workload to the exact same size as the primary,
especially when opting for a canary deployment pattern where only a
small portion of traffic is routed to the canary workload pods.

Signed-off-by: Aurel Canciu <aurelcanciu@gmail.com>
2023-01-16 18:47:14 +01:00
dependabot[bot]
2587a3d3f1 build(deps): bump actions/cache from 3.0.11 to 3.2.3
Bumps [actions/cache](https://github.com/actions/cache) from 3.0.11 to 3.2.3.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3.0.11...v3.2.3)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-09 11:09:47 +00:00
Stefan Prodan
58270dd4b9 Merge pull request #1332 from fluxcd/dependabot/github_actions/goreleaser/goreleaser-action-4
Bump goreleaser/goreleaser-action from 3 to 4
2022-12-19 14:39:12 +02:00
dependabot[bot]
86081708a4 Bump goreleaser/goreleaser-action from 3 to 4
Bumps [goreleaser/goreleaser-action](https://github.com/goreleaser/goreleaser-action) from 3 to 4.
- [Release notes](https://github.com/goreleaser/goreleaser-action/releases)
- [Commits](https://github.com/goreleaser/goreleaser-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: goreleaser/goreleaser-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-19 11:17:57 +00:00
Stefan Prodan
686e8a3e8b Merge pull request #1331 from fluxcd/release-v1.27.0
Release v1.27.0
2022-12-16 11:32:16 +02:00
Sanskar Jaiswal
0aecddb00e Release v1.27.0
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2022-12-16 14:37:38 +05:30
Stefan Prodan
26518cecbf Merge pull request #1328 from fluxcd/loadtester-v0.28.0
Release loadtester v0.28.0
2022-12-09 11:14:50 +02:00
Stefan Prodan
9d1db87592 Release loadtester 0.28.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2022-12-08 17:43:47 +02:00
Stefan Prodan
e352010bfd Update Helm to 3.10.2
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2022-12-08 17:42:28 +02:00
Stefan Prodan
58267752b1 Update dependencies
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2022-12-08 17:41:27 +02:00
Sanskar Jaiswal
2dd48c6e79 Merge pull request #1281 from Gallardot/apisix
[apisix] Implement router interface and observer interface
2022-12-07 18:27:28 +05:30
Gallardot
6c29c21184 add apisix docs
Signed-off-by: Gallardot <tttick@163.com>
2022-12-07 11:57:21 +08:00
Gallardot
85fe251991 create canary apisix object only with the related http route
Signed-off-by: Gallardot <tttick@163.com>
2022-12-07 11:56:57 +08:00
Gallardot
69861e0c8a chore: add kustomize. fix: e2e test
Signed-off-by: Gallardot <tttick@163.com>
2022-12-06 17:56:00 +05:30
Gallardot
e440be17ae add e2e tests and helper functions for router
Signed-off-by: Gallardot <tttick@163.com>
2022-12-06 17:54:03 +05:30
Gallardot
ce52408bbc improve apisix router and metric observer
Signed-off-by: Gallardot <tttick@163.com>
2022-12-06 17:52:38 +05:30
Gallardot
badf7b9a4f chore: add UT, add DIFF
Signed-off-by: Gallardot <tttick@163.com>
2022-12-06 14:46:43 +05:30
Gallardot
3e9fe97ba3 [apisix] Implement router interface and observer interface
Signed-off-by: Gallardot <tttick@163.com>
2022-12-06 14:46:42 +05:30
Stefan Prodan
ec7066b31b Merge pull request #1326 from fluxcd/dependabot/github_actions/stefanprodan/helm-gh-pages-1.7.0
Bump stefanprodan/helm-gh-pages from 1.6.0 to 1.7.0
2022-12-05 12:36:22 +02:00
dependabot[bot]
ec74dc5a33 Bump stefanprodan/helm-gh-pages from 1.6.0 to 1.7.0
Bumps [stefanprodan/helm-gh-pages](https://github.com/stefanprodan/helm-gh-pages) from 1.6.0 to 1.7.0.
- [Release notes](https://github.com/stefanprodan/helm-gh-pages/releases)
- [Commits](https://github.com/stefanprodan/helm-gh-pages/compare/v1.6.0...v1.7.0)

---
updated-dependencies:
- dependency-name: stefanprodan/helm-gh-pages
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-28 11:21:21 +00:00
Stefan Prodan
cbdc2c5a7c Merge pull request #1324 from fluxcd/update-release-docs
Update release docs
2022-11-23 17:14:13 +02:00
Stefan Prodan
228fbeeda4 Update release docs
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2022-11-23 16:40:46 +02:00
Stefan Prodan
b0d9825afa Merge pull request #1323 from fluxcd/release-1.26.0
Release v1.26.0
2022-11-23 16:18:58 +02:00
Stefan Prodan
7509264d73 Release v1.26.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2022-11-23 15:45:54 +02:00
Stefan Prodan
f08725d661 Merge pull request #1322 from fluxcd/update-deps
Update dependencies
2022-11-23 14:54:39 +02:00
Stefan Prodan
f2a9a8d645 Update dependencies
- cloud.google.com/go/monitoring v1.9.0
- github.com/aws/aws-sdk-go v1.44.144
- github.com/googleapis/gax-go/v2 v2.7.0
- github.com/influxdata/influxdb-client-go/v2 v2.12.0
- github.com/prometheus/client_golang v1.14.0
- github.com/stretchr/testify v1.8.1
- k8s.io/* v0.25.4

Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2022-11-23 14:30:46 +02:00
Sanskar Jaiswal
e799030ae3 Merge pull request #1321 from aryan9600/gw-api-docs
update gateway api docs to v1beta1
2022-11-23 17:05:14 +05:30
Sanskar Jaiswal
ec0657f436 update gateway api docs to v1beta1
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2022-11-23 15:30:42 +05:30
Stefan Prodan
fce46e26d4 Merge pull request #1319 from cgrotz/main
Updated Gateway API from v1alpha2 to v1beta1
2022-11-23 10:50:19 +02:00
Christoph Grotz
e015a409fe Added support for Gateway API v1beta1
Signed-off-by: Christoph Grotz <grotz@google.com>
2022-11-22 15:51:16 +01:00
Sanskar Jaiswal
82ff90ce26 Merge pull request #1316 from kingdonb/fix-linkerd-install-crds
Add linkerd install --crds to Linkerd tutorial
2022-11-17 10:32:24 +05:30
Kingdon Barrett
63edc627ad Fix #1315
Signed-off-by: Kingdon Barrett <kingdon@weave.works>
2022-11-16 21:14:30 -05:00
Sanskar Jaiswal
c2b4287ce1 Merge pull request #1313 from aryan9600/release-v1.25.0
Release v1.25.0
2022-11-16 15:28:51 +05:30
Sanskar Jaiswal
5b61f15f95 Release v1.25.0
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2022-11-16 15:06:33 +05:30
Sanskar Jaiswal
9c815f2252 Merge pull request #1280 from aryan9600/sticky-istio
Add support for session affinity during weighted routing with Istio
2022-11-15 18:21:24 +05:30
Sanskar Jaiswal
d16c9696c3 add docs for istio sticky canary releases
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2022-11-15 17:55:52 +05:30
Sanskar Jaiswal
14ccda5506 add unit tests for session affinity in istio router
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2022-11-10 13:17:16 +05:30
Sanskar Jaiswal
a496b99d6e add session affinity support for weighted routing with istio
Add `.spec.analysis.sessionAffinity` to configure session affinity for
weighted routing. Add support for session affinity in the Istio router,
using the `Set-Cookie` and `Cookie` headers.

Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2022-11-10 13:17:16 +05:30
Stefan Prodan
882286dce7 Merge pull request #1306 from ashokhein/fix-cluster-name
Fix cluster name inclusion in alerts metadata
2022-11-09 12:52:11 +02:00
ashokhein
8aa9ca92e3 Fixing cluster name
Signed-off-by: ashokhein <ashokhein@gmail.com>
2022-10-28 11:56:06 +00:00
Stefan Prodan
52dd8f8c14 Merge pull request #1302 from mdolinin/fix/faq-doc-zero-downtime
fix(faq): Update FAQ about zero downtime with correct values
2022-10-27 10:11:47 +03:00
mdolinin
4d28b9074b fix(faq): Update FAQ about zero downtime with correct values
Signed-off-by: mdolinin <dmo.builder@gmail.com>
2022-10-26 20:56:30 -04:00
Stefan Prodan
381c19b952 Merge pull request #1301 from fluxcd/release-v1.24.1
Release v1.24.1
2022-10-26 17:09:26 +03:00
Stefan Prodan
50f9255af2 Release v1.24.1
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2022-10-26 16:44:26 +03:00
Stefan Prodan
a7df3457ad Merge pull request #1300 from mdolinin/fix/gloo-non-default-service-name-corretly-get-routes
fix(gloo): Use correct route table name in case service name was overwritten
2022-10-26 15:32:32 +03:00
mdolinin
647f624554 fix(gloo): Update tests to not check gateway deployment. Was removed from >1.12.x
Signed-off-by: mdolinin <dmo.builder@gmail.com>
2022-10-25 11:18:26 -04:00
mdolinin
3d3e051f03 fix(gloo): Update Gloo to the latest stable version
Signed-off-by: mdolinin <dmo.builder@gmail.com>
2022-10-25 07:52:15 -04:00
mdolinin
4c0b2beb63 fix(gloo): Use correct route table name in case service name was overwritten
Signed-off-by: mdolinin <dmo.builder@gmail.com>
2022-10-24 21:38:08 -04:00
Stefan Prodan
ec44f64465 Merge pull request #1298 from fluxcd/dependabot/github_actions/goreleaser/goreleaser-action-3
Bump goreleaser/goreleaser-action from 2 to 3
2022-10-24 17:25:52 +03:00
Stefan Prodan
19d4e521a3 Merge pull request #1297 from fluxcd/dependabot/github_actions/docker/login-action-2
Bump docker/login-action from 1 to 2
2022-10-24 17:25:34 +03:00
Stefan Prodan
85a3b7c388 Merge pull request #1296 from fluxcd/dependabot/github_actions/github/codeql-action-2
Bump github/codeql-action from 1 to 2
2022-10-24 17:25:15 +03:00
Stefan Prodan
26ec719c67 Merge pull request #1295 from fluxcd/dependabot/github_actions/actions/checkout-3
Bump actions/checkout from 2 to 3
2022-10-24 17:24:57 +03:00
Stefan Prodan
66364bb2c9 Merge pull request #1299 from fluxcd/dependabot/github_actions/docker/build-push-action-3
Bump docker/build-push-action from 2 to 3
2022-10-24 17:24:34 +03:00
dependabot[bot]
f9f8d7e71e Bump docker/build-push-action from 2 to 3
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 2 to 3.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-24 11:36:21 +00:00
dependabot[bot]
bdbd1fb1f0 Bump goreleaser/goreleaser-action from 2 to 3
Bumps [goreleaser/goreleaser-action](https://github.com/goreleaser/goreleaser-action) from 2 to 3.
- [Release notes](https://github.com/goreleaser/goreleaser-action/releases)
- [Commits](https://github.com/goreleaser/goreleaser-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: goreleaser/goreleaser-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-24 11:36:16 +00:00
dependabot[bot]
b3112a53f1 Bump docker/login-action from 1 to 2
Bumps [docker/login-action](https://github.com/docker/login-action) from 1 to 2.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v1...v2)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-24 11:36:13 +00:00
dependabot[bot]
f1f4e68673 Bump github/codeql-action from 1 to 2
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 1 to 2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v1...v2)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-24 11:36:10 +00:00
dependabot[bot]
9b56445621 Bump actions/checkout from 2 to 3
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-24 11:36:04 +00:00
Stefan Prodan
f5f3d92d3d ci: Pin Helm and Cosign action version
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2022-10-23 15:38:36 +03:00
Stefan Prodan
4d074799ca ci: Use Helm action from fluxcd org
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2022-10-23 13:36:32 +03:00
Stefan Prodan
d38a2406a7 Release v1.24.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2022-10-23 13:07:10 +03:00
Stefan Prodan
25ccfca835 Merge pull request #1294 from fluxcd/install-with-flux-oci
docs: Add guide on how to install Flagger with Flux OCI
2022-10-23 12:43:40 +03:00
Stefan Prodan
487b6566ee docs: Add guide on how to install Flagger with Flux OCI
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2022-10-23 12:15:57 +03:00
Stefan Prodan
14caeb12ad Merge pull request #1293 from fluxcd/push-flux-oci
ci: Publish signed Helm charts and manifests to GHCR
2022-10-22 15:45:16 +03:00
Stefan Prodan
cf8fcd0539 ci: Publish signed Helm charts and manifests to GHCR
- Push Flagger Helm chart to `ghcr.io/fluxcd/charts/flagger`
- Sign Flagger Helm chart with Cosign and GitHub OIDC
- Push install manifests and overlays from `./kustomize` with Flux CLI to `ghcr.io/fluxcd/flagger-manifests`
- Sign Flagger manifests with Cosign and GitHub OIDC

Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2022-10-22 14:46:20 +03:00
Stefan Prodan
d8387a351e Merge pull request #1292 from fluxcd/cosign-keyless
ci: Sign release and containers with Cosign and GitHub OIDC
2022-10-22 14:33:59 +03:00
Stefan Prodan
300cd24493 ci: Sign release and containers with Cosign and GitHub OIDC
- Replace the Cosign static key with GitHub Actions OIDC when signing the flagger container image
- Sign the GitHub release assets checksums with Cosign keyless
- Sign the load-tester container image with Cosign keyless

Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2022-10-21 16:39:29 +03:00
Stefan Prodan
fb66d24f89 Merge pull request #1288 from fluxcd/dependabot/github_actions/stefanprodan/helm-gh-pages-1.6.0
Bump stefanprodan/helm-gh-pages from 1.3.0 to 1.6.0
2022-10-21 12:33:36 +03:00
Stefan Prodan
f1fc8c067e Merge pull request #1287 from fluxcd/dependabot/github_actions/actions/cache-3.0.11
Bump actions/cache from 1 to 3.0.11
2022-10-21 12:33:16 +03:00
Stefan Prodan
da1ee05c0a Merge pull request #1290 from fluxcd/dependabot/github_actions/docker/metadata-action-4
Bump docker/metadata-action from 3 to 4
2022-10-21 12:32:53 +03:00
Stefan Prodan
57099ecd43 Merge pull request #1291 from fluxcd/dependabot/github_actions/codecov/codecov-action-3
Bump codecov/codecov-action from 1 to 3
2022-10-21 12:32:30 +03:00
Stefan Prodan
8c5b41bbe6 Merge pull request #1289 from fluxcd/dependabot/github_actions/actions/setup-go-3
Bump actions/setup-go from 2 to 3
2022-10-21 12:32:07 +03:00
dependabot[bot]
7bc716508c Bump codecov/codecov-action from 1 to 3
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 1 to 3.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v1...v3)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-21 09:30:38 +00:00
dependabot[bot]
d82d9765e1 Bump docker/metadata-action from 3 to 4
Bumps [docker/metadata-action](https://github.com/docker/metadata-action) from 3 to 4.
- [Release notes](https://github.com/docker/metadata-action/releases)
- [Upgrade guide](https://github.com/docker/metadata-action/blob/master/UPGRADE.md)
- [Commits](https://github.com/docker/metadata-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: docker/metadata-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-21 09:30:33 +00:00
dependabot[bot]
74e570c198 Bump actions/setup-go from 2 to 3
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 2 to 3.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-21 09:30:27 +00:00
dependabot[bot]
6adf51083e Bump stefanprodan/helm-gh-pages from 1.3.0 to 1.6.0
Bumps [stefanprodan/helm-gh-pages](https://github.com/stefanprodan/helm-gh-pages) from 1.3.0 to 1.6.0.
- [Release notes](https://github.com/stefanprodan/helm-gh-pages/releases)
- [Commits](https://github.com/stefanprodan/helm-gh-pages/compare/v1.3.0...v1.6.0)

---
updated-dependencies:
- dependency-name: stefanprodan/helm-gh-pages
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-21 09:30:22 +00:00
dependabot[bot]
a5be82a7d3 Bump actions/cache from 1 to 3.0.11
Bumps [actions/cache](https://github.com/actions/cache) from 1 to 3.0.11.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v1...v3.0.11)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-21 09:30:16 +00:00
Stefan Prodan
83693668ed Merge pull request #1286 from fluxcd/ci-perms
ci: Adjust GitHub workflow permissions
2022-10-21 12:29:33 +03:00
Stefan Prodan
c2929694a6 ci: Enable Dependabot for GH Actions
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2022-10-21 12:11:33 +03:00
Stefan Prodan
82db9ff213 ci: Adjust GitHub workflow permissions
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2022-10-21 11:55:37 +03:00
Stefan Prodan
5e853bb589 Merge pull request #1285 from fluxcd/governance-doc
Add link to Flux governance document
2022-10-21 11:26:46 +03:00
Stefan Prodan
9e1fad3947 Add link to Flux governance document
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2022-10-21 11:24:09 +03:00
Stefan Prodan
a4f5a983ba Merge pull request #1284 from fluxcd/release-1.23.0
Release v1.23.0
2022-10-20 14:05:25 +03:00
Stefan Prodan
08d7520458 Release v1.23.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2022-10-20 12:59:54 +03:00
Stefan Prodan
283de16660 Merge pull request #1283 from fluxcd/kubernetes-1.25.3
Update Kubernetes packages to v1.25.3
2022-10-20 12:46:36 +03:00
Stefan Prodan
5e47ae287b Update Kubernetes packages to v1.25.3
Update dependencies and fix CVE-2022-32149 of `golang.org/x/text`

Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2022-10-20 12:20:32 +03:00
Stefan Prodan
e7e155048d Merge pull request #1265 from ebar0n/patch-1
Use Helm to install loadtester in kubernetes-blue-green docs
2022-10-18 17:49:44 +03:00
Stefan Prodan
8197073cf0 Merge pull request #1270 from RicardoLorenzo/slack_bot_token_authentication
Slack bot token authentication
2022-10-18 17:48:00 +03:00
Stefan Prodan
310111bb8d Merge pull request #1282 from fluxcd/contour-1.22
Bump Contour to v1.22 in e2e tests
2022-10-18 17:28:06 +03:00
Ricardo Lorenzo
3dd667f3b3 Slack bot token authentication
Signed-off-by: Ricardo Lorenzo <rlorenzo@payfone.com>
2022-10-18 14:56:08 +01:00
Stefan Prodan
e06334cd12 Bump Contour to v1.22 in e2e tests
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2022-10-18 16:46:01 +03:00
Sanskar Jaiswal
8d8b99dc78 Merge pull request #1279 from aryan9600/go-1.19
update Go to 1.19
2022-10-12 14:03:12 +05:30
Sanskar Jaiswal
3418488902 update Go to 1.19
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2022-10-12 12:40:15 +05:30
Sanskar Jaiswal
b96f6f0920 Merge pull request #1276 from aryan9600/fix-hostnames
gatewayapi: fix reconcilation of nil hostnames
2022-10-10 17:00:10 +05:30
Sanskar Jaiswal
e593f2e258 gatewayapi: fix reconcilation of nil hostnames
Signed-off-by: Sanskar Jaiswal <sanskar.jaiswal@weave.works>
2022-10-10 16:29:21 +05:30
Stefan Prodan
7b6c37ea1f Merge pull request #1275 from ashokhein/include-cluster-name
Include cluster name in all alerts
2022-10-06 15:31:56 +02:00
ashokhein
4dbeec02c8 Include cluster name in all alerts
Signed-off-by: ashokhein <ashokhein@gmail.com>
2022-10-05 12:16:57 +00:00
Sanskar Jaiswal
1b2df99799 Merge pull request #1267 from oistein/log-cmd-output-to-log
logCmdOutput to logger instead of stdout
2022-09-27 14:39:21 +05:30
Øistein Sletten Løvik
6d72050e81 logCmdOutput to logger instead of stdout
Signed-off-by: Øistein Sletten Løvik <oistein@oistein.org>
2022-09-26 13:52:59 +02:00
Edwar Baron
b97a87a1b4 Update kubernetes-blue-green.md
Signed-off-by: Edwar Baron <edwar.baron@gmail.com>
2022-09-02 10:10:06 -05:00
Sanskar Jaiswal
89b0487376 Merge pull request #1264 from glindstedt/patch-1
Add `app.kubernetes.io/version` label to chart
2022-09-01 15:41:59 +05:30
Gustaf Lindstedt
0ae53e415c Add app.kubernetes.io/version label to chart
Add `app.kubernetes.io/version` label as described in https://kubernetes.io/docs/concepts/overview/working-with-objects/common-labels/

This is useful if you have many deployments in different clusters and want to be able to monitor what versions you have deployed using something like `kube_pod_labels` from kube-state-metrics.

Signed-off-by: Gustaf Lindstedt <gustaf.lindstedt@embark-studios.com>
2022-08-30 14:22:32 +02:00
Sanskar Jaiswal
915c200c7b Merge pull request #1262 from fluxcd/release-v1.22.2
Release v1.22.2
2022-08-29 20:18:23 +05:30
Sanskar Jaiswal
a4941bd764 Release v1.22.2
Signed-off-by: Sanskar Jaiswal <sanskar.jaiswal@weave.works>
2022-08-29 18:37:38 +05:30
Sanskar Jaiswal
5123cbae00 Merge pull request #1261 from fluxcd/release-ld-0.24.0
Release loadtester v0.24.0
2022-08-29 17:55:02 +05:30
Sanskar Jaiswal
135f96d507 Release loadtester v0.24.0
Signed-off-by: Sanskar Jaiswal <sanskar.jaiswal@weave.works>
2022-08-29 15:27:01 +05:30
Sanskar Jaiswal
aa08ea9160 Merge pull request #1259 from aryan9600/update-deps
Update dependencies
2022-08-29 15:07:38 +05:30
Sanskar Jaiswal
fb80eea144 update helm and grpc-health-probe for loadtester
Update Helm to v3.9.4
Update grpc-health-probe to v0.4.12

Signed-off-by: Sanskar Jaiswal <sanskar.jaiswal@weave.works>
2022-08-26 22:35:08 +05:30
Sanskar Jaiswal
bebcf1c7d4 update go.mod deps
Update Kubernetes packages to v0.25.0
Update github.com/emicklei/go-restful to fix CVE-2022-1996

Signed-off-by: Sanskar Jaiswal <sanskar.jaiswal@weave.works>
2022-08-26 22:32:58 +05:30
Sanskar Jaiswal
f39f0ef101 Merge pull request #1258 from aryan9600/knative-roadmap
docs: add knative support to roadmap
2022-08-26 12:51:54 +05:30
Sanskar Jaiswal
f2f4c8397d docs: add knative support to roadmap
Signed-off-by: Sanskar Jaiswal <sanskar.jaiswal@weave.works>
2022-08-26 12:47:43 +05:30
Sanskar Jaiswal
ae4613fa76 Merge pull request #1253 from andylibrian/scale-from-zero-use-hpa-minreplicas
If HPA is set, it uses HPA minReplicas when scaling up the canary
2022-08-24 13:51:22 +05:30
Andy Librian
8b1155123d use min replicas set by autoscaler in ScaleFromZero if autoscaler is specified
Without this, the canary replicas are updated twice:
to 1 replica then after a few seconds to the value of HPA minReplicas.

In some cases, when updated to 1 replica (before updated by HPA
controller to the minReplicas), it's considered ready: 1 of 1 (readyThreshold 100%),
and the canary weight is advanced to receive traffic with less capacity
than expected.

Co-Authored-By: Joshua Gibeon <joshuagibeon7719@gmail.com>
Co-authored-by: Sanskar Jaiswal <hey@aryan.lol>

Signed-off-by: Andy Librian <andylibrian@gmail.com>
2022-08-18 13:23:46 +07:00
Sanskar Jaiswal
e65dfbb659 Merge pull request #1254 from aryan9600/verify-crds
Add target and script to keep crds in sync
2022-08-11 15:27:13 +05:30
Sanskar Jaiswal
fe37bdd9c7 add target and script to keep crds in sync
Signed-off-by: Sanskar Jaiswal <sanskar.jaiswal@weave.works>
2022-08-11 14:23:32 +05:30
Stefan Prodan
f449ee1878 Merge pull request #1246 from fluxcd/loadtester-0.23.0
Release loadtester v0.23.0
2022-08-01 16:31:44 +03:00
Stefan Prodan
47b6807471 Release loadtester v0.23.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2022-08-01 13:49:24 +03:00
Stefan Prodan
f93708e90f Merge pull request #1244 from aryan9600/release-v1.22.1
Release v1.22.1
2022-08-01 13:04:52 +03:00
Sanskar Jaiswal
5285b76746 Release v1.22.1
Signed-off-by: Sanskar Jaiswal <sanskar.jaiswal@weave.works>
2022-08-01 15:03:33 +05:30
Stefan Prodan
1a4d8b965a Merge pull request #1243 from fluxcd/update-go-alpine
Update Go to 1.18 and Alpine to 3.16
2022-07-29 16:22:36 +03:00
Stefan Prodan
11209fe05d Update Go to 1.18 and Alpine to 3.16
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2022-07-29 15:36:25 +03:00
Stefan Prodan
09c1eec8f3 Merge pull request #1233 from ImOwly/main
Update README
2022-07-29 15:20:54 +03:00
Stefan Prodan
d3373447c3 Merge pull request #1239 from sympatheticmoose/patch-1
Clarify HPA API requirement
2022-07-29 15:19:57 +03:00
Stefan Prodan
d4e54fe966 Merge pull request #1242 from aryan9600/fix-hpa-fallback
Fix fallback logic for HPAv2 to v2beta2
2022-07-29 15:19:06 +03:00
Sanskar Jaiswal
a5c284cabb fix fallback logic for HPAv2 to v2beta2
Signed-off-by: Sanskar Jaiswal <sanskar.jaiswal@weave.works>
2022-07-29 16:33:30 +05:30
Sanskar Jaiswal
80bae41df4 Merge pull request #1241 from vidhartbhatia/fixKEDASO
Update KEDA ScaledObject API to include MetricType for Triggers
2022-07-29 16:33:06 +05:30
Sanskar Jaiswal
f5c267144e fix KEDA version typo in tutorial
Signed-off-by: Sanskar Jaiswal <sanskar.jaiswal@weave.works>
2022-07-29 16:03:10 +05:30
Vidhart Bhatia
25a33fe58f Update ScaledObject API to KEDA 2.7.1
Signed-off-by: Vidhart Bhatia <vidhartbhatia@hotmail.com>
Co-authored-by: Sanskar Jaiswal <sanskar.jaiswal@weave.worksl>
2022-07-29 14:50:29 +05:30
David Harris
bab12dc99b clarify HPA API requirement
Signed-off-by: David Harris <david.harris@weave.works>
2022-07-20 17:25:08 +01:00
Owly
1abb1f16d4 Update README
Signed-off-by: Owly <59724243+ImOwly@users.noreply.github.com>
2022-07-12 18:14:33 -07:00
Stefan Prodan
7cf843d6f4 Merge pull request #1228 from fluxcd/release-v1.22.0
Release v1.22.0
2022-07-12 14:01:38 +03:00
Sanskar Jaiswal
a8444a6328 Release v1.22.0
Signed-off-by: Sanskar Jaiswal <sanskar.jaiswal@weave.works>
2022-07-11 17:34:25 +05:30
Sanskar Jaiswal
ca044d3577 Merge pull request #1223 from Mpluya/patch-1
include Contour retryOn in the sample canary
2022-07-11 15:26:04 +05:30
Sanskar Jaiswal
76bac5d971 Merge pull request #1216 from aryan9600/keda-scaled-objects
Add support for KEDA ScaledObjects as an auto scaler
2022-07-08 19:21:22 +05:30
Sanskar Jaiswal
f68f291b3d update rbac for helm chart
Signed-off-by: Sanskar Jaiswal <sanskar.jaiswal@weave.works>
2022-07-01 10:17:37 +05:30
Sanskar Jaiswal
b108672fad use a better query to test primary scaledobject reconciliation
Signed-off-by: Sanskar Jaiswal <sanskar.jaiswal@weave.works>
2022-07-01 09:43:46 +05:30
Sanskar Jaiswal
377a8f48e2 add tutorial for scaledobjects
Signed-off-by: Sanskar Jaiswal <sanskar.jaiswal@weave.works>
2022-06-30 17:15:15 +05:30
Sanskar Jaiswal
a098d04d64 update primary scaler query handling to consider mutliple triggers
Signed-off-by: Sanskar Jaiswal <sanskar.jaiswal@weave.works>
2022-06-30 17:06:45 +05:30
Sanskar Jaiswal
5e4b70bd51 Merge pull request #1222 from yokoyang/doc-update-for-flagger-install-on-asm
update guide for flagger on aliyun ASM
2022-06-23 12:34:44 +05:30
Sanskar Jaiswal
9ce931abb4 Merge pull request #1224 from Freydal/fix-optional-metric-template-namespace
Reintroducing empty check for metric template references.
2022-06-23 12:31:51 +05:30
Nick Freyaldenhoven
072d9b9850 Removing stray blank line.
Signed-off-by: Nick Freyaldenhoven <freyaldenhovennc@gmail.com>
2022-06-22 08:41:45 -05:00
Mae Large
1bb4afaeac updated retryOn supported values link to point to contour's api doc
Signed-off-by: Mae Large <mlarge@vmware.com>
2022-06-22 06:10:42 -05:00
Mae Anne Large
4dd6102a0f include Contour retryOn in the sample canary
without this change the HTTPProxy - podinfo.test was not getting created due to the following warning:
```
test               4m11s       Warning   Synced                         canary/podinfo                               HTTPProxy podinfo.test create error: HTTPProxy.projectcontour.io "podinfo" is invalid: spec.routes.retryPolicy.retryOn: Unsupported value: "": supported values: "5xx", "gateway-error", "reset", "connect-failure", "retriable-4xx", "refused-stream", "retriable-status-codes", "retriable-headers", "cancelled", "deadline-exceeded", "internal", "resource-exhausted", "unavailable"
```

Signed-off-by: Mae Anne Large <Mpluya@users.noreply.github.com>
Signed-off-by: Mae Large <mlarge@vmware.com>
2022-06-22 06:10:42 -05:00
奇方
4f64377480 update install guide on alibaba service mesh
Signed-off-by: 奇方 <qifang.ly@alibaba-inc.com>
2022-06-22 17:56:27 +08:00
Nick Freyaldenhoven
31856a2f46 Reintroducing the old empty check for metric template references. Reverting removal in commit 7df1beef85 to support the optianl namespace. Adding test for future valdiation.
Signed-off-by: Nick Freyaldenhoven <freyaldenhovennc@gmail.com>
2022-06-21 10:28:54 -05:00
Sanskar Jaiswal
358391bfde Merge pull request #1204 from shipt/contour-service-metric-fix
fix contour prom query for when service name is overwritten
2022-06-21 14:54:15 +05:30
Sanskar Jaiswal
7b2c005d9b Merge pull request #1205 from shipt/bugfix-contour-annotation-override
fix contour httproxy annotations overwrite
2022-06-21 13:51:40 +05:30
Stefan Prodan
c31ef8a788 Merge pull request #1221 from sympatheticmoose/patch-1
typo: controller
2022-06-17 17:55:04 +01:00
brandoncate
e1bd004683 fix contour prom query when service name is specified
Signed-off-by: brandoncate <brandon.cate@shipt.com>
2022-06-17 10:07:00 -05:00
brandoncate
0cecab530f fix contour httproxy annotations overwrite
Signed-off-by: brandoncate <brandon.cate@shipt.com>
2022-06-17 10:02:02 -05:00
David Harris
844090f842 typo: controller
Signed-off-by: David Harris <david.harris@weave.works>
2022-06-17 10:23:50 +01:00
Stefan Prodan
aa48ad45b7 Merge pull request #1219 from vbelouso/canaries-finalizers
fix: add finalizers to canaries
2022-06-14 16:20:52 +03:00
Daniel Holbach
1967e4857b Merge pull request #1220 from dholbach/fix-typo
typo: boostrap -> bootstrap
2022-06-14 14:22:43 +02:00
Vladimir Belousov
21923d6f87 fix: add finalizers to canaries
Signed-off-by: Vladimir Belousov <vbelouso@redhat.com>
2022-06-14 15:18:38 +03:00
Daniel Holbach
a5912ccd89 typo: boostrap -> bootstrap
Signed-off-by: Daniel Holbach <daniel@weave.works>
2022-06-14 13:57:33 +02:00
Sanskar Jaiswal
e4252d8cbd Merge pull request #1210 from aufarg/add-namespace-to-table
charts: Add namespace parameter to parameters table
2022-06-10 18:44:38 +05:30
Sanskar Jaiswal
b01e4cf9ec add e2e tests for KEDA ScaledObjects
Signed-off-by: Sanskar Jaiswal <sanskar.jaiswal@weave.works>
2022-06-10 15:32:04 +05:30
Aufar Gilbran
703cfd50b2 charts: Add namespace parameter to parameters table
Signed-off-by: Aufar Gilbran <aufargilbran@gmail.com>
2022-06-10 15:15:25 +05:30
Sanskar Jaiswal
6a1b765a77 add unit tests for ScaledObjectReconciler
Signed-off-by: Sanskar Jaiswal <sanskar.jaiswal@weave.works>
2022-06-09 21:38:10 +05:30
Sanskar Jaiswal
b2dc762937 add support for KEDA ScaledObjects via ScaledObjectReconciler
Signed-off-by: Sanskar Jaiswal <sanskar.jaiswal@weave.works>
2022-06-09 21:36:57 +05:30
Stefan Prodan
498f065dea Merge pull request #1215 from aryan9600/scaler-reconciler
Fix primary HPA label reconciliation
2022-06-09 19:04:12 +03:00
Sanskar Jaiswal
9d8941176b fix primary hpa label reconciliation
Signed-off-by: Sanskar Jaiswal <sanskar.jaiswal@weave.works>
2022-06-09 20:30:53 +05:30
Stefan Prodan
4d2a03c0b2 Merge pull request #1211 from aryan9600/scaler-reconciler
Introduce `ScalerReconciler` and refactor HPA reconciliation
2022-06-08 10:21:02 +03:00
Sanskar Jaiswal
e0e2d5c0e6 refactor hpa reconcile logic to be generic for both versions
Signed-off-by: Sanskar Jaiswal <sanskar.jaiswal@weave.works>

for objectmeta as well
2022-06-08 12:25:35 +05:30
Sanskar Jaiswal
9b97bff7b1 add e2e tests for hpa reconciler
Signed-off-by: Sanskar Jaiswal <sanskar.jaiswal@weave.works>
2022-06-07 13:43:11 +05:30
Sanskar Jaiswal
f23be1d0ec add unit tests for hpa reconciler
Signed-off-by: Sanskar Jaiswal <sanskar.jaiswal@weave.works>
2022-06-07 13:43:11 +05:30
Sanskar Jaiswal
fa595e160c add ScalerReconciler to canary and refactor hpa out of deployment controller
Signed-off-by: Sanskar Jaiswal <sanskar.jaiswal@weave.works>
2022-06-07 13:43:11 +05:30
Stefan Prodan
4ea5a48f43 Merge pull request #1212 from aryan9600/update-e2e
e2e: Update providers and Kubernetes to v1.23
2022-06-07 10:58:55 +03:00
Sanskar Jaiswal
6dd8a755c8 bump provider versions in e2e tests
Signed-off-by: Sanskar Jaiswal <sanskar.jaiswal@weave.works>
2022-06-07 12:09:19 +05:30
Sanskar Jaiswal
063d38dbd2 upgrade k8s in CI to 1.23
Signed-off-by: Sanskar Jaiswal <sanskar.jaiswal@weave.works>
2022-06-06 12:06:38 +05:30
Stefan Prodan
165c953239 Merge pull request #1208 from fluxcd/kubernetes-v1.24.1
Update Kubernetes packages to v1.24.1
2022-05-31 14:01:16 +03:00
Stefan Prodan
a0fae153cf Use leases for leader election
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2022-05-31 13:01:01 +03:00
Stefan Prodan
bfcf288561 Update Kubernetes packages to v1.24.1
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2022-05-31 13:00:16 +03:00
Sanskar Jaiswal
560f884cc0 Merge pull request #1185 from philnichol/adding-appprotocol
feat: Add an optional `appProtocol` field to `spec.service`
2022-05-19 19:26:49 +05:30
Phil Nichol
d79898848e feat: Added the optional appProtocol field to Canary.Service
Signed-off-by: Phil Nichol <35630607+philnichol@users.noreply.github.com>
2022-05-15 19:07:18 +01:00
Stefan Prodan
c03d138cd0 Merge pull request #1191 from aryan9600/maintainer-request
Add Sanskar Jaiswal (@aryan9600) as a maintainer
2022-05-10 16:19:50 +03:00
Sanskar Jaiswal
22d192e7e3 add Sanskar Jaiswal (@aryan9600) to MAINTAINERS
Signed-off-by: Sanskar Jaiswal <sanskar.jaiswal@weave.works>
2022-05-09 15:21:12 +05:30
Stefan Prodan
a4babd6fc4 Merge pull request #1189 from fluxcd/release-1.21.0
Release v1.21.0
2022-05-06 19:15:41 +03:00
Stefan Prodan
edd5515bd7 Release v1.21.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2022-05-06 18:25:07 +03:00
Stefan Prodan
00dde2358a Merge pull request #1188 from fluxcd/helm-kubeconfig
Rename kubeconfig section in helm values
2022-05-06 18:04:02 +03:00
Stefan Prodan
8e84262a32 Update the Helm chart kubeVersion to 1.19
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2022-05-06 17:02:12 +03:00
Stefan Prodan
541696f3f7 Rename kubeconfig section in helm values
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2022-05-06 17:01:07 +03:00
Stefan Prodan
8051d03f08 Merge pull request #1187 from fluxcd/update-digram
Update Flagger overview diagram
2022-05-06 16:48:27 +03:00
Stefan Prodan
a78d273aeb Update Flagger overview diagram
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2022-05-06 16:25:08 +03:00
Stefan Prodan
07bd3563cd Merge pull request #1183 from aryan9600/multi-cluster
Avoid setting owner refs if the service mesh/ingress is on a different cluster
2022-05-06 08:50:06 +03:00
Sanskar Jaiswal
8c690d1b21 avoid setting owner refs if the service mesh cluster is different
Signed-off-by: Sanskar Jaiswal <sanskar.jaiswal@weave.works>
2022-05-06 01:06:03 +05:30
Stefan Prodan
a8b4e9cc6d Merge pull request #1181 from aryan9600/no-cross-ns-refs
Add flag to disable cross namespace refs to Custom Resources
2022-05-03 11:53:38 +03:00
Sanskar Jaiswal
30ed9fb75c verify canary spec before syncing
Signed-off-by: Sanskar Jaiswal <sanskar.jaiswal@weave.works>
2022-04-29 13:53:14 +05:30
Sanskar Jaiswal
0382d9c1ca Add no cross-namespace refs to FAQ and helm chart
Signed-off-by: Sanskar Jaiswal <sanskar.jaiswal@weave.works>
2022-04-29 13:50:01 +05:30
Stefan Prodan
95381e1892 Merge pull request #1150 from cdlliuy/be_honor_to_skip_analysis_new
ignore FailedCheck result when skipAnalysis defined and be honor to skipAnalysis when internal error happens
2022-04-28 11:19:05 +03:00
Sanskar Jaiswal
7df1beef85 Add flag to disable cross namespace refs to AlertProviders and MetricTemplates
Signed-off-by: Sanskar Jaiswal <sanskar.jaiswal@weave.works>
2022-04-27 17:09:07 +05:30
Stefan Prodan
a1e519b352 Merge pull request #1172 from fluxcd/release-1.20.0
Release v1.20.0
2022-04-15 13:24:01 +03:00
Stefan Prodan
e7f16a8c06 Release v1.20.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2022-04-15 12:49:17 +03:00
Stefan Prodan
a3adae4af0 Merge pull request #1171 from aryan9600/fix-primary-restart
Fix canary rollback behaviour
2022-04-15 12:18:51 +03:00
Sanskar Jaiswal
c7c0c76bd3 fix canary rollback behaviour
Prevents the canary from getting triggered, when a canary deploy is
updated to match the primary deploy after an analysis fails.

Signed-off-by: Sanskar Jaiswal <sanskar.jaiswal@weave.works>
2022-04-15 13:49:05 +05:30
Stefan Prodan
67cc965d31 Merge pull request #1164 from shipt/contour-retryon-support
Contour: Update the httproxy API and enable RetryOn
2022-04-12 10:32:53 +03:00
brandoncate
d09969e3b4 update httpproxy
Signed-off-by: brandoncate <brandon.cate@shipt.com>
2022-04-08 09:58:23 -05:00
brandoncate
41904b42f8 add assertion to retryOn field
Signed-off-by: brandoncate <brandon.cate@shipt.com>
2022-04-08 09:58:23 -05:00
brandoncate
f638410782 remove custom.sh test file
Signed-off-by: brandoncate <brandon.cate@shipt.com>
2022-04-08 09:58:23 -05:00
brandoncate
48cc7995d7 adding retryon support
Signed-off-by: brandoncate <brandon.cate@shipt.com>
2022-04-08 09:58:23 -05:00
Stefan Prodan
793b93c665 Merge pull request #1148 from cdlliuy/add_canary_analysis_result_as_metric
Add canary analysis result as Prometheus metrics
2022-04-06 07:57:23 +03:00
Ying Liu
e0186cbe2a update docs for metrics part
Signed-off-by: Ying Liu <ying.liu.lying@gmail.com>
2022-04-06 09:57:46 +08:00
Stefan Prodan
2cc2b5dce8 Merge pull request #1162 from denvernyaw/wrong_unit_of_time_for_duration_panels_in_grafana_dashboard
Fix unit of time in the Istio Grafana dashboard
2022-04-05 16:39:21 +03:00
Mikita Reshatko
ccdbbdb0ec adapt Prometheus queries results for request duration metrics to Grafana dashboard
Signed-off-by: Mikita Reshatko <mikita.reshatko@gmail.com>
2022-04-05 14:14:09 +03:00
ying
13483321ac Update pkg/metrics/recorder.go
Co-authored-by: Stefan Prodan <stefan.prodan@gmail.com>
Signed-off-by: Ying Liu <ying.liu.lying@gmail.com>
2022-03-25 23:10:03 +08:00
Ying Liu
5547533197 add canary analysis result as prometheus metrics
Signed-off-by: Ying Liu <ying.liu.lying@gmail.com>
2022-03-25 23:10:03 +08:00
Stefan Prodan
c68998d75e Merge pull request #1156 from aryan9600/appmesh-log
AppMesh: Add annotation to enable Envoy access logs
2022-03-22 16:13:37 +02:00
Sanskar Jaiswal
20f2d3f2f9 add annotation to enable appmesh logs
Signed-off-by: Sanskar Jaiswal <sanskar.jaiswal@weave.works>
Co-authored-by: wucg <wucg@trip.com>
2022-03-22 15:45:02 +05:30
Stefan Prodan
cc7b35b44a Merge pull request #1146 from canidam/fix-podinfo-service-when-canary-enabled
Fix the service toggle condition in the podinfo helm chart
2022-03-18 11:35:06 +02:00
Stefan Prodan
67a2cd6a48 Merge pull request #1139 from cdlliuy/ying_short_metric_analysis_waiting_promption
shorten the metric analysis cycle after confirm promotion gate is open
2022-03-18 11:34:21 +02:00
Stefan Prodan
08deddc4fe Merge pull request #1145 from anovateam/route_port_on_delegation
istio: Add destination port when port discovery and delegation are true
2022-03-18 10:10:54 +02:00
Ying Liu
77b2eb36a5 ignore FailedCheck result when skipAnalysis defined and be honor to skipAnalysi when internal error happens
Signed-off-by: Ying Liu <ying.liu.lying@gmail.com>
2022-03-17 10:49:30 +08:00
Ying Liu
ab84ac207a shorten the metric analysis cycle after confirmpromption gate is open and make the analysis check still works during waitingpromption status
Signed-off-by: Ying Liu <ying.liu.lying@gmail.com>
2022-03-17 10:32:01 +08:00
Chen Anidam
8957d91e01 Fix podinfo service toggle condition
Signed-off-by: Chen Anidam <canidam@gmail.com>
2022-03-17 00:34:51 +02:00
Marco Amador
c7cbb729b7 add destination port when port discovery is active and delegation is true
Signed-off-by: Marco Amador <amador.marco@gmail.com>
2022-03-16 18:57:02 +00:00
Stefan Prodan
eca6fa7958 Merge pull request #1144 from aryan9600/aryan9600/gateway-api
Remove unnecessary log statement
2022-03-15 15:03:16 +02:00
Sanskar Jaiswal
ee535afcb9 remove unnecessary log statement
Signed-off-by: Sanskar Jaiswal <sanskar.jaiswal@weave.works>
2022-03-15 18:07:23 +05:30
Stefan Prodan
18b64910d7 Merge pull request #1143 from aryan9600/aryan9600/gateway-api
Fix Gateway API docs
2022-03-15 14:34:57 +02:00
Sanskar Jaiswal
3ca75140d0 fix gateway api docs
Signed-off-by: Sanskar Jaiswal <sanskar.jaiswal@weave.works>
2022-03-15 17:38:55 +05:30
Stefan Prodan
960f924448 Merge pull request #1142 from aryan9600/aryan9600/gateway-api
Change debug level to info for gateway API
2022-03-15 14:07:26 +02:00
Sanskar Jaiswal
eed128a8b4 change debug level to info
Signed-off-by: Sanskar Jaiswal <sanskar.jaiswal@weave.works>
2022-03-15 16:21:39 +05:30
Stefan Prodan
210e21176b Merge pull request #1138 from fluxcd/release-1.19.0
Release v1.19.0
2022-03-14 14:47:33 +02:00
Stefan Prodan
0a0c3835d6 Release v1.19.0
This release comes with support for Kubernetes Gateway API v1alpha2.

Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2022-03-14 12:09:01 +02:00
Stefan Prodan
531893b279 Merge pull request #1110 from Moscagus/canary-replicas
Use the primary replicas when scaling up the canary (no hpa)
2022-03-14 12:02:27 +02:00
Stefan Prodan
e6bb47f920 Merge pull request #1108 from aryan9600/aryan9600/gateway-api
Add Gateway API as a provider
2022-03-14 11:14:01 +02:00
Stefan Prodan
307813a628 Merge pull request #1117 from johnzheng1975/patch-01
Update istio-progressive-delivery.md
2022-03-11 11:53:27 +02:00
Sanskar Jaiswal
38fc6b567f merge a/b and progressive tutorial
Signed-off-by: Sanskar Jaiswal <sanskar.jaiswal@weave.works>
2022-03-11 15:19:46 +05:30
Stefan Prodan
17015b23bf Merge pull request #1131 from aryan9600/bump-podinfo
Bump podinfo to 6.0.x and loadtester to 0.22.0
2022-03-11 10:07:46 +02:00
Sanskar Jaiswal
c9e53dd069 remove gateway types, fix rbac and add istio faq
Signed-off-by: Sanskar Jaiswal <sanskar.jaiswal@weave.works>
2022-03-10 18:16:44 +05:30
Sanskar Jaiswal
e26a10b481 update README
Signed-off-by: Sanskar Jaiswal <sanskar.jaiswal@weave.works>
2022-03-10 16:54:36 +05:30
Sanskar Jaiswal
281d869f54 add a/b test docs and update progressive docs
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2022-03-10 16:54:36 +05:30
Sanskar Jaiswal
91126d102d fix a/b testing logic and update e2e tests
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2022-03-10 16:54:36 +05:30
Sanskar Jaiswal
ba4646cddb fix docs and e2e install.sh
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2022-03-10 16:54:36 +05:30
Sanskar Jaiswal
438877674a add docs
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2022-03-10 16:54:36 +05:30
Sanskar Jaiswal
da451a0cf4 add metric templates to tests
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2022-03-10 16:54:36 +05:30
Sanskar Jaiswal
5e1d00d4d2 add router_test and make test install script platform agnostic
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2022-03-10 16:54:36 +05:30
Sanskar Jaiswal
00d54d268c add gateway tests and change provider aname
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2022-03-10 16:54:36 +05:30
Sanskar Jaiswal
174e9fdc93 Add support for Gateway API as a provider.
Adds Gateway API as a provider for progressive traffic shifting, A/B
testing and Blue-Green testing. Adds a new field in the Canary
`spec.service.gatewayRefs` which specifies the Gateway that Flagger
should use.

Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2022-03-10 16:54:36 +05:30
Moscagus
f7fd6cce8c If HPA isn't set and replicas are not specified, it uses the primary replicas when scaling up the canary
Signed-off-by: Moscagus <gustavo.varisco@gmail.com>
2022-03-09 22:16:47 -03:00
Sanskar Jaiswal
5dc336d609 bump podinfo to 6.0.x and loadtester to 0.22.0
Signed-off-by: Sanskar Jaiswal <sanskar.jaiswal@weave.works>
2022-03-09 20:19:39 +05:30
Stefan Prodan
ae6a683f23 Merge pull request #1130 from aryan9600/remove-helm2
Remove support for helmv2 in loadtester
2022-03-09 10:18:58 +02:00
Sanskar Jaiswal
5acf189fbe remove support for helmv2 in loadtester
Signed-off-by: Sanskar Jaiswal <sanskar.jaiswal@weave.works>
2022-03-08 22:14:32 +05:30
Stefan Prodan
090329d0c9 Merge pull request #1119 from connesc/authorizer
Restrict source namespaces in flagger-loadtester
2022-03-08 14:41:11 +02:00
Cédric Connes
96fd359b99 Add cmd.namespaceRegexp to loadtester Helm chart
Signed-off-by: Cédric Connes <cedric.connes@gmail.com>
2022-03-08 12:38:19 +01:00
Stefan Prodan
519f343fcc Merge pull request #1125 from aryan9600/fix-finalizer-dupl
Fix potential canary finalizer duplication
2022-03-08 11:10:39 +02:00
Stefan Prodan
5d2a7ba9e7 Merge pull request #1128 from aryan9600/ld-multiarch
Add arm64 support for loadtester
2022-03-07 16:33:26 +02:00
Sanskar Jaiswal
1664ca436e add arm64 support for loadtester
Signed-off-by: Sanskar Jaiswal <sanskar.jaiswal@weave.works>
2022-03-07 17:34:24 +05:30
Sanskar Jaiswal
84ae65c763 fix potential canary finalizer duplication
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2022-03-04 21:11:31 +05:30
Cédric Connes
6085753d84 Only allow namespaces matching -namespace-regexp
This allows to forbid access from canaries in non-whitelisted
namespaces.
In a multi-tenant context, this can be combined with network policies to
maintain isolation between namespaces.

Signed-off-by: Cédric Connes <cedric.connes@gmail.com>
2022-02-24 18:24:03 +01:00
John Zheng
da706be4aa Update istio-progressive-delivery.md
Signed-off-by: Author Name <johnzhengaz@gmail.com>
It is easy tp raise: Halt advancement no values found for istio metric request-success-rate probably podinfo.test is not receiving traffic: running query failed: no values found
If it is inconsistence between the prometheus version and istio version.
Signed-off-by: John Zheng <john.zheng@hp.com>
2022-02-18 20:04:57 +08:00
Stefan Prodan
65e3bcb1d8 Merge pull request #1116 from pjbgf/patch-180222
Update Kubernetes dependencies to v1.23.3
2022-02-18 12:24:44 +02:00
Paulo Gomes
582f6eec77 Update Kubernetes dependecies to v0.23.3
Signed-off-by: Paulo Gomes <paulo.gomes@weave.works>
2022-02-18 09:56:43 +00:00
Paulo Gomes
4200c0159d Update github.com/prometheus/client_golang to v1.11.1 (CVE fix)
Signed-off-by: Paulo Gomes <paulo.gomes@weave.works>
2022-02-18 08:44:48 +00:00
Stefan Prodan
cf8fe94fca Merge pull request #1107 from fluxcd/release-1.18.0
Release v1.18.0
2022-02-14 15:27:57 +02:00
Stefan Prodan
30d553c6f3 Release v1.18.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2022-02-14 12:44:23 +02:00
Stefan Prodan
f8f6a994dd Merge pull request #1106 from SomtochiAma/set-replica
Set primary deployment replicas when autoscaler isn't used
2022-02-14 12:33:10 +02:00
Somtochi Onyekwere
085639bbde Set primary deployment replicas when autoscaler isn't used
Signed-off-by: Somtochi Onyekwere <somtochionyekwere@gmail.com>
2022-02-14 10:54:24 +01:00
Stefan Prodan
3bfa7c974d Merge pull request #1102 from SomtochiAma/topology-spread
Add field `spec.analysis.canaryReadyThreshold` for configuring canary threshold
2022-02-10 11:11:37 +02:00
Stefan Prodan
d29e475277 Merge pull request #1103 from chlunde/patch-2
docs: Fix typo ExternalDNS
2022-02-10 11:10:27 +02:00
Stefan Prodan
b7ba3ab063 Merge pull request #1105 from SomtochiAma/error-msg
Send warning and error alerts correctly
2022-02-09 09:31:12 +02:00
Somtochi Onyekwere
9796903c78 Send warning and error alerts correctly
Signed-off-by: Somtochi Onyekwere <somtochionyekwere@gmail.com>
2022-02-08 21:48:46 +01:00
Carl Henrik Lunde
2f25fab560 docs: Fix typo ExternalDNS
Signed-off-by: Carl Henrik Lunde <chlunde@ifi.uio.no>
2022-02-08 18:26:17 +01:00
Somtochi Onyekwere
215c859619 add field for configuring canary threshold
Signed-off-by: Somtochi Onyekwere <somtochionyekwere@gmail.com>
2022-02-08 13:52:28 +01:00
Stefan Prodan
7071d42152 Merge pull request #1100 from SomtochiAma/topology-spread
Update matchLabels for TopologySpreadContstraints in Deployments
2022-02-07 15:13:52 +02:00
Somtochi Onyekwere
08b1e52278 Add extra check for name
Signed-off-by: Somtochi Onyekwere <somtochionyekwere@gmail.com>
2022-02-07 13:00:43 +01:00
Stefan Prodan
801f801e02 Merge pull request #1095 from ashokhein/main
Fix for when Prometheus returns NaN
2022-02-07 13:53:32 +02:00
Stefan Prodan
af5634962f Merge pull request #1092 from northwesternmutual/main
Update metadata during subsequent promote
2022-02-07 13:45:26 +02:00
Somtochi Onyekwere
fe7615afb4 Update matchLabels in LabelSelectors
Signed-off-by: Somtochi Onyekwere <somtochionyekwere@gmail.com>
2022-02-07 11:30:21 +01:00
ASHOK KUMAR KS
fc6bedda23 Merge branch 'fluxcd:main' into main 2022-01-25 10:41:13 +00:00
Stefan Prodan
a7f997c092 Merge pull request #1091 from fluxcd/release-0.17.0
Release v1.17.0
2022-01-25 10:48:03 +02:00
Karl Heins
121eb767cb Update metadata during subsequent promote
Signed-off-by: Karl Heins <karlheins@northwesternmutual.com>

Support updating primary Deployment/DaemonSet/HPA/Service labels and annotations after first-time rollout
2022-01-24 14:41:24 -06:00
ashokhein
cd3a1d8478 fixed bug when Prometheus returns NaN
Signed-off-by: ashokhein <ashokhein@gmail.com>
2022-01-24 12:58:57 +00:00
Stefan Prodan
6f6af25467 chart: Update Prometheus to v2.32.1
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2022-01-21 15:13:12 +02:00
Stefan Prodan
a0f1638f6c Remove Flux deprecated marker
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2022-01-21 15:11:42 +02:00
Stefan Prodan
fc13276f0e Release v1.17.0
Adds support for Kuma service mesh

Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2022-01-21 15:11:41 +02:00
Stefan Prodan
8a0b92db19 Merge pull request #1094 from fluxcd/sbom
Publish a Software Bill of Materials (SBOM)
2022-01-21 15:11:11 +02:00
Stefan Prodan
2f0d34adb2 Publish a Software Bill of Materials (SBOM)
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2022-01-21 14:20:48 +02:00
Stefan Prodan
617f416291 Merge pull request #1093 from aryan9600/aryan9600/fix-kuma-e2e
Fix failing kuma e2e tests
2022-01-20 10:47:32 +02:00
Sanskar Jaiswal
7a438ad323 fix failing kuma e2e tests
Kuma e2e tests were failing in CI(https://github.com/fluxcd/flagger/runs/4826617915?check_suite_focus=true)
due to prom server installed in the kuma-metrics ns not being able to
contact the kubernetes api server. Fixed by switching to flagger
prometheus and a custom kustomize build for kuma tests.

Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2022-01-20 08:20:16 +00:00
Stefan Prodan
5776f0b64b Merge pull request #1041 from baldey-nz/baldey-nz/notification-change
Add cluster name to flagger cmd args for altering
2022-01-11 11:14:47 +02:00
Stefan Prodan
96d190a789 Merge pull request #1085 from johnharris85/add-kuma-support
Add kuma support for progressive traffic shifting canaries
2022-01-11 11:01:14 +02:00
John Harris
d2038699c0 Fix newlines
Signed-off-by: John Harris <john.harris@konghq.com>
2022-01-05 07:46:56 -08:00
John Harris
cb3b5cba90 Remove Prometheus from default install
Signed-off-by: John Harris <john.harris@konghq.com>
2022-01-05 07:18:41 -08:00
baldey-nz
8c881ab758 as suggested changing cluster-name to flag
Signed-off-by: baldey-nz <baldey@gmail.com>
2021-12-21 14:11:49 +13:00
John Harris
caefaf73aa Add additional docs references
Signed-off-by: John Harris <john.harris@konghq.com>
2021-12-20 09:21:42 -08:00
John Harris
e8d7001f5e Add RO FS back to deployment
Signed-off-by: John Harris <john.harris@konghq.com>
2021-12-18 14:51:57 -08:00
John Harris
ae0f20a445 Add Kuma docs
Signed-off-by: John Harris <john.harris@konghq.com>
2021-12-18 14:45:23 -08:00
John Harris
4ddc12185f Add prometheus support
Signed-off-by: John Harris <john.harris@konghq.com>
2021-12-18 14:18:56 -08:00
John Harris
e81627a96d Add tests
Signed-off-by: John Harris <john.harris@konghq.com>
2021-12-18 14:09:39 -08:00
John Harris
47be2a25f2 Add Kuma routing and metrics
Signed-off-by: John Harris <john.harris@konghq.com>
2021-12-18 14:07:59 -08:00
John Harris
6832a4ffde Add/update Kustomize configurations
Signed-off-by: John Harris <john.harris@konghq.com>
2021-12-18 14:07:05 -08:00
John Harris
bd58a47862 Add/update API types
Signed-off-by: John Harris <john.harris@konghq.com>
2021-12-18 14:05:54 -08:00
Stefan Prodan
613fb92a25 Merge pull request #1084 from fluxcd/release-1.16.1
Release v1.16.1
2021-12-17 17:37:56 +02:00
Stefan Prodan
250d9f2836 Release v1.16.1
Contains flagger-loadtester v0.21.0

Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-12-17 16:51:53 +02:00
Stefan Prodan
0cab25e44c Merge pull request #1083 from fluxcd/loadtester-v0.21.0
Release loadtester v0.21.0
2021-12-16 14:43:01 +02:00
Stefan Prodan
cbf6b462e4 Release loadtester v0.21.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-12-16 13:41:20 +02:00
Stefan Prodan
8695660c58 Merge pull request #1082 from fluxcd/fix-loadtester-workflow
Fix loadtester CI workflow
2021-12-16 13:33:38 +02:00
Stefan Prodan
1216990f52 Fix loadtester CI workflow
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-12-16 13:33:06 +02:00
John Harris
204228bc8f Add API types.
Signed-off-by: John Harris <john.harris@konghq.com>
2021-12-15 15:13:47 -08:00
Stefan Prodan
ebc26e9ea0 Merge pull request #1081 from fluxcd/alpine-3.15
Update Alpine to 3.15
2021-12-15 12:16:40 +02:00
Stefan Prodan
3c03119d2d Merge pull request #1080 from fluxcd/lt-helm
loadtester: Update the Helm CLI
2021-12-15 12:16:31 +02:00
Stefan Prodan
644049092f Update Alpine to 3.15
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-12-15 10:49:16 +02:00
Stefan Prodan
578f447728 loadtester: Update the Helm CLI
- helm 2.17.0
- helmv3 3.7.2

Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-12-15 10:47:53 +02:00
Stefan Prodan
3bf926e419 Merge pull request #1079 from fluxcd/push-ld
Add workflow for pushing loadtester image
2021-12-14 19:18:07 +02:00
Stefan Prodan
48ee4f8bd2 Add workflow for pushing loadtester image
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-12-14 18:53:29 +02:00
Stefan Prodan
b4964a0535 Merge pull request #1078 from fluxcd/k8s.io/v0.23.0
Update Kubernetes packages to v1.23.0
2021-12-14 18:31:16 +02:00
Stefan Prodan
47ff00e9b9 Update Kubernetes packages to v1.23.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-12-14 17:56:59 +02:00
Stefan Prodan
6ca99a5ddb Merge pull request #1077 from fluxcd/go-1.17
Update Go to v1.17
2021-12-14 17:49:54 +02:00
Stefan Prodan
30b5054692 Update Go to v1.17
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-12-14 17:26:13 +02:00
Stefan Prodan
edf7b90c11 Merge pull request #1076 from makaronak/loadtester-secrets
feat: allow loadtester pull secrets
2021-12-14 16:15:58 +02:00
Stefan Prodan
7f0f97d14d Merge pull request #1071 from longkai/fix-code-gen
fix: code gen sometimes fail issue
2021-12-14 15:04:32 +02:00
Maksim Makaronak
b03b75cd7e feat: allow loadtester pull secrets
Signed-off-by: Maksim Makaronak <maksim.makaronak@ihsmarkit.com>
2021-12-14 14:19:47 +03:00
Stefan Prodan
f0d2e60a9a Merge pull request #1075 from dholbach/update-maintainer-file
Update MAINTAINERS file (Takeshi is at Tetrate now)
2021-12-14 10:14:49 +02:00
Daniel Holbach
328f1d9ea2 Update MAINTAINERS file (Takeshi is at Tetrate now)
Also bring it up to same format as all the other
	MAINTAINERS files (needed for fluxcd/community#155).

Signed-off-by: Daniel Holbach <daniel@weave.works>
2021-12-13 17:46:47 +01:00
longkai
a14013f393 fix: code gen sometimes fail issue
In my self project I reference this nice script, the go.sum look like this(after run go mod tidy and
download):

```
k8s.io/apimachinery v0.22.1/go.mod h1:O3oNtNadZdeOMxHFVxOreoznohCpy0z6mocxbZr7oJ0=
k8s.io/apiserver v0.22.1/go.mod h1:2mcM6dzSt+XndzVQJX21Gx0/Klo7Aen7i0Ai6tIa400=
k8s.io/client-go v0.22.1 h1:jW0ZSHi8wW260FvcXHkIa0NLxFBQszTlhiAVsU5mopw=
k8s.io/client-go v0.22.1/go.mod h1:BquC5A4UOo4qVDUtoc04/+Nxp1MeHcVc1HJm1KmG8kk=
k8s.io/code-generator v0.22.1/go.mod h1:eV77Y09IopzeXOJzndrDyCI88UBok2h6WxAlBwpxa+o=
k8s.io/component-base v0.22.1 h1:SFqIXsEN3v3Kkr1bS6rstrs1wd45StJqbtgbQ4nRQdo=
```

as you can see the, sometimes the go.sum only has `version/go.mod` line,
if we run the scripts, it will fail like this:

chmod: cannot access '/home/longkai/pkg/mod/k8s.io/code-generator@v0.22.1/go.mod/generate-groups.sh': Not a directory

so this pr fix this.

Finally, the list is sort by version ast, we want to choose the newer one.

Signed-off-by: longkai <im.longkai@gmail.com>
2021-12-07 14:32:34 +08:00
Stefan Prodan
aef1d7904d Merge pull request #1063 from rajatvig/UpdateLoadTester
Update libraries included in the load tester to newer versions
2021-12-01 09:20:26 +02:00
Rajat Vig
dc478188c1 Update loadtester version
Signed-off-by: Rajat Vig <rvig@etsy.com>
2021-12-01 00:13:35 +00:00
Rajat Vig
9fa6e775c0 Fix ghz URI and install wrk from alpine vs compiling it
Signed-off-by: Rajat Vig <rvig@etsy.com>
2021-12-01 00:08:55 +00:00
Rajat Vig
584350623b Update libraries included in the load tester to newer versions
Signed-off-by: Rajat Vig <rvig@etsy.com>
2021-11-29 11:07:41 +00:00
Stefan Prodan
919959b32c Merge pull request #1062 from rajatvig/patch-1
Update content for changes in autoscaler behaviour
2021-11-29 12:50:03 +02:00
Rajat Vig
ec54eedf93 Update content for changes in autoscaler behaviour
Signed-off-by: Rajat Vig <rvig@etsy.com>
2021-11-29 10:26:48 +00:00
Stefan Prodan
f311797215 Merge pull request #1061 from SanyaKochhar/osm-docs
Update OSM docs for managed/non-default instances
2021-11-24 17:14:58 +02:00
Stefan Prodan
059b5d0f89 Merge pull request #1059 from julienduchesne/patch-1
Add section about the k6 load tester
2021-11-24 17:14:43 +02:00
Sanya Kochhar
7542640494 update osm docs for managed/non-default osm instances
Signed-off-by: Sanya Kochhar <kochhars@microsoft.com>
2021-11-23 14:10:46 -05:00
Julien Duchesne
52493f181a Add section about the k6 load tester
As suggested here: https://cloud-native.slack.com/archives/C01JR4YUG4B/p1637598108108000

Signed-off-by: Julien Duchesne <julien.duchesne@grafana.com>
2021-11-22 11:52:27 -05:00
Stefan Prodan
5d95143536 Merge pull request #1058 from fluxcd/release-1.16.0
Release v1.16.0
2021-11-22 15:40:25 +02:00
Stefan Prodan
a2c5861ca5 Release v1.16.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-11-22 14:53:54 +02:00
Stefan Prodan
fcc07f02b0 Merge pull request #1049 from fluxcd/prevent-flux-overrides
Prevent Flux from overriding Flagger managed objects
2021-11-22 14:38:27 +02:00
Stefan Prodan
3f43526aac Merge pull request #1057 from fluxcd/update-diagram-osm
Update Flagger diagram to include OpenServiceMesh
2021-11-22 14:38:13 +02:00
Stefan Prodan
cd07da9137 Update Flagger diagram to include OpenServiceMesh
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-11-22 12:05:17 +02:00
Stefan Prodan
30ab182b2e Merge pull request #1052 from zeot/append-ownerreferences-configmaps-and-secrets
Append to list of ownerReferences for primary configmaps and secrets
2021-11-18 10:51:36 +02:00
Stefan Prodan
2ddd9587f7 Merge pull request #1048 from personio/primary-ready-threshold
[feat] primaryReadyThreshold: allow configuring threshold for primary
2021-11-17 10:30:37 +02:00
Zacharias Taubert
50800857b6 Append to list of ownerReferences for cm and secrets
If a "primary" ConfigMap or Secret already exists, keep the list of
ownerReferences and append the updating Canary as ownerReference if it's
not already in the list. This will prevent the GC from deleting primary
ConfigMaps and Secrets used by multiple primary deployments when one is
deleted.

Signed-off-by: Zacharias Taubert <zacharias.taubert@gmail.com>
2021-11-14 23:30:30 +01:00
Mahdi Dibaiee
8f50521435 [feat] primaryReadyThreshold: allow configuring threshold for primary
see #639

Signed-off-by: Mahdi Dibaiee <mdibaiee@pm.me>
2021-11-11 14:44:52 +00:00
Stefan Prodan
45ecaa9084 Prevent Flux from overriding Flagger managed objects
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-11-10 18:19:04 +02:00
Stefan Prodan
9c7db58d87 Merge pull request #1044 from Misteur-Z/external-dns-docs
Add warning in docs about ExternalDNS + Istio configuration
2021-11-09 19:56:21 +02:00
Stefan Prodan
6b11e9714b Merge pull request #1045 from DiptoChakrabarty/replaceioutil
Replace ioutil in testing of gchat
2021-11-09 19:22:30 +02:00
Stefan Prodan
7f5a9ed34a Merge pull request #1047 from ecordell/patch-1
Mark CanaryMetric.Threshold as omitempty
2021-11-09 19:22:09 +02:00
Evan Cordell
bc9a231d26 Mark CanaryMetric.Threshold as omitempty
Signed-off-by: Evan Cordell <cordell.evan@gmail.com>
2021-11-09 09:27:20 -05:00
Dipto Chakrabarty
0bb3815f73 replace ioutil in testing of gchat
Signed-off-by: DiptoChakrabarty <diptochuck123@gmail.com>
2021-11-01 15:17:44 +05:30
Misteur-Z
944cc8ef62 Remove emoji
Signed-off-by: Misteur-Z <22374424+Misteur-Z@users.noreply.github.com>
2021-10-29 15:43:13 +02:00
Misteur-Z
e97334d7c1 Warning
Signed-off-by: Misteur-Z <22374424+Misteur-Z@users.noreply.github.com>
2021-10-29 14:41:24 +02:00
Stefan Prodan
2dacf08c30 Merge pull request #1043 from fluxcd/release-1.15.0
Release v1.15.0
2021-10-29 09:52:55 +03:00
Stefan Prodan
6f6590774e Add a note to docs for external-dns annotations
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-10-28 16:41:33 +03:00
Stefan Prodan
fe5bb3fd26 Release v1.15.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-10-28 16:24:43 +03:00
baldey-nz
c638edd346 If applied, this commit will add an optional canary spec field named summary for notification purposes
Signed-off-by: baldey-nz <baldey@gmail.com>
2021-10-28 07:14:24 +13:00
Stefan Prodan
c02477a245 Merge pull request #1036 from sa-spag/loadtester-chart
Add `podLabels` to loadtester chart
2021-10-27 08:56:21 +03:00
Stefan Prodan
da6da9c839 Merge pull request #1038 from bseenu/loadtester-security
Update load tester binaries (CVEs fix)
2021-10-27 08:53:56 +03:00
Stefan Prodan
d83293776d Merge pull request #1034 from jonnylangefeld/jlf/add-metadata-to-istio-vs
Add metadata annotations to generated apex objects
2021-10-27 08:52:34 +03:00
Jonny Langefeld
d5994ac127 Add metadata to istio VirtualService
Some third party software relies on annotations and labels on istios VirtualServices. For instance external-dns makes use of the `external-dns.alpha.kubernetes.io/controller` annotation. Currently there is no way to set labels and annotations on the VirtualService resource.

This change takes the metadata from the `canary.Spec.Service.Apex` property to replicate exactly what is already possible for a traefik resource:
c36a13ccff/pkg/router/traefik.go (L59-L68)

Fix #854

Signed-off-by: Jonny Langefeld <jonny.langefeld@gmail.com>
2021-10-26 10:59:34 -07:00
Stefan Prodan
36584826bb Merge pull request #1022 from menglingwei/main
Fix tyops in code comments
2021-10-26 12:52:29 +03:00
Srinivas
7a6fccb70d Security Fixes
Signed-off-by: Srinivas <sboga@roku.com>
2021-10-22 18:12:23 -07:00
Alexis Gauthiez
ca1971c085 Bump loadtester chart version
Signed-off-by: Alexis Gauthiez <alexis.gauthiez@blablacar.com>
2021-10-19 16:42:52 +02:00
Alexis Gauthiez
97eaecec48 Add podLabels to loadtester chart
Signed-off-by: Alexis Gauthiez <alexis.gauthiez@blablacar.com>
2021-10-19 16:42:52 +02:00
Stefan Prodan
01d47808a7 Merge pull request #1023 from Infomaniak/hotfix/use-nginx-controller-canary-metrics
Use nginx controller canary metrics
2021-09-30 14:45:54 +03:00
Léopold Jacquot
7d2f3dea7a Use nginx controller canary metrics
Signed-off-by: Léopold Jacquot <leopold.jacquot@infomaniak.com>
2021-09-30 11:12:37 +02:00
Stefan Prodan
bce1d02b3b Merge pull request #1025 from fluxcd/gloo-1.9
Update Gloo to 1.9.0
2021-09-30 12:02:49 +03:00
Stefan Prodan
9a993b131d Update Gloo to 1.9.0
Fix for deprecated CRDs

Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-09-30 11:39:59 +03:00
Stefan Prodan
636a1d7576 Merge pull request #1020 from SomtochiAma/test-fieldIsMandatory
Add test for checking if configmap is optional
2021-09-30 11:25:34 +03:00
xiaobing.meng
fb621ec465 fix comments
Signed-off-by: xiaobing.meng <xiaobing.meng@alibaba-inc.com>
2021-09-26 15:14:47 +08:00
Somtochi Onyekwere
00e993c686 Add test for fieldIsMandatory
Signed-off-by: Somtochi Onyekwere <somtochionyekwere@gmail.com>
2021-09-20 23:17:27 +01:00
Stefan Prodan
374a55d8f5 Merge pull request #1001 from kyanagimoto/main
fix: 🐛 trigger unexpected canary deployment.
2021-09-20 18:36:09 +03:00
Stefan Prodan
1e88e2fa72 Merge pull request #1019 from fluxcd/release-v1.14.0
Release v1.14.0
2021-09-20 11:41:39 +03:00
Stefan Prodan
a2326198f6 Release v1.14.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-09-20 11:07:43 +03:00
Stefan Prodan
a0031d626a Merge pull request #1018 from funkypenguin/patch-1
[docs] update promql query for istio request duration
2021-09-20 10:10:30 +03:00
David Young
a2b58d59ab [docs] update promql query for istio request duration
A minor issue I stumbled across while learning how to drive Flagger, is that the docs still use `istio_request_duration_seconds_bucket` to illustrate the query behind the `request-duration` metric. I understand that this changed with Istio 1.5 (https://github.com/fluxcd/flagger/issues/478), but it seems that in the current version of flagger, the correct metric must already be used, since I'm getting duration metrics out of Istio 1.10 :)

This change simply makes the docs clearer for those of us trying to understand exactly what `request-duration` entails!

Signed-off-by: David Young <davidy@funkypenguin.co.nz>
2021-09-20 10:54:43 +12:00
Stefan Prodan
e8b17406b7 Merge pull request #1016 from SomtochiAma/istio-crds
Add support for Istio load balancer settings
2021-09-17 12:18:22 +03:00
Somtochi Onyekwere
5245045d84 Update localbalancer settings
Signed-off-by: Somtochi Onyekwere <somtochionyekwere@gmail.com>
2021-09-17 09:31:00 +01:00
Stefan Prodan
b57d39369b Merge pull request #1015 from SomtochiAma/influxdb
Render inline promql query
2021-09-17 09:24:34 +03:00
Stefan Prodan
db72fe3d97 Merge pull request #1013 from GregoireW/testing
Add dynatrace metric provider
2021-09-17 09:23:36 +03:00
Somtochi Onyekwere
3a2f688c56 Render inline promql query
Signed-off-by: Somtochi Onyekwere <somtochionyekwere@gmail.com>
2021-09-16 13:02:58 +01:00
GregoireW
13a2a5073f Add dynatrace provider
Signed-off-by: GregoireW <24318548+GregoireW@users.noreply.github.com>
2021-09-16 10:48:51 +02:00
Stefan Prodan
418853fd0c Merge pull request #1012 from SomtochiAma/influxdb
Add Influxdb metric provider
2021-09-16 11:21:24 +03:00
Somtochi Onyekwere
cfb68a6e56 Add Influxdb provider
Signed-off-by: Somtochi Onyekwere <somtochionyekwere@gmail.com>
2021-09-16 08:55:40 +01:00
Stefan Prodan
88b13274d7 Merge pull request #991 from SomtochiAma/stackdriver-analysis
Add stackdriver metrics analysis
2021-09-02 17:40:47 +03:00
Somtochi Onyekwere
056ba675a7 Add stackdriver metrics analysis
Signed-off-by: Somtochi Onyekwere <somtochionyekwere@gmail.com>
2021-09-01 18:25:59 +01:00
kyanagimoto
873b74561c fix: 🐛 trigger unexpected canary deployment.
https://github.com/fluxcd/flagger/issues/989

Signed-off-by: kyanagimoto <koichiyanagimoto@gmail.com>
2021-09-01 19:17:17 +09:00
Stefan Prodan
8b42ce374d Merge pull request #990 from fluxcd/chart-publish
ci: Add on-demand Helm publish workflow
2021-08-27 09:40:54 +03:00
Stefan Prodan
4871003ff1 ci: Add on-demand Helm publish workflow
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-08-27 09:40:30 +03:00
Stefan Prodan
b4e7ad5575 Merge pull request #987 from SomtochiAma/k8s-provider-docs
Clarify that traffic routing with doesn't happen kubernetes blue/green deployment
2021-08-27 09:37:36 +03:00
Stefan Prodan
1a246060e2 Merge pull request #986 from andylibrian/fix-broken-loadtester-chart
Fix broken loadtester chart due to extra end
2021-08-27 09:32:34 +03:00
Somtochi Onyekwere
6a3d74c645 Clarify traffic routing with kubernetes
Signed-off-by: Somtochi Onyekwere <somtochionyekwere@gmail.com>
2021-08-26 11:16:31 +01:00
Andy Librian
2073bd2027 Fix broken loadtester chart due to extra end
Signed-off-by: Andy Librian <andylibrian@gmail.com>
2021-08-26 14:15:35 +07:00
Stefan Prodan
c63554c534 Merge pull request #985 from fluxcd/cosign-fix
Fix cosign workflow
2021-08-25 12:16:24 +03:00
Stefan Prodan
be8ed8a696 Fix cosign workflow
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-08-25 12:16:06 +03:00
Stefan Prodan
98530d9968 Merge pull request #984 from fluxcd/release-v1.13.0
Release v1.13.0
2021-08-25 12:08:14 +03:00
Stefan Prodan
38adc513a6 Release v1.13.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-08-25 11:46:30 +03:00
Stefan Prodan
eb12e3bde1 Merge pull request #983 from fluxcd/cosign
Sign Flagger container images with cosign
2021-08-25 10:00:59 +03:00
Stefan Prodan
8b2839d36e Add docs on how to verify Flagger containers with cosign
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-08-24 17:59:32 +03:00
Stefan Prodan
f0fa2aa6bb Sign Flagger container images with cosign
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-08-24 17:58:54 +03:00
Stefan Prodan
33528b073f Add cosign keys
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-08-24 15:25:02 +03:00
Fabio Pinna
cf8783ea37 Add support for Google Chat alerts (#953)
Add gchat alerting support

Signed-off-by: fpinna <fplkid@gmail.com>
2021-08-24 11:26:00 +03:00
Stefan Prodan
00355635f8 Merge pull request #982 from saiskee/fix-gloo-edge-flagger
Update Gloo APIs to v1.8
2021-08-23 19:47:18 +03:00
Keerthan Ekbote
aa485f4bf1 Update gloo apis to replace snake case with camel case
Signed-off-by: Keerthan Ekbote <keerthan.ekbote@solo.io>
2021-08-23 12:16:43 -04:00
Stefan Prodan
273b05fb24 Merge pull request #980 from fluxcd/istio-e2e
Update virtual service delegation e2e tests for Istio v1.11
2021-08-23 18:10:51 +03:00
Stefan Prodan
e470474d6f Update Istio delegation e2e for 1.11
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-08-23 17:48:40 +03:00
Stefan Prodan
ddfd2fe2ec Merge pull request #979 from fluxcd/update-e2e-vers
Update providers in e2e tests
2021-08-23 15:15:32 +03:00
Stefan Prodan
7533d0ae99 e2e: Update Ingress NGINX to v0.49.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-08-23 14:26:27 +03:00
Stefan Prodan
04ec7f0388 Merge pull request #966 from eduardobarbosa/eduardobarbosa/add-podlabels-helmchart
Add extra podLabels options to Flagger Helm Chart
2021-08-23 13:02:13 +03:00
Stefan Prodan
419000cc13 e2e: Update Istio to v1.11.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-08-23 12:58:35 +03:00
Stefan Prodan
0dc8edb437 Merge pull request #975 from hobbsh/support-volumes-loadtester
support volumes/volumeMounts in loadtester chart
2021-08-23 12:48:17 +03:00
Stefan Prodan
0759b6531b e2e: Update Contour to v1.18
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-08-23 12:34:32 +03:00
Stefan Prodan
d8f984de7d Merge pull request #977 from johnsonshi/osm-flagger-docs
Add OSM tutorial and docs
2021-08-23 12:33:16 +03:00
Johnson Shi
82e490a875 Add osm tutorial and docs
Signed-off-by: Johnson Shi <Johnson.Shi@microsoft.com>
2021-08-20 14:25:47 -07:00
Stefan Prodan
c6dffd9d3e e2e: Update Linkerd to v2.10.2
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-08-20 17:17:59 +03:00
Stefan Prodan
8ee3d5835a Merge pull request #978 from fluxcd/update-calendar
Update links to calendar and resources
2021-08-17 13:33:13 +03:00
Daniel Holbach
1209d7e42b update links to calendar and resources
Signed-off-by: Daniel Holbach <daniel@weave.works>
2021-08-17 10:22:48 +02:00
Wylie Hobbs
cdc05ba506 support volumes/volumeMounts in loadtester chart
Signed-off-by: Wylie Hobbs <wylie@wyliehobbs.com>
2021-08-12 10:44:12 -06:00
Stefan Prodan
a6fae0195f Merge pull request #955 from johnsonshi/support-osm-in-flagger
Support OSM progressive traffic shifting in Flagger
2021-08-12 15:04:09 +03:00
Johnson Shi
11375b6890 Support OSM progressive traffic shifting
Signed-off-by: Johnson Shi <Johnson.Shi@microsoft.com>
2021-08-11 17:43:00 -07:00
eduardobarbosa
3811470ebf Add extra podLabels options to Flagger Helm Chart
Signed-off-by: eduardobarbosa <eduardobarbosadacosta@gmail.com>
2021-08-04 15:10:00 -03:00
Stefan Prodan
e2b08eb4dc Merge pull request #964 from shuheiktgw/drop_ioutil
chore: Drop deprecated io/ioutil
2021-07-31 10:16:11 +03:00
shuheiktgw
38d3ca1022 chore: Drop deprecated io/ioutil
Signed-off-by: shuheiktgw <shuheiktgw@users.noreply.github.com>
2021-07-31 08:25:46 +09:00
Stefan Prodan
df459c5fe6 Merge pull request #960 from fluxcd/traefik-2.4
e2e: Update Traefik to 2.4.9
2021-07-27 12:56:41 +03:00
Stefan Prodan
d1d9c0e2a9 Update Traefik docs with Prometheus annotations
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-07-27 12:34:27 +03:00
Stefan Prodan
c1b1d7d448 e2e: Update Traefik to 2.4.9
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-07-27 12:17:40 +03:00
Stefan Prodan
e6b5ee2042 Merge pull request #958 from GregoryVds/fix-typo
pkg:canary: fix typos in logs
2021-07-26 18:37:20 +03:00
Stefan Prodan
0170fc6166 Merge pull request #959 from HBOCodeLabs/mdb/typo-fixes
correct spelling of 'Secrets' in code comments
2021-07-26 17:02:58 +03:00
Mike Ball
4cc2ada2a2 correct spelling of 'Secrets' in code comments
Signed-off-by: Mike Ball <mike.ball@warnermedia.com>
2021-07-23 06:54:26 -04:00
Gregory Vander Schueren
a5d3e4f6a6 pkg:canary: fix typos in logs
Signed-off-by: Gregory Vander Schueren <gregory.vanderschueren@sortlist.com>
2021-07-21 15:44:56 +02:00
Stefan Prodan
7c92b33886 Merge pull request #952 from bellkev/fix-grafana-dashboard
Remove problematic nulls from Grafana dashboard
2021-07-09 17:21:46 +03:00
Kevin Bell
0f0b9414ae Remove problematic nulls from Grafana dashboard
Newer versions of Grafana complain when loading
dashboard JSON with nulls in these "current" fields.

Signed-off-by: Kevin Bell <kebel@amazon.com>
2021-07-08 18:01:47 -07:00
Stefan Prodan
6fbb67ee8c Merge pull request #943 from L3o-pold/hotfix/fix-alerting-http-proxy
Fix for the http client proxy overriding the default client
2021-06-24 17:14:52 +03:00
Léopold Jacquot
6634f1a9ae don't override DefaultClient
bug introduced by https://github.com/fluxcd/flagger/pull/872

Signed-off-by: Léopold Jacquot <leopold.jacquot@infomaniak.com>
2021-06-24 15:04:41 +02:00
Stefan Prodan
8da8138f77 Merge pull request #941 from fluxcd/release-v1.12.1
Release v1.12.1
2021-06-17 19:33:36 +03:00
Stefan Prodan
588f4c477b Release v1.12.1
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-06-17 19:12:06 +03:00
Stefan Prodan
fda1775d3a Merge pull request #940 from fluxcd/k8s.io/api-v0.21.1
Update Go to v1.16 and Kubernetes packages to v1.21.1
2021-06-17 19:03:24 +03:00
Stefan Prodan
fc71d53c71 Update Go to v1.16
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-06-17 18:44:23 +03:00
Stefan Prodan
ab2a320659 Update Kubernetes packages to v1.21.1
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-06-17 18:35:42 +03:00
Stefan Prodan
7f50f81ac7 Merge pull request #939 from fluxcd/remove-toolkit-markers
Remove the GitOps Toolkit metadata from generated objects
2021-06-17 18:12:21 +03:00
Stefan Prodan
c36a13ccff Remove the GitOps Toolkit metadata from generated objects
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-06-17 17:49:22 +03:00
Stefan Prodan
47de726345 Merge pull request #937 from fluxcd/release-v1.12.0
Release v1.12.0
2021-06-16 13:16:19 +03:00
Stefan Prodan
7a4fdbddc0 Release v1.12.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-06-16 12:18:40 +03:00
Joakim Ahrlin
0dc6f33550 Add insecureSkipVerify option for Prometheus and Graphite
Add insecureSkipVerify option for Prometheus and Graphite

Signed-off-by: Joakim Ahrlin <joakim.ahrlin@embark-studios.com>
2021-06-15 19:28:25 +03:00
Stefan Prodan
b2436eb0df Merge pull request #936 from fluxcd/flux-gc-skip
Remove Flux GC markers from generated objects
2021-06-15 18:08:32 +03:00
Stefan Prodan
cc673159d7 Remove Flux GC markers from generated objects
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-06-15 17:45:33 +03:00
Stefan Prodan
17c310d66d Merge pull request #932 from KnechtionsCoding/feat/gloo-label-copy
gloo: copy labels from upstream
2021-06-15 12:36:37 +03:00
Hans Knecht
e7357c4e07 fix: updating to use include-label-prefix
fix: remove copy of labels

Signed-off-by: Hans Knecht <Hans.Knecht@missionlane.com>
2021-06-14 11:39:55 -04:00
Stefan Prodan
c44de2d7c3 Merge pull request #934 from johnsonshi/fix-smi-trafficsplit-v1alpha2-omitempty
fix: Require SMI TrafficSplit Service and Weight
2021-06-14 18:07:42 +03:00
Johnson Shi
d82b2c219a fix: Require SMI TrafficSplit Service and Weight
In the SMI TrafficSplit spec, Weight and Service are
required values for TrafficSplit Backend.
In flagger's SMI v1alpha2 implementation,
Service and Weight have the omitempty json option.

During canary analysis, flagger initially creates
a SMI TrafficSplit custom resource in which the
canary backend service has a Weight of 0.
The omitempty option causes Go to omit Weight
when it sends the custom resource to Kubernetes.
This throws an error during canary analysis.

Signed-off-by: Johnson Shi <Johnson.Shi@microsoft.com>
2021-06-14 06:55:59 -07:00
Hans Knecht
35c8957a55 chore: lowercase labels
Signed-off-by: Hans Knecht <Hans.Knecht@missionlane.com>
2021-06-12 21:57:45 -04:00
Hans Knecht
8555f8250a feat: copy labels from upstream
Signed-off-by: Hans Knecht <Hans.Knecht@missionlane.com>
2021-06-11 16:18:29 -04:00
Mike Ball
8137a25b13 Improve language and correct typos in FAQs docs (#925)
Improve language and correct typos in FAQs docs

Signed-off-by: Mike Ball <mike.ball@warnermedia.com>
2021-06-03 11:09:42 +03:00
Stefan Prodan
2db5573c0e Merge pull request #924 from fluxcd/release-1.11.0
Release v1.11.0
2021-06-01 13:59:04 +03:00
Stefan Prodan
1e382203b8 Release v1.11.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-06-01 13:37:51 +03:00
Stefan Prodan
873903a4cb Merge pull request #920 from fluxcd/rbac-v1
Update Kubernetes manifests to rbac.authorization.k8s.io/v1
2021-06-01 12:37:37 +03:00
Stefan Prodan
e5b8afc085 Merge pull request #917 from fluxcd/ingress-v1
Upgrade Ingress to networking.k8s.io/v1
2021-06-01 12:37:26 +03:00
Stefan Prodan
ded658fed9 Merge pull request #922 from HBOCodeLabs/mdb/docs-typo-fixes
Improve the Flagger documentation
2021-05-29 11:54:21 +03:00
Stefan Prodan
88d8858900 Merge pull request #921 from HBOCodeLabs/mdb/add-graphite-info-to-docs
add Graphite info to docs
2021-05-29 11:53:30 +03:00
Mike Ball
737c185aa6 insert comma in dev guide e2e test explanation
Signed-off-by: Mike Ball <mike.ball@warnermedia.com>
2021-05-28 12:24:08 -04:00
Mike Ball
0006a68740 correct spelling/tense of 'choose' in dev guide
Signed-off-by: Mike Ball <mike.ball@warnermedia.com>
2021-05-28 12:22:07 -04:00
Mike Ball
4db91f7062 improve readability of service exposure FAQ
Signed-off-by: Mike Ball <mike.ball@warnermedia.com>
2021-05-28 12:14:30 -04:00
Mike Ball
b8c23967b7 insert comma in FAQ selectors explanation
Signed-off-by: Mike Ball <mike.ball@warnermedia.com>
2021-05-28 12:13:45 -04:00
Mike Ball
2019d048a4 separate FAQ about multiple ports into 2 sentences
Signed-off-by: Mike Ball <mike.ball@warnermedia.com>
2021-05-28 12:12:42 -04:00
Mike Ball
fe0a4eb20c fine-tune FAQ explanation pertaining to downtime
Signed-off-by: Mike Ball <mike.ball@warnermedia.com>
2021-05-28 12:11:30 -04:00
Mike Ball
a35b0e8639 fine-tune language of FAQ pertaining to downtime
Signed-off-by: Mike Ball <mike.ball@warnermedia.com>
2021-05-28 12:10:14 -04:00
Mike Ball
4c0843f92a use nonplural 'cookie' in FAQ A/B test explanation
Signed-off-by: Mike Ball <mike.ball@warnermedia.com>
2021-05-28 12:08:22 -04:00
Mike Ball
867c1af897 insert comma in FAQ A/B testing explanation
Signed-off-by: Mike Ball <mike.ball@warnermedia.com>
2021-05-28 12:07:19 -04:00
Mike Ball
100308289f correct 'install' to 'installing' on docs homepage
Signed-off-by: Mike Ball <mike.ball@warnermedia.com>
2021-05-28 12:05:00 -04:00
Mike Ball
3d4739760d correct 'choose' spelling/tense on docs homepage
Signed-off-by: Mike Ball <mike.ball@warnermedia.com>
2021-05-28 12:04:15 -04:00
Mike Ball
9f321dd685 add New Relic & Graphite to FAQ metrics providers
Signed-off-by: Mike Ball <mike.ball@warnermedia.com>
2021-05-28 11:57:46 -04:00
Mike Ball
ba6078f235 add Graphite to docs homepage metrics providers
Signed-off-by: Mike Ball <mike.ball@warnermedia.com>
2021-05-28 11:53:17 -04:00
Stefan Prodan
cd2f1a24bd Update Kubernetes manifests to rbac.authorization.k8s.io/v1
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-05-28 09:37:51 +03:00
Stefan Prodan
b87a81b798 Merge pull request #919 from fluxcd/release-1.10.0
Release v1.10.0
2021-05-28 09:32:23 +03:00
Stefan Prodan
0f9dd61786 Release v1.10.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-05-28 09:06:46 +03:00
Stefan Prodan
4869a9f3ae Merge pull request #915 from HBOCodeLabs/graphite-metrics-provider
Add Graphite metrics provider
2021-05-28 08:55:30 +03:00
Nathan Mische
cd6f36302d Add graphite to the list of valid provider types for the MetricTemplate crd
Co-authored-by: Mike Ball <mike.ball@warnermedia.com>
Co-authored-by: Nathan Mische <Nathan.Mische@warnermedia.com>
Signed-off-by: Mike Ball <mike.ball@warnermedia.com>
Signed-off-by: Nathan Mische <Nathan.Mische@warnermedia.com>
2021-05-26 10:07:12 -04:00
Stefan Prodan
e5fdc7a57d docs: Update Ingress guides to networking.k8s.io/v1
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-05-26 11:10:42 +03:00
Stefan Prodan
834a601311 e2e: Update Kubernetes to v1.21.1
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-05-26 10:44:06 +03:00
Stefan Prodan
a2784c533e Upgrade Ingress to networking/v1
- breaking change: drop support for Ingress `k8s.io/api/networking/v1beta1`
- routing: use Ingress `k8s.io/api/networking/v1` for NGINX and Skipper routers
- e2e: update ingress-nginx v0.46.0 and skipper to v0.13.61

Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-05-26 09:59:26 +03:00
Mike Ball
8e3ee3439c add {{target}} to Graphite metrics query example
Co-authored-by: Mike Ball <mike.ball@warnermedia.com>
Co-authored-by: Nathan Mische <Nathan.Mische@warnermedia.com>
Signed-off-by: Mike Ball <mike.ball@warnermedia.com>
Signed-off-by: Nathan Mische <Nathan.Mische@warnermedia.com>
2021-05-25 11:56:17 -04:00
Stefan Prodan
f9d40cfe1b Merge pull request #914 from kazukousen/scan-init-container-envs
ConfigTracker: Scan envFrom in init-containers
2021-05-25 17:45:53 +03:00
kazukousen
b26b49fac2 add unit tests
Signed-off-by: kazukousen <mmchari.0228@gmail.com>
2021-05-25 23:21:34 +09:00
Stefan Prodan
f68d647fd0 Merge pull request #916 from fluxcd/e2e-up
e2e: Update Istio and Contour
2021-05-25 11:08:13 +03:00
Stefan Prodan
deb3fb01a2 e2e: Update Contour to v1.15
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-05-25 10:43:14 +03:00
Stefan Prodan
3accd23a19 e2e: Update Istio to v1.10.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-05-25 10:42:21 +03:00
Mike Ball
6a66113560 document Graphite metrics provider (#9)
This adds documentation of the Graphite metrics
provider in support of addressing issue #911.

Co-authored-by: Mike Ball <mike.ball@warnermedia.com>
Co-authored-by: Nathan Mische <Nathan.Mische@warnermedia.com>
Signed-off-by: Mike Ball <mike.ball@warnermedia.com>
Signed-off-by: Nathan Mische <Nathan.Mische@warnermedia.com>
2021-05-24 17:44:31 -04:00
Eric Wyles
6a7f7415fa Fixed typo on canary documentation (#912)
Fix webhook typo in docs
Signed-off-by: Eric Wyles <eric.wyles@jbhunt.com>
2021-05-24 16:30:26 +03:00
Mike Ball
4654f2cba9 add a Graphite metrics provider
This adds a Graphite metric provider to address
issue #911.

Co-authored-by: Mike Ball <mike.ball@warnermedia.com>
Co-authored-by: Nathan Mische <Nathan.Mische@warnermedia.com>
Signed-off-by: Mike Ball <mike.ball@warnermedia.com>
Signed-off-by: Nathan Mische <Nathan.Mische@warnermedia.com>
2021-05-24 09:16:00 -04:00
kazukousen
17557dc206 fixed ConfigTracker to be able to scan envFrom in init-containers
Signed-off-by: kazukousen <mmchari.0228@gmail.com>
2021-05-24 14:09:04 +09:00
Stefan Prodan
39a3898234 Merge pull request #909 from fluxcd/release-v1.9.0
Release v1.9.0
2021-05-14 16:20:38 +03:00
Stefan Prodan
9372cf9f18 Release v1.9.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-05-14 16:19:27 +03:00
Stefan Prodan
41e427d645 Merge pull request #908 from kdorosh/add_gloo_upstreamRef
Gloo Upstream Ref for Upstream Config
2021-05-14 15:37:49 +03:00
Stefan Prodan
84ff6f7e89 Merge pull request #907 from vorozhko/nginx-ingress-cleanup
Adjusted Nginx ingress canary headers on init and promotion
2021-05-14 15:18:14 +03:00
Keerthan Ekbote
a286625ad9 updated gloo unit tests
Signed-off-by: Keerthan Ekbote <keerthan.ekbote@solo.io>

intermediate commit

Signed-off-by: Keerthan Ekbote <keerthan.ekbote@solo.io>

updated gloo unit tests

Signed-off-by: Keerthan Ekbote <keerthan.ekbote@solo.io>

copy config from upstream ref to flagger-generateed upstreams

Signed-off-by: Keerthan Ekbote <keerthan.ekbote@solo.io>

removed unneeded types

Signed-off-by: Keerthan Ekbote <keerthan.ekbote@solo.io>

make fmt

Signed-off-by: Keerthan Ekbote <keerthan.ekbote@solo.io>

added code-generator to replace

Signed-off-by: Keerthan Ekbote <keerthan.ekbote@solo.io>

reverted go.mod

Signed-off-by: Keerthan Ekbote <keerthan.ekbote@solo.io>

fixed struct

Signed-off-by: Keerthan Ekbote <keerthan.ekbote@solo.io>

updated e2es with new upstream ref

Signed-off-by: Keerthan Ekbote <keerthan.ekbote@solo.io>

Add note to docs about upstreamRef

Signed-off-by: Kevin Dorosh <kevin.dorosh@solo.io>

Fix typo, improve clarity

Signed-off-by: Kevin Dorosh <kevin.dorosh@solo.io>
2021-05-14 08:07:15 -04:00
Iaroslav Vorozhko
d7999e6627 Added e2e test to check nginx update pass witth nginx validation webhook after canary promotion
Signed-off-by: Iaroslav Vorozhko <iaroslav.vorozhko@mcmakler.de>
2021-05-14 12:25:05 +02:00
Iaroslav Vorozhko
41481c1ca8 Adjusted tests to new behaviour on init and promotion
Signed-off-by: Iaroslav Vorozhko <iaroslav.vorozhko@mcmakler.de>
2021-05-13 14:45:33 +02:00
Iaroslav Vorozhko
e926486b0f Stop canary traffic after canary promotion
Signed-off-by: Iaroslav Vorozhko <iaroslav.vorozhko@mcmakler.de>
2021-05-13 14:45:33 +02:00
Stefan Prodan
3ad55c9750 Merge pull request #894 from saiskee/create-non-discovered-gloo-upstreams
Gloo: Create gloo upstreams from non-discovered services
2021-05-11 18:42:20 +03:00
Keerthan Ekbote
06c4151ec4 change port numbers in gloo progressive delivery docs
Signed-off-by: Keerthan Ekbote <keerthan.ekbote@solo.io>
2021-05-06 13:00:23 -04:00
Keerthan Ekbote
51605d9e04 Updated docs
Signed-off-by: Keerthan Ekbote <keerthan.ekbote@solo.io>
2021-05-06 10:26:33 -04:00
Stefan Prodan
438b558809 Merge pull request #902 from fluxcd/issue-template
Add issue templates for bug reports and enhancements
2021-05-06 11:57:40 +03:00
Stefan Prodan
293c44b2a5 Add issue templates for bug reports and enhancements
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-05-06 11:57:19 +03:00
Stefan Prodan
55de241f48 Merge pull request #898 from oliviermichaelis/om/rename-canaryphase
style: rename CanaryWaitingPromotion to CanaryPhaseWaitingPromotion
2021-05-06 11:37:48 +03:00
Stefan Prodan
fda1d32dec Merge pull request #900 from dholbach/update-adopters-location
Move list of production users
2021-05-06 11:29:32 +03:00
Daniel Holbach
b8d5295690 move list of production users
Signed-off-by: Daniel Holbach <daniel@weave.works>
2021-05-05 18:34:05 +02:00
Keerthan Ekbote
fdc8dd8795 fixed observers test
Signed-off-by: Keerthan Ekbote <keerthan.ekbote@solo.io>
2021-05-05 11:29:14 -04:00
Keerthan Ekbote
99b3775926 fixed typo in gloo/v1/types.go
Signed-off-by: Keerthan Ekbote <keerthan.ekbote@solo.io>
2021-05-05 11:21:43 -04:00
Keerthan Ekbote
f0f44c9d35 updated gloo unit tests
Signed-off-by: Keerthan Ekbote <keerthan.ekbote@solo.io>
2021-05-05 11:19:51 -04:00
Olivier Michaelis
d7b878f980 style: rename CanaryWaitingPromotion to CanaryPhaseWaitingPromotion
Renames the CanaryPhase to be more consistent with the existing phases.

Signed-off-by: Olivier Michaelis <38879457+oliviermichaelis@users.noreply.github.com>
2021-05-01 00:21:13 +02:00
Keerthan Ekbote
d8c8b90a95 make fmt
Signed-off-by: Keerthan Ekbote <keerthan.ekbote@solo.io>
2021-04-30 09:50:18 -04:00
Keerthan Ekbote
8be3d82ae9 Merge branch 'main' of https://github.com/fluxcd/flagger into create-non-discovered-gloo-upstreams 2021-04-29 19:16:05 -04:00
Keerthan Ekbote
fd778be943 updated prom queries to new envoy clusters
Signed-off-by: Keerthan Ekbote <keerthan.ekbote@solo.io>
2021-04-29 19:12:01 -04:00
Keerthan Ekbote
51936bdc89 changed upstream names in tests
Signed-off-by: Keerthan Ekbote <keerthan.ekbote@solo.io>
2021-04-29 12:19:52 -04:00
Keerthan Ekbote
2935fad54d fixed gloo upstream api group
Signed-off-by: Keerthan Ekbote <keerthan.ekbote@solo.io>
2021-04-29 11:43:39 -04:00
Stefan Prodan
c9257bdb99 Merge pull request #897 from fluxcd/release-v1.8.0
Release v1.8.0
2021-04-29 16:10:47 +03:00
Stefan Prodan
90a6ace666 Release v1.8.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-04-29 15:40:26 +03:00
Stefan Prodan
5eb2b5211c Merge pull request #896 from fluxcd/smi-v1alpha3
Implement SMI v1alpha3 router
2021-04-29 15:19:01 +03:00
Stefan Prodan
2ed9ddcdf8 Merge pull request #878 from AlonGluz/bugfix/scale-up-canary-after-confirm-rollout
Scale up canary on confirm rollout
2021-04-29 11:59:36 +03:00
Alon Gluzman
92f4be79ac Scale up canary on confirm rollout
Signed-off-by: Alon Gluzman <alon.gluzman@stackpulse.io>
2021-04-29 11:37:18 +03:00
Stefan Prodan
593f450093 Implement SMI v1alpha3 router
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-04-28 19:26:42 +03:00
Keerthan Ekbote
d20efe4509 make fmt
Signed-off-by: Keerthan Ekbote <keerthan.ekbote@solo.io>
2021-04-28 09:52:51 -04:00
Stefan Prodan
fcac992e71 Merge pull request #867 from carsonoid/patch-1
Update traefik-progressive-delivery.md
2021-04-28 15:02:19 +03:00
Stefan Prodan
d59663810c Merge pull request #872 from L3o-pold/feature/add-alerting-http-proxy
Add alerting http proxy option
2021-04-28 14:59:37 +03:00
Stefan Prodan
37abdbb774 Merge pull request #881 from andylibrian/charts-prometheus-security-context
Chart: Add securityContext parameter to prometheus deployment
2021-04-28 14:57:51 +03:00
Stefan Prodan
a5909682cd Merge pull request #887 from mayankshah1607/mayank/alert-muting
feat: Add option to mute alerts generated from webhooks
2021-04-28 14:56:47 +03:00
Stefan Prodan
927b4324ae Merge pull request #879 from fluxcd/smi-v1lapha2-router
Implement SMI v1alpha2 router
2021-04-28 13:22:43 +03:00
Stefan Prodan
1ae72dafca Merge pull request #895 from Nerja/fix_loadtester_pdb
Fix Deployment of Flagger loadtester to include the correct label
2021-04-28 12:22:39 +03:00
Marcus Rodan
392865ec59 Fix Deployment of Flagger loadtester to include the correct label
The Deployment of the Flagger loadtester did not contain the correct
label app.kubernetes.io/name. This label is used for the Flagger
deployment and it is also used in the PodDisruptionBudget for
the Flagger operator. I added the same label to the Flagger
load tester to make the PodDisruptionBudget work correctly
for the Flagger loadtester.

Signed-off-by: Marcus Rodan <marcusrodan@gmail.com>
2021-04-28 10:59:18 +02:00
Keerthan Ekbote
3f1af1ec85 added comment
Signed-off-by: Keerthan Ekbote <keerthan.ekbote@solo.io>
2021-04-27 17:14:30 -04:00
Keerthan Ekbote
487432d873 change: turned off discovery by default in tests
Signed-off-by: Keerthan Ekbote <keerthan.ekbote@solo.io>
2021-04-27 13:44:21 -04:00
Keerthan Ekbote
a1ff44454a change: Creating gloo upstreams from kube services
Signed-off-by: Keerthan Ekbote <keerthan.ekbote@solo.io>
2021-04-27 12:49:19 -04:00
Mayank Shah
05b0557430 Trigger CI
Signed-off-by: Mayank Shah <mayankshah1614@gmail.com>
2021-04-23 14:17:46 +05:30
Mayank Shah
975b84a2eb feat: Add option to mute alerts generated from webhooks
Signed-off-by: Mayank Shah <mayankshah1614@gmail.com>
2021-04-23 11:27:09 +05:30
Stefan Prodan
3e845f1a29 Merge pull request #884 from marcoferrer/add-ou-org-list
Add offerup to the organizations list
2021-04-15 10:52:12 +03:00
Marco Ferrer
49a266c207 Add offerup to the organizations list
Signed-off-by: Marco Ferrer <marrferr.cdx@gmail.com>
2021-04-14 12:50:57 -04:00
Andy Librian
7284e55eb0 Chart: Add securityContext parameter to prometheus deployment
Signed-off-by: Andy Librian <andylibrian@gmail.com>
2021-04-09 15:03:30 +07:00
Léopold Jacquot
b82fd5e5a5 Add alerting http proxy option
Signed-off-by: Léopold Jacquot <leopold.jacquot@infomaniak.com>
2021-04-08 11:58:19 +02:00
Stefan Prodan
4b084cf685 Implement SMI v1alpha2 router
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-04-08 11:37:04 +03:00
Stefan Prodan
e6c740d917 Merge pull request #877 from fluxcd/cii-badge
Add CII Best Practices badge
2021-04-07 15:30:32 +03:00
Stefan Prodan
cb93a9a158 Add CII Best Practices badge
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-04-07 15:06:02 +03:00
Stefan Prodan
3ea65ea1ad Merge pull request #876 from Nerja/addedsinch
Added Sinch to Who is using Flagger
2021-04-06 15:09:45 +03:00
Marcus Rodan
70d91bb399 Added Sinch to Who is using Flagger
Removed diff

Signed-off-by: Marcus Rodan <marcus.rodan@sinch.com>
2021-04-06 13:32:16 +02:00
Carson A
f5fa18d7ca Update traefik-progressive-delivery.md
Use curly braces to specify an array value in helm set.

The latest versions of the chart need to have the additional arguments specified as a list or they error out:

```
Error: template: traefik/templates/_podtemplate.tpl:199:20: executing "traefik.podTemplate" at <.>: range can't iterate over --metrics.prometheus=true
```

Signed-off-by: Carson Anderson <carson.anderson@getweave.com>
2021-03-25 11:47:57 -06:00
Stefan Prodan
cb24c74769 Merge pull request #864 from fluxcd/release-v1.7.0
Release v1.7.0
2021-03-23 11:28:12 +02:00
Stefan Prodan
775dc91ede Release v1.7.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-03-23 11:00:35 +02:00
Stefan Prodan
ffef8ba4d9 Merge pull request #845 from Pothulapati/tarun/l5d-2.10
linkerd: update prometheus URL based on the latest 2.10 changes
2021-03-23 10:36:33 +02:00
Stefan Prodan
ef2df0d7bc Merge pull request #859 from jblackburn21/waiting-promotion-phase
feat: added WaitingPromotion phase
2021-03-23 10:36:06 +02:00
Jason Blackburn
f0bf5219d4 added WaitingPromotion phase and only generate one alert when transitioning into the phase
Signed-off-by: Jason Blackburn <jason.blackburn@outlook.com>
2021-03-19 08:04:18 -05:00
Stefan Prodan
c8a1165db2 Merge pull request #857 from fluxcd/update-deps-k8s
Update Kubernetes packages to v1.20.4
2021-03-17 16:38:03 +02:00
Stefan Prodan
e9c3518ce7 ci: Merge FOSSA and CodeQL workflows
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-03-17 16:07:48 +02:00
Stefan Prodan
a5ea6587c0 Update Alpine to v3.13
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-03-17 16:07:08 +02:00
Stefan Prodan
2792835d66 Update Kubernetes packages to v1.20.4
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-03-17 16:06:46 +02:00
Stefan Prodan
16867db1b4 Merge pull request #849 from mayankshah1607/mayank/confirm-traffic-webhook
feat: add webhook for manually approving traffic weight increase
2021-03-17 15:53:37 +02:00
Mayank Shah
164bbb884d Add docs for confirm-traffic-increase webhook
Signed-off-by: Mayank Shah <mayankshah1614@gmail.com>
2021-03-16 20:31:51 +05:30
Mayank Shah
873141b9ca Add webhook confirm-traffic-increase for manually approving traffic increase
Signed-off-by: Mayank Shah <mayankshah1614@gmail.com>
2021-03-16 20:18:27 +05:30
Tarun Pothulapati
4a66a28c01 update to latest stable linkerd version
This commit updates the linkerd version to `2.10`, along with
the install script to download the arm version.

It also updates the install script and metricsTempalte to install
and use the viz Prometheus respectively.

Signed-off-by: Tarun Pothulapati <tarunpothulapati@outlook.com>
2021-03-15 06:25:18 +00:00
Tarun Pothulapati
c886c1db62 Merge branch 'main' into tarun/l5d-2.10 2021-03-08 17:17:59 +00:00
Stefan Prodan
f2d121a13b Merge pull request #846 from fluxcd/update-e2e
e2e fix: Update Contour installer
2021-03-08 17:51:32 +02:00
Stefan Prodan
f255938780 e2e: Update Gloo to v1.6.13
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-03-08 17:24:29 +02:00
Stefan Prodan
aa17367de7 e2e: Update Contour to v1.13
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-03-08 16:28:27 +02:00
Stefan Prodan
d5df6df661 Run e2e on Kubernetes v1.20
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-03-08 16:23:53 +02:00
Tarun Pothulapati
ec6004963c use correct prom URL
Signed-off-by: Tarun Pothulapati <tarunpothulapati@outlook.com>
2021-03-08 14:06:20 +00:00
Tarun Pothulapati
61d272dbbc update readme
Signed-off-by: Tarun Pothulapati <tarunpothulapati@outlook.com>
2021-03-08 13:55:56 +00:00
Tarun Pothulapati
6be97b3fc7 linkerd: update prometheus URL based on the latest 2.10 changes
In Linkerd 2.10, The Prometheus instance moved into the `viz`
extension which is installed separately from the core
control-plane. This means that the prometheus now exists in
the `linkerd-viz` namespace by default unless overriden.

This PR updates the URl to reflect the same

Signed-off-by: Tarun Pothulapati <tarunpothulapati@outlook.com>
2021-03-08 13:46:38 +00:00
Stefan Prodan
6f95275051 Merge pull request #843 from gopisaba/faq
docs: update resources to disable mTLS in Istio
2021-03-07 13:08:24 +02:00
Gopi
49829fc80f docs: update resources to disable mTLS in Istio
Signed-off-by: Gopi <gopisaba@users.noreply.github.com>
2021-03-05 13:50:25 +00:00
Stefan Prodan
9112c5a064 Merge pull request #842 from Lapeyus/missing-helm-variable
chart: Add pull secret for Prometheus deployment
2021-03-05 07:44:06 +02:00
Joseph Villarreal Lopez
73c4833697 Add missing pull secret on Prometheus deployment
Prometheus deployment created by the Helm chart is missing a pull secret,
variable is necessary to pull the prometheus image from private a repository

Signed-off-by: Joseph Villarreal Lopez <lapeyus@gmail.com>
2021-03-04 18:49:19 -06:00
Stefan Prodan
f3ca6266ab Merge pull request #833 from KnechtionsCoding/main
docs: updating slack alerting docs to point to legacy slack webhooks
2021-02-27 10:32:56 +02:00
Hans Knecht
03acb869b7 docs: updating slack alert docs tone
Signed-off-by: Hans Knecht <Hans.Knecht@missionlane.com>
2021-02-26 10:52:28 -05:00
Hans Knecht
8470d728f9 docs: updating slack alerting docs to point to legacy slack webhooks
Signed-off-by: Hans Knecht <Hans.Knecht@missionlane.com>
2021-02-26 10:44:48 -05:00
Stefan Prodan
71965b199b Merge pull request #832 from fluxcd/release-v1.6.4
Release v1.6.4
2021-02-26 15:24:54 +02:00
Stefan Prodan
fd47d385c2 Release v1.6.4
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-02-26 14:59:56 +02:00
Stefan Prodan
dfdd8cffd7 Merge pull request #831 from jddcarreira/fixMultipleAppMeshBackends
Fix AWS AppMesh issue when providing multiple backends
2021-02-26 11:13:57 +02:00
Stefan Prodan
138c42ec3a Merge pull request #821 from Becram/main
chart: add env option to loadtester
2021-02-26 11:13:29 +02:00
Stefan Prodan
e53723c9c2 Merge pull request #829 from bia/main
Consolidate logos and add project name logos
2021-02-26 11:07:21 +02:00
Joao Carreira
03be6a58ac Fix AWS AppMesh issue when providing multiple backends
Signed-off-by: Joao Carreira <jddcarreira@gmail.com>
2021-02-25 15:09:40 +00:00
bia
864f362f7d consolidate logos and add project name logos
Signed-off-by: bia <get.bianca@gmail.com>
2021-02-24 18:25:49 +01:00
Stefan Prodan
bfb329b2f3 Merge pull request #825 from Multiply/chore-user-list-trendhim
Add Trendhim to user list
2021-02-23 12:24:03 +02:00
Jens Fosgerau
4ce65be0c6 Add Trendhim to user list
Signed-off-by: Jens Fosgerau <multiply@juhp.net>
2021-02-23 10:57:43 +01:00
Stefan Prodan
6ab598d71b Merge pull request #819 from Nerja/loadtesterimprovements
chart: Added PodDisruptionBudget for the loadtester
2021-02-22 11:45:52 +02:00
Becram
06b8ab4096 add environment variable in chart for loadtester
Signed-off-by: Becram <bikram.dhoju@gmail.com>
2021-02-19 22:09:20 +07:00
Marcus Rodan
596bb6487c Added PDB for the loadtester
Signed-off-by: Marcus Rodan <marcus.rodan@sinch.com>
2021-02-18 12:16:43 +01:00
Stefan Prodan
fa33a3e4bb Merge pull request #813 from fluxcd/release-1.6.3
Release v1.6.3
2021-02-15 15:13:36 +02:00
Stefan Prodan
abecb891dd Release v1.6.3
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-02-15 14:43:53 +02:00
Stefan Prodan
fa14cebbf4 Merge pull request #812 from fluxcd/new-logo
New Flagger logo
2021-02-15 14:26:22 +02:00
Stefan Prodan
bde24d28b7 Update project description
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-02-15 14:03:32 +02:00
Stefan Prodan
c0b400eb7c Update logo in diagrams
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-02-15 13:38:58 +02:00
Stefan Prodan
4772c91835 Update logo in Helm charts
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-02-13 13:40:20 +02:00
Stefan Prodan
6da8d919b3 Add Flagger's new logo pack
Design by Bianca Cheng Costanzo

Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-02-13 13:40:06 +02:00
Stefan Prodan
10b5504446 Merge pull request #806 from Nerja/fixedspreadconstraintssuffixes
Rewrite the primary Pod Topology Spread Constraints based on label selector
2021-02-13 12:03:04 +02:00
Marcus Rodan
76b73a6319 Update faq.md
Signed-off-by: Marcus Rodan <marcus.rodan@sinch.com>
2021-02-08 19:47:58 +01:00
Marcus Rodan
0bebfbbb23 Added info to FAQ about anti-affinity
Signed-off-by: Marcus Rodan <marcus.rodan@sinch.com>
2021-02-08 19:47:58 +01:00
Marcus Rodan
8cb147920b Adds suffix for spread constraints
Added unit test assertions

Changed comment

Signed-off-by: Marcus Rodan <marcus.rodan@sinch.com>
2021-02-08 19:47:58 +01:00
Stefan Prodan
5cb343d89f Merge pull request #799 from Nerja/main
Check if mandatory secrets/configmaps exist
2021-02-04 18:32:26 +02:00
Stefan Prodan
67f34f1b29 Merge pull request #805 from Nerja/fixantiaffinity
Suffix only the podAntiAffinity values that match the deployment name
2021-02-04 18:30:15 +02:00
Marcus Rodan
349d781085 Fixed antiaffinity suffixing
Signed-off-by: Marcus Rodan <marcus.rodan@sinch.com>
2021-02-04 17:02:40 +01:00
Stefan Prodan
d7524414ce Merge pull request #800 from fluxcd/add-codeql
Add CodeQL Security Scanning
2021-02-03 11:29:16 +02:00
Chris Aniszczyk
2e6cccaa90 Add CodeQL Security Scanning
Signed-off-by: Chris Aniszczyk <caniszczyk@gmail.com>
2021-02-02 10:18:20 -06:00
Marcus Rodan
565b99e210 Added check for optional
Signed-off-by: Marcus Rodan <marcus.rodan@sinch.com>
2021-02-02 09:56:14 +01:00
Stefan Prodan
5eb37b8f76 Merge pull request #798 from feuyeux/main
Add guide for installing Flagger on AlibabaServiceMesh
2021-02-02 10:01:40 +02:00
六翁
41cb713367 guide for installing flagger on asm
Signed-off-by: 六翁 <lu.hl@alibaba-inc.com>
2021-02-02 12:14:32 +08:00
Stefan Prodan
b29fe1f13b Merge pull request #792 from Prajithp/main
add custom metadata in event webhook
2021-02-01 19:35:31 +02:00
Prajith Ndz
339780dcc4 update event webhook doc with example
Signed-off-by: Prajith Ndz <prajithpalakkuda@gmail.com>
2021-02-01 22:34:27 +05:30
Marcus Rodan
56c77085bf Added checks for API server errors
Signed-off-by: Marcus Rodan <marcus.rodan@sinch.com>
2021-02-01 17:36:47 +01:00
Stefan Prodan
118cac5941 Merge pull request #796 from jhuliano/faq-improvements
Document the behavior of skipAnalysis during the initialization
2021-01-28 14:41:32 +02:00
Jhuliano Skittberg Moreno
7027f18394 documents downtime during initialization when using skipAnalysis=false
Signed-off-by: Jhuliano Skittberg Moreno <jhuliano.moreno@typeform.com>
2021-01-28 13:00:39 +01:00
Jhuliano Skittberg Moreno
99a85205f0 replaces bold format with h4 on questions
Signed-off-by: Jhuliano Skittberg Moreno <jhuliano.moreno@typeform.com>
2021-01-28 13:00:39 +01:00
Stefan Prodan
4b8d8718c2 Release v1.6.2
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-01-28 10:11:45 +02:00
Stefan Prodan
0c4dd94e38 Merge pull request #794 from fluxcd/alert-crd
Add alerts section to Canary CRD schema
2021-01-28 10:04:18 +02:00
Stefan Prodan
52cec59ca3 Add channel and username to AlertProvider CRD schema
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-01-28 09:42:02 +02:00
Stefan Prodan
2c1ba42bcc Merge pull request #788 from Nerja/podantiaffinityfix
Support for adding -primary suffix to Anti-Affinity values
2021-01-28 09:16:54 +02:00
Stefan Prodan
6d204b52ce Add alerts section to Canary CRD schema
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-01-28 09:00:53 +02:00
Prajith Ndz
55c3745ef8 fix code style
Signed-off-by: Prajith Ndz <prajithpalakkuda@gmail.com>
2021-01-27 21:05:57 +05:30
Prajith Ndz
c876f879de add custom metadata in event webhook
Signed-off-by: Prajith Ndz <prajithpalakkuda@gmail.com>
2021-01-27 20:58:48 +05:30
Marcus Rodan
f2beab1fdc Moved implementation
Signed-off-by: Marcus Rodan <marcus.rodan@sinch.com>
2021-01-26 19:27:50 +01:00
Marcus Rodan
85af1abb26 Added suffix -primary to antiaffinity values
Signed-off-by: Marcus Rodan <marcus.rodan@sinch.com>
2021-01-26 19:27:50 +01:00
Stefan Prodan
4f54901d08 Merge pull request #785 from dholbach/cncf-slack
Link to CNCF Slack
2021-01-20 17:30:52 +02:00
Daniel Holbach
98b10866bf link to new Slack, at CNCF
Signed-off-by: Daniel Holbach <daniel@weave.works>
2021-01-20 14:51:33 +01:00
Stefan Prodan
ccf4dc55e9 Merge pull request #783 from fluxcd/fossa
Add CNCF's FOSSA scanning to CI
2021-01-19 13:37:29 +02:00
Stefan Prodan
8ce90e1814 Add CNCF's FOSSA scanning to CI
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-01-19 11:57:22 +02:00
Stefan Prodan
2b6047d124 Merge pull request #782 from fluxcd/release-v1.6.1
Release v1.6.1
2021-01-19 11:37:25 +02:00
Stefan Prodan
05e832ed55 Release v1.6.1
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-01-19 11:10:34 +02:00
Stefan Prodan
45fddab9a9 Merge pull request #781 from kyanagimoto/secret-restart-analysis
Add missing TrackedConfig field to Canary status CRD
2021-01-19 11:01:49 +02:00
vito-laurenza-zocdoc
34e9c0da6b chore: reproduce restart analysis issue
Signed-off-by: kyanagimoto <koichiyanagimoto@gmail.com>
2021-01-19 16:11:34 +09:00
Stefan Prodan
9891375c20 Merge pull request #778 from fluxcd/e2e-updates
e2e: Update Istio to v1.8.2 and Contour to v1.11.0
2021-01-15 14:38:11 +02:00
Stefan Prodan
377f145a3f e2e: Update Istio to v1.8.2
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-01-15 13:47:05 +02:00
Stefan Prodan
6c7fff080f e2e: Update Contour to v1.11.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-01-15 13:39:48 +02:00
Stefan Prodan
b1a168c5f2 Merge pull request #777 from h-r-k-matsumoto/update-istio-v1alpha3
Update HTTPMatchRequest to match Istio's definitions
2021-01-15 13:34:29 +02:00
Hiroki Matsumoto
d15df9ae88 Reflect the latest Istio version v1alpha3
Signed-off-by: Hiroki Matsumoto <hiroki.matsumoto.ggg@gmail.com>
2021-01-12 21:08:29 +09:00
Stefan Prodan
c7d93d9ca7 Merge pull request #774 from fluxcd/release-v1.6.0
Release v1.6.0
2021-01-05 15:08:08 +02:00
Stefan Prodan
0ae4ccede1 Release v1.6.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-01-05 14:46:20 +02:00
Stefan Prodan
c6aa66ab94 Merge pull request #772 from fluxcd/crd-v1
Upgrade CRDs to apiextensions.k8s.io/v1
2021-01-05 13:51:40 +02:00
Stefan Prodan
2e10d8bf05 Format docs markdown
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-01-05 12:28:56 +02:00
Stefan Prodan
f64295bcee Update Kubernetes packages to v1.20.1
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-01-04 22:33:16 +02:00
Stefan Prodan
3fe8119e0c Set Kubernetes min version to 1.16
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-01-04 21:35:54 +02:00
Stefan Prodan
b6880213ce Upgrade CRDs to apiextensions.k8s.io/v1
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-01-04 17:29:45 +02:00
Stefan Prodan
aca6b2b558 Merge pull request #771 from fluxcd/update-nginx-helm
Update NGINX ingress Helm repository
2021-01-04 16:02:07 +02:00
Stefan Prodan
aa33af25fc Change branch from master to main in docs
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-01-04 15:32:19 +02:00
Stefan Prodan
aa3a93da98 Update NGINX ingress Helm repository
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-01-04 15:30:26 +02:00
Stefan Prodan
b42db67d85 Merge pull request #770 from fluxcd/fixes
Use fluxcd registry in base kustomization
2021-01-04 14:51:10 +02:00
Stefan Prodan
0d2163cd94 e2e: Expose traefik as NodePort
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-01-04 12:11:49 +02:00
Stefan Prodan
371e177ff3 Use fluxcd registry in base kustomization
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-01-04 11:11:41 +02:00
Stefan Prodan
e62668ab48 Merge pull request #765 from kdorosh/gloo_route_tables
A/B testing support for Gloo Edge ingress controller
2021-01-04 09:58:38 +02:00
Kevin Dorosh
005e3928e7 Gloo tests pass now, traefik ones have flake?
Signed-off-by: Kevin Dorosh <kcdorosh@gmail.com>
2020-12-31 17:19:41 -05:00
Kevin Dorosh
0d5b2a2277 Might have done previous commit before release finished, kick
Signed-off-by: Kevin Dorosh <kcdorosh@gmail.com>
2020-12-31 17:00:29 -05:00
Kevin Dorosh
bc8cfa91ee Update to Gloo Edge 1.6.0 now that it's released
Signed-off-by: Kevin Dorosh <kcdorosh@gmail.com>
2020-12-31 16:17:01 -05:00
Stefan Prodan
63b217faee Merge pull request #766 from fluxcd/chart-linting-off
Disable Helm chart linting
2020-12-22 18:18:42 +02:00
Stefan Prodan
376bf194b3 Disable Helm chart linting
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-12-22 18:16:19 +02:00
Kevin Dorosh
a69e9abf3c Remove upstream group
Signed-off-by: Kevin Dorosh <kcdorosh@gmail.com>
2020-12-22 10:20:07 -05:00
Kevin Dorosh
c22529bbd0 codegen
Signed-off-by: Kevin Dorosh <kcdorosh@gmail.com>
2020-12-22 10:18:08 -05:00
Kevin Dorosh
6fd8498f6d We are generating 404s not 400s
Signed-off-by: Kevin Dorosh <kcdorosh@gmail.com>
2020-12-22 10:09:50 -05:00
Kevin Dorosh
39cce0196f Guide is working
Signed-off-by: Kevin Dorosh <kcdorosh@gmail.com>
2020-12-22 10:09:50 -05:00
Kevin Dorosh
4e39e5608c Fix rebase
Signed-off-by: Kevin Dorosh <kcdorosh@gmail.com>
2020-12-22 10:09:20 -05:00
Kevin Dorosh
ba4d16fd76 Remove dated comment
Signed-off-by: Kevin Dorosh <kcdorosh@gmail.com>
2020-12-22 10:09:20 -05:00
Kevin Dorosh
b9f14ee57a Update to use new Gloo Edge 1.6 API
Signed-off-by: Kevin Dorosh <kcdorosh@gmail.com>
2020-12-22 10:09:20 -05:00
Kevin Dorosh
a3f791be17 First pass A/B testing
Signed-off-by: Kevin Dorosh <kcdorosh@gmail.com>
2020-12-22 10:09:20 -05:00
Kevin Dorosh
41497c73f4 Update documented flow
Signed-off-by: Kevin Dorosh <kcdorosh@gmail.com>
2020-12-22 10:09:20 -05:00
Kevin Dorosh
2e1b3fc8de Fix json naming
Signed-off-by: Kevin Dorosh <kcdorosh@gmail.com>
2020-12-22 10:05:55 -05:00
Kevin Dorosh
44cf4d08e9 Fix test
Signed-off-by: Kevin Dorosh <kcdorosh@gmail.com>
2020-12-22 10:05:55 -05:00
Kevin Dorosh
ca07b47523 Fix compile error
Signed-off-by: Kevin Dorosh <kcdorosh@gmail.com>
2020-12-22 10:05:55 -05:00
Kevin Dorosh
8fceafc017 Fix api mistakes
Signed-off-by: Kevin Dorosh <kcdorosh@gmail.com>
2020-12-22 10:05:55 -05:00
Kevin Dorosh
47dcf6a7b9 Add permissions
Signed-off-by: Kevin Dorosh <kcdorosh@gmail.com>
2020-12-22 10:05:55 -05:00
Kevin Dorosh
c63ec2d95d Update gloo logic to use route tables, cleanup
Signed-off-by: Kevin Dorosh <kcdorosh@gmail.com>
2020-12-22 10:05:55 -05:00
Kevin Dorosh
f4aeb98744 Add route table codegen
Signed-off-by: Kevin Dorosh <kcdorosh@gmail.com>
2020-12-22 10:05:29 -05:00
Kevin Dorosh
e6aefb8f4b Initial commit
Signed-off-by: Kevin Dorosh <kcdorosh@gmail.com>
2020-12-22 10:03:41 -05:00
Kevin Dorosh
6cf1f35eca Small docs fixes
Signed-off-by: Kevin Dorosh <kcdorosh@gmail.com>
2020-12-22 10:03:41 -05:00
Stefan Prodan
cff742d7c4 Merge pull request #764 from fluxcd/release-v1.5.0
Release v1.5.0
2020-12-22 16:55:29 +02:00
Stefan Prodan
67f8f414bf Merge pull request #763 from fluxcd/ghcr
Publish multi-arch image to GitHub Container Registry
2020-12-22 16:54:37 +02:00
Stefan Prodan
ecf73e967a Release v1.5.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-12-22 16:18:00 +02:00
Stefan Prodan
7f8986a06d Merge pull request #763 from fluxcd/ghcr
Publish multi-arch image to GitHub Container Registry
2020-12-22 15:16:10 +02:00
Stefan Prodan
ec6aab2c8d Publish multi-arch image to GitHub Container Registry
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-12-22 14:53:01 +02:00
Stefan Prodan
b8625d5e1e Merge pull request #762 from fluxcd/label-prefix
Add e2e tests for label prefix inclusion
2020-12-22 13:26:33 +02:00
Stefan Prodan
0fa4654034 Add label prefix e2e test
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-12-22 12:57:43 +02:00
Stefan Prodan
6349dbf5c0 Include app.kubernetes.io labels by default
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-12-22 12:45:03 +02:00
Stefan Prodan
c8cec8e18b Enable running tests on demand
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-12-22 12:41:30 +02:00
Stefan Prodan
70114e3fd3 Merge pull request #756 from fluxcd/copyright-flux
Copyright Flux authors
2020-12-21 20:09:33 +02:00
Stefan Prodan
cd75c5fa25 Copyright Flux authors
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-12-21 19:44:52 +02:00
Stefan Prodan
1535f7aa41 Merge pull request #755 from fluxcd/fluxcd
Rename imports to fluxcd/flagger
2020-12-21 19:24:48 +02:00
Stefan Prodan
90abb7ba5b Rename imports to fluxcd/flagger
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-12-21 19:02:23 +02:00
Stefan Prodan
e6739711b0 Merge pull request #754 from weaveworks/github-actions
Migrate CI to GitHub Actions
2020-12-21 18:38:28 +02:00
Stefan Prodan
333780e78b Disable CircleCI main build
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-12-21 17:26:05 +02:00
Stefan Prodan
38777801de Upload coverage to Codecov
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-12-21 17:04:31 +02:00
Stefan Prodan
3750ed850c Merge pull request #749 from Nerja/pdb
Added PodDisruptionBudget to the Flagger Chart
2020-12-21 16:05:19 +02:00
Stefan Prodan
fda53fbf80 Remove CircleCI testing framework
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-12-21 11:52:13 +02:00
Stefan Prodan
c8a472c01b Add Skipper e2e tests
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-12-21 10:05:04 +02:00
Stefan Prodan
ccd64a3df9 Add Kubernetes B/G e2e tests
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-12-21 01:12:53 +02:00
Stefan Prodan
2ea13cec88 Add Gloo e2e tests
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-12-21 00:26:36 +02:00
Stefan Prodan
5afc800b11 Cleanup Istio e2e tests
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-12-20 22:35:17 +02:00
Stefan Prodan
1fb898ac22 Cleanup e2e tests
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-12-20 22:22:39 +02:00
Stefan Prodan
73b7fc1cfc Add Traefik e2e tests
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-12-20 22:21:02 +02:00
Stefan Prodan
b25ff35e5b Use test workloads in e2e
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-12-20 22:08:43 +02:00
Stefan Prodan
4fe4053cdd Add workloads to e2e tests
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-12-20 21:38:07 +02:00
Stefan Prodan
ed70160583 Add NGINX Ingress e2e tests
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-12-20 21:20:48 +02:00
Stefan Prodan
bb00f8cabd Add Contour e2e tests
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-12-20 19:15:10 +02:00
Stefan Prodan
7bef999c41 Add Linkerd e2e tests
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-12-20 17:59:16 +02:00
Stefan Prodan
a2774d92da Add Istio e2e tests
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-12-20 17:24:39 +02:00
Stefan Prodan
be9b03d99b Add release workflow
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-12-20 17:07:32 +02:00
Stefan Prodan
b4af9e5f32 Add build workflow
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-12-20 17:07:18 +02:00
Stefan Prodan
3ba2762805 Add multi-arch Dockerfile
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-12-20 17:06:19 +02:00
Stefan Prodan
2884a80d31 Disable CircleCI
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-12-20 14:13:56 +02:00
Marcus Rodan
54266acfb1 Added entry to README and added default values 2020-12-10 12:11:19 +01:00
Marcus Rodan
9cb44815c4 Add pdb resource 2020-12-10 09:51:04 +01:00
Stefan Prodan
27b2616330 Merge pull request #748 from weaveworks/release-v1.4.2
Release v1.4.2
2020-12-09 14:52:43 +02:00
Stefan Prodan
8ed729cd54 Release v1.4.2
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-12-09 13:14:33 +02:00
Stefan Prodan
34f7bca33c Merge pull request #747 from weaveworks/update-prom-grafana
Update Prometheus and Grafana
2020-12-09 12:04:15 +02:00
Stefan Prodan
fee442ffe0 Update Prometheus and Grafana
- Prometheus 2.23.0
- Grafana 7.3.4

Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-12-09 11:20:23 +02:00
Stefan Prodan
eb890ef174 Merge pull request #746 from weaveworks/prom-auth-docs
Add Prometheus basic-auth config to docs
2020-12-09 11:01:54 +02:00
Stefan Prodan
24c61df388 Add Prometheus basic-auth config to docs
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-12-09 10:19:25 +02:00
Stefan Prodan
bfb3331457 Merge pull request #745 from Nerja/delegate
Fix for VirtualService delegation when analysis is enabled
2020-12-09 10:08:20 +02:00
Marcus Rodan
7fc6f8a04d Changed to using the old e2e test scenario 2020-12-08 18:08:44 +01:00
Marcus Rodan
3c37020260 Changed test file permissions 2020-12-08 16:54:00 +01:00
Marcus Rodan
d05b684dbe Remove log line 2020-12-08 16:14:15 +01:00
Marcus Rodan
da978254b1 Fix issue 2020-12-08 16:12:12 +01:00
Stefan Prodan
0cfeceb3c9 Merge pull request #744 from weaveworks/release-v1.4.1
Release v1.4.1
2020-12-08 15:09:17 +02:00
Stefan Prodan
814aee8f4f Release v1.4.1
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-12-08 14:43:52 +02:00
Stefan Prodan
48bfb062d8 Merge pull request #743 from relu/exclude-labels-for-cm-secrets
Apply label prefix rules for cm and secrets
2020-12-08 13:37:01 +02:00
Aurel Canciu
08be31f022 Apply label prefix rules for cm and secrets
Copying of Configmaps and Secrets managed through Flagger should now
follow the same label prefix filtering rules as for the workloads.

Extends: #709

Signed-off-by: Aurel Canciu <aurelcanciu@gmail.com>
2020-12-08 12:55:45 +02:00
Stefan Prodan
39380d4ce8 Merge pull request #741 from weaveworks/release-v1.4.0
Release v1.4.0
2020-12-07 11:59:49 +02:00
Stefan Prodan
1b9e575ba5 Release v1.4.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-12-07 11:39:08 +02:00
Stefan Prodan
128c883755 Update docs and examples to HPA v2beta2
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-12-07 11:24:01 +02:00
Stefan Prodan
a244e00057 Merge pull request #740 from tr-fteixeira/hpa-behavior
Add support to HPA behaviors on canaries
2020-12-07 11:13:52 +02:00
Fernando Teixeira
afc063ae9a update tests to use autoscaling/v2beta2 2020-12-06 15:23:08 -05:00
Stefan Prodan
0827622985 Merge pull request #736 from nmlc/traefik
Traefik support
2020-12-06 10:23:16 +02:00
Fernando Teixeira
83dae63989 add support to hpa behaviors on canaries 2020-12-06 00:51:20 -05:00
nmlc
578361a2b0 [traefik] Fix documentation 2020-12-02 05:22:50 +05:00
nmlc
553e1b38bc [traefik] Add documentation 2020-12-01 05:17:33 +05:00
nmlc
635bc83259 [traefik] Add CircleCI tests 2020-11-26 06:00:15 +05:00
nmlc
746507dcc9 [traefik] Remove TraefikService metadata from canary spec 2020-11-26 05:52:42 +05:00
nmlc
adeb585de1 [traefik] add e2e test 2020-11-25 07:55:05 +05:00
nmlc
9c4edc602a [traefik] Update chart: crd & rbac 2020-11-25 07:54:28 +05:00
nmlc
642d3678ec [traefik] Implement observer interface 2020-11-25 07:54:15 +05:00
nmlc
2c1d998c43 [traefik] Implement router interface 2020-11-25 07:54:00 +05:00
nmlc
a3b9ed126d [traefik] Api changes & codegen 2020-11-25 07:50:54 +05:00
Stefan Prodan
2f027de91f Merge pull request #735 from mattchrist/update_faq
fix typo in faq
2020-11-23 17:10:18 +02:00
Matt Christ
b8c9fcfb91 fix typo 2020-11-23 08:16:05 -06:00
Stefan Prodan
1b81ea5a10 Merge pull request #734 from weaveworks/releases-v1.3.0
Release v1.3.0
2020-11-23 14:52:20 +02:00
Stefan Prodan
82bf73e8da Release v1.3.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-11-23 13:59:43 +02:00
Stefan Prodan
58de5ab198 Merge pull request #733 from weaveworks/deps-update
Update Istio to v1.8.0
2020-11-23 13:47:16 +02:00
Stefan Prodan
6a0ab874b8 Update Istio docs for v1.8.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-11-23 12:58:06 +02:00
Stefan Prodan
8301a2c1ba Update Istio e2e tests to v1.8.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-11-23 12:40:07 +02:00
Stefan Prodan
9b5b1a1421 Merge pull request #731 from mattchrist/update_faq
Update faq with correct prometheus queries for Contour & Gloo (fixes #730)
2020-11-23 11:11:24 +02:00
Stefan Prodan
bc5150903c Merge pull request #729 from jddcarreira/supportAppMeshBackendARN
Support AWS App Mesh backends ARN
2020-11-23 11:10:45 +02:00
Matt Christ
0c017f916b Update faq with correct prometheus queries for Contour & Gloo 2020-11-20 09:30:29 -06:00
João Carreira
df6fb2251d Merge branch 'master' of github.com:jddcarreira/flagger into supportAppMeshBackendARN 2020-11-20 12:41:24 +00:00
Stefan Prodan
4c3bab7ed7 Merge pull request #726 from robq99/feat/custom-weights-in-progression
feat: custom weights in progression
2020-11-20 13:54:41 +02:00
João Carreira
74efb784a2 Update App Mesh guide with ARN usage in backends 2020-11-20 11:37:13 +00:00
João Carreira
5a856c98aa Use strings.HasPrefix instead of manual count of prefix 2020-11-20 10:43:28 +00:00
João Carreira
a9c96fa888 update th usage of App Mesh types 2020-11-20 10:34:10 +00:00
João Carreira
7ab9061899 Update AWS App Mesh types 2020-11-20 10:33:25 +00:00
João Carreira
e149125eaa validate if its an ARN 2020-11-19 16:19:16 +00:00
robq99
c53cbac22c fix: tests added, edge cases protection added 2020-11-18 12:20:42 +01:00
robq99
90bccf748b fix: rollout weights moved to canary doc 2020-11-18 10:09:04 +01:00
Robert Kwolek
1ea2e22734 fix: full weight => total weight 2020-11-17 16:30:45 +01:00
Robert Kwolek
2a0473fc9b fix: fullWeight removed, fullWeight => totalWeight 2020-11-17 09:00:21 +01:00
Robert Kwolek
67dca9c7ad Merge remote-tracking branch 'upstream/master' 2020-11-12 20:47:37 +01:00
Stefan Prodan
9667664853 Merge pull request #725 from sfrique/add-qps-and-burts-config-2
Add QPS and Burst configs for kubernetes client
2020-11-12 17:51:13 +02:00
Henrique Fernandes
4db9701c62 Add QPS and Burst configs for kubernetes client
Implemented as requested in PR723
supersedes: https://github.com/weaveworks/flagger/pull/723
fixes: https://github.com/weaveworks/flagger/issues/638
2020-11-11 17:48:27 -03:00
Stefan Prodan
4a805be5cd Merge pull request #721 from kingdonb/patch-3
Fixup some typos
2020-11-04 16:49:50 +02:00
Kingdon Barrett
3abeea43d0 Fix Typo in skipper-progressive-delivery.md
"exmaple" -> example
2020-11-03 18:13:48 -05:00
Kingdon Barrett
f51629d6b5 Fix Typo in nginx-progressive-delivery.md
"exmaple" -> example
2020-11-03 18:11:13 -05:00
Kazuki Nitta
a624a2977e Add support for Istio VirtualService delegation (#715)
Add support for Istio VirtualService delegation
2020-10-28 11:38:54 +02:00
Stefan Prodan
5ae5530c35 Merge pull request #718 from seankhliao/patch-1
fix release date
2020-10-28 10:02:11 +02:00
Sean Liao
1c58301fd7 fix release date 2020-10-27 19:47:07 +01:00
Stefan Prodan
690da0005d Merge pull request #714 from weaveworks/gitops-toolkit-roadmap
Add GitOps Toolkit integration to roadmap
2020-10-22 15:33:39 +03:00
Stefan Prodan
4d9fbc5da6 Merge pull request #709 from worldtiki/exclude-labels
Copy labels from canary to primary workloads based on prefix rules
2020-10-21 18:12:51 +03:00
Daniel Albuquerque
fbece964e0 Copy annotations to deployment and daemonset 2020-10-21 14:20:09 +01:00
Stefan Prodan
d3e855ac86 Add GitOps Toolkit integration to roadmap
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-10-21 15:24:48 +03:00
Daniel Albuquerque
bd536b689f Fix filtering of labels 2020-10-14 15:20:15 +01:00
Daniel Albuquerque
5ca5647fab Remove refs to jenkins 2020-10-13 22:01:49 +01:00
Daniel Albuquerque
bef02d8e1f Rename proprty from exclude to include 2020-10-13 22:00:31 +01:00
Daniel Albuquerque
8b87cf1757 MIssing commit 2020-10-13 21:59:26 +01:00
Daniel Albuquerque
6ec377181a Change from exclude labels to include labels 2020-10-13 21:58:47 +01:00
Daniel Albuquerque
23e59168af Exclude controller labels by prefix 2020-10-11 14:10:16 +01:00
Stefan Prodan
2f58e51242 Merge pull request #704 from Brick7Face/spell-fix
fix spelling of "template" in scheduler_metrics.go
2020-10-01 18:07:53 +03:00
Nate Tranel
79f0381c52 fix spelling of template 2020-10-01 08:06:39 -06:00
Stefan Prodan
14adedba6a Merge pull request #702 from weaveworks/release-v1.2.0
Release v1.2.0
2020-09-29 09:43:46 +03:00
stefanprodan
f2608e627c Release v1.2.0 2020-09-29 09:13:12 +03:00
Stefan Prodan
17237fbb3e Merge pull request #695 from worldtiki/skip_analysis
Do not promote when not ready on skip analysis
2020-09-29 08:48:43 +03:00
Daniel Albuquerque
065c8640e7 Remove metadata tests (unrelated to skip analysis) 2020-09-19 17:39:54 +01:00
Daniel Albuquerque
1a90392400 Add set -o errexit 2020-09-19 15:15:39 +01:00
Daniel Albuquerque
3b6302640f Remove custom metrics (not needed for tests) 2020-09-18 19:51:03 +01:00
Daniel Albuquerque
26d53dcd44 diff test stucture for istio 2020-09-18 19:05:45 +01:00
Daniel Albuquerque
0eee5b7402 Revert changes in skip analysis condition 2020-09-18 18:43:27 +01:00
Daniel Albuquerque
4b098cc7a2 Better assertion for new tests 2020-09-18 18:17:50 +01:00
Daniel Albuquerque
8119acb40a Remove comment :) 2020-09-18 18:00:38 +01:00
Daniel Albuquerque
013949a9f4 Add tests for when canary analysis is skipped 2020-09-18 17:59:16 +01:00
Stefan Prodan
6d65a2c897 Merge pull request #685 from splkforrest/add-label-value
Derive the label selector value from the target matchLabels
2020-09-17 13:19:49 +03:00
Stefan Prodan
fba16aa1f5 Merge pull request #691 from fpetkovski/newrelic-provider
Add New Relic as a metrics provider
2020-09-17 13:15:00 +03:00
Daniel Albuquerque
2907526452 Do not promote when not ready on skip analysis 2020-09-14 19:46:35 +01:00
Stefan Prodan
04a8759159 Merge pull request #692 from erkannt/patch-1
Add eLife to orgs using flagger
2020-09-10 14:56:54 +03:00
Daniel Haarhoff
d62e7f678f Add eLife to orgs using flagger 2020-09-10 12:22:05 +01:00
Filip Petkovski
8b3296c065 Apply suggestions from code review
Co-authored-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-09-10 09:19:36 +02:00
Filip Petkovski
563b1cd88d Add New Relic provider to the documentation 2020-09-10 09:11:33 +02:00
Filip Petkovski
c81e19c48a Add newrelic as to the provider type enum 2020-09-09 18:12:18 +02:00
Filip Petkovski
68e4e1cc68 Apply suggestions from code review
Co-authored-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-09-09 13:51:27 +02:00
Filip Petkovski
2c249e2a92 Add New Relic as a metrics provider 2020-09-09 12:10:53 +02:00
Forrest Thomas
6c35f7611b address PR review comments and remove unnecessary configuration from Canary CR in e2e tests 2020-09-04 09:35:11 -07:00
Forrest Thomas
7793f0b29d add e2e nginx tests for inconsistent naming between service name and selector 2020-09-02 12:46:02 -07:00
Forrest Thomas
930eb8919d add e2e linkerd tests for inconsistent naming between service name and selector 2020-09-02 12:46:02 -07:00
Forrest Thomas
7ade97790e update e2e istio test to query the canary service instead of the apex service 2020-09-02 12:46:02 -07:00
Forrest Thomas
29c3056940 add e2e gloo tests for inconsistent naming between service name and selector 2020-09-02 12:46:02 -07:00
Forrest Thomas
2abfec05c9 add e2e contour tests for inconsistent naming between service name and selector 2020-09-02 12:46:02 -07:00
Forrest Thomas
621150cce6 add e2e istio tests for inconsistent naming between service name and selector 2020-09-02 12:46:02 -07:00
Forrest Thomas
ef57dcf75d add a small test for verifying the label selector is named as expected for daemonsets 2020-09-02 12:46:02 -07:00
Forrest Thomas
1bd7ce4eed add a small test for verifying the label selector is named as expected for deployments 2020-09-02 12:46:02 -07:00
Forrest Thomas
364fd0db65 setup daemonset tests to allow configurable name, label and selector 2020-09-02 12:46:02 -07:00
Forrest Thomas
b378b3eb5d setup deployment tests to allow configurable name, label and selector 2020-09-02 12:46:02 -07:00
Forrest Thomas
0db82b64f7 correct formatting 2020-09-02 12:46:02 -07:00
Forrest Thomas
c9dc5c5936 fix incorrect primary label value during promotion 2020-09-02 12:46:02 -07:00
Forrest Thomas
6f372d787d fix the incorrect primary label value 2020-09-02 12:46:02 -07:00
Forrest Thomas
f70f43bb3d use the existing labelSelector value instead of using the service name as the value 2020-09-02 12:46:02 -07:00
Stefan Prodan
c6f3a87bb3 Merge pull request #684 from xichengliudui/master
add istio 1.7 install command
2020-09-02 12:01:05 +03:00
xichengliudui
8e7aa29ef1 add istio 1.7 install command 2020-09-02 01:30:53 -07:00
Stefan Prodan
fb66cd3d94 Merge pull request #681 from o11n/preservePredicates
Skipper: preserve Predicates
2020-08-29 11:34:18 +03:00
Samuel Lang
e7da8c3f35 Skipper: preserve Predicates
Current implementation did overwrite potentially existing Predicates.

We face the situation that we need to add further Predicates which we need to keep in order to have  a proper route setup
2020-08-26 12:00:36 +02:00
Robert Kwolek
a6a38c6a7a fix: go fixes 2020-08-25 12:22:57 +02:00
Robert Kwolek
0ccf97bec1 fix: max weight for steps fixed 2020-08-25 10:34:59 +02:00
Robert Kwolek
ab80bcde44 doc: tutorial link added 2020-08-21 09:01:35 +02:00
Robert Kwolek
a58c0ac2c9 doc: rollout weights moved out of Linkerd 2020-08-21 08:59:44 +02:00
Robert Kwolek
c55fd94b67 doc: weighted rollout doc added 2020-08-20 21:38:11 +02:00
Robert Kwolek
16a6df59ab Merge remote-tracking branch 'upstream/master' 2020-08-20 21:03:43 +02:00
Robert Kwolek
906103daa5 feat: weighted deployments 2020-08-20 20:56:10 +02:00
Takeshi Yoneda
ce69a180d8 Merge pull request #679 from weaveworks/feature/optimized-config-disabled
pkg/canary: add unit test of configIsDisabled and its optimization
2020-08-20 21:33:05 +09:00
mathetake
87c090ad8c pkg/canary: add unit test of configIsDisabled and its optimization 2020-08-20 21:15:27 +09:00
Stefan Prodan
b6d6f32c7f Merge pull request #674 from weaveworks/prep-release-1.1.0
Release v1.1.0
2020-08-19 18:37:38 +03:00
stefanprodan
b6c98799d1 Release v1.1.0 2020-08-19 12:07:39 +03:00
stefanprodan
06dab2e137 Docs tidy up
Split feature comparison into two tables: service mesh and ingress.
2020-08-19 11:29:08 +03:00
Stefan Prodan
6494893812 Merge pull request #671 from stealthybox/per-config-tracker-disable
Support per-config configTracker disable via ConfigMap/Secret annotation
2020-08-19 10:48:09 +03:00
Stefan Prodan
11b82dbcc7 Merge pull request #670 from o11n/feature-Skipper
Skipper Ingress Controller support
2020-08-19 10:47:53 +03:00
David Hohengaßner
e09f44df77 📝 add documentation about Skipper Ingress (#15)
Skipper Ingress Controller support is added with
https://github.com/weaveworks/flagger/pull/670.

This commit add the documentation and links to mention
Skipper is now an available option.

Currently only Canary deployments are supported.
2020-08-18 17:02:53 +02:00
Samuel Lang
ad8233cf46 👷 Add high-level E2E test steps for Skipper
Add e2e-skipper* files for test setup

It does the following things:
* install Skipper ingress with Kustomize
* load Flagger image onto the local cluster
* install Flagger and Prometheus in the flagger-system namespace
2020-08-18 17:02:45 +02:00
leigh capili
dad70a6876 Support per-config configTracker disable via ConfigMap/Secret annotation
This allows a user to annotate a specific ConfigMap or Secret to be disabled/ignored via the
configTracking logic that tracks config changes makes configuration copies for the primary Deploy

Closes #435
2020-08-17 16:24:56 -06:00
Samuel Lang
39e55daa04 📈 Skipper Metrics Observer
Te be able to distinct Skipper routes we need to combine the Canary data to generate the Skipper metric label.

"request-success-rate" and  "request-duration" queries are implemented and tested that provide those obersvations from Skipper metrics

* Takes into account how Skipper renders the paths accordingly and reformats the quieries.
2020-08-17 08:23:38 +02:00
Samuel Lang
a9ad6c92a6 adding CircleCI tests 2020-08-17 08:23:38 +02:00
Samuel Lang
ca14a08f9c Skipper Router Implementation
Router implementation for zalan.do/Skipper Ingress -
An HTTP router and reverse proxy for service composition, including use cases like Kubernetes Ingress

https://github.com/zalando/skipper/

* The concept is to define routes with specific weights via the skipper specific annotation predicate of "zalando.org/backend-weights".
* A new "canary ingress" is created that has higher "weight" thus receiving all traffic, which distributes progressively
* After the canary process is finished, this ingress is disabled via the "False()" annotation predicate to route traffic again back to the apex Ingress.
There are certain Skipper principles which are taken into account:

```
Skipper Principles:
* if only one backend has a weight, only one backend will get 100% traffic
* if two of three or more backends have a weight, only those two should get traffic.
* if two backends don't have any weight, it's undefined and right now they get equal amount of traffic.
* weights can be int or float, but always treated as a ratio.

Implementation:
* apex Ingress is immutable
* new canary Ingress contains two paths for primary and canary service
* canary Ingress manages weights on primary & canary service, hence no traffic to apex service
```
2020-08-17 08:23:38 +02:00
Stefan Prodan
be16bd8768 Merge pull request #668 from timricese/master
Add securityContext parameter to loadtester chart
2020-08-17 08:33:45 +03:00
Stefan Prodan
47d00857bc Merge pull request #672 from weaveworks/kube-1.18.8
Update Kubernetes packages to v1.18.8
2020-08-15 10:17:19 +03:00
stefanprodan
7c3cb5c5a3 Install kustomize in CI 2020-08-15 09:25:27 +03:00
stefanprodan
f12fe4254a Add license to Flagger Helm chart 2020-08-15 09:16:47 +03:00
stefanprodan
bb627779d9 Update Kubernetes packages to v1.18.8 2020-08-15 09:16:11 +03:00
Tim Rice
eba066e044 Add securityContext parameter to loadtester chart
Default to `enabled: false` to avoid changing default behavior.

Allows using the chart on clusters with runAsNonRoot security policy
2020-08-13 08:11:32 +02:00
Stefan Prodan
34f0273c34 Merge pull request #667 from snahelou/master
Fix(grafana): metrics change since 1.16
2020-08-12 17:34:01 +03:00
Sebastien Nahelou
394c9545ce Fix(grafana): metrics change since 1.16 2020-08-11 11:13:58 +02:00
Stefan Prodan
a6f0481b27 Merge pull request #661 from weaveworks/e2e-test-suite-updates
Update Istio, Linkerd and Contour e2e to latest version
2020-08-06 10:22:23 +03:00
Stefan Prodan
4d2664b57e Merge pull request #663 from stealthybox/mapfix-658
Fix O(log n) bug over network in GetTargetConfigs() when using `--enable-config-tracking`
2020-08-06 08:56:16 +03:00
leigh capili
1242825c42 Fix O(log n) bug over network in GetTargetConfigs() when using --enable-config-tracking
Read for more details:
https://github.com/weaveworks/flagger/issues/658#issuecomment-669389203
2020-08-05 13:16:50 -06:00
stefanprodan
fd34614c84 Update Istio, Linkerd and Contour e2e to latest version 2020-08-05 11:47:46 +03:00
Takeshi Yoneda
68312570b6 Merge pull request #654 from weaveworks/docs-fix-typo-prometheus
fix typo in docs: promethues -> prometheus
2020-07-27 16:18:07 +09:00
Stefan Prodan
fa9de7d8f9 Merge pull request #652 from imrenagi/feature/pod-priority
Add priorityClassName to flagger and loadtester chart
2020-07-27 09:16:32 +03:00
mathetake
a04bb3d3c0 fix typo in docs: promethues -> prometheus 2020-07-27 15:14:55 +09:00
Imre Nagi
23e805965e Update readme for podPriorityClassName
Signed-off-by: Imre Nagi <imre.nagi2812@gmail.com>
2020-07-23 16:37:37 +07:00
Imre Nagi
9aa775f409 Add priorityClassName to loadtester chart
Signed-off-by: Imre Nagi <imre.nagi2812@gmail.com>
2020-07-23 07:33:29 +07:00
Imre Nagi
9655ed652f Add pod priorityClassName to flagger deployment template
Signed-off-by: Imre Nagi <imre.nagi2812@gmail.com>
2020-07-23 07:27:27 +07:00
Stefan Prodan
744b83253a Merge pull request #651 from weaveworks/release-v1.0.1
Release v1.0.1
2020-07-18 09:44:37 +03:00
stefanprodan
74db314288 Release v1.0.1 2020-07-18 09:21:37 +03:00
Stefan Prodan
f8e68a2dad Merge pull request #649 from weaveworks/docs-appmesh-v1beta2
Update App Mesh docs to v1beta2 API
2020-07-18 08:44:18 +03:00
stefanprodan
1c35524b13 Update App Mesh docs to v1beta2 API 2020-07-16 10:14:56 +03:00
Hasindu Malala Achichige
7352237fa9 chart: add Istio virtual service into loadtester chart (#647)
Add Istio virtual service to loadtester chart
2020-07-09 13:31:17 +03:00
Stefan Prodan
997e7be8af Merge pull request #643 from mvollman/helm_threadiness
Add threadiness to helm chart
2020-07-09 13:01:25 +03:00
Stefan Prodan
0e2858d311 Merge pull request #646 from weaveworks/fix-kustomize
Fix installers for kustomize >= 3.6.0
2020-07-09 13:00:07 +03:00
Stefan Prodan
d7790ad5b1 Fix kustomize URL
Co-authored-by: Takeshi Yoneda <cz.rk.t0415y.g@gmail.com>
2020-07-09 10:24:07 +03:00
stefanprodan
96234c1d6c Fix installers for kustomize >= 3.6.0 2020-07-09 09:47:29 +03:00
Michael Vollman
0f1a42a5cc Add threadiness to helm chart 2020-07-06 11:17:20 -04:00
Takeshi Yoneda
8a5a0538fd Merge pull request #641 from jqlu/patch-1
fix typo in status.go
2020-07-03 18:44:09 +09:00
jqlu
7fd8251a06 fix typo in status.go 2020-07-03 10:47:40 +08:00
Stefan Prodan
72c7a103f9 Merge pull request #632 from rafaelgaspar/fix-multiple-paths-per-rule
Fix multiple paths per rule on canary ingress
2020-06-22 17:45:09 +03:00
Rafael Gaspar
b890b79234 Fix multiple paths per rule on canary ingress 2020-06-22 15:59:27 +02:00
Stefan Prodan
1a65937278 Merge pull request #625 from sergioteix/patch-1
add jumia as an organization using flagger
2020-06-17 18:14:58 +03:00
Sergio Teixeira
a490cde692 Update README.md 2020-06-17 15:20:49 +01:00
Stefan Prodan
682a1bf5ae Merge pull request #624 from weaveworks/release-v1.0.0
Release v1.0.0
2020-06-17 11:44:59 +03:00
stefanprodan
de3aeab702 Release v1.0.0 2020-06-17 11:11:06 +03:00
Stefan Prodan
fa25872ceb Merge pull request #623 from weaveworks/istio-latency
Change builtin metrics to work with Istio >= 1.5
2020-06-17 10:32:12 +03:00
stefanprodan
e8ca5f270b Change builtin metrics to work with Istio >= 1.5 2020-06-17 10:13:29 +03:00
Stefan Prodan
6f65f6096d Merge pull request #607 from justinabrahms/master
Support for specifying additional arguments to concord tasks
2020-06-16 09:26:37 +03:00
Stefan Prodan
f2eca79a1f Merge pull request #621 from weaveworks/charts-update
Remove Flagger's Gateway and update Prometheus
2020-06-15 14:17:30 +03:00
stefanprodan
8e9c326561 Remove App Mesh Gateway chart
Replaced by https://github.com/aws/eks-charts/pull/168
2020-06-15 13:53:36 +03:00
stefanprodan
9c89346a22 Update Prometheus to v2.19.0 2020-06-15 13:50:54 +03:00
Stefan Prodan
2827ecbc31 Merge pull request #617 from weaveworks/tester-updates
Release load tester v0.17.0
2020-06-11 14:07:27 +03:00
stefanprodan
8a02195ac2 Release load tester v0.17.0 2020-06-11 13:48:22 +03:00
stefanprodan
93e76e5050 Add AppMesh v1beta2 virtual node to load tester chart 2020-06-11 13:34:46 +03:00
stefanprodan
b2fd6f994c Update load tester Helm binaries 2020-06-11 13:34:03 +03:00
Stefan Prodan
95dcc17bc2 Merge pull request #615 from weaveworks/e2e-updates
Update e2e components
2020-06-10 14:30:20 +03:00
stefanprodan
71725c4771 Update e2e components
- istio 1.6.1
- linkerd 2.8.0
- contour 1.5.0
- gloo 1.3.28
- nginx-ingress 0.32.0
2020-06-10 14:13:08 +03:00
Stefan Prodan
bebfac8b9f Merge pull request #611 from weaveworks/appmesh-timeout
Implement App Mesh v1beta2 timeout
2020-06-08 11:19:28 +03:00
Takeshi Yoneda
45d4d1ff55 Merge pull request #612 from kingdonb/patch-1
Update zero-downtime-deployments.md
2020-06-05 22:45:26 +09:00
Kingdon Barrett
bf27aed2e4 Update zero-downtime-deployments.md
Fix typo "exists" -> "exits"
2020-06-04 20:06:29 -04:00
stefanprodan
0715e1ca37 Add AppMesh timeout unit test 2020-06-04 13:48:52 +03:00
stefanprodan
37ec07d2ec Set timeout for virtual nodes and routers 2020-06-04 12:37:34 +03:00
stefanprodan
7a18bfaac5 Add timeout fields to AppMesh client 2020-06-04 12:15:44 +03:00
Stefan Prodan
c367e65672 Merge pull request #609 from sledigabel/master
Rephrasing Canary Progressing message
2020-06-02 17:10:23 +03:00
Sebastien Le Digabel
8c55bb222d Rephrasing Canary Progressing message
Fixes #606.

Also fixed the alert message to keep it consistent with the message,
along with the documentation.
2020-06-02 14:35:55 +01:00
Stefan Prodan
a74ae1f4a2 Merge pull request #608 from justinabrahms/go-version-update
go 1.14 is required due to the change in `go fmt`
2020-06-02 16:27:57 +03:00
Justin Abrahms
8376623839 go 1.14 is required due to the change in go fmt 2020-06-02 05:53:27 -07:00
Justin Abrahms
dcab2d518f Support for specifying additional arguments to concord tasks 2020-06-02 04:28:54 -07:00
Sergio Teixeira
9afd741dc1 Update Alpine to v3.12 (#605)
Update Alpine to v3.12

use default nobody user from alpine, and update to the stable version
2020-06-02 11:24:47 +03:00
Ciaran Moran
9ba78031e2 Revert "Use multi-stage build to slim image"
This reverts commit ce6ae8d511.
2020-06-01 16:00:42 +01:00
Ciaran Moran
ce6ae8d511 Use multi-stage build to slim image 2020-06-01 14:36:15 +01:00
Stefan Prodan
33076941b9 Merge pull request #604 from weaveworks/cors-allow-origins
Add allow origins field to CORS spec
2020-06-01 15:22:31 +03:00
stefanprodan
6db5b5c417 Add allow origins field to CORS spec 2020-06-01 14:58:08 +03:00
Stefan Prodan
d2fe182e2d Merge pull request #601 from weaveworks/istio-1.6.0-e2e
Update Istio e2e to v1.6.0
2020-06-01 14:26:56 +03:00
stefanprodan
8740f41a3a Update Istio e2e to v1.6.0 2020-06-01 14:06:59 +03:00
Stefan Prodan
b6b6633692 Merge pull request #598 from cosmin-mogos/update-helm-test-documentation
Add example RBAC for `helm test`
2020-05-31 00:55:19 +03:00
Cosmin Mogos
fe58b32d9b Add --debug to helm command 2020-05-30 18:07:40 +02:00
Cosmin Mogos
df50c32c09 Update docs/gitbook/usage/webhooks.md
Co-authored-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-05-30 13:58:25 +02:00
Cosmin Mogos
ada9288f88 Update docs/gitbook/usage/webhooks.md
Co-authored-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-05-30 13:57:57 +02:00
Cosmin Mogos
df103fb257 Add example RBAC for helm test 2020-05-27 18:45:43 +02:00
Stefan Prodan
3dd5dfa6aa Merge pull request #594 from weaveworks/istio-source-labels
istio: Add source labels to analysis matching rules
2020-05-27 12:02:31 +03:00
Takeshi Yoneda
44cee4210d Merge pull request #596 from weaveworks/fix/doc-promql
update README: custom metric instead of custom promql
2020-05-27 17:50:45 +09:00
mathetake
893a53234b update README: custom metric instead of custom promql 2020-05-27 17:31:40 +09:00
stefanprodan
4f299e5696 Add source labels to A/B testing docs 2020-05-18 14:41:44 +03:00
stefanprodan
3cf6400092 Add source labels to analysis matching rules 2020-05-18 13:16:03 +03:00
stefanprodan
476eb8c185 Update Istio e2e to v1.5.4 2020-05-18 13:15:12 +03:00
Stefan Prodan
f5a3b9df24 Merge pull request #593 from weaveworks/progressive-promotion
Implement progressive promotion
2020-05-18 12:37:55 +03:00
stefanprodan
be96a11479 Add promotion step weight to docs 2020-05-18 11:07:40 +03:00
stefanprodan
2e75dbb170 Add progressive promotion test 2020-05-18 10:44:23 +03:00
stefanprodan
eaa5b14be6 Implement progressive traffic shifting on promotion 2020-05-18 10:34:10 +03:00
stefanprodan
f3b444ab49 Add promotion step weight to Canary CRD 2020-05-18 10:34:10 +03:00
Takeshi Yoneda
0056b99309 Merge pull request #592 from weaveworks/check-metrics-server-availability
Check metrics server availability during canary initialization
2020-05-16 15:15:42 +09:00
mathetake
e0de9d0afa pkg/controller: add unit test for checkMetricProviderAvailability 2020-05-16 11:12:45 +09:00
mathetake
a17e8b4794 not return even if checkMetricProviderAvailability fails 2020-05-15 21:44:35 +09:00
mathetake
ad73643e4a pkg/metrics/provideres: delete fake value 2020-05-15 19:36:11 +09:00
mathetake
5d84596bc0 pkg/controller: check metrics server's availability during initalization 2020-05-15 19:35:40 +09:00
Stefan Prodan
0b0c49bd2a Merge pull request #589 from weaveworks/release-1.0.0-rc.5
Release v1.0.0-rc.5
2020-05-14 15:33:34 +03:00
stefanprodan
99bc7040a3 Release v1.0.0-rc.5 2020-05-14 14:00:23 +03:00
Stefan Prodan
30073f2a8d Merge pull request #588 from weaveworks/ingress-class
Add ingress class support for Contour
2020-05-14 13:06:37 +03:00
Stefan Prodan
3e19ef0f01 Make Contour annotation const
Co-authored-by: Takeshi Yoneda <cz.rk.t0415y.g@gmail.com>
2020-05-14 12:48:12 +03:00
stefanprodan
68ccbc4817 Add ingress class e2e test 2020-05-14 12:29:54 +03:00
stefanprodan
fbaf8fedc7 Set ingress class in factory 2020-05-14 12:27:11 +03:00
stefanprodan
ff94e14d5a Update Contour e2e to v1.4 2020-05-14 12:21:56 +03:00
stefanprodan
5c7fd5d4db Add ingress class option to Helm chart 2020-05-14 12:17:03 +03:00
stefanprodan
48467eb8b3 Add ingress class support for Contour
Add `-ingress-class` command flag. When set, the specified class is used to annotate the generated HTTPProxy objects.
2020-05-14 12:17:03 +03:00
Takeshi Yoneda
5bd6906c32 Merge pull request #587 from weaveworks/redundant-assertion
pkg/metrics/providers: remove redundant assertion in prometheus test
2020-05-14 18:07:50 +09:00
mathetake
772099f073 pkg/metrics/providers: remove redundant assertion in prometheus test 2020-05-14 17:48:14 +09:00
Stefan Prodan
a6b8d19629 Merge pull request #586 from weaveworks/retry-initializing-status
Retry canary initialization on conflict
2020-05-14 11:46:30 +03:00
stefanprodan
e7f2d22505 Fix svc update conflict 2020-05-14 11:08:32 +03:00
stefanprodan
6cfa432834 Retry canary initialization on conflict 2020-05-14 11:03:32 +03:00
Stefan Prodan
474a5a20be Merge pull request #584 from weaveworks/appmesh-v1beta2
Implement AppMesh v1beta2 router
2020-05-14 09:38:08 +03:00
Stefan Prodan
af02ed46a5 Merge pull request #585 from tr-srij/patch-1
Fix typo in loadtester chart readme
2020-05-14 09:36:13 +03:00
tr-srij
972596f443 Update README.md 2020-05-13 23:30:51 -04:00
stefanprodan
6498cccb85 Use target port for virtual routers
AppMesh does not support port mappings
2020-05-13 22:50:26 +03:00
stefanprodan
6c9847ae14 Use FQDN for virtual nodes DNS 2020-05-13 22:43:10 +03:00
stefanprodan
b0b0cedde1 Map target port for virtual node listeners 2020-05-13 17:26:36 +03:00
Stefan Prodan
d96672eec1 Merge pull request #581 from edtan/fix-dev-link
Fix broken link to Flagger Development Guide
2020-05-12 09:46:22 +03:00
Ed
fed6948dab Fix broken link to Flagger Development Guide 2020-05-11 23:35:56 -04:00
stefanprodan
86939d9dce Register AppMesh VirtualNodes before Deployment init 2020-05-08 13:16:19 +03:00
stefanprodan
854d7665f0 Add AppMesh v1beta2 to factories 2020-05-08 13:15:37 +03:00
stefanprodan
52c757250a Fix annotations diff 2020-05-08 13:14:50 +03:00
stefanprodan
fe1d85b0ce Add AppMesh v1beta2 router tests 2020-05-08 13:13:27 +03:00
stefanprodan
0aac94b782 Implement AppMesh v1beta2 router 2020-05-08 13:12:58 +03:00
Stefan Prodan
e55af2ff19 Merge pull request #579 from jlbutler/fix-link
broken link in tutorials section of gitbook
2020-05-07 11:37:27 +03:00
Jesse Butler
2e388fceee fix broken link in tutorials section of gitbook
Signed-off-by: Jesse Butler <butlerjl@amazon.com>
2020-05-06 19:55:14 -04:00
stefanprodan
2d1c4a9d84 Use API providers in observer factory 2020-05-06 01:14:41 +03:00
stefanprodan
004eb88962 Add Envoy metric templates to docs 2020-05-06 01:13:42 +03:00
stefanprodan
eba6478729 Add providers to API 2020-05-06 01:12:41 +03:00
stefanprodan
7686b4b01a Generate AppMesh v1beta2 client 2020-05-05 19:31:03 +03:00
stefanprodan
55c89770d7 Add AppMesh v1beta2 clientset and RBAC 2020-05-04 22:22:51 +03:00
Stefan Prodan
d6f3a2453b Merge pull request #576 from weaveworks/deps-update
Update packages and e2e to Kubernetes v1.18.2
2020-05-02 12:12:09 +03:00
stefanprodan
d320b558d0 e2e: Update Kind, Istio and Linkerd
- Kind v0.8.1 (Kubernetes 1.18.2)
- Istio v1.5.2
- Linkerd stable-2.7.1
2020-05-02 09:39:55 +03:00
stefanprodan
66203c0916 build: Update Kubernetes client-go to 1.18.2 2020-05-02 08:54:22 +03:00
Stefan Prodan
d97a8cbc01 Merge pull request #575 from heubeck/master
Add MediaMarktSaturn to list of users
2020-05-02 08:42:25 +03:00
Florian Heubeck
6bb47f2e5d Add MediaMarktSaturn to list of users
Signed-off-by: Florian Heubeck <heubeck@mediamarktsaturn.com>
2020-05-01 23:30:34 +02:00
Stefan Prodan
f89f0d6515 Merge pull request #571 from edtan/fix-deployment-alert-test
controller: fix deployment alerts unit test
2020-04-30 11:02:37 +03:00
Ed
f46eaa8d05 This makes the primary ready in the TestScheduler_DeploymentAlerts test
in order to send out an alert.  Previously, it did not reach a state
to send an alert.
2020-04-30 00:20:25 -04:00
Takeshi Yoneda
e3f18b3d7e Merge pull request #565 from GijsvanDulmen/fix-rocket-test
Fix rocket tests naming but keep structs
2020-04-27 20:42:59 +09:00
Gijs van Dulmen
2b7a95fee5 Fix slack naming as well in tests 2020-04-27 13:13:46 +02:00
Gijs van Dulmen
647eb81021 Fix naming but keep structs 2020-04-27 09:46:13 +02:00
Stefan Prodan
bda620aae9 Merge pull request #560 from tariq1890/fix_lint
fix issues reported by the linter
2020-04-18 11:12:38 +03:00
Tariq Ibrahim
d41ed43ef9 fix issues reported by the linter 2020-04-17 11:45:44 -07:00
Stefan Prodan
86d3b498b6 Merge pull request #561 from tariq1890/no_kutils
remove unnecessary dependency on k/utils
2020-04-17 09:28:10 +03:00
Tariq Ibrahim
e473d4b2fb remove unnecessary dependency on k/utils 2020-04-16 16:14:08 -07:00
Stefan Prodan
fcac3380d7 Merge pull request #559 from weaveworks/e2e-istio-1.5.1
ci: Update end-to-end test to Istio 1.5.1
2020-04-16 13:06:05 +03:00
stefanprodan
f5fd57f3df Use Kubernetes v1.16 in Istio e2e 2020-04-16 12:05:58 +03:00
stefanprodan
2c6259495b Update end-to-end tests to Istio 1.5.1 2020-04-16 11:50:46 +03:00
Takeshi Yoneda
0d1e41504c Merge pull request #557 from n0rad/master
Check prometheus is online with simple query
2020-04-15 22:27:42 +09:00
Arnaud Lemaire
4a4f8555df Check prometheus is online with simple query 2020-04-15 10:29:05 +02:00
Stefan Prodan
4890a71283 Merge pull request #538 from splunk/feature/user-specified-labels-annotations
Add user-specified labels/annotations to Canary for generated Services
2020-04-09 20:41:07 +03:00
stefanprodan
84dd0006ca Add service metadata update unit test 2020-04-04 17:16:49 +03:00
stefanprodan
8d37b7b20b Update service metadata if ownerRef kind is canary 2020-04-04 16:52:12 +03:00
Finn Herzfeld
3f961ae73f Handle annotations/labels update 2020-04-04 16:52:12 +03:00
Finn Herzfeld
4460cb7385 Fix CRD indentation 2020-04-04 16:48:35 +03:00
stefanprodan
37527854d2 Add e2e test for apex service custom metadata 2020-04-04 16:48:35 +03:00
stefanprodan
c609a90959 Add unit tests for service custom metadata 2020-04-04 16:48:35 +03:00
Finn Herzfeld
2657e135b8 Use pointers for metadata because it is optional
and metadata parameter is nil on finalize.

in response to PR feedback
2020-04-04 16:48:35 +03:00
Finn Herzfeld
b7441a7ce7 Fix call to reconcileService 2020-04-04 16:48:35 +03:00
Finn Herzfeld
0aee385145 log canary.spec.service for debugging purposes 2020-04-04 16:48:35 +03:00
Finn Herzfeld
5c48430ed2 Initialize the label and annotation maps if they are nil 2020-04-04 16:48:35 +03:00
Finn Herzfeld
9d907deece Initial support for custom labels and annotations 2020-04-04 16:48:35 +03:00
Stefan Prodan
b564a2fda2 Merge pull request #549 from sayboras/feature/kube-1-18
Update Kubernetes packages to 1.18.0
2020-04-04 16:44:13 +03:00
sayboras
c0515fc6ff Upgrade to kube 1.18 2020-04-04 23:46:38 +11:00
Takeshi Yoneda
adae6afc91 Merge pull request #548 from weaveworks/deployment-is-ready-test
pkg/canary: add unit test of isDeploymentReady
2020-04-04 15:09:07 +09:00
mathetake
bbdac24ed3 pkg/canary: add unit test of isDeploymentReady 2020-04-04 10:48:29 +09:00
Stefan Prodan
e0b3b7134b Merge pull request #547 from weaveworks/prep-1.0.0-rc.4
Release v1.0.0-rc.4
2020-04-03 12:43:49 +03:00
stefanprodan
af2ef409b4 Release v1.0.0-rc.4 2020-04-03 12:22:44 +03:00
Stefan Prodan
740b46e818 Merge pull request #543 from richardcase/oc
chart: allow security context to be disabled on OpenShift
2020-04-03 11:34:06 +03:00
Stefan Prodan
db4a15e21d Merge pull request #546 from weaveworks/nginx-header-regex
Implement NGINX ingress header regex matching
2020-04-03 09:40:12 +03:00
stefanprodan
e6901467f2 Add Prometheus Operator to docs index 2020-04-02 16:43:15 +03:00
stefanprodan
14e9c7f466 Add e2e tests for ingress A/B Testing 2020-04-02 15:07:37 +03:00
stefanprodan
b8e9f57e1e Add unit tests for ingress A/B Testing 2020-04-02 01:35:15 +03:00
stefanprodan
38ef4ef4d8 Implement NGINX ingress header regex match 2020-04-02 01:34:29 +03:00
Stefan Prodan
e99e8f22a2 Merge pull request #544 from weaveworks/avoid-status-retry
pkg/controller: avoid status conflicts on initialization
2020-04-01 21:57:21 +03:00
stefanprodan
cbcd6ab03b pkg/controller: avoid status conflicts on initialization 2020-04-01 20:47:31 +03:00
Richard Case
f199923a3c feat: started to add a flag to disable security context 2020-04-01 16:57:30 +01:00
Stefan Prodan
7c00e5bbd8 Merge pull request #541 from weaveworks/retry-fixes
pkg/canary: fix status retry
2020-04-01 14:12:22 +03:00
stefanprodan
f6baba271a pkg/canary: fix status retry 2020-04-01 13:39:32 +03:00
Stefan Prodan
3b04f12b65 Merge pull request #540 from weaveworks/events-fix
logs: reduce log verbosity
2020-03-31 16:39:30 +03:00
stefanprodan
686de4bf06 logs: trim down log prefix 2020-03-31 15:31:07 +03:00
Stefan Prodan
9150816ec6 Merge pull request #539 from weaveworks/loadtest-0.16.0
loadtester: release v0.16.0
2020-03-31 13:08:41 +03:00
stefanprodan
3c11749f80 loadtester: release v0.16.0
- update helm to 2.16.5
- update helmv3 to 3.1.2
- remove http server timeouts
2020-03-31 12:48:16 +03:00
Stefan Prodan
b14bcc4a43 Merge pull request #535 from jacobsin/300-loadtester-return-cmd-output-optionally
loadtester: add return cmd output option
2020-03-30 20:56:02 +03:00
Jacob Sin
29c31e56bd loadtester: return cmd output optionally 2020-03-31 01:22:47 +08:00
Stefan Prodan
26c18a3385 Merge pull request #537 from weaveworks/openshift-rbac
rbac: add finalizers to RBAC rules
2020-03-30 12:48:11 +03:00
stefanprodan
6bbf99dbc5 rbac: add finalizers to RBAC rules 2020-03-30 12:24:27 +03:00
Stefan Prodan
4be2a0c4e1 Merge pull request #536 from weaveworks/loadtester-timeout
loadtester: set write timeout
2020-03-30 12:01:51 +03:00
Stefan Prodan
ccc17b080f Merge pull request #534 from weaveworks/ingress-update
pkg/router: update ingress API to networking.k8s.io/v1beta1
2020-03-30 11:17:49 +03:00
stefanprodan
a5986987b7 loadtester: release v0.15.0 2020-03-30 11:14:27 +03:00
stefanprodan
3807a5019d loadtester: set server write timeout 2020-03-30 11:13:10 +03:00
stefanprodan
6d2c172fca docs: update NGINX tutorial to networking.k8s.io 2020-03-29 13:38:59 +03:00
stefanprodan
017ca70807 e2e: update tests to ingress networking.k8s.io 2020-03-29 13:37:29 +03:00
stefanprodan
4ff00958ef artifacts: add networking.k8s.io to RBAC 2020-03-29 13:27:33 +03:00
stefanprodan
4ba27f018d router: update ingress API to networking/v1beta1 2020-03-29 13:15:00 +03:00
Takeshi Yoneda
388ad0400d Merge pull request #531 from weaveworks/refactor-finalizer
finalizer: refactoring
2020-03-29 17:50:19 +09:00
mathetake
ef8b6fe9b8 finalizer: refactoring 2020-03-29 17:07:18 +09:00
Takeshi Yoneda
7676918184 Merge pull request #530 from weaveworks/remove-skipLivenessChecks-param
pkg/{canary,controller}: remove unused skipLivenessChecks
2020-03-28 19:11:13 +09:00
mathetake
65d4b28b58 pkg/{canary,controller}: remove unused skipLivenessChecks 2020-03-28 18:13:00 +09:00
Stefan Prodan
9c46be131e Merge pull request #524 from Wihrt/prometheus-operator-docs
docs: Add prometheus-operator tutorial
2020-03-27 17:07:45 +02:00
Takeshi Yoneda
61fd505179 Merge pull request #529 from weaveworks/fix-daemonset-ready-cond
pkg/canary/daemonset: fix ready condition according to kubectl
2020-03-27 19:48:43 +09:00
mathetake
4242bf0f07 pkg/canary/daemonset: fix ready condition according to kubectl 2020-03-27 19:31:12 +09:00
Stefan Prodan
7821bc66d6 Merge pull request #528 from sayboras/bugfix/typo-struct
Remove extra space in json tags
2020-03-27 10:24:04 +02:00
sayboras
df5a2d8266 Remove extra space in json tags 2020-03-27 18:52:57 +11:00
Arnaud Hatzenbuhler
42c3080c19 Commit requested changes and fix some typos 2020-03-26 17:54:04 +01:00
Arnaud Hatzenbuhler
a548bfd8e6 Fix typo 2020-03-26 17:08:10 +01:00
Arnaud Hatzenbuhler
37c7ddc9a4 Rewrite documentation to use podinfo as exemple 2020-03-26 17:03:38 +01:00
Takeshi Yoneda
70475d475b Merge pull request #526 from weaveworks/fix-typo-daemon
fix typos in error messages
2020-03-27 00:55:34 +09:00
mathetake
6a16dc0c7c fix typos in error messages 2020-03-27 00:03:43 +09:00
Arnaud Hatzenbuhler
2b1aacc8e3 Add documentation for prometheus-operator 2020-03-26 11:15:32 +01:00
Stefan Prodan
658dec2693 Merge pull request #521 from sayboras/feature/service-accounts-annotations
chart: Add annotations for service account
2020-03-25 09:58:35 +02:00
sayboras
99366b4960 Clarify more details for serviceAccount.name 2020-03-25 16:37:38 +11:00
sayboras
562467765a Add annotations for service account 2020-03-25 16:30:10 +11:00
Stefan Prodan
423424cb3d Merge pull request #520 from weaveworks/release-v1.0.0-rc.3
Release v1.0.0-rc.3
2020-03-23 13:19:29 +02:00
stefanprodan
79759243d4 build: post report only if coverage changes 2020-03-23 12:51:21 +02:00
stefanprodan
1d43447994 Release Flagger v1.0.0-RC.3 2020-03-23 12:15:20 +02:00
stefanprodan
ce426b50e3 install: Update Prometheus to v2.16.0 2020-03-23 12:03:28 +02:00
stefanprodan
683bc0b5ff docs: Update install docs for Kustomize 3.5.0 2020-03-23 12:03:28 +02:00
Stefan Prodan
41af740798 Merge pull request #519 from weaveworks/e2e-up-ingress
e2e: Update Contour and Gloo
2020-03-23 12:02:22 +02:00
stefanprodan
3458757c35 e2e: Update Gloo to v1.3.14 2020-03-23 11:42:00 +02:00
stefanprodan
4e24ad53bd e2e: Update Contour to v1.3 2020-03-23 11:40:36 +02:00
Stefan Prodan
0bdaa008aa Merge pull request #516 from tariq1890/upd_dep
clean up and update dependencies of flagger
2020-03-23 09:35:54 +02:00
Stefan Prodan
16ecb4bed7 Merge pull request #514 from weaveworks/preserve-nodeports
Preserve node ports on service reconciliation
2020-03-23 09:35:39 +02:00
Stefan Prodan
dbdf198b74 Merge pull request #495 from ta924/addFinalize
Add canary finalizers
2020-03-23 09:34:17 +02:00
Tanner Altares
7cf836e982 support for daemonset finalize
fmt

update e2e test typo

finalizer return if not found

fix typo
2020-03-20 21:41:43 -05:00
Tariq Ibrahim
d8d2345359 clean up and update dependencies of flagger
Signed-off-by: Tariq Ibrahim <tariq181290@gmail.com>
2020-03-20 17:11:02 -07:00
Tanner Altares
a3e3567f1e finalize docs 2020-03-20 15:13:51 -05:00
Tanner Altares
c9a07cec87 add e2e tests istio
add e2e tests istio

clean up comment from review

add e2e tests istio

clean up comment from review

clean up logging statement

add e2e tests istio

clean up comment from review

clean up logging statement

add log statement on e2e iteration

add e2e tests istio

clean up comment from review

clean up logging statement

add log statement on e2e iteration

extend timeout for finalizing

add e2e tests istio

clean up comment from review

clean up logging statement

add log statement on e2e iteration

extend timeout for finalizing

add phase to kustomize crd

add e2e tests istio

clean up comment from review

clean up logging statement

add log statement on e2e iteration

extend timeout for finalizing

add phase to kustomize crd

revert timeout on circleci

vs and svc checks for istio e2e tests

fix fmt errors and tests

add get statement in e2e test

add get statement in e2e test

add namespace to e2e

use only selector for service revert
2020-03-20 15:13:51 -05:00
Tanner Altares
92937a8f48 kubectl annotation support
rebase and squash

fix fmt issues

revert Dockerfile

revert go.mod and go.sum

introduction of finalizer

introduction of finalizer

remove test for finalizer add istio tests

fix fmt issues

revert go.mod and go.sum

revert Dockerfile and main.go

fmt deployment controller

introduction of finalizer

rebase and squash

fix fmt issues

revert Dockerfile

revert go.mod and go.sum

introduction of finalizer

introduction of finalizer

remove test for finalizer add istio tests

fix fmt issues

revert go.mod and go.sum

revert Dockerfile and main.go

fmt deployment controller

add unit tests for finalizing

introduction of finalizer

rebase and squash

fix fmt issues

revert Dockerfile

revert go.mod and go.sum

introduction of finalizer

introduction of finalizer

remove test for finalizer add istio tests

fix fmt issues

revert go.mod and go.sum

revert Dockerfile and main.go

fmt deployment controller

run fmt to clean up formatting

review changes

add kubectl annotation

add kubectl annotation support

introduction of finalizer

introduction of finalizer

rebase and squash

fix fmt issues

revert Dockerfile

revert go.mod and go.sum

introduction of finalizer

introduction of finalizer

remove test for finalizer add istio tests

fix fmt issues

revert go.mod and go.sum

revert Dockerfile and main.go

fmt deployment controller

introduction of finalizer

rebase and squash

fix fmt issues

revert Dockerfile

revert go.mod and go.sum

introduction of finalizer

introduction of finalizer

remove test for finalizer add istio tests

fix fmt issues

revert go.mod and go.sum

revert Dockerfile and main.go

fmt deployment controller

add unit tests for finalizing

introduction of finalizer

rebase and squash

fix fmt issues

revert Dockerfile

revert go.mod and go.sum

introduction of finalizer

introduction of finalizer

remove test for finalizer add istio tests

fix fmt issues

revert go.mod and go.sum

revert Dockerfile and main.go

fmt deployment controller

run fmt to clean up formatting

review changes

introduction of finalizer

introduction of finalizer

rebase and squash

fix fmt issues

revert Dockerfile

revert go.mod and go.sum

introduction of finalizer

introduction of finalizer

remove test for finalizer add istio tests

fix fmt issues

revert go.mod and go.sum

revert Dockerfile and main.go

fmt deployment controller

introduction of finalizer

rebase and squash

fix fmt issues

revert Dockerfile

revert go.mod and go.sum

introduction of finalizer

introduction of finalizer

remove test for finalizer add istio tests

fix fmt issues

revert go.mod and go.sum

revert Dockerfile and main.go

fmt deployment controller

add unit tests for finalizing

introduction of finalizer

rebase and squash

fix fmt issues

revert Dockerfile

revert go.mod and go.sum

introduction of finalizer

introduction of finalizer

remove test for finalizer add istio tests

fix fmt issues

revert go.mod and go.sum

revert Dockerfile and main.go

fmt deployment controller

run fmt to clean up formatting

review changes
2020-03-20 15:13:51 -05:00
Tanner Altares
b39add9ee6 introduction of finalizer 2020-03-20 15:13:51 -05:00
stefanprodan
a193d13e37 Preserve node ports on service reconciliation
Allow taking over Kubernetes services of type LoadBalancer
2020-03-20 10:10:30 +02:00
Stefan Prodan
52d9951eb9 Merge pull request #512 from weaveworks/rc.2
Release Flagger v1.0.0-rc.2
2020-03-19 15:08:19 +02:00
stefanprodan
8684a074aa Add changelog for v1.0.0-rc.2 2020-03-19 13:53:16 +02:00
stefanprodan
1d618a9945 Release loadtester v0.14.0 2020-03-19 13:25:13 +02:00
stefanprodan
0def28d7c3 Release Flagger v1.0.0-rc.2 2020-03-19 12:55:35 +02:00
Stefan Prodan
b146163130 Merge pull request #511 from sayboras/debug/nginx-metrics
e2e: Upgrade nginx helm chart to 1.34.2
2020-03-19 12:29:25 +02:00
sayboras
28c98f0793 Update nginx docs 2020-03-19 20:58:27 +11:00
sayboras
2954317982 Remove obsolete stats configuration 2020-03-19 20:53:39 +11:00
sayboras
830f3ac18f Upgrade nginx help to 1.34.2 2020-03-19 20:36:09 +11:00
Stefan Prodan
d6d65e20e8 Merge pull request #507 from ernst01/loadtester-concord-support
loadtester: add concord test support
2020-03-19 09:31:22 +02:00
Stefan Prodan
061c17971e Merge pull request #509 from stealthybox/grpc-typos
Fix gRPC typos
2020-03-19 08:18:40 +02:00
leigh capili
bbbcfd6cde Fix gRPC typos 2020-03-18 20:16:37 -06:00
Thiebaud Ernstberger
7f590b0701 Issue #477: added concord test support to loadtester + documentation 2020-03-18 14:58:46 -07:00
Stefan Prodan
4d90abf581 Merge pull request #506 from sayboras/feature/logging-helm
Add the logLevel configuration in helm charts
2020-03-17 13:59:01 +02:00
sayboras
f2ef8339d3 Update README.md 2020-03-17 22:29:11 +11:00
sayboras
b02370102f Revert chart version upgrade
Remove if/else for logLevel
2020-03-17 22:26:48 +11:00
sayboras
3aa3ae2de4 Add the logLevel configuration in helm charts 2020-03-17 21:39:50 +11:00
Stefan Prodan
e76a6792b9 Merge pull request #502 from weaveworks/fix-istio-examples
docs: Update A/B testing docs for Istio 1.5
2020-03-16 09:29:43 +02:00
Takeshi Yoneda
ebfbe1b535 Merge pull request #504 from weaveworks/nop-notifier
fix: nil pointer on notifier
2020-03-15 21:39:53 +09:00
mathetake
f0bd307d3c fix: nil pointer on notifier 2020-03-15 18:44:05 +09:00
stefanprodan
bc4e0d69a2 docs: Update A/B testing docs for Istio 1.5
- change the header match condition to a regex expression compatible with google re2
2020-03-14 14:51:37 +02:00
Stefan Prodan
b8682ccfd4 Merge pull request #500 from weaveworks/fix-docs-links
docs: fix wrong links
2020-03-14 09:51:00 +02:00
mathetake
51adfc1f60 docs: fix wrong links 2020-03-14 16:33:46 +09:00
Stefan Prodan
38299fd947 Merge pull request #494 from weaveworks/docs-faq
docs: How to retry a failed release
2020-03-11 08:21:36 +02:00
stefanprodan
3a1e66ec03 docs: How to retry a failed release 2020-03-10 16:30:20 +02:00
Takeshi Yoneda
9a5328b507 Merge pull request #492 from weaveworks/mirror-percentage
istio router: make mirrorPercentage configurable for traffic mirroring
2020-03-10 16:44:41 +09:00
Stefan Prodan
99103840a1 Merge pull request #493 from weaveworks/query-deprecation
docs: Add metric.query deprecation notice
2020-03-10 09:42:01 +02:00
Stefan Prodan
7a24cee6d5 Merge pull request #490 from staceypotter/patch-1
docs: Fix typo in changelog
2020-03-10 09:29:26 +02:00
stefanprodan
523903e0af docs: Add metric.query deprecation notice 2020-03-10 09:22:25 +02:00
mathetake
7380dbb8ab make MirrorWeight's type int, not float64 2020-03-10 15:47:46 +09:00
mathetake
3425d6e965 pkg/router/istio: use canary.GetAnalysis to prevent nil pointer 2020-03-10 15:28:20 +09:00
mathetake
d911e1ddc5 docs: add mirrorWeight example 2020-03-10 15:16:03 +09:00
mathetake
aec0010b14 ignore MirrorPercentage in reconcileVirtualService 2020-03-10 14:54:57 +09:00
mathetake
3a887afa38 fix json key of mirrorWeight 2020-03-10 14:15:18 +09:00
mathetake
adff6989f5 pkg/router/istio: add test for mirrorWeight 2020-03-10 11:42:44 +09:00
mathetake
1f6160148c change CanaryAnalysis to Analysis left in tests 2020-03-10 11:25:57 +09:00
mathetake
8242e7691a pkg/router/istio: set mirrorWeight if provided 2020-03-10 09:53:53 +09:00
mathetake
cb130d3239 add api changes for making mirrorPercentage configurable 2020-03-10 09:43:23 +09:00
Stacey Potter
246e5f8c13 fixed typo
"where" to "were"
2020-03-09 10:19:50 -07:00
Stefan Prodan
c5dffbaa3f Merge pull request #489 from weaveworks/e2e-nginx-0.30.0
e2e: Update NGINX ingress to v0.30.0
2020-03-09 19:19:47 +02:00
stefanprodan
31090d08b6 e2e: Update NGINX ingress to v0.30.0 2020-03-09 18:44:49 +02:00
Stefan Prodan
010852edd1 Merge pull request #486 from weaveworks/docs-istio-telemetry-v2
docs: Add Istio telemetry v2 to upgrade guide
2020-03-09 12:39:30 +02:00
stefanprodan
2e54ef4a31 docs: Add Istio telemetry v2 to upgrade guide 2020-03-09 12:11:56 +02:00
Takeshi Yoneda
39c5968606 Merge pull request #485 from weaveworks/fix-doc-canaryAnalysis-analysis
docs: change canaryAnalysis left in docs to analysis
2020-03-09 18:36:42 +09:00
mathetake
951386392d docs: change canaryAnalysis to analysis as it's deprecated 2020-03-09 18:19:58 +09:00
Stefan Prodan
714dd86cd4 Merge pull request #484 from weaveworks/scheduler-refactoring
pkg/controller: Refactor scheduler
2020-03-09 11:12:48 +02:00
stefanprodan
d35290dd6e pkg/controller: Refactor scheduler
- move scheduler metrics and hooks to dedicate files
- remove weight params from shouldSkipAnalysis
2020-03-09 10:40:16 +02:00
Stefan Prodan
fbc886794e Merge pull request #483 from weaveworks/kube-e2e
e2e: Consolidate Kubernetes e2e tests
2020-03-09 10:32:33 +02:00
stefanprodan
5cd78bfd40 e2e: Consolidate Kubernetes e2e tests
- run both Deployment and DaemonSet tests on the same Kubernetes Kind cluster
- add cleanup script that deletes the test namespace before running the DaemonSet tests
- set Kubernetes version to 1.17.2
2020-03-09 10:10:37 +02:00
Takeshi Yoneda
862dfbde94 Merge pull request #481 from weaveworks/daemonset-service-router
pkg/router: renamed KubernetesDeploymentRouter to KubernetesDefaultRouter
2020-03-08 17:57:53 +09:00
mathetake
ea42f704f0 pkg/router: rename KubernetesDeploymentRouter to KubernetesDefaultRouter 2020-03-08 17:38:38 +09:00
Stefan Prodan
30dc29b689 Merge pull request #479 from weaveworks/istio-1.5
e2e: Istio 1.5
2020-03-08 10:22:41 +02:00
Takeshi Yoneda
ffbbc2ca33 Merge pull request #480 from weaveworks/refactor-error-handling
refactor error handlings: oraganize messages, wrap with %w and use errors.Is
2020-03-08 17:03:23 +09:00
mathetake
a32bd63eda pkg/metrics/providers/datadog: improve request failure error message 2020-03-08 16:30:50 +09:00
mathetake
22f860a3a3 refactor pkg/controller 2020-03-08 16:06:53 +09:00
mathetake
ce89a24947 pkg/canary: refator error handling 2020-03-08 13:38:27 +09:00
mathetake
f34d94a912 pkg/loadtester: improve error handling messages 2020-03-08 13:12:56 +09:00
mathetake
0be72ab981 pkg/notifier: improve error handling messages 2020-03-08 11:53:03 +09:00
mathetake
23ab1bdb4b pkg/router: improve error handling messages 2020-03-08 11:45:09 +09:00
mathetake
64efd56ce9 pkg/metrics/observers: wrap errors 2020-03-08 10:56:35 +09:00
mathetake
5843b02931 pkg/canary: refator error messages 2020-03-08 10:42:51 +09:00
mathetake
2ec24bb17d pkg/metrics/providers: wrap ErrNoValuesFound and modify controller accordingly 2020-03-08 00:17:52 +09:00
mathetake
7fb675e8aa make deployment tests aligned with daemonset 2020-03-07 23:28:50 +09:00
mathetake
8e9b9a358f pkg/canary: refator error handlings and enhance messages 2020-03-07 23:10:07 +09:00
stefanprodan
e76e718967 e2e: Use custom latency check for Istio 1.5 2020-03-07 11:57:46 +02:00
stefanprodan
438a9839d2 e2e: Update Istio to v1.5.0 2020-03-07 10:34:51 +02:00
Stefan Prodan
e59acc7bae Merge pull request #476 from weaveworks/fix-release-notes
build: generate release notes on disk
2020-03-04 20:48:55 +02:00
stefanprodan
2fb36d58b1 build: generate release notes on disk 2020-03-04 20:48:06 +02:00
Stefan Prodan
c0dbef37c6 Merge pull request #472 from weaveworks/release-1.0.0-rc.1
Release Flagger v1.0.0-RC.1
2020-03-04 19:27:44 +02:00
stefanprodan
cfd2ff92bf Add Ingress v2 to roadmap 2020-03-04 16:13:49 +02:00
stefanprodan
8d9dde2dc7 docs: update Flux tutorial to latest version 2020-03-04 16:13:49 +02:00
stefanprodan
f164eac58e docs: add API changes section to dev guide 2020-03-04 16:13:49 +02:00
stefanprodan
a0a9b7d29a e2e: use kustomize to install the load tester 2020-03-04 16:13:49 +02:00
stefanprodan
6d4db45d6c build: update Go to v1.14 and Alpine to v3.11 2020-03-04 16:13:49 +02:00
stefanprodan
4f0f7ff9db Update examples to v1beta1 API 2020-03-04 16:13:49 +02:00
stefanprodan
e8924a7e27 Update podinfo chart to v1beta1 API 2020-03-04 16:13:49 +02:00
stefanprodan
eced0f45c6 Update roadmap and readme 2020-03-04 16:13:49 +02:00
stefanprodan
23e6209789 Release Flagger 1.0.0-rc.1 2020-03-04 16:13:49 +02:00
stefanprodan
3d2817dd0d Add changelog for v1.0.0-rc.1 2020-03-04 16:13:49 +02:00
Stefan Prodan
5fecefe3b4 Merge pull request #475 from weaveworks/refactor/test-assertion
refactor tests: simplify assertion
2020-03-04 15:40:35 +02:00
mathetake
a616199b81 refactor tests: simplify assertion 2020-03-04 21:46:08 +09:00
Stefan Prodan
c42c624763 Merge pull request #474 from weaveworks/user-Chick-fil-A
Add Chick-fil-A to user list
2020-03-04 10:06:42 +02:00
stefanprodan
ccd27b4614 Add Chick-fil-A to user list 2020-03-04 10:05:51 +02:00
Stefan Prodan
9258cbeecb Merge pull request #471 from weaveworks/flagger-users-dmm-com
add Flagger user: dmm.com
2020-03-03 09:18:44 +02:00
mathetake
c66ef8f935 add Flagger user: dmm.com 2020-03-03 16:17:54 +09:00
Stefan Prodan
cf1f8f4140 Merge pull request #469 from weaveworks/flagger-users
Add Flagger users to readme
2020-03-03 09:12:39 +02:00
stefanprodan
ac3492a7b4 Add Flagger users to readme 2020-03-03 09:11:25 +02:00
Stefan Prodan
b47cfb62b2 Merge pull request #464 from weaveworks/cloud-watch-metrics
pkg/metrics/providers: add AWS CloudWatch provider
2020-03-03 09:05:37 +02:00
mathetake
ecb8207488 pkg/metrics/provider: fix a type in cloudwatch permission name in comments 2020-03-02 22:26:55 +09:00
mathetake
5faf63ed24 docs/gitbooks/usage/metrics: add cloud watch metrics example 2020-03-02 22:21:47 +09:00
mathetake
7b6a5f96a1 pkg/metrics/providers: add region filed for MetricTemplate.Provider
and make Address not required
2020-03-02 21:58:58 +09:00
mathetake
4ff28d7bd5 pkg/metrics/providers: add AWS CloudWatch metrics provider 2020-03-02 21:58:58 +09:00
Stefan Prodan
62f2851dfd Merge pull request #457 from weaveworks/docs-v1beta1
Update docs for Flagger v1beta1 API
2020-03-02 13:30:47 +02:00
stefanprodan
34c9fecf8c docs: add prerequisites to tutorials 2020-03-02 13:05:33 +02:00
stefanprodan
b6958733e1 docs: replace threshold with thresholdRange 2020-03-01 22:36:08 +02:00
stefanprodan
0c998c36cf docs: add upgrade guide for v1beta1 2020-03-01 12:13:55 +02:00
stefanprodan
bf0499e8a6 docs: use metric providers in tutorials 2020-02-29 11:56:13 +02:00
stefanprodan
c4a9712b81 docs: add getting started section 2020-02-29 11:37:18 +02:00
stefanprodan
49c088595e Add code changes section to dev docs 2020-02-28 18:46:52 +02:00
stefanprodan
be4c67540d build: make release compatible with go mod 2020-02-28 18:46:26 +02:00
stefanprodan
a9fba0a1f2 docs: rename canaryAnalysis to analysis 2020-02-28 18:20:57 +02:00
stefanprodan
98ecae93e1 Set API version to v1beta1 in docs examples 2020-02-28 18:20:57 +02:00
stefanprodan
5aa9dd154c Add datadog metric provider to docs
Ref: #460
2020-02-28 18:20:57 +02:00
stefanprodan
e4da4a34a6 Add dev guides section to docs 2020-02-28 18:20:57 +02:00
stefanprodan
2837d4407e Split the CRD docs into canary target, service, status, analysis 2020-02-28 18:20:57 +02:00
stefanprodan
0e81b5f4d2 Update docs for Flagger v1beta1 API 2020-02-28 18:20:57 +02:00
Stefan Prodan
8f12128aaf Merge pull request #467 from weaveworks/build-v1beta1
Release loadtester v0.13.0
2020-02-28 18:19:38 +02:00
stefanprodan
dd7a045542 Release loadtester v0.13.0 2020-02-28 17:58:39 +02:00
stefanprodan
baadc19a42 build: cleanup makefile 2020-02-28 17:46:43 +02:00
stefanprodan
981abdbc85 tester: Update Helm binaries and bash 2020-02-28 17:17:05 +02:00
stefanprodan
273f84b374 tester: Fix health.proto permissions 2020-02-28 13:43:28 +02:00
Stefan Prodan
793e998a39 Merge pull request #463 from weaveworks/analysis-v1beta1
Rename spec.canaryAnalysis to spec.analysis
2020-02-28 13:18:48 +02:00
stefanprodan
9a44c5baac build: add goimports to CI 2020-02-28 12:58:49 +02:00
stefanprodan
a30f688450 fmt: fix imports formatting
- run gofmt and goimports
2020-02-28 12:52:23 +02:00
stefanprodan
19faf67523 e2e: update istio to 1.4.5 and NGINX to 1.33.0 2020-02-28 12:28:09 +02:00
stefanprodan
3e0867040f Add unit tests for canary phases 2020-02-28 11:31:47 +02:00
stefanprodan
82660e23da Update e2e tests to v1beta1
- set Canary API version to flagger.app/v1beta1
- rename canaryAnalysis to analysis
2020-02-28 11:31:27 +02:00
stefanprodan
43662582b8 Replace spec.canaryAnalysis with spec.analysis in CRD
- rename spec.canaryAnalysis to spec.analysis
- required fields: spec.analysis.interval and spec.analysis.threshold
2020-02-28 11:30:06 +02:00
stefanprodan
287977c2b5 Deprecate spec.canaryAnalysis replaced by spec.analysis
- add analysis field to Canary spec
- deprecate canaryAnalysis filed (to be removed in the next API version)
- maintain backwards compatibility with v1alpha3 by using spec.canaryAnalysis if spec.analysis is nil
- set analysis threshold default value to 1
2020-02-28 11:24:38 +02:00
Stefan Prodan
41f644ab8c Merge pull request #461 from weaveworks/add-maintainer/mathetake
docs: add maintainer: @mathetake
2020-02-27 13:41:37 +02:00
mathetake
74618a9016 docs: add maintainer: @mathetake 2020-02-27 13:22:59 +02:00
Stefan Prodan
450dcd692e Merge pull request #462 from weaveworks/ci-push
ci: push container for master only
2020-02-27 13:22:18 +02:00
stefanprodan
e2b4a3de32 ci: push container for master only 2020-02-27 13:03:58 +02:00
Stefan Prodan
c17c69ec1b Merge pull request #460 from mathetake/datadog-metrics-provider
feature: add datadog metrics provider
2020-02-27 11:41:55 +02:00
mathetake
a157824130 metrics/provider: add datadog metrics provider
implement metrics provider interface for datadog, tested against
the actual datadog account

resolves #284
2020-02-27 17:35:03 +09:00
Stefan Prodan
6c398c246f Merge pull request #455 from mathetake/feature/daemonset-target
feat: Support daemonset target kind
2020-02-26 12:02:54 +02:00
Stefan Prodan
31f38a4f43 GitBook: [master] 24 pages modified 2020-02-26 08:43:28 +00:00
mathetake
9c8b887d30 use LastTransitionTime for deadline calculation
and run goimports on several files
2020-02-26 12:57:26 +09:00
mathetake
eec343f3aa prevent infinite loop 2020-02-25 18:14:43 +09:00
mathetake
4fe19be9b7 allow flagger to access to apps.daemonsts resources 2020-02-25 13:25:37 +09:00
mathetake
cc07c2891e add DaemonSet targetKind in crd and change label selector
and ignore daemonSetScaleDownNodeSelector in target spec change detection
2020-02-25 13:00:36 +09:00
mathetake
336344720c add e2e test for daemonset target type 2020-02-23 13:55:45 +09:00
mathetake
5af1665ef8 pkg/controller: add unit test for daemonset target 2020-02-23 13:39:11 +09:00
mathetake
a828b43463 pkg/canary: add daemonset target controller 2020-02-23 12:25:38 +09:00
Stefan Prodan
bf1089b204 Merge pull request #454 from weaveworks/contour-1.2
Contour 1.2
2020-02-22 08:55:32 +02:00
stefanprodan
0c2d7da136 Use Contour 1.2 in e2e tests 2020-02-22 00:50:38 +02:00
stefanprodan
3968e84efd Fix Contour header override for Linkerd 2020-02-22 00:46:00 +02:00
Stefan Prodan
54d4df5751 Merge pull request #450 from weaveworks/istio-multi-cluster
Add docs for Istio multi-cluster setup
2020-02-21 10:28:02 +02:00
stefanprodan
65c7fd1cf8 Add links to ingress controllers installers 2020-02-20 18:15:42 +02:00
stefanprodan
c3cb9e394d Add docs for Istio multi-cluster setup
- add istio.kubeconfig options to Helm chart
- rename command flag to kubeconfig-service-mesh
2020-02-20 17:57:01 +02:00
Stefan Prodan
ab00a0099c Merge pull request #447 from viditganpi/canary-for-multi-cluster-istio
Add support for Istio multi-cluster
2020-02-20 17:16:08 +02:00
Vidit Mathur
0d493f658d removed non-required binary file 2020-02-20 20:12:56 +05:30
Vidit Mathur
13342e5e7f corrected formatting 2020-02-20 19:55:47 +05:30
Vidit Mathur
1f0a4d9f35 Changes
1. Modified deployment.yaml to remove source config
    2. Modified values to change default kubeconfigHost values
    3. Removed debugging logs
2020-02-20 19:44:57 +05:30
Vidit Mathur
8e996b61ae removed mode, fallback to default mode for secret file 2020-02-19 17:37:21 +05:30
Vidit Mathur
5462db7c11 1. Modified cmd/main to consume host kubeconfig
and service kubeconfig
2. Modified deployment to pass and mount secrets
   for configs.
2020-02-19 17:23:33 +05:30
Stefan Prodan
91ef81201e Merge pull request #449 from ta924/loadtesterRollbackSupport
Add support for rollback gating in tester API
2020-02-19 10:13:28 +02:00
Tanner Altares
34ed690416 update the docs 2020-02-18 15:00:03 -06:00
Tanner Altares
0598e4b51e add support for rollback gating for loadtester 2020-02-18 12:33:52 -06:00
Stefan Prodan
7f9cc30b07 Merge pull request #448 from weaveworks/docs-dev
docs: Add development and release guide
2020-02-18 18:47:31 +02:00
stefanprodan
52ee018ffd Add dev guide to readme 2020-02-18 18:27:15 +02:00
stefanprodan
3b8c285870 Move examples to tutorials docs 2020-02-18 18:13:20 +02:00
stefanprodan
77aef5591d Add deployment strategies to usage docs 2020-02-18 18:12:53 +02:00
stefanprodan
143397c45e Add development guide to docs 2020-02-18 18:12:23 +02:00
Stefan Prodan
c6884fb5b4 Merge pull request #446 from weaveworks/fix-hashing
Fix spec changes detection
2020-02-18 11:54:59 +02:00
Vidit Mathur
2cb6ce4697 Subject:- Canary support for istio multi cluster
Body:-
If applied this commit will resolve the following reported issue https://github.com/weaveworks/flagger/issues/437
Have added support for consuming kubeconfig of istio host cluster where istio
resources will be created.
2020-02-18 12:07:59 +05:30
stefanprodan
c3b1ee6dae Add test for last promoted hash 2020-02-18 08:32:56 +02:00
stefanprodan
f5182061ef Compute spec hash with spew instead of hashstructure 2020-02-17 20:00:35 +02:00
stefanprodan
890365c189 ci: List PRs in release notes 2020-02-17 16:48:53 +02:00
Stefan Prodan
0801576dcf Merge pull request #442 from weaveworks/header-ops
Use header operations in Istio router
2020-02-15 10:15:41 +02:00
stefanprodan
3a5a0faa4f build: List PRs in release notes 2020-02-15 00:45:50 +02:00
stefanprodan
172c4f56dd Use header operations in Istio router
- remove deprecated appendHeaders from Istio client
- propagate header operations from canary service headers to Istio virtual service
- add Istio router tests for request/response header removal
- update header operations examples in docs
2020-02-14 13:59:36 +02:00
Stefan Prodan
e1bb8e741e Merge pull request #441 from weaveworks/istio-v1alpha3
Extend Istio traffic policy
2020-02-14 13:02:05 +02:00
stefanprodan
b4753f68b5 Disable CRD creation for Helm v2 2020-02-14 12:45:31 +02:00
stefanprodan
33d57af233 e2e: Install CRDs with Helm v3 2020-02-14 12:43:21 +02:00
stefanprodan
0106dff2d7 Update packages to Kubernetes v1.17.2 2020-02-14 12:35:33 +02:00
stefanprodan
37a2bf966a Sync CRDs from artifacts dir 2020-02-14 12:35:03 +02:00
stefanprodan
57b1732b67 Add crds dir to Helm chart
Allow installing the CRDs with Helm v3
2020-02-14 12:34:18 +02:00
stefanprodan
acce3a9c13 Add Istio traffic policy validation schema to CRD 2020-02-14 12:31:59 +02:00
stefanprodan
05050c950a Add missing fields to Istio destination rule
- add ConsecutiveGatewayErrors, Consecutive5xxErrors and MinHealthPercent to OutlierDetection
- add H2UpgradePolicy and IdleTimeout to ConnectionPool HTTPSettings
2020-02-14 12:30:15 +02:00
Stefan Prodan
8c1166fa5b Merge pull request #440 from weaveworks/smi-v1alpha2-client
SMI TrafficSplit v1alpha2 client
2020-02-14 11:20:03 +02:00
stefanprodan
68c6d302b7 Add SMI router tests 2020-02-14 00:40:01 +02:00
stefanprodan
951a4435eb Add SMI v1alpha1 to v1alpha2 conversion 2020-02-14 00:39:49 +02:00
stefanprodan
98bd8696f2 Refactor router test fixture 2020-02-14 00:38:51 +02:00
stefanprodan
41f535191e Add SMI TrafficSplit v1alpha2 client 2020-02-14 00:37:25 +02:00
Stefan Prodan
0697343b7c Merge pull request #438 from weaveworks/e2e-updates
Update e2e tests and docs
2020-02-13 18:14:36 +02:00
stefanprodan
39e44e6a7a e2e: Update Istio to v1.4.4 2020-02-13 17:42:58 +02:00
stefanprodan
67ba14e438 e2e: Update Linkerd to v2.7.0 2020-02-13 17:22:30 +02:00
Stefan Prodan
1a9cec9cb7 Merge pull request #436 from weaveworks/istio-gateway-port
Set destination port for Istio ingress gateways
2020-02-13 17:11:28 +02:00
stefanprodan
6347861fda Update docs to Helm v3 2020-02-13 12:59:13 +02:00
stefanprodan
bd3435b82d Update Gloo docs to v1.3.5 2020-02-13 12:45:47 +02:00
stefanprodan
0bd66f4603 e2e: Update Gloo gateway proxy address 2020-02-13 12:19:36 +02:00
stefanprodan
78dacc98fa e2e: Fix NGINX helm uninstall 2020-02-13 12:17:30 +02:00
stefanprodan
71a220d432 e2e: Fix Gloo routes 2020-02-13 11:54:36 +02:00
stefanprodan
089aa1fe22 e2e: Create namespaces for Helm v3 2020-02-13 11:23:10 +02:00
stefanprodan
c88fa5d882 e2e: Update Gloo to v1.3.5 2020-02-13 11:14:26 +02:00
stefanprodan
14214bc2fe e2e: Update Helm to v3.0.3 2020-02-13 11:14:07 +02:00
stefanprodan
4c5b226b4c Add tests for Istio gateways 2020-02-12 11:21:52 +02:00
Stefan Prodan
4d8b153cf9 Merge pull request #433 from weaveworks/projected-configs
Track projected configmaps and secrets
2020-02-12 09:37:56 +02:00
stefanprodan
ea4d9ba58d Set destination port for Istio ingress gateways 2020-02-11 17:07:10 +02:00
stefanprodan
c181eb464c Track projected configmaps and secrets
- scan volumes with projected configmaps and secrets
- update primary volumes with configmaps and/or secrets projections
- add tests for configmaps and secrets projections
2020-02-11 11:36:16 +02:00
Stefan Prodan
ad68ca3a4a Merge pull request #429 from weaveworks/alerts
Implement canary alerts and alert providers
2020-02-11 11:21:30 +02:00
Stefan Prodan
963a9afd09 Merge pull request #430 from heubeck/eventhookUrlFromEnv
Add webhookUrl env parameter
2020-02-11 08:48:36 +02:00
Florian Heubeck
4e8b7d4cb4 Add webhookUrl env parameter
Environment variable 'EVENT_WEBHOOK_URL' can be used to override/set eventWebhook argument that serves as default value
2020-02-10 18:31:08 +01:00
stefanprodan
fd85a3426a Implement Rocket chat notifier 2020-02-10 18:23:34 +02:00
stefanprodan
e257d48262 Add unit tests for canary alerts 2020-02-10 17:24:06 +02:00
stefanprodan
1a87a9be45 Implement notifications based on alert providers and severity 2020-02-10 15:25:56 +02:00
stefanprodan
35cf634d89 Implement Discord notifier with Slack formatting 2020-02-10 11:39:57 +02:00
stefanprodan
86e813f6b7 Add alert providers to RBAC 2020-02-10 11:05:53 +02:00
stefanprodan
c4c3342eb9 Add alert provider to CRD yamls 2020-02-10 10:36:31 +02:00
stefanprodan
898edee67e Refactor Flagger APIs and tests
- add CrossNamespaceObjectReference type
- add informers collection to controller
- use the informer cache to query for metric templates
- rename mock to fixture
- regenerate clientset
2020-02-10 10:36:31 +02:00
stefanprodan
0673b54092 Implement AlertProvider CRD 2020-02-10 10:36:31 +02:00
Stefan Prodan
3cfb1fbb65 Merge pull request #425 from weaveworks/nop-tracker
Allow disabling secrets/configmaps tracking
2020-02-10 09:44:51 +02:00
Stefan Prodan
ea4a84991e Merge pull request #424 from weaveworks/threshold-range
Implement metric range validation
2020-02-09 10:19:34 +02:00
stefanprodan
d5ba46965f Allow config tracking option to chart 2020-02-08 22:52:05 +02:00
stefanprodan
7c0e3d9a0b Allow config tracking toggling
- Add enable-config-tracking command arg (true by default)
- Add no-operation tracker
- Add tests for nop tracker
2020-02-08 22:24:46 +02:00
stefanprodan
5c479d9d80 Add metric templates to controller tests 2020-02-08 20:09:33 +02:00
stefanprodan
8f99e589a6 Add metrics to controller tests
Fix: #387
2020-02-08 19:08:36 +02:00
stefanprodan
e4e92b3353 Add metric threshold range to e2e tests 2020-02-08 15:14:52 +02:00
stefanprodan
228954b5db Improve Canary CRD schema validation
- add thresholdRange validation
- add Kubernetes Kind validation for target, autoscaler and ingress
- add validation for webhook metadata map[string]string
- add missing Istio types to schema validation
2020-02-08 15:11:11 +02:00
stefanprodan
de03d49f55 Implement metric threshold range
- add CanaryThresholdRange type to Canary API
- add optional thresholdRange field to the analysis metric object
- implement min/max metric result validation
- thresholdRange takes precedence over threshold when both are specified
2020-02-08 15:04:03 +02:00
Stefan Prodan
b7c2dcda0e Merge pull request #423 from weaveworks/crd-v1beta1
crd: Release flagger.app/v1beta1
2020-02-07 13:10:11 +02:00
stefanprodan
f2f2a9fc58 Add provider type to metric template printer 2020-02-07 12:48:39 +02:00
stefanprodan
22589265ce Keep serving v1alpha3 for backwards compat 2020-02-07 12:35:56 +02:00
stefanprodan
3f83f306a5 Upgrade canary resources in-cluster 2020-02-07 12:35:56 +02:00
stefanprodan
448c210324 Release API version v1beta1
- bump Canary and MetricTemplate version to v1beta1
- regenerate clientset and CRD
2020-02-07 12:35:56 +02:00
Stefan Prodan
ea39041b24 Merge pull request #419 from weaveworks/metric-template
Implement metric templates for Prometheus
2020-02-07 12:32:14 +02:00
stefanprodan
eec287a501 Check if CRDs are registered before starting informers 2020-02-06 15:07:53 +02:00
stefanprodan
54c03f4d07 Add metric templates to RBAC 2020-02-06 15:07:53 +02:00
stefanprodan
95b389a8fa Add e2e tests for metric templates 2020-02-06 15:07:53 +02:00
stefanprodan
b17d84a39d Run the metric checks defined in templates 2020-02-06 15:07:53 +02:00
stefanprodan
d7d9d1eabe Migrate the builtin Prometheus checks to metric templates 2020-02-06 15:07:53 +02:00
stefanprodan
d154c63ac3 Implement Prometheus provider 2020-02-06 15:07:53 +02:00
stefanprodan
d9252748d2 Add MetricTemplate CRD and clientset 2020-02-06 15:07:53 +02:00
Stefan Prodan
1cca5a455b Merge pull request #422 from weaveworks/prep-0.23.0
Release v0.23.0
2020-02-06 15:06:23 +02:00
stefanprodan
1b651500a1 Release v0.23.0 2020-02-06 14:49:04 +02:00
Stefan Prodan
e457b6d35c Merge pull request #420 from ta924/manualrollback
Add support for gated rollback
2020-02-06 13:48:32 +02:00
Tanner Altares
402dda71e6 manual push to trigger build 2020-02-05 19:17:45 -06:00
Tanner Altares
69e969ac51 modify the hook name 2020-02-05 14:49:35 -06:00
Tanner Altares
edbc373109 add docs for manual rollback 2020-02-05 14:14:13 -06:00
Tanner Altares
1d23c0f0a2 update CRD manifest to add rollback enum to webhook validation 2020-02-05 10:29:32 -06:00
Tanner Altares
fa950e1a48 support gated rollback 2020-01-30 15:11:59 -06:00
Stefan Prodan
e31ecbedf0 Merge pull request #416 from weaveworks/service-name
Implement service name override
2020-01-28 21:22:41 +02:00
stefanprodan
b982c9e2ae Fix service pod selector 2020-01-26 18:52:15 +02:00
stefanprodan
3766c843fe Add service name field to docs 2020-01-26 13:00:07 +02:00
stefanprodan
e00d9962d6 Use service name override in Kubernetes e2e tests 2020-01-26 12:59:51 +02:00
stefanprodan
940e547e88 Implement service name override
Use targetRef.name as the Kubernetes service name prefix only if service name is not specified
Warn about routing conflicts when service name changes
2020-01-26 12:48:49 +02:00
stefanprodan
e3ecebc9ae Add service name field to Canary CRD 2020-01-26 12:46:08 +02:00
stefanprodan
c38bd144e4 Update Kubernetes packages to v1.17.1 2020-01-25 12:51:44 +02:00
Stefan Prodan
2be6f3d678 Merge pull request #412 from weaveworks/prep-release-0.22.0
Release v0.22.0
2020-01-16 19:50:25 +02:00
stefanprodan
3d7091a56b Use Kubernetes v1.17.0 in e2e tests 2020-01-16 19:33:17 +02:00
stefanprodan
1f0305949e Update Prometheus to v2.15.2 2020-01-16 14:48:06 +02:00
stefanprodan
1332db85c5 Add selector-labels example to docs
Fix: #403
2020-01-16 14:38:50 +02:00
stefanprodan
1f06ec838d Release Flagger v0.22.0 2020-01-16 14:32:33 +02:00
Stefan Prodan
308351918c Merge pull request #411 from weaveworks/contour-up
Update Contour to v1.1 and add Linkerd header
2020-01-16 14:22:51 +02:00
stefanprodan
558a1fc6e6 Add Linkerd l5d-dst-override header to Contour routes 2020-01-16 11:26:02 +02:00
stefanprodan
bc3256e1c5 Update Contour to v1.1 2020-01-16 11:08:55 +02:00
Stefan Prodan
6eaf421f98 Merge pull request #409 from weaveworks/event-webhook
Implement event dispatching webhook
2020-01-16 11:02:32 +02:00
stefanprodan
1271f12d3f Add the event webhook type to docs 2020-01-15 14:29:51 +02:00
stefanprodan
4776b1d285 Implement events dispatching for the event webhook type 2020-01-15 14:12:22 +02:00
stefanprodan
e4dc923299 Add event webhook type to CRD 2020-01-15 14:10:38 +02:00
Stefan Prodan
98ba38d436 Merge pull request #408 from weaveworks/e2e-updates
e2e: Update Kubernetes Kind to v0.7.0
2020-01-15 13:27:14 +02:00
stefanprodan
9d765feb38 Remove deprecated Kind command from e2e 2020-01-14 13:12:54 +02:00
stefanprodan
7e6a70bdbf Update Kubernetes Kind to v0.7.0 2020-01-14 12:55:20 +02:00
Stefan Prodan
455ec1b6e7 Merge pull request #407 from weaveworks/istio-1.4
Update Istio e2e to v1.4.3
2020-01-14 12:48:12 +02:00
Stefan Prodan
3b152a370f Merge pull request #406 from weaveworks/kube-1.17
Update Kubernetes packages to 1.17
2020-01-13 16:03:40 +02:00
stefanprodan
8d7d5e6810 Update Istio e2e to v1.4.3 2020-01-11 20:59:00 +02:00
stefanprodan
8dc4c03258 Update Kubernetes packages to 1.17 2020-01-11 18:24:31 +02:00
Stefan Prodan
0082b3307b Merge pull request #401 from mrparkers/event-webhook
adds general purpose event webhook
2020-01-11 17:54:32 +02:00
Michael Parker
b1a9c33d36 add docs 2020-01-09 16:11:03 -06:00
Michael Parker
6e06cf1074 use unix timestamp ms 2020-01-09 16:10:56 -06:00
Michael Parker
8d61e6f893 rename 2020-01-09 14:26:53 -06:00
Michael Parker
9c71e70a0a webhook tests 2020-01-09 14:25:43 -06:00
Michael Parker
91395ea1ab deepcopy canary for failed notification 2020-01-09 11:05:22 -06:00
Michael Parker
0894304fce use canary copy for new revision notification 2020-01-09 10:45:13 -06:00
Michael Parker
9cfa0ac43f update event payload schema 2020-01-07 11:11:52 -06:00
Michael Parker
1d5029d607 Merge branch 'event-webhook' of github.com:mrparkers/flagger into event-webhook 2020-01-07 09:39:13 -06:00
Michael Parker
e6d1880c93 use correct event type 2020-01-07 09:38:14 -06:00
Michael Parker
6da533090a Update controller.go 2020-01-06 19:12:39 -06:00
Michael Parker
17efcaa6d1 update helm chart 2020-01-06 16:35:52 -06:00
Michael Parker
38dfda9d8f add event-webhook command line flag 2020-01-06 16:35:42 -06:00
stefanprodan
0abc254ef2 Add Contour TLS guide to docs 2020-01-06 16:29:04 +02:00
Stefan Prodan
db427b5e54 Merge pull request #400 from weaveworks/release-0.21.0
Release 0.21.0
2020-01-06 10:23:46 +00:00
stefanprodan
b49d63bdfe Update e2e tests to Linkerd 2.6.1 2020-01-06 12:02:53 +02:00
stefanprodan
c84f7addff Release 0.21.0 2020-01-06 11:43:48 +02:00
Stefan Prodan
5d72398925 Merge pull request #397 from weaveworks/contour
Add support for Contour ingress controller
2020-01-06 08:08:47 +00:00
stefanprodan
11d16468c9 Add Contour TLS guide link to docs 2019-12-29 13:36:55 +02:00
Stefan Prodan
82b61d69b7 Merge pull request #399 from int128/pod-monitor
Add PodMonitor template to flagger chart
2019-12-24 14:35:39 +02:00
Hidetake Iwata
824391321f Add PodMonitor template to flagger chart 2019-12-24 12:55:40 +09:00
stefanprodan
a7c242e437 Add user agent match examples to Contour docs 2019-12-20 18:26:18 +02:00
stefanprodan
1544610203 Add Contour e2e test for canary rollback 2019-12-20 14:38:06 +02:00
stefanprodan
14ca775ed9 Set Contour namespace in kustomization 2019-12-20 14:33:03 +02:00
stefanprodan
f1d29f5951 Set Contour idle timeout to 5m 2019-12-20 14:32:24 +02:00
stefanprodan
ad0a66ffcc Add Contour usage docs and diagrams 2019-12-20 11:47:44 +02:00
stefanprodan
4288fa261c Add Contour reference to docs 2019-12-20 11:47:00 +02:00
stefanprodan
a537637dc9 Add Flagger Kustomize installer for Contour 2019-12-20 11:46:23 +02:00
stefanprodan
851c6701b3 Add unit tests for Contour prefix, timeout and retries 2019-12-19 19:06:47 +02:00
stefanprodan
bb4591106a Add Contour URL prefix 2019-12-19 18:48:31 +02:00
stefanprodan
7641190ecb Add Contour timeout and retry policies 2019-12-19 18:27:35 +02:00
stefanprodan
02b579f128 Add unit tests for Contour routes 2019-12-19 15:30:53 +02:00
stefanprodan
9cf6b407f1 Add unit tests for Contour router reconciliation 2019-12-19 15:15:02 +02:00
stefanprodan
c3564176f8 Add unit tests for Contour observer 2019-12-19 12:41:39 +02:00
stefanprodan
ae9cf57fd5 Add e2e tests for Contour header routing 2019-12-19 12:22:57 +02:00
stefanprodan
ae63b01373 Implement Contour A/B testing 2019-12-19 12:02:20 +02:00
stefanprodan
c066a9163b Set HTTPProxy status on init 2019-12-19 09:58:32 +02:00
stefanprodan
38b04f2690 Add Contour canary e2e tests 2019-12-19 09:38:23 +02:00
stefanprodan
ee0e7b091a Implement Contour router for traffic shifting 2019-12-18 19:29:17 +02:00
stefanprodan
e922c3e9d9 Add Contour metrics 2019-12-18 19:29:17 +02:00
stefanprodan
2c31a4bf90 Add Contour CRD to Flagger RBAC 2019-12-18 19:29:17 +02:00
stefanprodan
7332e6b173 Add Contour HTTPProxy CRD and clientset 2019-12-18 19:29:17 +02:00
Stefan Prodan
968d67a7c3 Merge pull request #386 from mumoshu/envoy-canary-analysis
feat: Support for canary analysis on deployments and services behind Envoy
2019-12-18 19:22:18 +02:00
Yusuke Kuoka
266b957fc6 Fix CrossoverServiceObserver's ID 2019-12-18 22:11:21 +09:00
Yusuke Kuoka
357ef86c8b Differentiate AppMesh observer vs Crossover observer
To not break AppMesh integration.
2019-12-18 22:03:30 +09:00
Yusuke Kuoka
d75ade5e8c Fix envoy dashboard, scheduler, and envoy metrics provider to correctly pass canary analysis and show graphs 2019-12-18 10:55:49 +09:00
Yusuke Kuoka
806b95c8ce Do send http requests only to canary for canary analysis 2019-12-18 09:06:22 +09:00
Yusuke Kuoka
bf58cd763f Do use correct envoy metrics for canary analysis 2019-12-18 09:05:37 +09:00
Yusuke Kuoka
52856177e3 Fix trafficsplits api version for envoy+crossover 2019-12-18 09:03:41 +09:00
Yusuke Kuoka
58c3cebaac Fix the dashboard and the steps to browse it 2019-12-17 20:18:33 +09:00
Yusuke Kuoka
1e5d05c3fc Improve Envoy/Crossover installation experience with the chart registry 2019-12-17 17:02:50 +09:00
Yusuke Kuoka
020129bf5c Fix misconfiguration 2019-12-17 15:45:16 +09:00
Stefan Prodan
3ff0786e1f Merge pull request #394 from weaveworks/helm-tester-v3.0.1
Update Helm tester to Helm v3.0.1
2019-12-17 08:21:57 +02:00
stefanprodan
a60dc55dad Update Helm tester to Helm v3.0.1 2019-12-17 00:10:11 +02:00
Stefan Prodan
ff6acae544 Merge pull request #391 from weaveworks/appmesh-docs-fix
App Mesh docs fixes
2019-12-06 00:13:34 +07:00
stefanprodan
09b5295c85 Fix App Mesh gateway namespace 2019-12-05 23:39:13 +07:00
stefanprodan
9e423a6f71 Fix metrics-server install for EKS 2019-12-05 23:36:58 +07:00
Stefan Prodan
0ef05edf1e Merge pull request #390 from weaveworks/e2e-kube-1.16
Update e2e tests to Kubernetes v1.16
2019-12-05 18:06:39 +07:00
stefanprodan
a59901aaa9 Update e2e tests to Kubernetes 1.16 2019-12-04 15:35:36 +07:00
Stefan Prodan
53be3e07d2 Merge pull request #389 from weaveworks/release-0.20.4
Release 0.20.4
2019-12-03 14:56:40 +07:00
stefanprodan
2eb2ae52cd Release v0.20.4 2019-12-03 14:31:07 +07:00
stefanprodan
7bcc76eca0 Update Grafana to 6.5.1 2019-12-03 14:30:03 +07:00
Yusuke Kuoka
0d531e7bd1 Fix loadtester config in the envoy doc 2019-12-01 23:29:21 +09:00
Yusuke Kuoka
08851f83c7 Make envoy + crossover installation a bit more understandable 2019-12-01 23:25:29 +09:00
Stefan Prodan
295f5d7b39 Merge pull request #384 from weaveworks/svc-init
Add initialization phase to Kubernetes router
2019-12-01 10:08:18 +07:00
Yusuke Kuoka
a828524957 Add the guide for using Envoy and Crossover for Deployment targets
Ref #385
2019-11-30 13:03:01 +09:00
Yusuke Kuoka
6661406b75 Metrics provider for deployments and services behind Envoy
Assumes `envoy:smi` as the mesh provider name as I've successfully tested the progressive delivery for Envoy + Crossover with it.

This enhances Flagger to translate it to the metrics provider name of `envoy` for deployment targets, or `envoy:service` for service targets.

The `envoy` metrics provider is equivalent to `appmesh`, as both relies on the same set of standard metrics exposed by Envoy itself.

The `envoy:service` is almost the same as the `envoy` provider, but removing the condition on pod name, as we only need to filter on the backing service name = envoy_cluster_name. We don't consider other Envoy xDS implementations that uses anything that is different to original servicen ames as `envoy_cluster_name`, for now.

Ref #385
2019-11-30 13:03:01 +09:00
stefanprodan
8766523279 Add initialization phase to Kubernetes router
Create Kubernetes services before deployments because Envoy's readiness depends on existing ClusterIPs
2019-11-27 22:15:04 +02:00
Stefan Prodan
b02a6da614 Merge pull request #383 from weaveworks/e2e-ups
Update nginx-ingress to 1.26.0
2019-11-27 18:51:27 +02:00
stefanprodan
89d7cb1b04 Update nginx-ingress to 1.26.0 2019-11-27 17:48:37 +02:00
Stefan Prodan
59d18de753 Merge pull request #372 from mumoshu/svc-support
feat: Canary-release anything behind K8s service
2019-11-27 16:44:56 +02:00
Yusuke Kuoka
e1d8703a15 Refactor to merge KubernetesServiceRouter into ServiceController
The current design is that everything related to managing the targeted resource should go into the respective implementation of `canary.Controller`. In the service-canary use-case our target is Service so rather than splitting and scattering the logics over Controller and Router, everything should naturally go to `ServiceController`. Maybe at the time of writing the first implementation, I was confusing the target service vs the router.
2019-11-27 22:40:40 +09:00
Yusuke Kuoka
1ba595bc6f feat: Canary-release anything behind K8s service
Resolves #371

---

This adds the support for `corev1.Service` as the `targetRef.kind`, so that we can use Flagger just for canary analysis and traffic-shifting on existing and pre-created services. Flagger doesn't touch deployments and HPAs in this mode.

This is useful for keeping your full-control on the resources backing the service to be canary-released, including pods(behind a ClusterIP service) and external services(behind an ExternalName service).

Major use-case in my mind are:

- Canary-release a K8s cluster. You create two clusters and a master cluster. In the master cluster, you create two `ExternalName` services pointing to (the hostname of the loadbalancer of the targeted app instance in) each cluster. Flagger runs on the master cluster and helps safely rolling-out a new K8s cluster by doing a canary release on the `ExternalName` service.
- You want annotations and labels added to the service for integrating with things like external lbs(without extending Flagger to support customizing any aspect of the K8s service it manages

**Design**:

A canary release on a K8s service is almost the same as one on a K8s deployment. The only fundamental difference is that it operates only on a set of K8s services.

For example, one may start by creating two Helm releases for `podinfo-blue` and `podinfo-green`, and a K8s service `podinfo`. The `podinfo` service should initially have the same `Spec` as that of  `podinfo-blue`.

On a new release, you update `podinfo-green`, then trigger Flagger by updating the K8s service `podinfo` so that it points to pods or `externalName` as declared in `podinfo-green`. Flagger does the rest. The end result is the traffic to `podinfo` is gradually and safely shifted from `podinfo-blue` to `podinfo-green`.

**How it works**:

Under the hood, Flagger maintains two K8s services, `podinfo-primary` and `podinfo-canary`. Compared to canaries on K8s deployments, it doesn't create the service named `podinfo`, as it is already provided by YOU.

Once Flagger detects the change in the `podinfo` service, it updates the `podinfo-canary` service and the routes, then analyzes the canary. On successful analysis, it promotes the canary service to the `podinfo-primary` service. You expose the `podinfo` service via any L7 ingress solution or a service mesh so that the traffic is managed by Flagger for safe deployments.

**Giving it a try**:

To give it a try, create a `Canary` as usual, but its `targetRef` pointed to a K8s service:

```
apiVersion: flagger.app/v1alpha3
kind: Canary
metadata:
  name: podinfo
spec:
  provider: kubernetes
  targetRef:
    apiVersion: core/v1
    kind: Service
    name: podinfo
  service:
    port: 9898
  canaryAnalysis:
    # schedule interval (default 60s)
    interval: 10s
    # max number of failed checks before rollback
    threshold: 2
    # number of checks to run before rollback
    iterations: 2
    # Prometheus checks based on
    # http_request_duration_seconds histogram
    metrics: []
```

Create a K8s service named `podinfo`, and update it. Now watch for the services `podinfo`, `podinfo-primary`, `podinfo-canary`.

Flagger tracks `podinfo` service for changes. Upon any change, it reconciles `podinfo-primary` and `podinfo-canary` services. `podinfo-canary` always replicate the latest `podinfo`. In contract, `podinfo-primary` replicates the latest successful `podinfo-canary`.

**Notes**:

- For the canary cluster use-case, we would need to write a K8s operator to, e.g. for App Mesh, sync `ExternalName` services to AppMesh `VirtualNode`s. But that's another story!
2019-11-27 09:07:29 +09:00
Stefan Prodan
446a2b976c Merge pull request #380 from weaveworks/skip-primary-check
Skip primary check on skip analysis
2019-11-26 14:25:57 +02:00
stefanprodan
9af6ade54d Skip primary check on skip analysis 2019-11-25 23:48:22 +02:00
Stefan Prodan
3fbe62aa47 Merge pull request #378 from weaveworks/refac-deployer
Refactor canary package
2019-11-25 21:03:16 +02:00
stefanprodan
4454c9b5b5 Add canary factory for Kubernetes targets
- extract Kubernetes operations to controller interface
- implement controller interface for kind Deployment
2019-11-25 18:45:19 +02:00
Stefan Prodan
c2cf9bf4b1 Merge pull request #373 from sfxworks/deployment-fix
Upgrade deployment spec to apps v1
2019-11-23 16:55:14 +00:00
Samuel Walker
3afc7978bd upgrade deployment spec to apps v1 2019-11-18 11:10:15 -05:00
stefanprodan
7a0ba8b477 Update v0.20.3 changelog 2019-11-13 14:06:14 +02:00
Stefan Prodan
0eb21a98a5 Merge pull request #368 from weaveworks/wrk
Add wrk to load tester tools
2019-11-13 13:59:28 +02:00
stefanprodan
2876092912 Update flagger-appmesh-gateway to 1.1.0 2019-11-13 13:07:59 +02:00
stefanprodan
3dbfa34a53 Add wrk to load tester tools
- add wrk v4.0.2
- update Helm v2 to 2.16.1
- update Helm v3 to 3.0.0-rc.3
2019-11-13 12:54:47 +02:00
Stefan Prodan
656f81787c Merge pull request #367 from andrew-demb/patch-1
Fixed readiness/liveness probe example in docs
2019-11-13 12:10:19 +02:00
Andrii Dembitskyi
920d558fde Fixed readiness/liveness probe example in docs 2019-11-13 09:24:12 +02:00
stefanprodan
638a9f1c93 Fix App Mesh gateway deployment 2019-11-12 13:18:45 +02:00
stefanprodan
f1c3ee7a82 Release v0.20.3 2019-11-11 19:14:05 +02:00
Stefan Prodan
878f106573 Merge pull request #365 from weaveworks/appmesh-gateway-chart
Add App Mesh gateway chart
2019-11-08 21:40:21 +02:00
stefanprodan
945eded6bf Add the App Mesh Gateway to docs 2019-11-08 21:02:51 +02:00
stefanprodan
f94f9c23d6 Patch cluster role bindings in kustomization 2019-11-08 12:40:14 +02:00
stefanprodan
527b73e8ef Use App Mesh Prometheus in kustomization 2019-11-08 12:39:45 +02:00
stefanprodan
d4555c5919 Use weaveworks logo in Helm charts 2019-11-08 12:38:47 +02:00
stefanprodan
560bb93e3d Add App Mesh gateway Helm chart 2019-11-08 12:38:06 +02:00
Stefan Prodan
e7fc72e6b5 Merge pull request #364 from weaveworks/release-0.20.2
Release v0.20.2
2019-11-07 12:08:18 +02:00
stefanprodan
4203232b05 Release v0.20.2 2019-11-07 11:34:25 +02:00
stefanprodan
a06aa05201 Add canary namespace to Linkerd webhooks example 2019-11-07 11:34:00 +02:00
Stefan Prodan
8e582e9b73 Merge pull request #363 from weaveworks/no-hpa
Use the specified replicas when scaling up the canary
2019-11-07 10:44:31 +02:00
stefanprodan
0e9fe8a446 Remove the traffic mention from the custom metrics error log
Fix: #361
2019-11-07 09:36:38 +02:00
stefanprodan
27b4bcc648 Use the specified replicas when scaling up the canary 2019-11-07 09:34:53 +02:00
Stefan Prodan
614b7c74c4 Merge pull request #358 from weaveworks/appmesh-gateway
Expose canaries on public domains with App Mesh Gateway
2019-11-06 13:21:20 +02:00
Stefan Prodan
5901129ec6 Merge pull request #359 from KeisukeYamashita/fix-typo-in-how-it-works
Fix typo in section "Webhook" of how-it-works.md
2019-11-06 13:20:53 +02:00
KeisukeYamashita
ded14345b4 doc(how-it-works): fix typo ca to can in how it works doc 2019-11-05 17:39:45 +09:00
stefanprodan
dd272c6870 Expose canaries on public domains with App Mesh Gateway
- map canary service hosts to domain gateway annotation
- map canary retries and timeout to gateway annotations
2019-11-04 18:26:28 +02:00
Stefan Prodan
b31c7c6230 Merge pull request #356 from weaveworks/docs-cleanup
Docs cleanup
2019-11-04 00:52:47 +02:00
stefanprodan
b0297213c3 Use kustomize in Istio docs 2019-11-04 00:35:28 +02:00
stefanprodan
d0fba2d111 Update Istio SMI tutorial 2019-11-04 00:13:19 +02:00
stefanprodan
9924cc2152 Update NGINX usage docs 2019-11-04 00:12:51 +02:00
Stefan Prodan
008a74f86c Merge pull request #354 from weaveworks/prep-0.20.1
Release v0.20.1
2019-11-03 12:29:14 +02:00
stefanprodan
4ca110292f Add v0.20.1 changelog 2019-11-03 11:57:58 +02:00
stefanprodan
55b4c19670 Release v0.20.1 2019-11-03 11:47:16 +02:00
stefanprodan
8349dd1cda Release load tester v0.11.0
- tools updates: Helm v2.15.1, Helm v3.0.0-rc.2, rimusz helm-tiller v0.9.3, gPRC probe v0.3.1
- add hey test during build
2019-11-03 11:46:18 +02:00
Stefan Prodan
402fb66b2a Merge pull request #353 from weaveworks/fix-promql
Fix Prometheus query escape
2019-11-03 11:04:43 +02:00
stefanprodan
f991274b97 Fix Prometheus query escape
Removing whitespace without trimming spaces
2019-11-03 00:01:32 +02:00
Stefan Prodan
0d94a49b6a Merge pull request #350 from laszlocph/update-hey-link
Updating hey release link
2019-10-30 09:01:56 +02:00
Laszlo Fogas
7c14225442 Updating hey release link 2019-10-30 06:40:57 +01:00
stefanprodan
2af0a050bc Fix Prometheus URL in EKS install docs 2019-10-29 18:32:15 +02:00
Stefan Prodan
582f8d6abd Merge pull request #346 from weaveworks/e2e-up
e2e testing: update providers
2019-10-28 16:26:06 +02:00
stefanprodan
eeea3123ac Update e2e NGINX ingress to v1.24.4 2019-10-28 16:08:00 +02:00
stefanprodan
51fe43e169 Update e2e Helm to v2.15.1 2019-10-28 15:32:02 +02:00
stefanprodan
6e6b127092 Update loadtester Helm to v3.0.0-beta.5 2019-10-28 15:31:17 +02:00
stefanprodan
c9bacdfe05 Update Istio to v1.3.3 2019-10-28 15:19:17 +02:00
stefanprodan
f56a69770c Update Linkerd to v2.6.0 2019-10-28 14:42:16 +02:00
Stefan Prodan
0196124c9f Merge pull request #343 from weaveworks/prep-0.20.0
Release v0.20.0
2019-10-22 19:11:59 +03:00
stefanprodan
63756d9d5f Add changelog for v0.20.0 2019-10-22 17:54:18 +03:00
stefanprodan
8e346960ac Add blue/green service mesh docs 2019-10-22 16:57:49 +03:00
stefanprodan
1b485b3459 Release v0.20.0 2019-10-22 09:39:14 +03:00
Stefan Prodan
ee05108279 Merge pull request #344 from weaveworks/gloo-refactoring
Gloo integration refactoring
2019-10-22 09:38:19 +03:00
stefanprodan
dfaa039c9c Update Goo docs 2019-10-22 00:48:15 +03:00
stefanprodan
46579d2ee6 Refactor Gloo integration
- build Gloo UpstreamGroup clientset
- drop solo-io, envoyproxy, hcl, consul, opencensus, apiextensions deps
- use the native routers with supergloo
2019-10-21 16:33:47 +03:00
Stefan Prodan
f372523fb8 Merge pull request #342 from weaveworks/prom-config
Implement metrics server override
2019-10-17 17:24:24 +03:00
stefanprodan
5e434df6ea Exclude high cardinality cAdvisor metrics 2019-10-17 13:02:18 +03:00
stefanprodan
d6c5bdd241 Implement metrics server override 2019-10-17 11:37:54 +03:00
stefanprodan
cdcd97244c Add the metrics server field to CRD 2019-10-17 11:36:25 +03:00
Stefan Prodan
60c4bba263 Merge pull request #340 from weaveworks/appmesh-ab-testing
Implement App Mesh A/B testing
2019-10-17 10:54:31 +03:00
stefanprodan
2b73bc5e38 Fix A/B testing examples 2019-10-17 09:12:39 +03:00
stefanprodan
03652dc631 Add App Mesh http match headers tests 2019-10-16 15:43:26 +03:00
stefanprodan
00155aff37 Add App Mesh A/B testing example to docs 2019-10-16 10:49:33 +03:00
stefanprodan
206c3e6d7a Implement App Mesh A/B testing 2019-10-15 16:39:54 +03:00
Stefan Prodan
8345fea812 Merge pull request #338 from weaveworks/appmesh-up
Implement App Mesh HTTP retry policy
2019-10-15 08:45:49 +03:00
stefanprodan
c11dba1e05 Add retry policy to docs and examples 2019-10-14 21:03:57 +03:00
stefanprodan
7d4c3c5814 Implement App Mesh HTTP retry policy 2019-10-14 20:27:48 +03:00
stefanprodan
9b36794c9d Update App Mesh CRD 2019-10-14 20:26:46 +03:00
Stefan Prodan
1f34c656e9 Merge pull request #336 from weaveworks/appmesh-router-fix
Generate unique names for App Mesh virtual routers and routes
2019-10-14 19:25:08 +03:00
stefanprodan
9982dc9c83 Generate unique names for App Mesh virtual routers and routes 2019-10-14 19:07:10 +03:00
Stefan Prodan
780f3d2ab9 Merge pull request #334 from weaveworks/env-vars
Allow setting Slack and Teams URLs with env vars
2019-10-10 09:05:04 +03:00
stefanprodan
1cb09890fb Add env to chart options to be used for Slack and Teams URLs 2019-10-09 16:53:34 +03:00
stefanprodan
faae6a7c3b Add env vars for Slack and Teams URLs 2019-10-09 16:03:30 +03:00
Stefan Prodan
d4250f3248 Merge pull request #333 from weaveworks/default-labels
Add the app/name label to services and primary deployment
2019-10-09 13:45:14 +03:00
stefanprodan
a8ee477b62 Add selector labels option to Helm chart 2019-10-09 13:22:10 +03:00
stefanprodan
673b6102a7 Add the name label to ClusterIP services and primary deployment 2019-10-09 13:01:15 +03:00
Stefan Prodan
316de42a2c Merge pull request #331 from weaveworks/prep-v0.19.0
Release v0.19.0
2019-10-08 13:22:16 +03:00
stefanprodan
dfb4b35e6c Release v0.19.0 2019-10-08 12:02:37 +03:00
Stefan Prodan
61ab596d1b Merge pull request #327 from weaveworks/target-port
Implement canary service target port
2019-10-08 11:10:04 +03:00
stefanprodan
3345692751 Add service target port to docs 2019-10-07 11:56:03 +03:00
stefanprodan
dff9287c75 Add target port to NGINX e2e tests 2019-10-07 10:01:28 +03:00
stefanprodan
b5fb7cdae5 Add target port number to Gloo e2e tests
Update Gloo to v0.20.2
Enable Gloo discovery Fix: #328
2019-10-07 09:34:23 +03:00
stefanprodan
2e79817437 Add target port number e2e test for Linkerd 2019-10-06 13:35:58 +03:00
stefanprodan
5f439adc36 Use kustomize in Linkerd e2e tests 2019-10-06 12:58:26 +03:00
stefanprodan
45df96ff3c Format imports 2019-10-06 12:54:01 +03:00
stefanprodan
98ee150364 Add target port and gPRC e2e tests for Linkerd 2019-10-06 12:26:03 +03:00
stefanprodan
d328a2146a Fix loadtester image tag 2019-10-06 11:43:25 +03:00
stefanprodan
4513f2e8be Use Docker Hub in e2e tests 2019-10-06 11:42:49 +03:00
stefanprodan
095fef1de6 Release loadtester v0.9.0 with gRPC health check 2019-10-06 11:26:42 +03:00
stefanprodan
754f02a30f Add gRPC acceptance test to Istio e2e tests 2019-10-06 11:03:00 +03:00
stefanprodan
01a4e7f6a8 Add service target port to Istio e2e tests 2019-10-06 11:02:05 +03:00
stefanprodan
6bba84422d Add service target port to Kubernetes e2e tests 2019-10-06 10:44:42 +03:00
stefanprodan
26190d0c6a Use podinfo v3.1.0 for e2e tests 2019-10-06 10:42:30 +03:00
stefanprodan
2d9098e43c Add target port number and name tests 2019-10-06 10:31:50 +03:00
stefanprodan
7581b396b2 Implement service target port 2019-10-06 10:21:34 +03:00
stefanprodan
67a6366906 Add service.targetPort field to Canary CRD 2019-10-06 10:04:21 +03:00
Stefan Prodan
5605fab740 Merge pull request #326 from weaveworks/force-bg
Enforce blue/green when using kubernetes networking
2019-10-05 18:55:13 +03:00
stefanprodan
b76d0001ed Move Istio routing docs to FAQ 2019-10-05 18:13:40 +03:00
stefanprodan
625eed0840 Enforce blue/green when using kubernetes networking
Use blue/green with ten iterations and warn that progressive traffic shifting and HTTP headers routing are not compatible with Kubernetes L4 networking.
2019-10-05 17:59:34 +03:00
stefanprodan
37f9151de3 Add traffic mirroring documentation 2019-10-05 16:23:43 +03:00
Stefan Prodan
20af98e4dc Merge pull request #325 from weaveworks/appmesh-grcp
Allow gPRC protocol for App Mesh
2019-10-05 12:49:07 +03:00
stefanprodan
76800d0ed0 Update canary spec in docs 2019-10-05 12:15:54 +03:00
stefanprodan
3103bde7f7 Use the App Mesh Prometheus chart in docs 2019-10-05 11:52:41 +03:00
stefanprodan
298d8c2d65 Allow gPRC protocol for App Mesh
Use the canary service port name to set http or grpc protocol on App Mesh virtual nodes and virtual routers
2019-10-05 11:21:43 +03:00
Stefan Prodan
5cdacf81e3 Merge pull request #324 from weaveworks/fix-ports-order
Fix port discovery diff
2019-10-05 11:03:35 +03:00
stefanprodan
2141d88ce1 Enable Prometheus scraping of Flagger metrics 2019-10-05 10:45:35 +03:00
stefanprodan
e8a2d4be2e Fix port discovery diff
Sort service ports by port number before comparing slices
2019-10-05 10:42:01 +03:00
Stefan Prodan
9a9baadf0e Merge pull request #311 from andrewjjenkins/mirror
Add traffic mirroring for Istio service mesh
2019-10-05 10:34:25 +03:00
Andrew Jenkins
a21e53fa31 Document traffic mirroring in the FAQ 2019-10-03 14:33:49 -06:00
Andrew Jenkins
61f8aea7d8 add Traffic Mirroring to Blue/Green deployments
Traffic mirroring for blue/green will mirror traffic for the entire
canary analysis phase of the blue/green deployment.
2019-10-03 14:33:49 -06:00
Andrew Jenkins
e384b03d49 Add Traffic Mirroring for Istio Service Mesh
Traffic mirroring is a pre-stage for canary deployments.  When mirroring
is enabled, at the beginning of a canary deployment traffic is mirrored
to the canary instead of shifted for one canary period.  The service
mesh should mirror by copying the request and sending one copy to the
primary and one copy to the canary; only the response from the primary
is sent to the user.  The response from the canary is only used for
collecting metrics.

Once the mirror period is over, the canary proceeds as usual, shifting
traffic from primary to canary until complete.

Added TestScheduler_Mirroring unit test.
2019-10-03 14:33:49 -06:00
Stefan Prodan
0c60cf39f8 Merge pull request #323 from weaveworks/prep-0.18.6
Release v0.18.6
2019-10-03 15:19:51 +03:00
stefanprodan
268fa9999f Release v0.18.6 2019-10-03 15:00:12 +03:00
stefanprodan
ff7d4e747c Update Linkerd to v2.5.0 2019-10-03 14:48:26 +03:00
stefanprodan
121fc57aa6 Update Prometheus to v2.12.0 2019-10-03 14:46:34 +03:00
Stefan Prodan
991fa1cfc8 Merge pull request #322 from weaveworks/appmesh-acceptance-testing
Add support for acceptance testing when using App Mesh
2019-10-03 14:31:51 +03:00
stefanprodan
fb2961715d Add App Mesh acceptance tests example to docs 2019-10-03 12:11:11 +03:00
stefanprodan
74c1c2f1ef Add App Mesh request duration metric check to docs
Fix: #143 depend on App Mesh Envoy >1.11
2019-10-03 11:52:56 +03:00
stefanprodan
4da6c1b6e4 Create canary virtual service during App Mesh reconciliation
Allows the canary pods to be accessed from inside the mesh during the canary analysis for conformance and load testing
2019-10-03 11:43:47 +03:00
Stefan Prodan
fff03b170f Merge pull request #320 from bvwells/json-tag
Fix JSON tag on virtual node condition
2019-10-03 11:07:05 +03:00
Stefan Prodan
434acbb71b Merge pull request #319 from weaveworks/appmesh-docs
Update App Mesh install docs
2019-10-03 10:55:45 +03:00
Ben Wells
01962c32cd Fix JSON tag on virtual node condition 2019-10-03 08:46:39 +01:00
stefanprodan
6b0856a054 Update App Mesh Envoy ingress to v1.11.1 2019-10-03 10:02:58 +03:00
stefanprodan
708dbd6bbc Use official App Mesh Helm charts in docs 2019-10-03 09:52:42 +03:00
Stefan Prodan
e3801cbff6 Merge pull request #318 from bvwells/notifier-fields
Fix slack/teams notification fields
2019-10-03 09:50:25 +03:00
Ben Wells
fc68635098 Fix slack/teams notification of fields 2019-10-02 22:35:16 +01:00
Stefan Prodan
6706ca5d65 Merge pull request #317 from weaveworks/appmesh-kustomize
Add Kustomize installer for App Mesh
2019-10-02 21:40:04 +03:00
stefanprodan
44c2fd57c5 Add App Mesh Kustomize installer to docs 2019-10-02 20:12:04 +03:00
stefanprodan
a9aab3e3ac Add Kustomize installer for App Mesh 2019-10-02 20:05:52 +03:00
Stefan Prodan
6478d0b6cf Merge pull request #316 from weaveworks/prep-0.18.5
Release v0.18.5
2019-10-02 18:10:01 +03:00
stefanprodan
958af18dc0 Add changelog for v0.18.5 2019-10-02 17:51:06 +03:00
stefanprodan
54b8257c60 Release v0.18.5 2019-10-02 16:51:08 +03:00
Stefan Prodan
e86f62744e Merge pull request #315 from nilscan/appmesh-init
Skip primary check for appmesh
2019-10-02 09:17:08 +03:00
nilscan
0734773993 Skip primary check for appmesh 2019-10-02 14:29:48 +13:00
Stefan Prodan
888cc667f1 Merge pull request #314 from weaveworks/podinfo-updates
Update podinfo to v3.1.0 and go to v1.13
2019-09-27 17:20:52 +03:00
stefanprodan
053d0da617 Remove thrift replace from go.mod 2019-09-27 16:59:15 +03:00
stefanprodan
7a4e0bc80c Update go mod to 1.13 2019-09-27 16:53:55 +03:00
stefanprodan
7b7306584f Update alpine to 3.10 2019-09-27 16:33:56 +03:00
stefanprodan
d6027af632 Update go to 1.13 in CI 2019-09-27 16:33:06 +03:00
stefanprodan
761746af21 Update podinfo to v3.1.0 2019-09-27 15:52:30 +03:00
stefanprodan
510a6eaaed Add JWT token issuing test to podinfo chart 2019-09-27 15:19:03 +03:00
Andrew Jenkins
655df36913 Extend test SetupMocks() to take arbitrary Canary resources
SetupMocks() currently takes a bool switch that tells it to configure
against either a shifting canary or an A-B canary.  I'll need a third
canary that has mirroring turned on so I changed this to an interface
that just takes the canary to configure (and configs the default
shifting canary if you pass nil).
2019-09-24 16:15:45 -06:00
Andrew Jenkins
2e079ba7a1 Add mirror to router interface and implement for istio router
The mirror option will be used to tell routers to configure traffic
mirroring.  Implement mirror for GetRoutes and SetRoutes for Istio.  For
other routers, GetRoutes always returns mirror == false, and SetRoutes
ignores mirror.

After this change there is no behavior change because no code sets
mirror true (yet).

Enhanced TestIstioRouter_SetRoutes and TestIstioRouter_GetRoutes.
2019-09-24 16:15:45 -06:00
Stefan Prodan
9df6bfbb5e Merge pull request #310 from weaveworks/canary-promotion
Canary promotion improvements
2019-09-24 14:19:43 +03:00
stefanprodan
2ff86fa56e Fix canary weight max value 2019-09-24 10:16:22 +03:00
stefanprodan
1b2e0481b9 Add promoting phase to status condition 2019-09-24 09:57:42 +03:00
stefanprodan
fe96af64e9 Add canary phases tests 2019-09-23 22:24:40 +03:00
stefanprodan
77d8e4e4d3 Use the promotion phase in A/B testing and Blue/Green 2019-09-23 22:14:44 +03:00
stefanprodan
800b0475ee Run the canary promotion on a separate stage
After the analysis finishes, Flagger will do the promotion and wait for the primary rollout to finish before routing all the traffic back to it. This ensures a smooth transition to the new version avoiding dropping in-flight requests.
2019-09-23 21:57:24 +03:00
stefanprodan
b58e13809c Add promoting phase to canary status conditions 2019-09-23 21:48:09 +03:00
Stefan Prodan
9845578cdd Merge pull request #307 from weaveworks/confirm-promotion
Implement confirm-promotion hook
2019-09-23 12:32:52 +03:00
stefanprodan
96ccfa54fb Add confirm-promotion hook example to docs 2019-09-22 14:14:35 +03:00
stefanprodan
b8a64c79be Add confirm-promotion webhook to e2e tests 2019-09-22 13:44:55 +03:00
stefanprodan
4a4c261a88 Add confirm-promotion webhook type to CRD 2019-09-22 13:36:07 +03:00
stefanprodan
8282f86d9c Implement confirm-promotion hook
The confirm promotion hooks are executed right before the promotion step. The canary promotion is paused until the hooks return HTTP 200. While the promotion is paused, Flagger will continue to run the metrics checks and load tests.
2019-09-22 13:23:19 +03:00
Stefan Prodan
2b6966d8e3 Merge pull request #306 from weaveworks/e2e-updates
Update end-to-end tests to Istio 1.3.0
2019-09-22 12:37:05 +03:00
stefanprodan
c667c947ad Istio e2e: update job names 2019-09-22 12:12:06 +03:00
stefanprodan
105b28bf42 Update e2e to Kind 0.5.1 and Istio to 1.3.0 2019-09-22 12:05:35 +03:00
Stefan Prodan
37a1ff5c99 Merge pull request #305 from weaveworks/service-mesh-blue-green
Implement B/G for service mesh providers
2019-09-22 12:01:10 +03:00
stefanprodan
d19a070faf Add canary status checks to Istio e2e tests 2019-09-22 11:45:07 +03:00
stefanprodan
d908355ab3 Add Blue/Green e2e tests 2019-09-22 09:32:25 +03:00
stefanprodan
a6d86f2e81 Skip mesh routers for B/G when provider is kubernetes 2019-09-22 00:48:42 +03:00
stefanprodan
9d856a4f96 Implement B/G for service mesh providers
Blue/Green steps:
- scale up green
- run conformance tests on green
- run load tests and metric checks on green
- route traffic to green
- promote green spec over blue
- wait for blue rollout
- route traffic to blue
2019-09-21 21:21:33 +03:00
Stefan Prodan
a7112fafb0 Merge pull request #304 from nilscan/pod-annotations
Add pod annotations on all deployments
2019-09-19 02:11:30 +01:00
nilscan
93f9e51280 Add pod annotations on all deployments 2019-09-19 12:42:22 +12:00
Stefan Prodan
65e9a402cf Merge pull request #297 from weaveworks/prep-0.18.4
Release v0.18.4
2019-09-08 11:37:47 +03:00
stefanprodan
f7513b33a6 Release v0.18.4 2019-09-08 11:21:16 +03:00
Stefan Prodan
0b3fa517d3 Merge pull request #296 from weaveworks/helmv3-tester
Implement Helm v3 tester
2019-09-08 09:49:52 +03:00
stefanprodan
507075920c Implement Helm v3 tester 2019-09-08 09:33:34 +03:00
Stefan Prodan
a212f032a6 Merge pull request #295 from weaveworks/grpc-hc
Add gPRC health check to load tester
2019-09-06 17:00:22 +03:00
stefanprodan
eb8755249f Update cert-manager to v0.10 2019-09-06 16:44:39 +03:00
stefanprodan
73bb2a9fa2 Release loadtester 0.7.1 2019-09-06 16:21:22 +03:00
stefanprodan
5d3ffa8c90 Add grpc_health_probe to load tester image 2019-09-06 16:19:23 +03:00
Stefan Prodan
87f143f5fd Merge pull request #293 from kislitsyn/nginx-annotations-prefix
Add annotations prefix for ingresses
2019-09-06 13:22:42 +03:00
Anton Kislitcyn
f56b6dd6a7 Add annotations prefix for ingresses 2019-09-06 11:36:06 +02:00
Stefan Prodan
5e40340f9c Merge pull request #289 from nilscan/owide
Add Wide columns in CRD
2019-09-04 14:59:17 +03:00
nilscan
2456737df7 Add Wide columns in CRD 2019-09-03 12:54:14 +12:00
stefanprodan
1191d708de Fix Prometheus GKE install docs 2019-08-30 13:13:36 +03:00
Stefan Prodan
4d26971fc7 Merge pull request #286 from jwenz723/patch-1
Enhanced error logging
2019-08-29 09:14:16 +03:00
Jeff Wenzbauer
0421b32834 Enhanced error logging
Updated the formatting of the `out` to be logged as a string rather than a bunch of bytes.
2019-08-28 12:43:08 -06:00
841 changed files with 89309 additions and 20366 deletions

View File

@@ -1,256 +0,0 @@
version: 2.1
jobs:
build-binary:
docker:
- image: circleci/golang:1.12
working_directory: ~/build
steps:
- checkout
- restore_cache:
keys:
- go-mod-v3-{{ checksum "go.sum" }}
- run:
name: Run go fmt
command: make test-fmt
- run:
name: Build Flagger
command: |
CGO_ENABLED=0 GOOS=linux go build \
-ldflags "-s -w -X github.com/weaveworks/flagger/pkg/version.REVISION=${CIRCLE_SHA1}" \
-a -installsuffix cgo -o bin/flagger ./cmd/flagger/*.go
- run:
name: Build Flagger load tester
command: |
CGO_ENABLED=0 GOOS=linux go build \
-a -installsuffix cgo -o bin/loadtester ./cmd/loadtester/*.go
- run:
name: Run unit tests
command: |
go test -race -coverprofile=coverage.txt -covermode=atomic $(go list ./pkg/...)
bash <(curl -s https://codecov.io/bash)
- run:
name: Verify code gen
command: make test-codegen
- save_cache:
key: go-mod-v3-{{ checksum "go.sum" }}
paths:
- "/go/pkg/mod/"
- persist_to_workspace:
root: bin
paths:
- flagger
- loadtester
push-container:
docker:
- image: circleci/golang:1.12
steps:
- checkout
- setup_remote_docker:
docker_layer_caching: true
- attach_workspace:
at: /tmp/bin
- run: test/container-build.sh
- run: test/container-push.sh
push-binary:
docker:
- image: circleci/golang:1.12
working_directory: ~/build
steps:
- checkout
- setup_remote_docker:
docker_layer_caching: true
- restore_cache:
keys:
- go-mod-v3-{{ checksum "go.sum" }}
- run: test/goreleaser.sh
e2e-istio-testing:
machine: true
steps:
- checkout
- attach_workspace:
at: /tmp/bin
- run: test/container-build.sh
- run: test/e2e-kind.sh
- run: test/e2e-istio.sh
- run: test/e2e-tests.sh
e2e-kubernetes-testing:
machine: true
steps:
- checkout
- attach_workspace:
at: /tmp/bin
- run: test/container-build.sh
- run: test/e2e-kind.sh
- run: test/e2e-kubernetes.sh
- run: test/e2e-kubernetes-tests.sh
e2e-smi-istio-testing:
machine: true
steps:
- checkout
- attach_workspace:
at: /tmp/bin
- run: test/container-build.sh
- run: test/e2e-kind.sh
- run: test/e2e-smi-istio.sh
- run: test/e2e-tests.sh canary
e2e-supergloo-testing:
machine: true
steps:
- checkout
- attach_workspace:
at: /tmp/bin
- run: test/container-build.sh
- run: test/e2e-kind.sh 0.2.1
- run: test/e2e-supergloo.sh
- run: test/e2e-tests.sh canary
e2e-gloo-testing:
machine: true
steps:
- checkout
- attach_workspace:
at: /tmp/bin
- run: test/container-build.sh
- run: test/e2e-kind.sh
- run: test/e2e-gloo.sh
- run: test/e2e-gloo-tests.sh
e2e-nginx-testing:
machine: true
steps:
- checkout
- attach_workspace:
at: /tmp/bin
- run: test/container-build.sh
- run: test/e2e-kind.sh
- run: test/e2e-nginx.sh
- run: test/e2e-nginx-tests.sh
e2e-linkerd-testing:
machine: true
steps:
- checkout
- attach_workspace:
at: /tmp/bin
- run: test/container-build.sh
- run: test/e2e-kind.sh
- run: test/e2e-linkerd.sh
- run: test/e2e-linkerd-tests.sh
push-helm-charts:
docker:
- image: circleci/golang:1.12
steps:
- checkout
- run:
name: Install kubectl
command: sudo curl -L https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl -o /usr/local/bin/kubectl && sudo chmod +x /usr/local/bin/kubectl
- run:
name: Install helm
command: sudo curl -L https://storage.googleapis.com/kubernetes-helm/helm-v2.14.2-linux-amd64.tar.gz | tar xz && sudo mv linux-amd64/helm /bin/helm && sudo rm -rf linux-amd64
- run:
name: Initialize helm
command: helm init --client-only --kubeconfig=$HOME/.kube/kubeconfig
- run:
name: Lint charts
command: |
helm lint ./charts/*
- run:
name: Package charts
command: |
mkdir $HOME/charts
helm package ./charts/* --destination $HOME/charts
- run:
name: Publish charts
command: |
if echo "${CIRCLE_TAG}" | grep -Eq "[0-9]+(\.[0-9]+)*(-[a-z]+)?$"; then
REPOSITORY="https://weaveworksbot:${GITHUB_TOKEN}@github.com/weaveworks/flagger.git"
git config user.email weaveworksbot@users.noreply.github.com
git config user.name weaveworksbot
git remote set-url origin ${REPOSITORY}
git checkout gh-pages
mv -f $HOME/charts/*.tgz .
helm repo index . --url https://flagger.app
git add .
git commit -m "Publish Helm charts v${CIRCLE_TAG}"
git push origin gh-pages
else
echo "Not a release! Skip charts publish"
fi
workflows:
version: 2
build-test-push:
jobs:
- build-binary:
filters:
branches:
ignore:
- gh-pages
- e2e-istio-testing:
requires:
- build-binary
- e2e-kubernetes-testing:
requires:
- build-binary
# - e2e-supergloo-testing:
# requires:
# - build-binary
- e2e-gloo-testing:
requires:
- build-binary
- e2e-nginx-testing:
requires:
- build-binary
- e2e-linkerd-testing:
requires:
- build-binary
- push-container:
requires:
- build-binary
- e2e-istio-testing
- e2e-kubernetes-testing
#- e2e-supergloo-testing
- e2e-gloo-testing
- e2e-nginx-testing
- e2e-linkerd-testing
release:
jobs:
- build-binary:
filters:
branches:
ignore: /.*/
tags:
ignore: /^chart.*/
- push-container:
requires:
- build-binary
filters:
branches:
ignore: /.*/
tags:
ignore: /^chart.*/
- push-binary:
requires:
- push-container
filters:
branches:
ignore: /.*/
tags:
ignore: /^chart.*/
- push-helm-charts:
requires:
- push-container
filters:
branches:
ignore: /.*/
tags:
ignore: /^chart.*/

3
.clomonitor.yml Normal file
View File

@@ -0,0 +1,3 @@
exemptions:
- check: analytics
reason: "We don't track people"

View File

@@ -8,4 +8,7 @@ coverage:
patch: off
comment:
require_changes: yes
require_changes: true
branches:
- "!docs"
- "!release"

View File

@@ -1 +1,18 @@
root: ./docs/gitbook
root: ./docs/gitbook
redirects:
how-it-works: usage/how-it-works.md
usage/progressive-delivery: tutorials/istio-progressive-delivery.md
usage/ab-testing: tutorials/istio-ab-testing.md
usage/blue-green: tutorials/kubernetes-blue-green.md
usage/linkerd-progressive-delivery: tutorials/linkerd-progressive-delivery.md
usage/contour-progressive-delivery: tutorials/contour-progressive-delivery.md
usage/gloo-progressive-delivery: tutorials/gloo-progressive-delivery.md
usage/nginx-progressive-delivery: tutorials/nginx-progressive-delivery.md
usage/skipper-progressive-delivery: tutorials/skipper-progressive-delivery.md
usage/crossover-progressive-delivery: tutorials/crossover-progressive-delivery.md
usage/traefik-progressive-delivery: tutorials/traefik-progressive-delivery.md
usage/kuma-progressive-delivery: tutorials/kuma-progressive-delivery.md
usage/gatewayapi-progressive-delivery: tutorials/gatewayapi-progressive-delivery.md
usage/apisix-progressive-delivery: tutorials/apisix-progressive-delivery.md
usage/knative-progressive-delivery: tutorials/knative-progressive-delivery.md

2
.github/CODEOWNERS vendored
View File

@@ -1 +1 @@
* @stefanprodan
* @stefanprodan @aryan9600

29
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@@ -0,0 +1,29 @@
---
name: Bug report
about: Create a report to help us improve this project
title: ''
assignees: ''
---
### Describe the bug
A clear and concise description of what the bug is.
Please provide the Canary definition and Flagger logs.
### To Reproduce
<!--
Steps to reproduce the behaviour
-->
### Expected behavior
A clear and concise description of what you expected to happen.
### Additional context
- Flagger version:
- Kubernetes version:
- Service Mesh provider:
- Ingress provider:

2
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@@ -0,0 +1,2 @@
blank_issues_enabled: true

View File

@@ -0,0 +1,19 @@
---
name: Feature Request
about: I have a suggestion (and may want to implement it 🙂)!
title: ''
assignees: ''
---
## Describe the feature
What problem are you trying to solve?
### Proposed solution
What do you want to happen? Add any considered drawbacks.
### Any alternatives you've considered?
Is there another way to solve this problem that isn't as good a solution?

View File

@@ -1,17 +0,0 @@
workflow "Publish Helm charts" {
on = "push"
resolves = ["helm-push"]
}
action "helm-lint" {
uses = "stefanprodan/gh-actions/helm@master"
args = ["lint charts/*"]
}
action "helm-push" {
needs = ["helm-lint"]
uses = "stefanprodan/gh-actions/helm-gh-pages@master"
args = ["charts/*","https://flagger.app"]
secrets = ["GITHUB_TOKEN"]
}

17
.github/dependabot.yml vendored Normal file
View File

@@ -0,0 +1,17 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
labels: ["area/ci", "dependencies"]
groups:
# Group all updates together, so that they are all applied in a single PR.
# Grouped updates are currently in beta and is subject to change.
# xref: https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#groups
ci:
patterns:
- "*"
schedule:
# By default, this will be on a monday.
interval: "weekly"

52
.github/workflows/build.yaml vendored Normal file
View File

@@ -0,0 +1,52 @@
name: build
on:
workflow_dispatch:
pull_request:
branches:
- main
push:
branches:
- main
permissions:
contents: read
jobs:
build-flagger:
runs-on:
group: "Default Larger Runners"
labels: ubuntu-latest-16-cores
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Setup Go
uses: actions/setup-go@v6
with:
go-version: 1.25.x
cache-dependency-path: |
**/go.sum
**/go.mod
- name: Download modules
run: |
go mod download
go install golang.org/x/tools/cmd/goimports@latest
- name: Run linters
run: make fmt test-codegen
- name: Verify CRDs
run: make verify-crd
- name: Run tests
run: go test -race -coverprofile=coverage.txt -covermode=atomic $(go list ./pkg/...)
- name: Check if working tree is dirty
run: |
if [[ $(git diff --stat) != '' ]]; then
git --no-pager diff
echo 'run make test and commit changes'
exit 1
fi
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v5
with:
file: ./coverage.txt
- name: Build container image
run: docker build -t test/flagger:latest .

62
.github/workflows/e2e.yaml vendored Normal file
View File

@@ -0,0 +1,62 @@
name: e2e
on:
workflow_dispatch:
pull_request:
branches:
- main
push:
branches:
- main
permissions:
contents: read
jobs:
e2e-test:
runs-on:
group: "Default Larger Runners"
labels: ubuntu-latest-16-cores
strategy:
fail-fast: false
matrix:
provider:
# service mesh
- istio
- linkerd
- kuma
# ingress controllers
- contour
- nginx
- traefik
- gloo
- skipper
- kubernetes
- gatewayapi
- keda
- apisix
- knative
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Setup Kubernetes
uses: helm/kind-action@v1.12.0
if: matrix.provider != 'skipper'
with:
version: v0.23.0
cluster_name: kind
node_image: kindest/node:v1.30.0@sha256:047357ac0cfea04663786a612ba1eaba9702bef25227a794b52890dd8bcd692e
- name: Setup Kubernetes for skipper
uses: helm/kind-action@v1.12.0
if: matrix.provider == 'skipper'
with:
version: v0.23.0
cluster_name: kind
node_image: kindest/node:v1.24.12@sha256:0bdca26bd7fe65c823640b14253ea7bac4baad9336b332c94850f84d8102f873
- name: Build container image
run: |
docker build -t test/flagger:latest .
kind load docker-image test/flagger:latest
- name: Run tests
run: |
./test/${{ matrix['provider'] }}/run.sh

20
.github/workflows/helm.yaml vendored Normal file
View File

@@ -0,0 +1,20 @@
name: helm
on:
workflow_dispatch:
permissions:
contents: read
jobs:
release-charts:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v5
- name: Publish Helm charts
uses: stefanprodan/helm-gh-pages@v1.7.0
with:
token: ${{ secrets.GITHUB_TOKEN }}
charts_url: https://flagger.app

63
.github/workflows/push-ld.yml vendored Normal file
View File

@@ -0,0 +1,63 @@
name: push-ld
on:
workflow_dispatch:
env:
IMAGE: "ghcr.io/fluxcd/flagger-loadtester"
permissions:
contents: read
jobs:
release-load-tester:
runs-on:
group: "Default Larger Runners"
permissions:
id-token: write
packages: write
steps:
- uses: actions/checkout@v5
- uses: sigstore/cosign-installer@v3.10.0
- name: Prepare
id: prep
run: |
VERSION=$(grep 'VERSION' cmd/loadtester/main.go | head -1 | awk '{ print $4 }' | tr -d '"')
echo "BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT
echo "VERSION=${VERSION}" >> $GITHUB_OUTPUT
- name: Setup QEMU
uses: docker/setup-qemu-action@v3
- name: Setup Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: fluxcdbot
password: ${{ secrets.GHCR_TOKEN }}
- name: Generate image meta
id: meta
uses: docker/metadata-action@v5
with:
images: |
${{ env.IMAGE }}
tags: |
type=raw,value=${{ steps.prep.outputs.VERSION }}
- name: Publish image
id: build-push
uses: docker/build-push-action@v6
with:
push: true
builder: ${{ steps.buildx.outputs.name }}
context: .
file: ./Dockerfile.loadtester
platforms: linux/amd64,linux/arm64
build-args: |
REVISION=${{ github.sha }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
- name: Sign image
env:
COSIGN_EXPERIMENTAL: 1
run: |
cosign sign --yes ${{ env.IMAGE }}@${{ steps.build-push.outputs.digest }}

153
.github/workflows/release.yml vendored Normal file
View File

@@ -0,0 +1,153 @@
name: release
on:
push:
tags:
- 'v*'
workflow_dispatch:
inputs:
tag:
description: 'image tag prefix'
default: 'rc'
required: true
permissions:
contents: read
env:
IMAGE: "ghcr.io/fluxcd/${{ github.event.repository.name }}"
jobs:
release-flagger:
outputs:
hashes: ${{ steps.slsa.outputs.hashes }}
runs-on:
group: "Default Larger Runners"
permissions:
contents: write # needed to write releases
id-token: write # needed for keyless signing
packages: write # needed for ghcr access
steps:
- uses: actions/checkout@v5
- name: Setup Go
uses: actions/setup-go@v6
with:
go-version: 1.25.x
- uses: fluxcd/flux2/action@main
- uses: sigstore/cosign-installer@v3.10.0
- name: Prepare
id: prep
run: |
if [[ ${GITHUB_EVENT_NAME} = "workflow_dispatch" ]]; then
VERSION="${{ github.event.inputs.tag }}-${GITHUB_SHA::8}"
else
VERSION=$(grep 'VERSION' pkg/version/version.go | awk '{ print $4 }' | tr -d '"')
fi
CHANGELOG="https://github.com/fluxcd/flagger/blob/main/CHANGELOG.md#$(echo $VERSION | tr -d '.')"
echo "[CHANGELOG](${CHANGELOG})" > notes.md
echo "BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT
echo "VERSION=${VERSION}" >> $GITHUB_OUTPUT
- name: Setup QEMU
uses: docker/setup-qemu-action@v3
- name: Setup Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: fluxcdbot
password: ${{ secrets.GHCR_TOKEN }}
- name: Generate image meta
id: meta
uses: docker/metadata-action@v5
with:
images: |
${{ env.IMAGE }}
tags: |
type=raw,value=${{ steps.prep.outputs.VERSION }}
- name: Publish image
id: build-push
uses: docker/build-push-action@v6
with:
sbom: true
provenance: true
push: true
builder: ${{ steps.buildx.outputs.name }}
context: .
file: ./Dockerfile
platforms: linux/amd64,linux/arm64,linux/arm/v7
build-args: |
REVISON=${{ github.sha }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
- name: Sign image
env:
COSIGN_EXPERIMENTAL: 1
run: |
cosign sign --yes ${{ env.IMAGE }}@${{ steps.build-push.outputs.digest }}
- name: Publish signed manifests to GHCR
if: startsWith(github.ref, 'refs/tags/v')
env:
COSIGN_EXPERIMENTAL: 1
run: |
OCI_URL=$(flux push artifact \
oci://ghcr.io/fluxcd/flagger-manifests:${{ steps.prep.outputs.VERSION }} \
--path="./kustomize" \
--source="$(git config --get remote.origin.url)" \
--revision="${{ steps.prep.outputs.VERSION }}/$(git rev-parse HEAD)" \
--output json | \
jq -r '. | .repository + "@" + .digest')
cosign sign --yes ${OCI_URL}
- name: Publish Helm charts
if: startsWith(github.ref, 'refs/tags/v')
uses: stefanprodan/helm-gh-pages@v1.7.0
with:
token: ${{ secrets.GITHUB_TOKEN }}
charts_url: https://flagger.app
linting: off
- uses: fluxcd/pkg/actions/helm@main
with:
version: 3.12.3
- name: Publish signed Helm chart to GHCR
if: startsWith(github.ref, 'refs/tags/v')
env:
COSIGN_EXPERIMENTAL: 1
run: |
helm package charts/flagger
helm push flagger-${{ steps.prep.outputs.VERSION }}.tgz oci://ghcr.io/fluxcd/charts |& tee .digest
cosign sign --yes ghcr.io/fluxcd/charts/flagger@$(cat .digest | awk -F "[, ]+" '/Digest/{print $NF}')
rm flagger-${{ steps.prep.outputs.VERSION }}.tgz
rm .digest
- uses: anchore/sbom-action/download-syft@v0
- name: Create release and SBOM
id: run-goreleaser
uses: goreleaser/goreleaser-action@v6
if: startsWith(github.ref, 'refs/tags/v')
with:
version: latest
args: release --release-notes=notes.md --clean --skip=validate
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Generate SLSA metadata
id: slsa
if: startsWith(github.ref, 'refs/tags/v')
env:
ARTIFACTS: "${{ steps.run-goreleaser.outputs.artifacts }}"
run: |
set -euo pipefail
hashes=$(echo -E $ARTIFACTS | jq --raw-output '.[] | {name, "digest": (.extra.Digest // .extra.Checksum)} | select(.digest) | {digest} + {name} | join(" ") | sub("^sha256:";"")' | base64 -w0)
echo "hashes=$hashes" >> $GITHUB_OUTPUT
release-provenance:
needs: [release-flagger]
if: startsWith(github.ref, 'refs/tags/v')
permissions:
actions: read # for detecting the Github Actions environment.
id-token: write # for creating OIDC tokens for signing.
contents: write # for uploading attestations to GitHub releases.
uses: slsa-framework/slsa-github-generator/.github/workflows/generator_generic_slsa3.yml@v2.1.0
with:
provenance-name: "provenance.intoto.jsonl"
base64-subjects: "${{ needs.release-flagger.outputs.hashes }}"
upload-assets: true

45
.github/workflows/scan.yml vendored Normal file
View File

@@ -0,0 +1,45 @@
name: scan
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
schedule:
- cron: '18 10 * * 3'
permissions:
contents: read
jobs:
scan-fossa:
runs-on: ubuntu-latest
permissions:
security-events: write
steps:
- uses: actions/checkout@v5
- name: Run FOSSA scan and upload build data
uses: fossa-contrib/fossa-action@v3
with:
# FOSSA Push-Only API Token
fossa-api-key: 5ee8bf422db1471e0bcf2bcb289185de
github-token: ${{ github.token }}
scan-codeql:
runs-on: ubuntu-latest
permissions:
security-events: write
steps:
- name: Checkout repository
uses: actions/checkout@v5
- name: Setup Go
uses: actions/setup-go@v6
with:
go-version: 1.25.x
- name: Initialize CodeQL
uses: github/codeql-action/init@v4
with:
languages: go
- name: Autobuild
uses: github/codeql-action/autobuild@v4
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v4

6
.gitignore vendored
View File

@@ -16,4 +16,8 @@ bin/
_tmp/
artifacts/gcloud/
.idea
.idea
Makefile.dev
vendor
coverage.txt

View File

@@ -1,18 +1,31 @@
project_name: flagger
builds:
- main: ./cmd/flagger
binary: flagger
ldflags: -s -w -X github.com/weaveworks/flagger/pkg/version.REVISION={{.Commit}}
goos:
- linux
goarch:
- amd64
- skip: true
release:
prerelease: auto
source:
enabled: true
name_template: "{{ .ProjectName }}_{{ .Version }}_source_code"
sboms:
- id: source
artifacts: source
documents:
- "{{ .ProjectName }}_{{ .Version }}_sbom.spdx.json"
signs:
- cmd: cosign
env:
- CGO_ENABLED=0
archives:
- name_template: "{{ .Binary }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}"
files:
- none*
changelog:
filters:
exclude:
- '^CircleCI'
- COSIGN_EXPERIMENTAL=1
certificate: '${artifact}.pem'
args:
- sign-blob
- "--yes"
- '--output-certificate=${certificate}'
- '--output-signature=${signature}'
- '${artifact}'
artifacts: checksum
output: true

File diff suppressed because it is too large Load Diff

3
CODE_OF_CONDUCT.md Normal file
View File

@@ -0,0 +1,3 @@
## Code of Conduct
Flagger follows the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/master/code-of-conduct.md).

View File

@@ -14,15 +14,33 @@ Origin (DCO). This document was created by the Linux Kernel community and is a
simple statement that you, as a contributor, have the legal right to make the
contribution.
## Chat
We require all commits to be signed. By signing off with your signature, you
certify that you wrote the patch or otherwise have the right to contribute the
material by the rules of the [DCO](DCO):
`Signed-off-by: Jane Doe <jane.doe@example.com>`
The signature must contain your real name
(sorry, no pseudonyms or anonymous contributions)
If your `user.name` and `user.email` are configured in your Git config,
you can sign your commit automatically with `git commit -s`.
## Communications
The project uses Slack: To join the conversation, simply join the
[Weave community](https://slack.weave.works/) Slack workspace.
[CNCF](https://slack.cncf.io/) Slack workspace and use the
[#flagger](https://cloud-native.slack.com/messages/flagger/) channel.
The developers use a mailing list to discuss development as well.
Simply subscribe to [flux-dev on cncf.io](https://lists.cncf.io/g/cncf-flux-dev)
to join the conversation (this will also add an invitation to your
Google calendar for our [Flux
meeting](https://docs.google.com/document/d/1l_M0om0qUEN_NNiGgpqJ2tvsF2iioHkaARDeh6b70B0/edit#)).
## Getting Started
- Fork the repository on GitHub
- If you want to contribute as a developer, continue reading this document for further instructions
- If you want to contribute as a developer, read [Flagger Development Guide](https://docs.flagger.app/dev/dev-guide)
- If you have questions, concerns, get stuck or need a hand, let us know
on the Slack channel. We are happy to help and look forward to having
you part of the team. No matter in which capacity.
@@ -59,7 +77,7 @@ get asked to resubmit the PR or divide the changes into more than one PR.
### Format of the Commit Message
For Flux we prefer the following rules for good commit messages:
For Flagger we prefer the following rules for good commit messages:
- Limit the subject to 50 characters and write as the continuation
of the sentence "If applied, this commit will ..."
@@ -69,4 +87,3 @@ For Flux we prefer the following rules for good commit messages:
The [following article](https://chris.beams.io/posts/git-commit/#seven-rules)
has some more helpful advice on documenting your work.
This doc is adapted from the [Weaveworks Flux](https://github.com/weaveworks/flux/blob/master/CONTRIBUTING.md)

36
DCO Normal file
View File

@@ -0,0 +1,36 @@
Developer Certificate of Origin
Version 1.1
Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
660 York Street, Suite 102,
San Francisco, CA 94110 USA
Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.
Developer's Certificate of Origin 1.1
By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or
(b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or
(c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
it.
(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.

View File

@@ -1,16 +1,40 @@
FROM alpine:3.9
ARG GO_VERSION=1.25
ARG XX_VERSION=1.6.1
RUN addgroup -S flagger \
&& adduser -S -g flagger flagger \
&& apk --no-cache add ca-certificates
FROM --platform=$BUILDPLATFORM tonistiigi/xx:${XX_VERSION} AS xx
FROM --platform=$BUILDPLATFORM golang:${GO_VERSION}-alpine AS builder
WORKDIR /home/flagger
# copy build utilities
COPY --from=xx / /
COPY /bin/flagger .
ARG TARGETPLATFORM
ARG REVISON
RUN chown -R flagger:flagger ./
WORKDIR /workspace
USER flagger
# copy modules manifests
COPY go.mod go.mod
COPY go.sum go.sum
# cache modules
RUN go mod download
# copy source code
COPY cmd/ cmd/
COPY pkg/ pkg/
# build
ENV CGO_ENABLED=0
RUN xx-go build \
-ldflags "-s -w -X github.com/fluxcd/flagger/pkg/version.REVISION=${REVISON}" \
-a -o flagger ./cmd/flagger
FROM alpine:3.22
RUN apk --no-cache add ca-certificates
USER nobody
COPY --from=builder --chown=nobody:nobody /workspace/flagger .
ENTRYPOINT ["./flagger"]

View File

@@ -1,33 +1,73 @@
FROM bats/bats:v1.1.0
FROM golang:1.25-alpine AS builder
RUN addgroup -S app \
&& adduser -S -g app app \
&& apk --no-cache add ca-certificates curl jq
ARG TARGETPLATFORM
ARG TARGETARCH
ARG REVISION
RUN apk --no-cache add alpine-sdk perl curl bash tar
RUN HELM3_VERSION=3.19.0 && \
curl -sSL "https://get.helm.sh/helm-v${HELM3_VERSION}-linux-${TARGETARCH}.tar.gz" | tar xvz && \
chmod +x linux-${TARGETARCH}/helm && mv linux-${TARGETARCH}/helm /usr/local/bin/helm
RUN KUBECTL_VERSION=v1.34.1 && \
curl -LO "https://dl.k8s.io/release/${KUBECTL_VERSION}/bin/linux/${TARGETARCH}/kubectl" && \
chmod +x kubectl && mv kubectl /usr/local/bin/kubectl
RUN GRPC_HEALTH_PROBE_VERSION=v0.4.35 && \
wget -qO /usr/local/bin/grpc_health_probe https://github.com/grpc-ecosystem/grpc-health-probe/releases/download/${GRPC_HEALTH_PROBE_VERSION}/grpc_health_probe-linux-${TARGETARCH} && \
chmod +x /usr/local/bin/grpc_health_probe
RUN GHZ_VERSION=0.120.0 && \
curl -sSL "https://github.com/bojand/ghz/archive/refs/tags/v${GHZ_VERSION}.tar.gz" | tar xz -C /tmp && \
cd /tmp/ghz-${GHZ_VERSION}/cmd/ghz && GOARCH=$TARGETARCH go build . && mv ghz /usr/local/bin && \
chmod +x /usr/local/bin/ghz
WORKDIR /workspace
# copy modules manifests
COPY go.mod go.mod
COPY go.sum go.sum
# cache modules
RUN go mod download
# copy source code
COPY cmd/ cmd/
COPY pkg/ pkg/
# build
RUN CGO_ENABLED=0 go build -o loadtester ./cmd/loadtester/*
FROM bash:5.2
ARG TARGETPLATFORM
RUN addgroup -S app && \
adduser -S -g app app && \
apk --no-cache add ca-certificates curl jq libgcc wrk hey git
WORKDIR /home/app
RUN curl -sSLo hey "https://storage.googleapis.com/jblabs/dist/hey_linux_v0.1.2" && \
chmod +x hey && mv hey /usr/local/bin/hey
COPY --from=bats/bats:1.11.1 /opt/bats/ /opt/bats/
RUN ln -s /opt/bats/bin/bats /usr/local/bin/
RUN curl -sSL "https://get.helm.sh/helm-v2.14.3-linux-amd64.tar.gz" | tar xvz && \
chmod +x linux-amd64/helm && mv linux-amd64/helm /usr/local/bin/helm && \
chmod +x linux-amd64/tiller && mv linux-amd64/tiller /usr/local/bin/tiller && \
rm -rf linux-amd64
RUN curl -sSL "https://github.com/bojand/ghz/releases/download/v0.39.0/ghz_0.39.0_Linux_x86_64.tar.gz" | tar xz -C /tmp && \
mv /tmp/ghz /usr/local/bin && chmod +x /usr/local/bin/ghz && rm -rf /tmp/ghz-web
COPY --from=builder /usr/local/bin/helm /usr/local/bin/
COPY --from=builder /usr/local/bin/ghz /usr/local/bin/
COPY --from=builder /usr/local/bin/grpc_health_probe /usr/local/bin/
COPY --from=builder /usr/local/bin/kubectl /usr/local/bin/
ADD https://raw.githubusercontent.com/grpc/grpc-proto/master/grpc/health/v1/health.proto /tmp/ghz/health.proto
RUN ls /tmp
COPY ./bin/loadtester .
RUN chown -R app:app ./
RUN chown -R app:app /tmp/ghz
USER app
RUN curl -sSL "https://github.com/rimusz/helm-tiller/archive/v0.8.3.tar.gz" | tar xvz && \
helm init --client-only && helm plugin install helm-tiller-0.8.3 && helm plugin list
# test load generator tools
RUN hey -n 1 -c 1 https://flagger.app > /dev/null && echo $? | grep 0
RUN wrk -d 1s -c 1 -t 1 https://flagger.app > /dev/null && echo $? | grep 0
COPY --from=builder --chown=app:app /workspace/loadtester .
ENTRYPOINT ["./loadtester"]

5
GOVERNANCE.md Normal file
View File

@@ -0,0 +1,5 @@
# Flagger Governance
The Flagger project is governed by the [Flux governance document](https://github.com/fluxcd/community/blob/main/GOVERNANCE.md),
involvement is defined in the [Flux community roles document](chttps://github.com/fluxcd/community/blob/main/community-roles.md),
and processes can be found in the [Flux process document](https://github.com/fluxcd/community/blob/main/PROCESS.md).

View File

@@ -186,7 +186,7 @@
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright 2018 Weaveworks. All rights reserved.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@@ -1,5 +1,9 @@
The maintainers are generally available in Slack at
https://weave-community.slack.com/messages/flagger/ (obtain an invitation
at https://slack.weave.works/).
https://cloud-native.slack.com/messages/flagger/ (obtain an invitation
at https://slack.cncf.io/).
Stefan Prodan, Weaveworks <stefan@weave.works> (Slack: @stefan Twitter: @stefanprodan)
In alphabetical order:
Sanskar Jaiswal, Independent <jaiswalsanskar078@gmail.com> (github: @aryan9600, slack: aryan9600)
Stefan Prodan, ControlPlane <stefan.prodan@gmail.com> (github: @stefanprodan, slack: stefanprodan)
Takeshi Yoneda, Tetrate <takeshi@tetrate.io> (github: @mathetake, slack: mathetake)

130
Makefile
View File

@@ -1,127 +1,57 @@
TAG?=latest
VERSION?=$(shell grep 'VERSION' pkg/version/version.go | awk '{ print $$4 }' | tr -d '"')
VERSION_MINOR:=$(shell grep 'VERSION' pkg/version/version.go | awk '{ print $$4 }' | tr -d '"' | rev | cut -d'.' -f2- | rev)
PATCH:=$(shell grep 'VERSION' pkg/version/version.go | awk '{ print $$4 }' | tr -d '"' | awk -F. '{print $$NF}')
SOURCE_DIRS = cmd pkg/apis pkg/controller pkg/server pkg/canary pkg/metrics pkg/router pkg/notifier
LT_VERSION?=$(shell grep 'VERSION' cmd/loadtester/main.go | awk '{ print $$4 }' | tr -d '"' | head -n1)
TS=$(shell date +%Y-%m-%d_%H-%M-%S)
run:
GO111MODULE=on go run cmd/flagger/* -kubeconfig=$$HOME/.kube/config -log-level=info -mesh-provider=istio -namespace=test \
-metrics-server=https://prometheus.istio.weavedx.com \
-enable-leader-election=true
run2:
GO111MODULE=on go run cmd/flagger/* -kubeconfig=$$HOME/.kube/config -log-level=info -mesh-provider=istio -namespace=test \
-metrics-server=https://prometheus.istio.weavedx.com \
-enable-leader-election=true \
-port=9092
run-appmesh:
GO111MODULE=on go run cmd/flagger/* -kubeconfig=$$HOME/.kube/config -log-level=info -mesh-provider=appmesh \
-metrics-server=http://acfc235624ca911e9a94c02c4171f346-1585187926.us-west-2.elb.amazonaws.com:9090
run-nginx:
GO111MODULE=on go run cmd/flagger/* -kubeconfig=$$HOME/.kube/config -log-level=info -mesh-provider=nginx -namespace=nginx \
-metrics-server=http://prometheus-weave.istio.weavedx.com
run-smi:
GO111MODULE=on go run cmd/flagger/* -kubeconfig=$$HOME/.kube/config -log-level=info -mesh-provider=smi:istio -namespace=smi \
-metrics-server=https://prometheus.istio.weavedx.com
run-gloo:
GO111MODULE=on go run cmd/flagger/* -kubeconfig=$$HOME/.kube/config -log-level=info -mesh-provider=gloo -namespace=gloo \
-metrics-server=https://prometheus.istio.weavedx.com
run-nop:
GO111MODULE=on go run cmd/flagger/* -kubeconfig=$$HOME/.kube/config -log-level=info -mesh-provider=none -namespace=bg \
-metrics-server=https://prometheus.istio.weavedx.com
run-linkerd:
GO111MODULE=on go run cmd/flagger/* -kubeconfig=$$HOME/.kube/config -log-level=info -mesh-provider=smi:linkerd -namespace=demo \
-metrics-server=https://linkerd-prometheus.istio.weavedx.com
build:
GIT_COMMIT=$$(git rev-list -1 HEAD) && GO111MODULE=on CGO_ENABLED=0 GOOS=linux go build -ldflags "-s -w -X github.com/weaveworks/flagger/pkg/version.REVISION=$${GIT_COMMIT}" -a -installsuffix cgo -o ./bin/flagger ./cmd/flagger/*
docker build -t weaveworks/flagger:$(TAG) . -f Dockerfile
CGO_ENABLED=0 go build -a -o ./bin/flagger ./cmd/flagger
push:
docker tag weaveworks/flagger:$(TAG) weaveworks/flagger:$(VERSION)
docker push weaveworks/flagger:$(VERSION)
tidy:
rm -f go.sum; go mod tidy -compat=1.25
vet:
go vet ./...
fmt:
gofmt -l -s -w $(SOURCE_DIRS)
go fmt ./...
test-fmt:
gofmt -l -s $(SOURCE_DIRS) | grep ".*\.go"; if [ "$$?" = "0" ]; then exit 1; fi
codegen:
./hack/update-codegen.sh
test-codegen:
./hack/verify-codegen.sh
test: test-fmt test-codegen
test: fmt test-codegen
go test ./...
helm-package:
cd charts/ && helm package ./*
mv charts/*.tgz bin/
curl -s https://raw.githubusercontent.com/weaveworks/flagger/gh-pages/index.yaml > ./bin/index.yaml
helm repo index bin --url https://flagger.app --merge ./bin/index.yaml
test-coverage: fmt test-codegen
go test -coverprofile cover.out ./...
go tool cover -html=cover.out
rm cover.out
helm-up:
helm upgrade --install flagger ./charts/flagger --namespace=istio-system --set crd.create=false
helm upgrade --install flagger-grafana ./charts/grafana --namespace=istio-system
crd:
cat artifacts/flagger/crd.yaml > charts/flagger/crds/crd.yaml
cat artifacts/flagger/crd.yaml > kustomize/base/flagger/crd.yaml
verify-crd:
./hack/verify-crd.sh
version-set:
@next="$(TAG)" && \
current="$(VERSION)" && \
sed -i '' "s/$$current/$$next/g" pkg/version/version.go && \
sed -i '' "s/flagger:$$current/flagger:$$next/g" artifacts/flagger/deployment.yaml && \
sed -i '' "s/tag: $$current/tag: $$next/g" charts/flagger/values.yaml && \
sed -i '' "s/appVersion: $$current/appVersion: $$next/g" charts/flagger/Chart.yaml && \
sed -i '' "s/version: $$current/version: $$next/g" charts/flagger/Chart.yaml && \
sed -i '' "s/newTag: $$current/newTag: $$next/g" kustomize/base/flagger/kustomization.yaml && \
sed -i "s/$$current/$$next/g" pkg/version/version.go && \
sed -i "s/flagger:$$current/flagger:$$next/g" artifacts/flagger/deployment.yaml && \
sed -i "s/tag: $$current/tag: $$next/g" charts/flagger/values.yaml && \
sed -i "s/appVersion: $$current/appVersion: $$next/g" charts/flagger/Chart.yaml && \
sed -i "s/version: $$current/version: $$next/g" charts/flagger/Chart.yaml && \
sed -i "s/newTag: $$current/newTag: $$next/g" kustomize/base/flagger/kustomization.yaml && \
echo "Version $$next set in code, deployment, chart and kustomize"
version-up:
@next="$(VERSION_MINOR).$$(($(PATCH) + 1))" && \
current="$(VERSION)" && \
sed -i '' "s/$$current/$$next/g" pkg/version/version.go && \
sed -i '' "s/flagger:$$current/flagger:$$next/g" artifacts/flagger/deployment.yaml && \
sed -i '' "s/tag: $$current/tag: $$next/g" charts/flagger/values.yaml && \
sed -i '' "s/appVersion: $$current/appVersion: $$next/g" charts/flagger/Chart.yaml && \
echo "Version $$next set in code, deployment and chart"
dev-up: version-up
@echo "Starting build/push/deploy pipeline for $(VERSION)"
docker build -t quay.io/stefanprodan/flagger:$(VERSION) . -f Dockerfile
docker push quay.io/stefanprodan/flagger:$(VERSION)
kubectl apply -f ./artifacts/flagger/crd.yaml
helm upgrade -i flagger ./charts/flagger --namespace=istio-system --set crd.create=false
release:
git tag $(VERSION)
git push origin $(VERSION)
release-set: fmt version-set helm-package
git add .
git commit -m "Release $(VERSION)"
git push origin master
git tag $(VERSION)
git push origin $(VERSION)
reset-test:
kubectl delete -f ./artifacts/namespaces
kubectl apply -f ./artifacts/namespaces
kubectl apply -f ./artifacts/canaries
loadtester-run: loadtester-build
docker build -t weaveworks/flagger-loadtester:$(LT_VERSION) . -f Dockerfile.loadtester
docker rm -f tester || true
docker run -dp 8888:9090 --name tester weaveworks/flagger-loadtester:$(LT_VERSION)
git tag "v$(VERSION)"
git push origin "v$(VERSION)"
loadtester-build:
GO111MODULE=on CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o ./bin/loadtester ./cmd/loadtester/*
docker build -t ghcr.io/fluxcd/flagger-loadtester:$(LT_VERSION) . -f Dockerfile.loadtester
loadtester-push:
docker build -t weaveworks/flagger-loadtester:$(LT_VERSION) . -f Dockerfile.loadtester
docker push weaveworks/flagger-loadtester:$(LT_VERSION)
docker push ghcr.io/fluxcd/flagger-loadtester:$(LT_VERSION)

281
README.md
View File

@@ -1,76 +1,66 @@
# flagger
# Flagger
[![build](https://img.shields.io/circleci/build/github/weaveworks/flagger/master.svg)](https://circleci.com/gh/weaveworks/flagger)
[![report](https://goreportcard.com/badge/github.com/weaveworks/flagger)](https://goreportcard.com/report/github.com/weaveworks/flagger)
[![codecov](https://codecov.io/gh/weaveworks/flagger/branch/master/graph/badge.svg)](https://codecov.io/gh/weaveworks/flagger)
[![license](https://img.shields.io/github/license/weaveworks/flagger.svg)](https://github.com/weaveworks/flagger/blob/master/LICENSE)
[![release](https://img.shields.io/github/release/weaveworks/flagger/all.svg)](https://github.com/weaveworks/flagger/releases)
[![release](https://img.shields.io/github/release/fluxcd/flagger/all.svg)](https://github.com/fluxcd/flagger/releases)
[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/4783/badge)](https://bestpractices.coreinfrastructure.org/projects/4783)
[![report](https://goreportcard.com/badge/github.com/fluxcd/flagger)](https://goreportcard.com/report/github.com/fluxcd/flagger)
[![FOSSA Status](https://app.fossa.com/api/projects/custom%2B162%2Fgithub.com%2Ffluxcd%2Fflagger.svg?type=shield)](https://app.fossa.com/projects/custom%2B162%2Fgithub.com%2Ffluxcd%2Fflagger?ref=badge_shield)
[![Artifact Hub](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/flagger)](https://artifacthub.io/packages/search?repo=flagger)
[![CLOMonitor](https://img.shields.io/endpoint?url=https://clomonitor.io/api/projects/cncf/flagger/badge)](https://clomonitor.io/projects/cncf/flagger)
Flagger is a Kubernetes operator that automates the promotion of canary deployments
using Istio, Linkerd, App Mesh, NGINX or Gloo routing for traffic shifting and Prometheus metrics for canary analysis.
The canary analysis can be extended with webhooks for running acceptance tests,
load tests or any other custom validation.
Flagger is a progressive delivery tool that automates the release process for applications running on Kubernetes.
It reduces the risk of introducing a new software version in production
by gradually shifting traffic to the new version while measuring metrics and running conformance tests.
Flagger implements a control loop that gradually shifts traffic to the canary while measuring key performance
indicators like HTTP requests success rate, requests average duration and pods health.
Based on analysis of the KPIs a canary is promoted or aborted, and the analysis result is published to Slack or MS Teams.
![flagger-overview](https://raw.githubusercontent.com/fluxcd/flagger/main/docs/diagrams/flagger-overview.png)
![flagger-overview](https://raw.githubusercontent.com/weaveworks/flagger/master/docs/diagrams/flagger-canary-overview.png)
Flagger implements several deployment strategies (Canary releases, A/B testing, Blue/Green mirroring)
and integrates with various Kubernetes ingress controllers, service mesh, and monitoring solutions.
## Documentation
Flagger is a [Cloud Native Computing Foundation](https://cncf.io/) graduated project
and part of the [Flux](https://fluxcd.io) family of GitOps tools.
Flagger documentation can be found at [docs.flagger.app](https://docs.flagger.app)
### Documentation
The Flagger documentation can be found at [docs.flagger.app](https://docs.flagger.app/main).
* Install
* [Flagger install on Kubernetes](https://docs.flagger.app/install/flagger-install-on-kubernetes)
* [Flagger install on GKE Istio](https://docs.flagger.app/install/flagger-install-on-google-cloud)
* [Flagger install on EKS App Mesh](https://docs.flagger.app/install/flagger-install-on-eks-appmesh)
* [Flagger install with SuperGloo](https://docs.flagger.app/install/flagger-install-with-supergloo)
* How it works
* [Canary custom resource](https://docs.flagger.app/how-it-works#canary-custom-resource)
* [Routing](https://docs.flagger.app/how-it-works#istio-routing)
* [Canary deployment stages](https://docs.flagger.app/how-it-works#canary-deployment)
* [Canary analysis](https://docs.flagger.app/how-it-works#canary-analysis)
* [HTTP metrics](https://docs.flagger.app/how-it-works#http-metrics)
* [Custom metrics](https://docs.flagger.app/how-it-works#custom-metrics)
* [Webhooks](https://docs.flagger.app/how-it-works#webhooks)
* [Load testing](https://docs.flagger.app/how-it-works#load-testing)
* [Manual gating](https://docs.flagger.app/how-it-works#manual-gating)
* [FAQ](https://docs.flagger.app/faq)
* [Flagger Install with Flux](https://docs.flagger.app/main/install/flagger-install-with-flux)
* Usage
* [Istio canary deployments](https://docs.flagger.app/usage/progressive-delivery)
* [Istio A/B testing](https://docs.flagger.app/usage/ab-testing)
* [Linkerd canary deployments](https://docs.flagger.app/usage/linkerd-progressive-delivery)
* [App Mesh canary deployments](https://docs.flagger.app/usage/appmesh-progressive-delivery)
* [NGINX ingress controller canary deployments](https://docs.flagger.app/usage/nginx-progressive-delivery)
* [Gloo ingress controller canary deployments](https://docs.flagger.app/usage/gloo-progressive-delivery)
* [Blue/Green deployments](https://docs.flagger.app/usage/blue-green)
* [Monitoring](https://docs.flagger.app/usage/monitoring)
* [Alerting](https://docs.flagger.app/usage/alerting)
* Tutorials
* [Canary deployments with Helm charts and Weave Flux](https://docs.flagger.app/tutorials/canary-helm-gitops)
* [How it works](https://docs.flagger.app/main/usage/how-it-works)
* [Deployment strategies](https://docs.flagger.app/main/usage/deployment-strategies)
* [Metrics analysis](https://docs.flagger.app/main/usage/metrics)
* [Webhooks](https://docs.flagger.app/main/usage/webhooks)
* [Alerting](https://docs.flagger.app/main/usage/alerting)
* [Monitoring](https://docs.flagger.app/main/usage/monitoring)
## Canary CRD
### Adopters
The list of production users can be found at [fluxcd.io/adopters/#flagger](https://fluxcd.io/adopters/#flagger).
If you are using Flagger, please
[submit a PR to add your organization](https://github.com/fluxcd/website/blob/main/data/adopters/2-flagger.yaml) to the list!
### Canary CRD
Flagger takes a Kubernetes deployment and optionally a horizontal pod autoscaler (HPA),
then creates a series of objects (Kubernetes deployments, ClusterIP services and Istio or App Mesh virtual services).
then creates a series of objects (Kubernetes deployments, ClusterIP services, service mesh, or ingress routes).
These objects expose the application on the mesh and drive the canary analysis and promotion.
Flagger keeps track of ConfigMaps and Secrets referenced by a Kubernetes Deployment and triggers a canary analysis if any of those objects change.
When promoting a workload in production, both code (container images) and configuration (config maps and secrets) are being synchronised.
When promoting a workload in production, both code (container images) and configuration (config maps and secrets) are being synchronized.
For a deployment named _podinfo_, a canary promotion can be defined using Flagger's custom resource:
```yaml
apiVersion: flagger.app/v1alpha3
apiVersion: flagger.app/v1beta1
kind: Canary
metadata:
name: podinfo
namespace: test
spec:
# service mesh provider (optional)
# can be: kubernetes, istio, linkerd, appmesh, nginx, gloo, supergloo
# use the kubernetes provider for Blue/Green style deployments
# can be: kubernetes, istio, linkerd, kuma, knative, nginx, contour, gloo, traefik, skipper
# for Gateway API implementations: gatewayapi:v1 and gatewayapi:v1beta1
provider: istio
# deployment reference
targetRef:
@@ -82,18 +72,21 @@ spec:
progressDeadlineSeconds: 60
# HPA reference (optional)
autoscalerRef:
apiVersion: autoscaling/v2beta1
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
name: podinfo
service:
# container port
# service name (defaults to targetRef.name)
name: podinfo
# ClusterIP port number
port: 9898
# Istio gateways (optional)
gateways:
- public-gateway.istio-system.svc.cluster.local
# Istio virtual service host names (optional)
hosts:
- podinfo.example.com
# container port name or number (optional)
targetPort: 9898
# port name can be http or grpc (default http)
portName: http
# add all the other container ports
# to the ClusterIP services (default false)
portDiscovery: true
# HTTP match conditions (optional)
match:
- uri:
@@ -101,16 +94,12 @@ spec:
# HTTP rewrite (optional)
rewrite:
uri: /
# cross-origin resource sharing policy (optional)
corsPolicy:
allowOrigin:
- example.com
# request timeout (optional)
timeout: 5s
# promote the canary without analysing it (default false)
skipAnalysis: false
# define the canary analysis timing and KPIs
canaryAnalysis:
analysis:
# schedule interval (default 60s)
interval: 1m
# max number of failed metric checks before rollback
@@ -121,78 +110,154 @@ spec:
# canary increment step
# percentage (0-100)
stepWeight: 5
# Istio Prometheus checks
# validation (optional)
metrics:
# builtin checks
- name: request-success-rate
# builtin Prometheus check
# minimum req success rate (non 5xx responses)
# percentage (0-100)
threshold: 99
thresholdRange:
min: 99
interval: 1m
- name: request-duration
# builtin Prometheus check
# maximum req duration P99
# milliseconds
threshold: 500
thresholdRange:
max: 500
interval: 30s
# custom check
- name: "kafka lag"
threshold: 100
query: |
avg_over_time(
kafka_consumergroup_lag{
consumergroup=~"podinfo-consumer-.*",
topic="podinfo"
}[1m]
)
# external checks (optional)
- name: "database connections"
# custom metric check
templateRef:
name: db-connections
thresholdRange:
min: 2
max: 100
interval: 1m
# testing (optional)
webhooks:
- name: load-test
- name: "conformance test"
type: pre-rollout
url: http://flagger-helmtester.test/
timeout: 5m
metadata:
type: "helmv3"
cmd: "test run podinfo -n test"
- name: "load test"
type: rollout
url: http://flagger-loadtester.test/
timeout: 5s
metadata:
cmd: "hey -z 1m -q 10 -c 2 http://podinfo.test:9898/"
# alerting (optional)
alerts:
- name: "dev team Slack"
severity: error
providerRef:
name: dev-slack
namespace: flagger
- name: "qa team Discord"
severity: warn
providerRef:
name: qa-discord
- name: "on-call MS Teams"
severity: info
providerRef:
name: on-call-msteams
```
For more details on how the canary analysis and promotion works please [read the docs](https://docs.flagger.app/how-it-works).
For more details on how the canary analysis and promotion works please [read the docs](https://docs.flagger.app/usage/how-it-works).
## Features
### Features
| Feature | Istio | Linkerd | App Mesh | NGINX | Gloo |
| -------------------------------------------- | ------------------ | ------------------ |------------------ |------------------ |------------------ |
| Canary deployments (weighted traffic) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| A/B testing (headers and cookies filters) | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_check_mark: | :heavy_minus_sign: |
| Webhooks (acceptance/load testing) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Request success rate check (L7 metric) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Request duration check (L7 metric) | :heavy_check_mark: | :heavy_check_mark: | :heavy_minus_sign: | :heavy_check_mark: | :heavy_check_mark: |
| Custom promql checks | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Traffic policy, CORS, retries and timeouts | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: |
**Service Mesh**
## Roadmap
| Feature | Istio | Linkerd | Kuma | Knative | Kubernetes CNI |
|--------------------------------------------|--------------------|--------------------|--------------------|--------------------|--------------------|
| Canary deployments (weighted traffic) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_minus_sign: |
| A/B testing (headers and cookies routing) | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: |
| Blue/Green deployments (traffic switch) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_minus_sign: | :heavy_check_mark: |
| Blue/Green deployments (traffic mirroring) | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: |
| Webhooks (acceptance/load testing) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Manual gating (approve/pause/resume) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Request success rate check (L7 metric) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_minus_sign: | :heavy_check_mark: |
| Request duration check (L7 metric) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_minus_sign: | :heavy_check_mark: |
| Custom metric checks | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
* Integrate with other ingress controllers like Contour, HAProxy, ALB
* Add support for comparing the canary metrics to the primary ones and do the validation based on the derivation between the two
**Ingress**
## Contributing
| Feature | Contour | Gloo | NGINX | Skipper | Traefik | Apache APISIX |
|-------------------------------------------|--------------------|--------------------|--------------------|--------------------|--------------------|--------------------|
| Canary deployments (weighted traffic) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| A/B testing (headers and cookies routing) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: |
| Blue/Green deployments (traffic switch) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Webhooks (acceptance/load testing) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Manual gating (approve/pause/resume) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Request success rate check (L7 metric) | :heavy_check_mark: | :heavy_check_mark: | :heavy_minus_sign: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Request duration check (L7 metric) | :heavy_check_mark: | :heavy_check_mark: | :heavy_minus_sign: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Custom metric checks | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
**Networking Interface**
| Feature | Gateway API | SMI |
|--------------------------------------------|--------------------|--------------------|
| Canary deployments (weighted traffic) | :heavy_check_mark: | :heavy_check_mark: |
| Canary deployments with session affinity | :heavy_check_mark: | :heavy_minus_sign: |
| A/B testing (headers and cookies routing) | :heavy_check_mark: | :heavy_minus_sign: |
| Blue/Green deployments (traffic switch) | :heavy_check_mark: | :heavy_check_mark: |
| Blue/Green deployments (traffic mirroring) | :heavy_minus_sign: | :heavy_minus_sign: |
| Webhooks (acceptance/load testing) | :heavy_check_mark: | :heavy_check_mark: |
| Manual gating (approve/pause/resume) | :heavy_check_mark: | :heavy_check_mark: |
| Request success rate check (L7 metric) | :heavy_minus_sign: | :heavy_minus_sign: |
| Request duration check (L7 metric) | :heavy_minus_sign: | :heavy_minus_sign: |
| Custom metric checks | :heavy_check_mark: | :heavy_check_mark: |
For all the [Gateway API](https://gateway-api.sigs.k8s.io/) compatible ingress controllers and service meshes,
the [Prometheus MetricTemplates](https://docs.flagger.app/usage/metrics#prometheus)
can be used to implement the request success rate and request duration checks.
### Roadmap
#### [GitOps Toolkit](https://fluxcd.io/flux/components/) compatibility
- Migrate Flagger to Kubernetes controller-runtime and [kubebuilder](https://github.com/kubernetes-sigs/kubebuilder)
- Make the Canary status compatible with [kstatus](https://github.com/kubernetes-sigs/cli-utils)
- Make Flagger emit Kubernetes events compatible with Flux v2 notification API
- Integrate Flagger into Flux v2 as the progressive delivery component
#### Integrations
- Migrate Linkerd, Kuma and other service mesh integrations to Gateway API
### Contributing
Flagger is Apache 2.0 licensed and accepts contributions via GitHub pull requests.
To start contributing please read the [development guide](https://docs.flagger.app/dev/dev-guide).
When submitting bug reports please include as much details as possible:
When submitting bug reports please include as many details as possible:
* which Flagger version
* which Flagger CRD version
* which Kubernetes/Istio version
* what configuration (canary, virtual service and workloads definitions)
* what happened (Flagger, Istio Pilot and Proxy logs)
- which Flagger version
- which Kubernetes version
- what configuration (canary, ingress and workloads definitions)
- what happened (Flagger and Proxy logs)
## Getting Help
### Communication
If you have any questions about Flagger and progressive delivery:
Here is a list of good entry points into our community, how we stay in touch and how you can meet us as a team.
* Read the Flagger [docs](https://docs.flagger.app).
* Invite yourself to the [Weave community slack](https://slack.weave.works/)
and join the [#flagger](https://weave-community.slack.com/messages/flagger/) channel.
* Join the [Weave User Group](https://www.meetup.com/pro/Weave/) and get invited to online talks,
hands-on training and meetups in your area.
* File an [issue](https://github.com/weaveworks/flagger/issues/new).
- Slack: Join in and talk to us in the `#flagger` channel on [CNCF Slack](https://slack.cncf.io/).
- Public meetings: We run weekly meetings - join one of the upcoming dev meetings from the [Flux calendar](https://fluxcd.io/#calendar).
- Blog: Stay up to date with the latest news on [the Flux blog](https://fluxcd.io/blog/).
- Mailing list: To be updated on Flux and Flagger progress regularly, please [join the flux-dev mailing list](https://lists.cncf.io/g/cncf-flux-dev).
Your feedback is always welcome!
#### Subscribing to the flux-dev calendar
To add the meetings to your e.g. Google calendar
1. visit the [Flux calendar](https://lists.cncf.io/g/cncf-flux-dev/calendar)
2. click on "Subscribe to Calendar" at the very bottom of the page
3. copy the iCalendar URL
4. open e.g. your Google calendar
5. find the "add calendar" option
6. choose "add by URL"
7. paste iCalendar URL (ends with `.ics`)
8. done

View File

@@ -1,62 +0,0 @@
apiVersion: flagger.app/v1alpha3
kind: Canary
metadata:
name: abtest
namespace: test
spec:
# deployment reference
targetRef:
apiVersion: apps/v1
kind: Deployment
name: abtest
# the maximum time in seconds for the canary deployment
# to make progress before it is rollback (default 600s)
progressDeadlineSeconds: 60
# HPA reference (optional)
autoscalerRef:
apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
name: abtest
service:
# container port
port: 9898
# Istio gateways (optional)
gateways:
- public-gateway.istio-system.svc.cluster.local
- mesh
# Istio virtual service host names (optional)
hosts:
- abtest.istio.weavedx.com
canaryAnalysis:
# schedule interval (default 60s)
interval: 10s
# max number of failed metric checks before rollback
threshold: 10
# total number of iterations
iterations: 10
# canary match condition
match:
- headers:
user-agent:
regex: "^(?!.*Chrome)(?=.*\bSafari\b).*$"
- headers:
cookie:
regex: "^(.*?;)?(type=insider)(;.*)?$"
metrics:
- name: request-success-rate
# minimum req success rate (non 5xx responses)
# percentage (0-100)
threshold: 99
interval: 1m
- name: request-duration
# maximum req duration P99
# milliseconds
threshold: 500
interval: 30s
# external checks (optional)
webhooks:
- name: load-test
url: http://flagger-loadtester.test/
timeout: 5s
metadata:
cmd: "hey -z 1m -q 10 -c 2 -H 'Cookie: type=insider' http://podinfo.test:9898/"

View File

@@ -1,67 +0,0 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: abtest
namespace: test
labels:
app: abtest
spec:
minReadySeconds: 5
revisionHistoryLimit: 5
progressDeadlineSeconds: 60
strategy:
rollingUpdate:
maxUnavailable: 0
type: RollingUpdate
selector:
matchLabels:
app: abtest
template:
metadata:
annotations:
prometheus.io/scrape: "true"
labels:
app: abtest
spec:
containers:
- name: podinfod
image: quay.io/stefanprodan/podinfo:1.7.0
imagePullPolicy: IfNotPresent
ports:
- containerPort: 9898
name: http
protocol: TCP
command:
- ./podinfo
- --port=9898
- --level=info
- --random-delay=false
- --random-error=false
env:
- name: PODINFO_UI_COLOR
value: blue
livenessProbe:
exec:
command:
- podcli
- check
- http
- localhost:9898/healthz
initialDelaySeconds: 5
timeoutSeconds: 5
readinessProbe:
exec:
command:
- podcli
- check
- http
- localhost:9898/readyz
initialDelaySeconds: 5
timeoutSeconds: 5
resources:
limits:
cpu: 2000m
memory: 512Mi
requests:
cpu: 100m
memory: 64Mi

View File

@@ -1,19 +0,0 @@
apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
name: abtest
namespace: test
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: abtest
minReplicas: 2
maxReplicas: 4
metrics:
- type: Resource
resource:
name: cpu
# scale up if usage is above
# 99% of the requested CPU (100m)
targetAverageUtilization: 99

View File

@@ -1,50 +0,0 @@
apiVersion: flagger.app/v1alpha3
kind: Canary
metadata:
name: podinfo
namespace: test
spec:
# deployment reference
targetRef:
apiVersion: apps/v1
kind: Deployment
name: podinfo
# the maximum time in seconds for the canary deployment
# to make progress before it is rollback (default 600s)
progressDeadlineSeconds: 60
# HPA reference (optional)
autoscalerRef:
apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
name: podinfo
service:
# container port
port: 9898
# App Mesh reference
meshName: global
# define the canary analysis timing and KPIs
canaryAnalysis:
# schedule interval (default 60s)
interval: 10s
# max number of failed metric checks before rollback
threshold: 10
# max traffic percentage routed to canary
# percentage (0-100)
maxWeight: 50
# canary increment step
# percentage (0-100)
stepWeight: 5
# App Mesh Prometheus checks
metrics:
- name: request-success-rate
# minimum req success rate (non 5xx responses)
# percentage (0-100)
threshold: 99
interval: 1m
# external checks (optional)
webhooks:
- name: load-test
url: http://flagger-loadtester.test/
timeout: 5s
metadata:
cmd: "hey -z 1m -q 10 -c 2 http://podinfo.test:9898/"

View File

@@ -1,65 +0,0 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: podinfo
namespace: test
labels:
app: podinfo
spec:
minReadySeconds: 5
revisionHistoryLimit: 5
progressDeadlineSeconds: 60
strategy:
rollingUpdate:
maxUnavailable: 0
type: RollingUpdate
selector:
matchLabels:
app: podinfo
template:
metadata:
annotations:
prometheus.io/scrape: "true"
labels:
app: podinfo
spec:
containers:
- name: podinfod
image: quay.io/stefanprodan/podinfo:2.0.0
imagePullPolicy: IfNotPresent
ports:
- containerPort: 9898
name: http
protocol: TCP
command:
- ./podinfo
- --port=9898
- --level=info
env:
- name: PODINFO_UI_COLOR
value: blue
livenessProbe:
exec:
command:
- podcli
- check
- http
- localhost:9898/healthz
initialDelaySeconds: 5
timeoutSeconds: 5
readinessProbe:
exec:
command:
- podcli
- check
- http
- localhost:9898/readyz
initialDelaySeconds: 5
timeoutSeconds: 5
resources:
limits:
cpu: 2000m
memory: 512Mi
requests:
cpu: 100m
memory: 64Mi

View File

@@ -1,6 +0,0 @@
apiVersion: appmesh.k8s.aws/v1beta1
kind: Mesh
metadata:
name: global
spec:
serviceDiscoveryType: dns

View File

@@ -1,19 +0,0 @@
apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
name: podinfo
namespace: test
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: podinfo
minReplicas: 2
maxReplicas: 4
metrics:
- type: Resource
resource:
name: cpu
# scale up if usage is above
# 99% of the requested CPU (100m)
targetAverageUtilization: 99

View File

@@ -1,177 +0,0 @@
---
kind: ConfigMap
apiVersion: v1
metadata:
name: ingress-config
namespace: test
labels:
app: ingress
data:
envoy.yaml: |
static_resources:
listeners:
- address:
socket_address:
address: 0.0.0.0
port_value: 80
filter_chains:
- filters:
- name: envoy.http_connection_manager
config:
access_log:
- name: envoy.file_access_log
config:
path: /dev/stdout
codec_type: auto
stat_prefix: ingress_http
http_filters:
- name: envoy.router
config: {}
route_config:
name: local_route
virtual_hosts:
- name: local_service
domains: ["*"]
routes:
- match:
prefix: "/"
route:
cluster: podinfo
host_rewrite: podinfo.test
timeout: 15s
retry_policy:
retry_on: "gateway-error,connect-failure,refused-stream"
num_retries: 10
per_try_timeout: 5s
clusters:
- name: podinfo
connect_timeout: 0.30s
type: strict_dns
lb_policy: round_robin
http2_protocol_options: {}
hosts:
- socket_address:
address: podinfo.test
port_value: 9898
admin:
access_log_path: /dev/null
address:
socket_address:
address: 0.0.0.0
port_value: 9999
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: ingress
namespace: test
labels:
app: ingress
spec:
replicas: 1
selector:
matchLabels:
app: ingress
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 0
template:
metadata:
labels:
app: ingress
annotations:
prometheus.io/path: "/stats/prometheus"
prometheus.io/port: "9999"
prometheus.io/scrape: "true"
# dummy port to exclude ingress from mesh traffic
# only egress should go over the mesh
appmesh.k8s.aws/ports: "444"
spec:
terminationGracePeriodSeconds: 30
containers:
- name: ingress
image: "envoyproxy/envoy-alpine:d920944aed67425f91fc203774aebce9609e5d9a"
securityContext:
capabilities:
drop:
- ALL
add:
- NET_BIND_SERVICE
command:
- /usr/bin/dumb-init
- --
args:
- /usr/local/bin/envoy
- --base-id 30
- --v2-config-only
- -l
- $loglevel
- -c
- /config/envoy.yaml
ports:
- name: admin
containerPort: 9999
protocol: TCP
- name: http
containerPort: 80
protocol: TCP
- name: https
containerPort: 443
protocol: TCP
livenessProbe:
initialDelaySeconds: 5
tcpSocket:
port: admin
readinessProbe:
initialDelaySeconds: 5
tcpSocket:
port: admin
resources:
requests:
cpu: 100m
memory: 64Mi
volumeMounts:
- name: config
mountPath: /config
volumes:
- name: config
configMap:
name: ingress-config
---
kind: Service
apiVersion: v1
metadata:
name: ingress
namespace: test
spec:
selector:
app: ingress
ports:
- protocol: TCP
name: http
port: 80
targetPort: 80
- protocol: TCP
name: https
port: 443
targetPort: 443
type: LoadBalancer
---
apiVersion: appmesh.k8s.aws/v1beta1
kind: VirtualNode
metadata:
name: ingress
namespace: test
spec:
meshName: global
listeners:
- portMapping:
port: 80
protocol: http
serviceDiscovery:
dns:
hostName: ingress.test
backends:
- virtualService:
virtualServiceName: podinfo.test

View File

@@ -1,88 +0,0 @@
apiVersion: flagger.app/v1alpha3
kind: Canary
metadata:
name: podinfo
namespace: test
spec:
# service mesh provider (default istio)
# can be: kubernetes, istio, appmesh, smi, nginx, gloo, supergloo
# use the kubernetes provider for Blue/Green style deployments
provider: istio
# deployment reference
targetRef:
apiVersion: apps/v1
kind: Deployment
name: podinfo
# the maximum time in seconds for the canary deployment
# to make progress before it is rollback (default 600s)
progressDeadlineSeconds: 60
# HPA reference (optional)
autoscalerRef:
apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
name: podinfo
service:
# container port
port: 9898
# port name can be http or grpc (default http)
portName: http
# add all the other container ports
# when generating ClusterIP services (default false)
portDiscovery: false
# Istio gateways (optional)
gateways:
- public-gateway.istio-system.svc.cluster.local
# remove the mesh gateway if the public host is
# shared across multiple virtual services
- mesh
# Istio virtual service host names (optional)
hosts:
- app.istio.weavedx.com
# Istio traffic policy (optional)
trafficPolicy:
tls:
# use ISTIO_MUTUAL when mTLS is enabled
mode: DISABLE
# HTTP match conditions (optional)
match:
- uri:
prefix: /
# HTTP rewrite (optional)
rewrite:
uri: /
# HTTP timeout (optional)
timeout: 30s
# promote the canary without analysing it (default false)
skipAnalysis: false
canaryAnalysis:
# schedule interval (default 60s)
interval: 10s
# max number of failed metric checks before rollback
threshold: 10
# max traffic percentage routed to canary
# percentage (0-100)
maxWeight: 50
# canary increment step
# percentage (0-100)
stepWeight: 5
# Prometheus checks
metrics:
- name: request-success-rate
# minimum req success rate (non 5xx responses)
# percentage (0-100)
threshold: 99
interval: 1m
- name: request-duration
# maximum req duration P99
# milliseconds
threshold: 500
interval: 30s
# external checks (optional)
webhooks:
- name: load-test
url: http://flagger-loadtester.test/
timeout: 5s
metadata:
type: cmd
cmd: "hey -z 1m -q 10 -c 2 http://podinfo-canary.test:9898/"
logCmdOutput: "true"

View File

@@ -1,67 +0,0 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: podinfo
namespace: test
labels:
app: podinfo
spec:
minReadySeconds: 5
revisionHistoryLimit: 5
progressDeadlineSeconds: 60
strategy:
rollingUpdate:
maxUnavailable: 0
type: RollingUpdate
selector:
matchLabels:
app: podinfo
template:
metadata:
annotations:
prometheus.io/scrape: "true"
labels:
app: podinfo
spec:
containers:
- name: podinfod
image: stefanprodan/podinfo:2.0.0
imagePullPolicy: IfNotPresent
ports:
- containerPort: 9898
name: http
protocol: TCP
command:
- ./podinfo
- --port=9898
- --level=info
- --random-delay=false
- --random-error=false
env:
- name: PODINFO_UI_COLOR
value: blue
livenessProbe:
exec:
command:
- podcli
- check
- http
- localhost:9898/healthz
initialDelaySeconds: 5
timeoutSeconds: 5
readinessProbe:
exec:
command:
- podcli
- check
- http
- localhost:9898/readyz
initialDelaySeconds: 5
timeoutSeconds: 5
resources:
limits:
cpu: 2000m
memory: 512Mi
requests:
cpu: 100m
memory: 64Mi

View File

@@ -1,19 +0,0 @@
apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
name: podinfo
namespace: test
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: podinfo
minReplicas: 2
maxReplicas: 4
metrics:
- type: Resource
resource:
name: cpu
# scale up if usage is above
# 99% of the requested CPU (100m)
targetAverageUtilization: 99

View File

@@ -1,6 +0,0 @@
apiVersion: v1
kind: Namespace
metadata:
name: test
labels:
istio-injection: enabled

View File

@@ -1,26 +0,0 @@
apiVersion: flux.weave.works/v1beta1
kind: HelmRelease
metadata:
name: backend
namespace: test
annotations:
flux.weave.works/automated: "true"
flux.weave.works/tag.chart-image: regexp:^1.7.*
spec:
releaseName: backend
chart:
repository: https://flagger.app/
name: podinfo
version: 2.2.0
values:
image:
repository: quay.io/stefanprodan/podinfo
tag: 1.7.0
httpServer:
timeout: 30s
canary:
enabled: true
istioIngress:
enabled: false
loadtest:
enabled: true

View File

@@ -1,27 +0,0 @@
apiVersion: flux.weave.works/v1beta1
kind: HelmRelease
metadata:
name: frontend
namespace: test
annotations:
flux.weave.works/automated: "true"
flux.weave.works/tag.chart-image: semver:~1.7
spec:
releaseName: frontend
chart:
repository: https://flagger.app/
name: podinfo
version: 2.2.0
values:
image:
repository: quay.io/stefanprodan/podinfo
tag: 1.7.0
backend: http://backend-podinfo:9898/echo
canary:
enabled: true
istioIngress:
enabled: true
gateway: public-gateway.istio-system.svc.cluster.local
host: frontend.istio.example.com
loadtest:
enabled: true

View File

@@ -1,18 +0,0 @@
apiVersion: flux.weave.works/v1beta1
kind: HelmRelease
metadata:
name: loadtester
namespace: test
annotations:
flux.weave.works/automated: "true"
flux.weave.works/tag.chart-image: glob:0.*
spec:
releaseName: flagger-loadtester
chart:
repository: https://flagger.app/
name: loadtester
version: 0.6.0
values:
image:
repository: weaveworks/flagger-loadtester
tag: 0.6.1

View File

@@ -1,264 +0,0 @@
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRole
metadata:
name: prometheus
labels:
app: prometheus
rules:
- apiGroups: [""]
resources:
- nodes
- services
- endpoints
- pods
- nodes/proxy
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources:
- configmaps
verbs: ["get"]
- nonResourceURLs: ["/metrics"]
verbs: ["get"]
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
name: prometheus
labels:
app: prometheus
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: prometheus
subjects:
- kind: ServiceAccount
name: prometheus
namespace: appmesh-system
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: prometheus
namespace: appmesh-system
labels:
app: prometheus
---
apiVersion: v1
kind: ConfigMap
metadata:
name: prometheus
namespace: appmesh-system
labels:
app: prometheus
data:
prometheus.yml: |-
global:
scrape_interval: 5s
scrape_configs:
# Scrape config for AppMesh Envoy sidecar
- job_name: 'appmesh-envoy'
metrics_path: /stats/prometheus
kubernetes_sd_configs:
- role: pod
relabel_configs:
- source_labels: [__meta_kubernetes_pod_container_name]
action: keep
regex: '^envoy$'
- source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port]
action: replace
regex: ([^:]+)(?::\d+)?;(\d+)
replacement: ${1}:9901
target_label: __address__
- action: labelmap
regex: __meta_kubernetes_pod_label_(.+)
- source_labels: [__meta_kubernetes_namespace]
action: replace
target_label: kubernetes_namespace
- source_labels: [__meta_kubernetes_pod_name]
action: replace
target_label: kubernetes_pod_name
# Exclude high cardinality metrics
metric_relabel_configs:
- source_labels: [ cluster_name ]
regex: '(outbound|inbound|prometheus_stats).*'
action: drop
- source_labels: [ tcp_prefix ]
regex: '(outbound|inbound|prometheus_stats).*'
action: drop
- source_labels: [ listener_address ]
regex: '(.+)'
action: drop
- source_labels: [ http_conn_manager_listener_prefix ]
regex: '(.+)'
action: drop
- source_labels: [ http_conn_manager_prefix ]
regex: '(.+)'
action: drop
- source_labels: [ __name__ ]
regex: 'envoy_tls.*'
action: drop
- source_labels: [ __name__ ]
regex: 'envoy_tcp_downstream.*'
action: drop
- source_labels: [ __name__ ]
regex: 'envoy_http_(stats|admin).*'
action: drop
- source_labels: [ __name__ ]
regex: 'envoy_cluster_(lb|retry|bind|internal|max|original).*'
action: drop
# Scrape config for API servers
- job_name: 'kubernetes-apiservers'
kubernetes_sd_configs:
- role: endpoints
namespaces:
names:
- default
scheme: https
tls_config:
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
relabel_configs:
- source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]
action: keep
regex: kubernetes;https
# Scrape config for nodes
- job_name: 'kubernetes-nodes'
scheme: https
tls_config:
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
kubernetes_sd_configs:
- role: node
relabel_configs:
- action: labelmap
regex: __meta_kubernetes_node_label_(.+)
- target_label: __address__
replacement: kubernetes.default.svc:443
- source_labels: [__meta_kubernetes_node_name]
regex: (.+)
target_label: __metrics_path__
replacement: /api/v1/nodes/${1}/proxy/metrics
# scrape config for cAdvisor
- job_name: 'kubernetes-cadvisor'
scheme: https
tls_config:
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
kubernetes_sd_configs:
- role: node
relabel_configs:
- action: labelmap
regex: __meta_kubernetes_node_label_(.+)
- target_label: __address__
replacement: kubernetes.default.svc:443
- source_labels: [__meta_kubernetes_node_name]
regex: (.+)
target_label: __metrics_path__
replacement: /api/v1/nodes/${1}/proxy/metrics/cadvisor
# scrape config for pods
- job_name: kubernetes-pods
kubernetes_sd_configs:
- role: pod
relabel_configs:
- action: keep
regex: true
source_labels:
- __meta_kubernetes_pod_annotation_prometheus_io_scrape
- source_labels: [ __address__ ]
regex: '.*9901.*'
action: drop
- action: replace
regex: (.+)
source_labels:
- __meta_kubernetes_pod_annotation_prometheus_io_path
target_label: __metrics_path__
- action: replace
regex: ([^:]+)(?::\d+)?;(\d+)
replacement: $1:$2
source_labels:
- __address__
- __meta_kubernetes_pod_annotation_prometheus_io_port
target_label: __address__
- action: labelmap
regex: __meta_kubernetes_pod_label_(.+)
- action: replace
source_labels:
- __meta_kubernetes_namespace
target_label: kubernetes_namespace
- action: replace
source_labels:
- __meta_kubernetes_pod_name
target_label: kubernetes_pod_name
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: prometheus
namespace: appmesh-system
labels:
app: prometheus
spec:
replicas: 1
selector:
matchLabels:
app: prometheus
template:
metadata:
labels:
app: prometheus
annotations:
version: "appmesh-v1alpha1"
spec:
serviceAccountName: prometheus
containers:
- name: prometheus
image: "docker.io/prom/prometheus:v2.7.1"
imagePullPolicy: IfNotPresent
args:
- '--storage.tsdb.retention=6h'
- '--config.file=/etc/prometheus/prometheus.yml'
ports:
- containerPort: 9090
name: http
livenessProbe:
httpGet:
path: /-/healthy
port: 9090
readinessProbe:
httpGet:
path: /-/ready
port: 9090
resources:
requests:
cpu: 10m
memory: 128Mi
volumeMounts:
- name: config-volume
mountPath: /etc/prometheus
volumes:
- name: config-volume
configMap:
name: prometheus
---
apiVersion: v1
kind: Service
metadata:
name: prometheus
namespace: appmesh-system
labels:
name: prometheus
spec:
selector:
app: prometheus
ports:
- name: http
protocol: TCP
port: 9090

View File

@@ -0,0 +1,70 @@
apiVersion: flagger.app/v1beta1
kind: Canary
metadata:
name: podinfo
namespace: test
spec:
provider: istio
targetRef:
apiVersion: apps/v1
kind: Deployment
name: podinfo
autoscalerRef:
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
name: podinfo
service:
name: podinfo
port: 80
targetPort: 9898
portName: http
portDiscovery: true
gateways:
- istio-system/public-gateway
- mesh
hosts:
- app.example.com
trafficPolicy:
tls:
mode: DISABLE
match:
- uri:
prefix: /
rewrite:
uri: /
timeout: 30s
analysis:
interval: 15s
threshold: 10
iterations: 10
match:
- headers:
cookie:
regex: "^(.*?;)?(type=insider)(;.*)?$"
- headers:
user-agent:
regex: ".*Firefox.*"
metrics:
- name: request-success-rate
thresholdRange:
min: 99
interval: 1m
- name: request-duration
thresholdRange:
max: 500
interval: 30s
webhooks:
- name: conformance-test
type: pre-rollout
url: http://flagger-loadtester.test/
timeout: 15s
metadata:
type: "bash"
cmd: "curl -sd 'test' http://podinfo-canary.test/token | grep token"
- name: load-test
type: rollout
url: http://flagger-loadtester.test/
timeout: 5s
metadata:
type: cmd
cmd: "hey -z 1m -q 10 -c 2 -H 'Cookie: type=insider' http://podinfo.test/"

View File

@@ -0,0 +1,66 @@
apiVersion: flagger.app/v1beta1
kind: Canary
metadata:
name: podinfo
namespace: test
spec:
provider: istio
progressDeadlineSeconds: 600
targetRef:
apiVersion: apps/v1
kind: Deployment
name: podinfo
autoscalerRef:
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
name: podinfo
service:
name: podinfo
port: 80
targetPort: 9898
portName: http
portDiscovery: true
gateways:
- istio-system/public-gateway
- mesh
hosts:
- app.example.com
trafficPolicy:
tls:
mode: DISABLE
match:
- uri:
prefix: /
rewrite:
uri: /
timeout: 30s
skipAnalysis: false
analysis:
interval: 15s
threshold: 10
maxWeight: 50
stepWeight: 5
metrics:
- name: request-success-rate
thresholdRange:
min: 99
interval: 1m
- name: request-duration
thresholdRange:
max: 500
interval: 30s
webhooks:
- name: conformance-test
type: pre-rollout
url: http://flagger-loadtester.test/
timeout: 15s
metadata:
type: "bash"
cmd: "curl -sd 'test' http://podinfo-canary.test/token | grep token"
- name: load-test
type: rollout
url: http://flagger-loadtester.test/
timeout: 5s
metadata:
type: cmd
cmd: "hey -z 1m -q 10 -c 2 http://podinfo-canary.test/"

View File

@@ -0,0 +1,50 @@
apiVersion: flagger.app/v1beta1
kind: Canary
metadata:
name: podinfo
namespace: test
annotations:
kuma.io/mesh: default
spec:
targetRef:
apiVersion: apps/v1
kind: Deployment
name: podinfo
progressDeadlineSeconds: 60
service:
port: 9898
targetPort: 9898
apex:
annotations:
9898.service.kuma.io/protocol: "http"
canary:
annotations:
9898.service.kuma.io/protocol: "http"
primary:
annotations:
9898.service.kuma.io/protocol: "http"
analysis:
interval: 15s
threshold: 15
maxWeight: 50
stepWeight: 10
metrics:
- name: request-success-rate
threshold: 99
interval: 1m
- name: request-duration
threshold: 500
interval: 30s
webhooks:
- name: acceptance-test
type: pre-rollout
url: http://flagger-loadtester.test/
timeout: 30s
metadata:
type: bash
cmd: "curl -sd 'test' http://podinfo-canary.test:9898/token | grep token"
- name: load-test
type: rollout
url: http://flagger-loadtester.test/
metadata:
cmd: "hey -z 2m -q 10 -c 2 http://podinfo-canary.test:9898/"

View File

@@ -0,0 +1,51 @@
apiVersion: flagger.app/v1beta1
kind: Canary
metadata:
name: podinfo
namespace: test
spec:
provider: linkerd
progressDeadlineSeconds: 600
targetRef:
apiVersion: apps/v1
kind: Deployment
name: podinfo
autoscalerRef:
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
name: podinfo
service:
name: podinfo
port: 80
targetPort: 9898
portName: http
portDiscovery: true
skipAnalysis: false
analysis:
interval: 15s
threshold: 10
stepWeights: [5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55]
metrics:
- name: request-success-rate
thresholdRange:
min: 99
interval: 1m
- name: request-duration
thresholdRange:
max: 500
interval: 30s
webhooks:
- name: conformance-test
type: pre-rollout
url: http://flagger-loadtester.test/
timeout: 15s
metadata:
type: "bash"
cmd: "curl -sd 'test' http://podinfo-canary.test/token | grep token"
- name: load-test
type: rollout
url: http://flagger-loadtester.test/
timeout: 5s
metadata:
type: cmd
cmd: "hey -z 1m -q 10 -c 2 http://podinfo-canary.test/"

View File

@@ -0,0 +1,52 @@
apiVersion: flagger.app/v1beta1
kind: Canary
metadata:
name: podinfo
namespace: test
spec:
provider: linkerd
progressDeadlineSeconds: 600
targetRef:
apiVersion: apps/v1
kind: Deployment
name: podinfo
autoscalerRef:
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
name: podinfo
service:
name: podinfo
port: 80
targetPort: 9898
portName: http
portDiscovery: true
skipAnalysis: false
analysis:
interval: 15s
threshold: 10
maxWeight: 50
stepWeight: 5
metrics:
- name: request-success-rate
thresholdRange:
min: 99
interval: 1m
- name: request-duration
thresholdRange:
max: 500
interval: 30s
webhooks:
- name: conformance-test
type: pre-rollout
url: http://flagger-loadtester.test/
timeout: 15s
metadata:
type: "bash"
cmd: "curl -sd 'test' http://podinfo-canary.test/token | grep token"
- name: load-test
type: rollout
url: http://flagger-loadtester.test/
timeout: 5s
metadata:
type: cmd
cmd: "hey -z 1m -q 10 -c 2 http://podinfo-canary.test/"

View File

@@ -2,11 +2,11 @@ apiVersion: v1
kind: ServiceAccount
metadata:
name: flagger
namespace: istio-system
namespace: default
labels:
app: flagger
---
apiVersion: rbac.authorization.k8s.io/v1beta1
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: flagger
@@ -18,75 +18,245 @@ rules:
resources:
- events
- configmaps
- configmaps/finalizers
- secrets
- secrets/finalizers
- services
verbs: ["*"]
- services/finalizers
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- apiGroups:
- "coordination.k8s.io"
resources:
- leases
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- apiGroups:
- apps
resources:
- daemonsets
- daemonsets/finalizers
- deployments
verbs: ["*"]
- deployments/finalizers
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- apiGroups:
- autoscaling
resources:
- horizontalpodautoscalers
verbs: ["*"]
- horizontalpodautoscalers/finalizers
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- apiGroups:
- "extensions"
- extensions
- networking.k8s.io
resources:
- ingresses
- ingresses/status
verbs: ["*"]
- ingresses/finalizers
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- apiGroups:
- flagger.app
resources:
- canaries
- canaries/status
verbs: ["*"]
- canaries/finalizers
- metrictemplates
- metrictemplates/status
- alertproviders
- alertproviders/status
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- apiGroups:
- networking.istio.io
resources:
- virtualservices
- virtualservices/status
- virtualservices/finalizers
- destinationrules
- destinationrules/status
verbs: ["*"]
- destinationrules/finalizers
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- apiGroups:
- appmesh.k8s.aws
resources:
- meshes
- meshes/status
- virtualnodes
- virtualnodes/status
- virtualnodes/finalizers
- virtualrouters
- virtualrouters/finalizers
- virtualservices
- virtualservices/status
verbs: ["*"]
- virtualservices/finalizers
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- apiGroups:
- split.smi-spec.io
resources:
- trafficsplits
verbs: ["*"]
- trafficsplits/finalizers
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- apiGroups:
- specs.smi-spec.io
resources:
- httproutegroups
- httproutegroups/finalizers
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- apiGroups:
- gloo.solo.io
resources:
- settings
- upstreams
- upstreamgroups
- proxies
- virtualservices
verbs: ["*"]
- upstreams/finalizers
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- apiGroups:
- gateway.solo.io
resources:
- virtualservices
- gateways
verbs: ["*"]
- routetables
- routetables/finalizers
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- apiGroups:
- projectcontour.io
resources:
- httpproxies
- httpproxies/finalizers
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- apiGroups:
- kuma.io
resources:
- trafficroutes
- trafficroutes/finalizers
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- apiGroups:
- gateway.networking.k8s.io
resources:
- httproutes
- httproutes/finalizers
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- apiGroups:
- keda.sh
resources:
- scaledobjects
- scaledobjects/finalizers
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- apiGroups:
- apisix.apache.org
resources:
- apisixroutes
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- nonResourceURLs:
- /version
verbs:
- get
---
apiVersion: rbac.authorization.k8s.io/v1beta1
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: flagger
@@ -99,4 +269,4 @@ roleRef:
subjects:
- kind: ServiceAccount
name: flagger
namespace: istio-system
namespace: default

File diff suppressed because it is too large Load Diff

View File

@@ -2,7 +2,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: flagger
namespace: istio-system
namespace: default
labels:
app: flagger
spec:
@@ -22,7 +22,7 @@ spec:
serviceAccountName: flagger
containers:
- name: flagger
image: weaveworks/flagger:0.18.3
image: ghcr.io/fluxcd/flagger:1.42.0
imagePullPolicy: IfNotPresent
ports:
- name: http
@@ -30,9 +30,6 @@ spec:
command:
- ./flagger
- -log-level=info
- -control-loop-interval=10s
- -mesh-provider=$(MESH_PROVIDER)
- -metrics-server=http://prometheus.istio-system.svc.cluster.local:9090
livenessProbe:
exec:
command:

View File

@@ -1,27 +0,0 @@
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: public-gateway
namespace: istio-system
spec:
selector:
istio: ingressgateway
servers:
- port:
number: 80
name: http
protocol: HTTP
hosts:
- "*"
tls:
httpsRedirect: true
- port:
number: 443
name: https
protocol: HTTPS
hosts:
- "*"
tls:
mode: SIMPLE
privateKey: /etc/istio/ingressgateway-certs/tls.key
serverCertificate: /etc/istio/ingressgateway-certs/tls.crt

View File

@@ -1,834 +0,0 @@
# Source: istio/charts/prometheus/templates/configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: prometheus
namespace: istio-system
labels:
app: prometheus
chart: prometheus-1.0.6
heritage: Tiller
release: istio
data:
prometheus.yml: |-
global:
scrape_interval: 15s
scrape_configs:
- job_name: 'istio-mesh'
# Override the global default and scrape targets from this job every 5 seconds.
scrape_interval: 5s
kubernetes_sd_configs:
- role: endpoints
namespaces:
names:
- istio-system
relabel_configs:
- source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]
action: keep
regex: istio-telemetry;prometheus
# Scrape config for envoy stats
- job_name: 'envoy-stats'
metrics_path: /stats/prometheus
kubernetes_sd_configs:
- role: pod
relabel_configs:
- source_labels: [__meta_kubernetes_pod_container_port_name]
action: keep
regex: '.*-envoy-prom'
- source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port]
action: replace
regex: ([^:]+)(?::\d+)?;(\d+)
replacement: $1:15090
target_label: __address__
- action: labelmap
regex: __meta_kubernetes_pod_label_(.+)
- source_labels: [__meta_kubernetes_namespace]
action: replace
target_label: namespace
- source_labels: [__meta_kubernetes_pod_name]
action: replace
target_label: pod_name
metric_relabel_configs:
# Exclude some of the envoy metrics that have massive cardinality
# This list may need to be pruned further moving forward, as informed
# by performance and scalability testing.
- source_labels: [ cluster_name ]
regex: '(outbound|inbound|prometheus_stats).*'
action: drop
- source_labels: [ tcp_prefix ]
regex: '(outbound|inbound|prometheus_stats).*'
action: drop
- source_labels: [ listener_address ]
regex: '(.+)'
action: drop
- source_labels: [ http_conn_manager_listener_prefix ]
regex: '(.+)'
action: drop
- source_labels: [ http_conn_manager_prefix ]
regex: '(.+)'
action: drop
- source_labels: [ __name__ ]
regex: 'envoy_tls.*'
action: drop
- source_labels: [ __name__ ]
regex: 'envoy_tcp_downstream.*'
action: drop
- source_labels: [ __name__ ]
regex: 'envoy_http_(stats|admin).*'
action: drop
- source_labels: [ __name__ ]
regex: 'envoy_cluster_(lb|retry|bind|internal|max|original).*'
action: drop
- job_name: 'istio-policy'
# Override the global default and scrape targets from this job every 5 seconds.
scrape_interval: 5s
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
kubernetes_sd_configs:
- role: endpoints
namespaces:
names:
- istio-system
relabel_configs:
- source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]
action: keep
regex: istio-policy;http-monitoring
- job_name: 'istio-telemetry'
# Override the global default and scrape targets from this job every 5 seconds.
scrape_interval: 5s
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
kubernetes_sd_configs:
- role: endpoints
namespaces:
names:
- istio-system
relabel_configs:
- source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]
action: keep
regex: istio-telemetry;http-monitoring
- job_name: 'pilot'
# Override the global default and scrape targets from this job every 5 seconds.
scrape_interval: 5s
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
kubernetes_sd_configs:
- role: endpoints
namespaces:
names:
- istio-system
relabel_configs:
- source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]
action: keep
regex: istio-pilot;http-monitoring
- job_name: 'galley'
# Override the global default and scrape targets from this job every 5 seconds.
scrape_interval: 5s
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
kubernetes_sd_configs:
- role: endpoints
namespaces:
names:
- istio-system
relabel_configs:
- source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]
action: keep
regex: istio-galley;http-monitoring
# scrape config for API servers
- job_name: 'kubernetes-apiservers'
kubernetes_sd_configs:
- role: endpoints
namespaces:
names:
- default
scheme: https
tls_config:
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
relabel_configs:
- source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]
action: keep
regex: kubernetes;https
# scrape config for nodes (kubelet)
- job_name: 'kubernetes-nodes'
scheme: https
tls_config:
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
kubernetes_sd_configs:
- role: node
relabel_configs:
- action: labelmap
regex: __meta_kubernetes_node_label_(.+)
- target_label: __address__
replacement: kubernetes.default.svc:443
- source_labels: [__meta_kubernetes_node_name]
regex: (.+)
target_label: __metrics_path__
replacement: /api/v1/nodes/${1}/proxy/metrics
# Scrape config for Kubelet cAdvisor.
#
# This is required for Kubernetes 1.7.3 and later, where cAdvisor metrics
# (those whose names begin with 'container_') have been removed from the
# Kubelet metrics endpoint. This job scrapes the cAdvisor endpoint to
# retrieve those metrics.
#
# In Kubernetes 1.7.0-1.7.2, these metrics are only exposed on the cAdvisor
# HTTP endpoint; use "replacement: /api/v1/nodes/${1}:4194/proxy/metrics"
# in that case (and ensure cAdvisor's HTTP server hasn't been disabled with
# the --cadvisor-port=0 Kubelet flag).
#
# This job is not necessary and should be removed in Kubernetes 1.6 and
# earlier versions, or it will cause the metrics to be scraped twice.
- job_name: 'kubernetes-cadvisor'
scheme: https
tls_config:
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
kubernetes_sd_configs:
- role: node
relabel_configs:
- action: labelmap
regex: __meta_kubernetes_node_label_(.+)
- target_label: __address__
replacement: kubernetes.default.svc:443
- source_labels: [__meta_kubernetes_node_name]
regex: (.+)
target_label: __metrics_path__
replacement: /api/v1/nodes/${1}/proxy/metrics/cadvisor
# scrape config for service endpoints.
- job_name: 'kubernetes-service-endpoints'
kubernetes_sd_configs:
- role: endpoints
relabel_configs:
- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scrape]
action: keep
regex: true
- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scheme]
action: replace
target_label: __scheme__
regex: (https?)
- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_path]
action: replace
target_label: __metrics_path__
regex: (.+)
- source_labels: [__address__, __meta_kubernetes_service_annotation_prometheus_io_port]
action: replace
target_label: __address__
regex: ([^:]+)(?::\d+)?;(\d+)
replacement: $1:$2
- action: labelmap
regex: __meta_kubernetes_service_label_(.+)
- source_labels: [__meta_kubernetes_namespace]
action: replace
target_label: kubernetes_namespace
- source_labels: [__meta_kubernetes_service_name]
action: replace
target_label: kubernetes_name
- job_name: 'kubernetes-pods'
kubernetes_sd_configs:
- role: pod
relabel_configs: # If first two labels are present, pod should be scraped by the istio-secure job.
- source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape]
action: keep
regex: true
- source_labels: [__meta_kubernetes_pod_annotation_sidecar_istio_io_status]
action: drop
regex: (.+)
- source_labels: [__meta_kubernetes_pod_annotation_istio_mtls]
action: drop
regex: (true)
- source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path]
action: replace
target_label: __metrics_path__
regex: (.+)
- source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port]
action: replace
regex: ([^:]+)(?::\d+)?;(\d+)
replacement: $1:$2
target_label: __address__
- action: labelmap
regex: __meta_kubernetes_pod_label_(.+)
- source_labels: [__meta_kubernetes_namespace]
action: replace
target_label: namespace
- source_labels: [__meta_kubernetes_pod_name]
action: replace
target_label: pod_name
- job_name: 'kubernetes-pods-istio-secure'
scheme: https
tls_config:
ca_file: /etc/istio-certs/root-cert.pem
cert_file: /etc/istio-certs/cert-chain.pem
key_file: /etc/istio-certs/key.pem
insecure_skip_verify: true # prometheus does not support secure naming.
kubernetes_sd_configs:
- role: pod
relabel_configs:
- source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape]
action: keep
regex: true
# sidecar status annotation is added by sidecar injector and
# istio_workload_mtls_ability can be specifically placed on a pod to indicate its ability to receive mtls traffic.
- source_labels: [__meta_kubernetes_pod_annotation_sidecar_istio_io_status, __meta_kubernetes_pod_annotation_istio_mtls]
action: keep
regex: (([^;]+);([^;]*))|(([^;]*);(true))
- source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path]
action: replace
target_label: __metrics_path__
regex: (.+)
- source_labels: [__address__] # Only keep address that is host:port
action: keep # otherwise an extra target with ':443' is added for https scheme
regex: ([^:]+):(\d+)
- source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port]
action: replace
regex: ([^:]+)(?::\d+)?;(\d+)
replacement: $1:$2
target_label: __address__
- action: labelmap
regex: __meta_kubernetes_pod_label_(.+)
- source_labels: [__meta_kubernetes_namespace]
action: replace
target_label: namespace
- source_labels: [__meta_kubernetes_pod_name]
action: replace
target_label: pod_name
---
# Source: istio/charts/prometheus/templates/clusterrole.yaml
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRole
metadata:
name: prometheus-istio-system
labels:
app: prometheus
chart: prometheus-1.0.6
heritage: Tiller
release: istio
rules:
- apiGroups: [""]
resources:
- nodes
- services
- endpoints
- pods
- nodes/proxy
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources:
- configmaps
verbs: ["get"]
- nonResourceURLs: ["/metrics"]
verbs: ["get"]
---
# Source: istio/charts/prometheus/templates/serviceaccount.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: prometheus
namespace: istio-system
labels:
app: prometheus
chart: prometheus-1.0.6
heritage: Tiller
release: istio
---
# Source: istio/charts/prometheus/templates/clusterrolebindings.yaml
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
name: prometheus-istio-system
labels:
app: prometheus
chart: prometheus-1.0.6
heritage: Tiller
release: istio
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: prometheus-istio-system
subjects:
- kind: ServiceAccount
name: prometheus
namespace: istio-system
---
# Source: istio/charts/prometheus/templates/service.yaml
apiVersion: v1
kind: Service
metadata:
name: prometheus
namespace: istio-system
annotations:
prometheus.io/scrape: 'true'
labels:
name: prometheus
spec:
selector:
app: prometheus
ports:
- name: http-prometheus
protocol: TCP
port: 9090
---
# Source: istio/charts/prometheus/templates/deployment.yaml
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: prometheus
namespace: istio-system
labels:
app: prometheus
chart: prometheus-1.0.6
heritage: Tiller
release: istio
spec:
replicas: 1
selector:
matchLabels:
app: prometheus
template:
metadata:
labels:
app: prometheus
annotations:
sidecar.istio.io/inject: "false"
scheduler.alpha.kubernetes.io/critical-pod: ""
spec:
serviceAccountName: prometheus
containers:
- name: prometheus
image: "docker.io/prom/prometheus:v2.3.1"
imagePullPolicy: IfNotPresent
args:
- '--storage.tsdb.retention=6h'
- '--config.file=/etc/prometheus/prometheus.yml'
ports:
- containerPort: 9090
name: http
livenessProbe:
httpGet:
path: /-/healthy
port: 9090
readinessProbe:
httpGet:
path: /-/ready
port: 9090
resources:
requests:
cpu: 10m
volumeMounts:
- name: config-volume
mountPath: /etc/prometheus
- mountPath: /etc/istio-certs
name: istio-certs
volumes:
- name: config-volume
configMap:
name: prometheus
- name: istio-certs
secret:
defaultMode: 420
optional: true
secretName: istio.default
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: beta.kubernetes.io/arch
operator: In
values:
- amd64
- ppc64le
- s390x
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 2
preference:
matchExpressions:
- key: beta.kubernetes.io/arch
operator: In
values:
- amd64
- weight: 2
preference:
matchExpressions:
- key: beta.kubernetes.io/arch
operator: In
values:
- ppc64le
- weight: 2
preference:
matchExpressions:
- key: beta.kubernetes.io/arch
operator: In
values:
- s390x
---
apiVersion: "config.istio.io/v1alpha2"
kind: metric
metadata:
name: requestcount
namespace: istio-system
spec:
value: "1"
dimensions:
reporter: conditional((context.reporter.kind | "inbound") == "outbound", "source", "destination")
source_workload: source.workload.name | "unknown"
source_workload_namespace: source.workload.namespace | "unknown"
source_principal: source.principal | "unknown"
source_app: source.labels["app"] | "unknown"
source_version: source.labels["version"] | "unknown"
destination_workload: destination.workload.name | "unknown"
destination_workload_namespace: destination.workload.namespace | "unknown"
destination_principal: destination.principal | "unknown"
destination_app: destination.labels["app"] | "unknown"
destination_version: destination.labels["version"] | "unknown"
destination_service: destination.service.host | "unknown"
destination_service_name: destination.service.name | "unknown"
destination_service_namespace: destination.service.namespace | "unknown"
request_protocol: api.protocol | context.protocol | "unknown"
response_code: response.code | 200
connection_security_policy: conditional((context.reporter.kind | "inbound") == "outbound", "unknown", conditional(connection.mtls | false, "mutual_tls", "none"))
monitored_resource_type: '"UNSPECIFIED"'
---
apiVersion: "config.istio.io/v1alpha2"
kind: metric
metadata:
name: requestduration
namespace: istio-system
spec:
value: response.duration | "0ms"
dimensions:
reporter: conditional((context.reporter.kind | "inbound") == "outbound", "source", "destination")
source_workload: source.workload.name | "unknown"
source_workload_namespace: source.workload.namespace | "unknown"
source_principal: source.principal | "unknown"
source_app: source.labels["app"] | "unknown"
source_version: source.labels["version"] | "unknown"
destination_workload: destination.workload.name | "unknown"
destination_workload_namespace: destination.workload.namespace | "unknown"
destination_principal: destination.principal | "unknown"
destination_app: destination.labels["app"] | "unknown"
destination_version: destination.labels["version"] | "unknown"
destination_service: destination.service.host | "unknown"
destination_service_name: destination.service.name | "unknown"
destination_service_namespace: destination.service.namespace | "unknown"
request_protocol: api.protocol | context.protocol | "unknown"
response_code: response.code | 200
connection_security_policy: conditional((context.reporter.kind | "inbound") == "outbound", "unknown", conditional(connection.mtls | false, "mutual_tls", "none"))
monitored_resource_type: '"UNSPECIFIED"'
---
apiVersion: "config.istio.io/v1alpha2"
kind: metric
metadata:
name: requestsize
namespace: istio-system
spec:
value: request.size | 0
dimensions:
reporter: conditional((context.reporter.kind | "inbound") == "outbound", "source", "destination")
source_workload: source.workload.name | "unknown"
source_workload_namespace: source.workload.namespace | "unknown"
source_principal: source.principal | "unknown"
source_app: source.labels["app"] | "unknown"
source_version: source.labels["version"] | "unknown"
destination_workload: destination.workload.name | "unknown"
destination_workload_namespace: destination.workload.namespace | "unknown"
destination_principal: destination.principal | "unknown"
destination_app: destination.labels["app"] | "unknown"
destination_version: destination.labels["version"] | "unknown"
destination_service: destination.service.host | "unknown"
destination_service_name: destination.service.name | "unknown"
destination_service_namespace: destination.service.namespace | "unknown"
request_protocol: api.protocol | context.protocol | "unknown"
response_code: response.code | 200
connection_security_policy: conditional((context.reporter.kind | "inbound") == "outbound", "unknown", conditional(connection.mtls | false, "mutual_tls", "none"))
monitored_resource_type: '"UNSPECIFIED"'
---
apiVersion: "config.istio.io/v1alpha2"
kind: metric
metadata:
name: responsesize
namespace: istio-system
spec:
value: response.size | 0
dimensions:
reporter: conditional((context.reporter.kind | "inbound") == "outbound", "source", "destination")
source_workload: source.workload.name | "unknown"
source_workload_namespace: source.workload.namespace | "unknown"
source_principal: source.principal | "unknown"
source_app: source.labels["app"] | "unknown"
source_version: source.labels["version"] | "unknown"
destination_workload: destination.workload.name | "unknown"
destination_workload_namespace: destination.workload.namespace | "unknown"
destination_principal: destination.principal | "unknown"
destination_app: destination.labels["app"] | "unknown"
destination_version: destination.labels["version"] | "unknown"
destination_service: destination.service.host | "unknown"
destination_service_name: destination.service.name | "unknown"
destination_service_namespace: destination.service.namespace | "unknown"
request_protocol: api.protocol | context.protocol | "unknown"
response_code: response.code | 200
connection_security_policy: conditional((context.reporter.kind | "inbound") == "outbound", "unknown", conditional(connection.mtls | false, "mutual_tls", "none"))
monitored_resource_type: '"UNSPECIFIED"'
---
apiVersion: "config.istio.io/v1alpha2"
kind: metric
metadata:
name: tcpbytesent
namespace: istio-system
spec:
value: connection.sent.bytes | 0
dimensions:
reporter: conditional((context.reporter.kind | "inbound") == "outbound", "source", "destination")
source_workload: source.workload.name | "unknown"
source_workload_namespace: source.workload.namespace | "unknown"
source_principal: source.principal | "unknown"
source_app: source.labels["app"] | "unknown"
source_version: source.labels["version"] | "unknown"
destination_workload: destination.workload.name | "unknown"
destination_workload_namespace: destination.workload.namespace | "unknown"
destination_principal: destination.principal | "unknown"
destination_app: destination.labels["app"] | "unknown"
destination_version: destination.labels["version"] | "unknown"
destination_service: destination.service.name | "unknown"
destination_service_name: destination.service.name | "unknown"
destination_service_namespace: destination.service.namespace | "unknown"
connection_security_policy: conditional((context.reporter.kind | "inbound") == "outbound", "unknown", conditional(connection.mtls | false, "mutual_tls", "none"))
monitored_resource_type: '"UNSPECIFIED"'
---
apiVersion: "config.istio.io/v1alpha2"
kind: metric
metadata:
name: tcpbytereceived
namespace: istio-system
spec:
value: connection.received.bytes | 0
dimensions:
reporter: conditional((context.reporter.kind | "inbound") == "outbound", "source", "destination")
source_workload: source.workload.name | "unknown"
source_workload_namespace: source.workload.namespace | "unknown"
source_principal: source.principal | "unknown"
source_app: source.labels["app"] | "unknown"
source_version: source.labels["version"] | "unknown"
destination_workload: destination.workload.name | "unknown"
destination_workload_namespace: destination.workload.namespace | "unknown"
destination_principal: destination.principal | "unknown"
destination_app: destination.labels["app"] | "unknown"
destination_version: destination.labels["version"] | "unknown"
destination_service: destination.service.name | "unknown"
destination_service_name: destination.service.name | "unknown"
destination_service_namespace: destination.service.namespace | "unknown"
connection_security_policy: conditional((context.reporter.kind | "inbound") == "outbound", "unknown", conditional(connection.mtls | false, "mutual_tls", "none"))
monitored_resource_type: '"UNSPECIFIED"'
---
apiVersion: "config.istio.io/v1alpha2"
kind: prometheus
metadata:
name: handler
namespace: istio-system
spec:
metrics:
- name: requests_total
instance_name: requestcount.metric.istio-system
kind: COUNTER
label_names:
- reporter
- source_app
- source_principal
- source_workload
- source_workload_namespace
- source_version
- destination_app
- destination_principal
- destination_workload
- destination_workload_namespace
- destination_version
- destination_service
- destination_service_name
- destination_service_namespace
- request_protocol
- response_code
- connection_security_policy
- name: request_duration_seconds
instance_name: requestduration.metric.istio-system
kind: DISTRIBUTION
label_names:
- reporter
- source_app
- source_principal
- source_workload
- source_workload_namespace
- source_version
- destination_app
- destination_principal
- destination_workload
- destination_workload_namespace
- destination_version
- destination_service
- destination_service_name
- destination_service_namespace
- request_protocol
- response_code
- connection_security_policy
buckets:
explicit_buckets:
bounds: [0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1, 2.5, 5, 10]
- name: request_bytes
instance_name: requestsize.metric.istio-system
kind: DISTRIBUTION
label_names:
- reporter
- source_app
- source_principal
- source_workload
- source_workload_namespace
- source_version
- destination_app
- destination_principal
- destination_workload
- destination_workload_namespace
- destination_version
- destination_service
- destination_service_name
- destination_service_namespace
- request_protocol
- response_code
- connection_security_policy
buckets:
exponentialBuckets:
numFiniteBuckets: 8
scale: 1
growthFactor: 10
- name: response_bytes
instance_name: responsesize.metric.istio-system
kind: DISTRIBUTION
label_names:
- reporter
- source_app
- source_principal
- source_workload
- source_workload_namespace
- source_version
- destination_app
- destination_principal
- destination_workload
- destination_workload_namespace
- destination_version
- destination_service
- destination_service_name
- destination_service_namespace
- request_protocol
- response_code
- connection_security_policy
buckets:
exponentialBuckets:
numFiniteBuckets: 8
scale: 1
growthFactor: 10
- name: tcp_sent_bytes_total
instance_name: tcpbytesent.metric.istio-system
kind: COUNTER
label_names:
- reporter
- source_app
- source_principal
- source_workload
- source_workload_namespace
- source_version
- destination_app
- destination_principal
- destination_workload
- destination_workload_namespace
- destination_version
- destination_service
- destination_service_name
- destination_service_namespace
- connection_security_policy
- name: tcp_received_bytes_total
instance_name: tcpbytereceived.metric.istio-system
kind: COUNTER
label_names:
- reporter
- source_app
- source_principal
- source_workload
- source_workload_namespace
- source_version
- destination_app
- destination_principal
- destination_workload
- destination_workload_namespace
- destination_version
- destination_service
- destination_service_name
- destination_service_namespace
- connection_security_policy
---
apiVersion: "config.istio.io/v1alpha2"
kind: rule
metadata:
name: promhttp
namespace: istio-system
spec:
match: context.protocol == "http" || context.protocol == "grpc"
actions:
- handler: handler.prometheus
instances:
- requestcount.metric
- requestduration.metric
- requestsize.metric
- responsesize.metric
---
apiVersion: "config.istio.io/v1alpha2"
kind: rule
metadata:
name: promtcp
namespace: istio-system
spec:
match: context.protocol == "tcp"
actions:
- handler: handler.prometheus
instances:
- tcpbytesent.metric
- tcpbytereceived.metric
---

View File

@@ -1,36 +0,0 @@
apiVersion: flagger.app/v1alpha3
kind: Canary
metadata:
name: podinfo
namespace: test
spec:
targetRef:
apiVersion: apps/v1
kind: Deployment
name: podinfo
progressDeadlineSeconds: 60
autoscalerRef:
apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
name: podinfo
service:
port: 9898
canaryAnalysis:
interval: 10s
threshold: 10
maxWeight: 50
stepWeight: 5
metrics:
- name: request-success-rate
threshold: 99
interval: 1m
- name: request-duration
threshold: 500
interval: 30s
webhooks:
- name: load-test
url: http://flagger-loadtester.test/
timeout: 5s
metadata:
type: cmd
cmd: "hey -z 1m -q 10 -c 2 http://gloo.example.com/"

View File

@@ -1,67 +0,0 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: podinfo
namespace: test
labels:
app: podinfo
spec:
minReadySeconds: 5
revisionHistoryLimit: 5
progressDeadlineSeconds: 60
strategy:
rollingUpdate:
maxUnavailable: 0
type: RollingUpdate
selector:
matchLabels:
app: podinfo
template:
metadata:
annotations:
prometheus.io/scrape: "true"
labels:
app: podinfo
spec:
containers:
- name: podinfod
image: quay.io/stefanprodan/podinfo:1.7.0
imagePullPolicy: IfNotPresent
ports:
- containerPort: 9898
name: http
protocol: TCP
command:
- ./podinfo
- --port=9898
- --level=info
- --random-delay=false
- --random-error=false
env:
- name: PODINFO_UI_COLOR
value: blue
livenessProbe:
exec:
command:
- podcli
- check
- http
- localhost:9898/healthz
initialDelaySeconds: 5
timeoutSeconds: 5
readinessProbe:
exec:
command:
- podcli
- check
- http
- localhost:9898/readyz
initialDelaySeconds: 5
timeoutSeconds: 5
resources:
limits:
cpu: 2000m
memory: 512Mi
requests:
cpu: 100m
memory: 64Mi

View File

@@ -1,19 +0,0 @@
apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
name: podinfo
namespace: test
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: podinfo
minReplicas: 1
maxReplicas: 4
metrics:
- type: Resource
resource:
name: cpu
# scale up if usage is above
# 99% of the requested CPU (100m)
targetAverageUtilization: 99

View File

@@ -1,17 +0,0 @@
apiVersion: gateway.solo.io/v1
kind: VirtualService
metadata:
name: podinfo
namespace: test
spec:
virtualHost:
domains:
- '*'
name: podinfo.default
routes:
- matcher:
prefix: /
routeAction:
upstreamGroup:
name: podinfo
namespace: gloo

View File

@@ -1,58 +0,0 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: flagger-helmtester
namespace: kube-system
labels:
app: flagger-helmtester
spec:
selector:
matchLabels:
app: flagger-helmtester
template:
metadata:
labels:
app: flagger-helmtester
annotations:
prometheus.io/scrape: "true"
spec:
serviceAccountName: tiller
containers:
- name: helmtester
image: weaveworks/flagger-loadtester:0.4.0
imagePullPolicy: IfNotPresent
ports:
- name: http
containerPort: 8080
command:
- ./loadtester
- -port=8080
- -log-level=info
- -timeout=1h
livenessProbe:
exec:
command:
- wget
- --quiet
- --tries=1
- --timeout=4
- --spider
- http://localhost:8080/healthz
timeoutSeconds: 5
readinessProbe:
exec:
command:
- wget
- --quiet
- --tries=1
- --timeout=4
- --spider
- http://localhost:8080/healthz
timeoutSeconds: 5
resources:
limits:
memory: "512Mi"
cpu: "1000m"
requests:
memory: "32Mi"
cpu: "10m"

View File

@@ -1,16 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: flagger-helmtester
namespace: kube-system
labels:
app: flagger-helmtester
spec:
type: ClusterIP
selector:
app: flagger-helmtester
ports:
- name: http
port: 80
protocol: TCP
targetPort: http

View File

@@ -1,19 +0,0 @@
---
apiVersion: v1
kind: ConfigMap
metadata:
name: flagger-loadtester-bats
data:
tests: |
#!/usr/bin/env bats
@test "check message" {
curl -sS http://${URL} | jq -r .message | {
run cut -d $' ' -f1
[ $output = "greetings" ]
}
}
@test "check headers" {
curl -sS http://${URL}/headers | grep X-Request-Id
}

View File

@@ -1,67 +0,0 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: flagger-loadtester
labels:
app: flagger-loadtester
spec:
selector:
matchLabels:
app: flagger-loadtester
template:
metadata:
labels:
app: flagger-loadtester
annotations:
prometheus.io/scrape: "true"
spec:
containers:
- name: loadtester
image: weaveworks/flagger-loadtester:0.6.1
imagePullPolicy: IfNotPresent
ports:
- name: http
containerPort: 8080
command:
- ./loadtester
- -port=8080
- -log-level=info
- -timeout=1h
livenessProbe:
exec:
command:
- wget
- --quiet
- --tries=1
- --timeout=4
- --spider
- http://localhost:8080/healthz
timeoutSeconds: 5
readinessProbe:
exec:
command:
- wget
- --quiet
- --tries=1
- --timeout=4
- --spider
- http://localhost:8080/healthz
timeoutSeconds: 5
resources:
limits:
memory: "512Mi"
cpu: "1000m"
requests:
memory: "32Mi"
cpu: "10m"
securityContext:
readOnlyRootFilesystem: true
runAsUser: 10001
# volumeMounts:
# - name: tests
# mountPath: /bats
# readOnly: true
# volumes:
# - name: tests
# configMap:
# name: flagger-loadtester-bats

View File

@@ -1,15 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: flagger-loadtester
labels:
app: flagger-loadtester
spec:
type: ClusterIP
selector:
app: flagger-loadtester
ports:
- name: http
port: 80
protocol: TCP
targetPort: http

View File

@@ -1,7 +0,0 @@
apiVersion: v1
kind: Namespace
metadata:
name: test
labels:
istio-injection: enabled
appmesh.k8s.aws/sidecarInjectorWebhook: enabled

View File

@@ -1,68 +0,0 @@
apiVersion: flagger.app/v1alpha3
kind: Canary
metadata:
name: podinfo
namespace: test
spec:
# deployment reference
targetRef:
apiVersion: apps/v1
kind: Deployment
name: podinfo
# ingress reference
ingressRef:
apiVersion: extensions/v1beta1
kind: Ingress
name: podinfo
# HPA reference (optional)
autoscalerRef:
apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
name: podinfo
# the maximum time in seconds for the canary deployment
# to make progress before it is rollback (default 600s)
progressDeadlineSeconds: 60
service:
# container port
port: 9898
canaryAnalysis:
# schedule interval (default 60s)
interval: 10s
# max number of failed metric checks before rollback
threshold: 10
# max traffic percentage routed to canary
# percentage (0-100)
maxWeight: 50
# canary increment step
# percentage (0-100)
stepWeight: 5
# NGINX Prometheus checks
metrics:
- name: request-success-rate
# minimum req success rate (non 5xx responses)
# percentage (0-100)
threshold: 99
interval: 1m
- name: "latency"
threshold: 0.5
interval: 1m
query: |
histogram_quantile(0.99,
sum(
rate(
http_request_duration_seconds_bucket{
kubernetes_namespace="test",
kubernetes_pod_name=~"podinfo-[0-9a-zA-Z]+(-[0-9a-zA-Z]+)"
}[1m]
)
) by (le)
)
# external checks (optional)
webhooks:
- name: load-test
url: http://flagger-loadtester.test/
timeout: 5s
metadata:
type: cmd
cmd: "hey -z 1m -q 10 -c 2 http://app.example.com/"
logCmdOutput: "true"

View File

@@ -1,69 +0,0 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: podinfo
namespace: test
labels:
app: podinfo
spec:
replicas: 1
strategy:
rollingUpdate:
maxUnavailable: 0
type: RollingUpdate
selector:
matchLabels:
app: podinfo
template:
metadata:
annotations:
prometheus.io/scrape: "true"
labels:
app: podinfo
spec:
containers:
- name: podinfod
image: quay.io/stefanprodan/podinfo:1.7.0
imagePullPolicy: IfNotPresent
ports:
- containerPort: 9898
name: http
protocol: TCP
command:
- ./podinfo
- --port=9898
- --level=info
- --random-delay=false
- --random-error=false
env:
- name: PODINFO_UI_COLOR
value: green
livenessProbe:
exec:
command:
- podcli
- check
- http
- localhost:9898/healthz
failureThreshold: 3
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 2
readinessProbe:
exec:
command:
- podcli
- check
- http
- localhost:9898/readyz
failureThreshold: 3
periodSeconds: 3
successThreshold: 1
timeoutSeconds: 2
resources:
limits:
cpu: 1000m
memory: 256Mi
requests:
cpu: 100m
memory: 16Mi

View File

@@ -1,19 +0,0 @@
apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
name: podinfo
namespace: test
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: podinfo
minReplicas: 2
maxReplicas: 4
metrics:
- type: Resource
resource:
name: cpu
# scale up if usage is above
# 99% of the requested CPU (100m)
targetAverageUtilization: 99

View File

@@ -1,17 +0,0 @@
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: podinfo
namespace: test
labels:
app: podinfo
annotations:
kubernetes.io/ingress.class: "nginx"
spec:
rules:
- host: app.example.com
http:
paths:
- backend:
serviceName: podinfo
servicePort: 9898

View File

@@ -1,131 +0,0 @@
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: trafficsplits.split.smi-spec.io
spec:
additionalPrinterColumns:
- JSONPath: .spec.service
description: The service
name: Service
type: string
group: split.smi-spec.io
names:
kind: TrafficSplit
listKind: TrafficSplitList
plural: trafficsplits
singular: trafficsplit
scope: Namespaced
subresources:
status: {}
version: v1alpha1
versions:
- name: v1alpha1
served: true
storage: true
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: smi-adapter-istio
namespace: istio-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: smi-adapter-istio
rules:
- apiGroups:
- ""
resources:
- pods
- services
- endpoints
- persistentvolumeclaims
- events
- configmaps
- secrets
verbs:
- '*'
- apiGroups:
- apps
resources:
- deployments
- daemonsets
- replicasets
- statefulsets
verbs:
- '*'
- apiGroups:
- monitoring.coreos.com
resources:
- servicemonitors
verbs:
- get
- create
- apiGroups:
- apps
resourceNames:
- smi-adapter-istio
resources:
- deployments/finalizers
verbs:
- update
- apiGroups:
- split.smi-spec.io
resources:
- '*'
verbs:
- '*'
- apiGroups:
- networking.istio.io
resources:
- '*'
verbs:
- '*'
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: smi-adapter-istio
subjects:
- kind: ServiceAccount
name: smi-adapter-istio
namespace: istio-system
roleRef:
kind: ClusterRole
name: smi-adapter-istio
apiGroup: rbac.authorization.k8s.io
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: smi-adapter-istio
namespace: istio-system
spec:
replicas: 1
selector:
matchLabels:
name: smi-adapter-istio
template:
metadata:
labels:
name: smi-adapter-istio
annotations:
sidecar.istio.io/inject: "false"
spec:
serviceAccountName: smi-adapter-istio
containers:
- name: smi-adapter-istio
image: docker.io/stefanprodan/smi-adapter-istio:0.0.2-beta.1
command:
- smi-adapter-istio
imagePullPolicy: Always
env:
- name: WATCH_NAMESPACE
value: ""
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: OPERATOR_NAME
value: "smi-adapter-istio"

View File

@@ -1,21 +1,28 @@
apiVersion: v1
name: flagger
version: 0.18.3
appVersion: 0.18.3
kubeVersion: ">=1.11.0-0"
version: 1.42.0
appVersion: 1.42.0
kubeVersion: ">=1.19.0-0"
engine: gotpl
description: Flagger is a Kubernetes operator that automates the promotion of canary deployments using Istio, Linkerd, App Mesh, Gloo or NGINX routing for traffic shifting and Prometheus metrics for canary analysis.
home: https://docs.flagger.app
icon: https://raw.githubusercontent.com/weaveworks/flagger/master/docs/logo/flagger-icon.png
description: Flagger is a progressive delivery operator for Kubernetes
home: https://flagger.app
icon: https://raw.githubusercontent.com/fluxcd/flagger/main/docs/logo/flagger-icon.png
sources:
- https://github.com/weaveworks/flagger
- https://github.com/fluxcd/flagger
maintainers:
- name: stefanprodan
url: https://github.com/stefanprodan
email: stefanprodan@users.noreply.github.com
- name: stefanprodan
url: https://github.com/stefanprodan
email: stefanprodan@users.noreply.github.com
keywords:
- canary
- istio
- appmesh
- linkerd
- gitops
- flagger
- istio
- appmesh
- linkerd
- kuma
- smi
- gloo
- contour
- nginx
- traefik
- gitops
- canary

201
charts/flagger/LICENSE Normal file
View File

@@ -0,0 +1,201 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

View File

@@ -1,15 +1,18 @@
# Flagger
[Flagger](https://github.com/weaveworks/flagger) is a Kubernetes operator that automates the promotion of
canary deployments using Istio, Linkerd, App Mesh, NGINX or Gloo routing for traffic shifting and Prometheus metrics for canary analysis.
Flagger implements a control loop that gradually shifts traffic to the canary while measuring key performance indicators
like HTTP requests success rate, requests average duration and pods health.
Based on the KPIs analysis a canary is promoted or aborted and the analysis result is published to Slack or MS Teams.
[Flagger](https://github.com/fluxcd/flagger) is a progressive delivery tool that automates the release process
for applications running on Kubernetes. It reduces the risk of introducing a new software version in production
by gradually shifting traffic to the new version while measuring metrics and running conformance tests.
Flagger implements several deployment strategies (Canary releases, A/B testing, Blue/Green mirroring)
and integrates with various Kubernetes ingress controllers, service mesh and monitoring solutions.
Flagger is a [Cloud Native Computing Foundation](https://cncf.io/) project
and part of [Flux](https://fluxcd.io) family of GitOps tools.
## Prerequisites
* Kubernetes >= 1.11
* Prometheus >= 2.6
* Kubernetes >= 1.19
## Installing the Chart
@@ -22,27 +25,93 @@ $ helm repo add flagger https://flagger.app
Install Flagger's custom resource definitions:
```console
$ kubectl apply -f https://raw.githubusercontent.com/weaveworks/flagger/master/artifacts/flagger/crd.yaml
$ kubectl apply -f https://raw.githubusercontent.com/fluxcd/flagger/main/artifacts/flagger/crd.yaml
```
To install the chart with the release name `flagger` for Istio:
To install Flagger for **Istio**:
```console
$ helm upgrade -i flagger flagger/flagger \
--namespace=istio-system \
--set crd.create=false \
--set meshProvider=istio \
--set metricsServer=http://prometheus:9090
```
To install the chart with the release name `flagger` for Linkerd:
To install Flagger for **Linkerd** (requires Linkerd Viz extension):
```console
# Note that linkerdAuthPolicy.create=true is only required for Linkerd 2.12 and
# later
$ helm upgrade -i flagger flagger/flagger \
--namespace=flagger-system \
--set meshProvider=linkerd \
--set metricsServer=http://prometheus.linkerd-viz:9090 \
--set linkerdAuthPolicy.create=true
```
To install Flagger for **AWS App Mesh**:
```console
$ helm upgrade -i flagger flagger/flagger \
--namespace=linkerd \
--set crd.create=false \
--set meshProvider=linkerd \
--set metricsServer=http://linkerd-prometheus:9090
--namespace=appmesh-system \
--set meshProvider=appmesh:v1beta2 \
--set metricsServer=http://appmesh-prometheus:9090
```
To install Flagger for **Kuma Service Mesh** (requires Kuma to have been installed with Prometheus):
```console
$ helm upgrade -i flagger flagger/flagger \
--namespace=kuma-system \
--set meshProvider=kuma \
--set metricsServer=http://prometheus-server.kuma-metrics:80
```
To install Flagger and Prometheus for **NGINX** Ingress (requires controller metrics enabled):
```console
$ helm upgrade -i flagger flagger/flagger \
--namespace=ingress-nginx \
--set meshProvider=nginx \
--set prometheus.install=true
```
To install Flagger and Prometheus for **Gloo** (no longer requires Gloo discovery):
```console
$ helm upgrade -i flagger flagger/flagger \
--namespace=gloo-system \
--set meshProvider=gloo \
--set prometheus.install=true
```
To install Flagger and Prometheus for **Contour**:
```console
$ helm upgrade -i flagger flagger/flagger \
--namespace=projectcontour \
--set meshProvider=contour \
--set ingressClass=contour \
--set prometheus.install=true
```
To install Flagger and Prometheus for **Traefik**:
```console
$ helm upgrade -i flagger flagger/flagger \
--namespace=traefik \
--set prometheus.install=true \
--set meshProvider=traefik
```
If you need to add labels to the flagger deployment or pods, you can pass the labels as parameters as shown below.
```console
helm upgrade -i flagger flagger/flagger \
<other parameters> \
--set podLabels.<labelName>=<labelValue> \
--set deploymentLabels.<labelName>=<labelValue>
```
The [configuration](#configuration) section lists the parameters that can be configured during installation.
@@ -52,7 +121,7 @@ The [configuration](#configuration) section lists the parameters that can be con
To uninstall/delete the `flagger` deployment:
```console
$ helm delete --purge flagger
$ helm delete flagger
```
The command removes all the Kubernetes components associated with the chart and deletes the release.
@@ -61,36 +130,70 @@ The command removes all the Kubernetes components associated with the chart and
The following tables lists the configurable parameters of the Flagger chart and their default values.
Parameter | Description | Default
--- | --- | ---
`image.repository` | image repository | `weaveworks/flagger`
`image.tag` | image tag | `<VERSION>`
`image.pullPolicy` | image pull policy | `IfNotPresent`
`prometheus.install` | if `true`, installs Prometheus configured to scrape all pods in the custer including the App Mesh sidecar | `false`
`metricsServer` | Prometheus URL, used when `prometheus.install` is `false` | `http://prometheus.istio-system:9090`
`slack.url` | Slack incoming webhook | None
`slack.channel` | Slack channel | None
`slack.user` | Slack username | `flagger`
`msteams.url` | Microsoft Teams incoming webhook | None
`leaderElection.enabled` | leader election must be enabled when running more than one replica | `false`
`leaderElection.replicaCount` | number of replicas | `1`
`rbac.create` | if `true`, create and use RBAC resources | `true`
`rbac.pspEnabled` | If `true`, create and use a restricted pod security policy | `false`
`crd.create` | if `true`, create Flagger's CRDs | `true`
`resources.requests/cpu` | pod CPU request | `10m`
`resources.requests/memory` | pod memory request | `32Mi`
`resources.limits/cpu` | pod CPU limit | `1000m`
`resources.limits/memory` | pod memory limit | `512Mi`
`affinity` | node/pod affinities | None
`nodeSelector` | node labels for pod assignment | `{}`
`tolerations` | list of node taints to tolerate | `[]`
| Parameter | Description | Default |
|--------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------|
| `image.repository` | Image repository | `ghcr.io/fluxcd/flagger` |
| `image.tag` | Image tag | `<VERSION>` |
| `image.pullPolicy` | Image pull policy | `IfNotPresent` |
| `logLevel` | Log level | `info` |
| `metricsServer` | Prometheus URL, used when `prometheus.install` is `false` | `http://prometheus.istio-system:9090` |
| `prometheus.install` | If `true`, installs Prometheus configured to scrape all pods in the custer | `false` |
| `prometheus.retention` | Prometheus data retention | `2h` |
| `selectorLabels` | List of labels that Flagger uses to create pod selectors | `app,name,app.kubernetes.io/name` |
| `serviceMonitor.enabled` | If `true`, creates service and serviceMonitor for monitoring Flagger metrics | `false` |
| `serviceMonitor.honorLabels` | If `true`, label conflicts are resolved by keeping label values from the scraped data and ignoring the conflicting server-side labels | `false` |
| `serviceMonitor.namespace` | Namespace Servicemonitor is installed in | the same namespace |
| `serviceMonitor.labels` | labels for the ServiceMonitor passed to Prometheus Operator | `{}` |
| `configTracking.enabled` | If `true`, flagger will track changes in Secrets and ConfigMaps referenced in the target deployment | `true` |
| `eventWebhook` | If set, Flagger will publish events to the given webhook | None |
| `slack.url` | Slack incoming webhook | None |
| `slack.proxyUrl` | Slack proxy url | None |
| `slack.channel` | Slack channel | None |
| `slack.user` | Slack username | `flagger` |
| `msteams.url` | Microsoft Teams incoming webhook | None |
| `msteams.proxyUrl` | Microsoft Teams proxy url | None |
| `clusterName` | When specified, Flagger will add the cluster name to alerts | `""` |
| `podMonitor.enabled` | If `true`, create a PodMonitor for [monitoring the metrics](https://docs.flagger.app/usage/monitoring#metrics) | `false` |
| `podMonitor.namespace` | Namespace where the PodMonitor is created | the same namespace |
| `podMonitor.interval` | Interval at which metrics should be scraped | `15s` |
| `podMonitor.podMonitor` | Additional labels to add to the PodMonitor | `{}` |
| `podMonitor.honorLabels` | If `true`, label conflicts are resolved by keeping label values from the scraped data and ignoring the conflicting server-side labels | `false` |
| `leaderElection.enabled` | If `true`, Flagger will run in HA mode | `false` |
| `leaderElection.replicaCount` | Number of replicas | `1` |
| `serviceAccount.create` | If `true`, Flagger will create service account | `true` |
| `serviceAccount.name` | The name of the service account to create or use. If not set and `serviceAccount.create` is `true`, a name is generated using the Flagger fullname | `""` |
| `serviceAccount.annotations` | Annotations for service account | `{}` |
| `ingressAnnotationsPrefix` | Annotations prefix for ingresses | `custom.ingress.kubernetes.io` |
| `includeLabelPrefix` | List of prefixes of labels that are copied when creating primary deployments or daemonsets. Use * to include all | `""` |
| `rbac.create` | If `true`, create and use RBAC resources | `true` |
| `rbac.pspEnabled` | If `true`, create and use a restricted pod security policy | `false` |
| `crd.create` | If `true`, create Flagger's CRDs (should be enabled for Helm v2 only) | `false` |
| `resources.requests/cpu` | Pod CPU request | `10m` |
| `resources.requests/memory` | Pod memory request | `32Mi` |
| `resources.limits/cpu` | Pod CPU limit | `1000m` |
| `resources.limits/memory` | Pod memory limit | `512Mi` |
| `affinity` | Node/pod affinities | prefer spread across hosts |
| `nodeSelector` | Node labels for pod assignment | `{}` |
| `threadiness` | Number of controller workers | `2` |
| `tolerations` | List of node taints to tolerate | `[]` |
| `controlplane.kubeconfig.secretName` | The name of the Kubernetes secret containing the service mesh control plane kubeconfig | None |
| `controlplane.kubeconfig.key` | The name of Kubernetes secret data key that contains the service mesh control plane kubeconfig | `kubeconfig` |
| `ingressAnnotationsPrefix` | Annotations prefix for NGINX ingresses | None |
| `ingressClass` | Ingress class used for annotating HTTPProxy objects, e.g. `contour` | None |
| `podPriorityClassName` | PriorityClass name for pod priority configuration | "" |
| `podDisruptionBudget.enabled` | A PodDisruptionBudget will be created if `true` | `false` |
| `podDisruptionBudget.minAvailable` | The minimal number of available replicas that will be set in the PodDisruptionBudget | `1` |
| `podDisruptionBudget.minAvailable` | The minimal number of available replicas that will be set in the PodDisruptionBudget | `1` |
| `noCrossNamespaceRefs` | If `true`, cross namespace references to custom resources will be disabled | `false` |
| `namespace` | When specified, Flagger will restrict itself to watching Canary objects from that namespace | `""` |
| `deploymentLabels` | Labels to add to Flagger deployment | `{}` |
| `podLabels` | Labels to add to pods of Flagger deployment | `{}` |
Specify each parameter using the `--set key=value[,key=value]` argument to `helm upgrade`. For example,
```console
$ helm upgrade -i flagger flagger/flagger \
--namespace istio-system \
--set crd.create=false \
--namespace flagger-system \
--set slack.url=https://hooks.slack.com/services/YOUR/SLACK/WEBHOOK \
--set slack.channel=general
```
@@ -104,5 +207,3 @@ $ helm upgrade -i flagger flagger/flagger \
```
> **Tip**: You can use the default [values.yaml](values.yaml)

1469
charts/flagger/crds/crd.yaml Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -3,6 +3,11 @@ apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ template "flagger.serviceAccountName" . }}
namespace: {{ .Release.Namespace }}
{{- if .Values.serviceAccount.annotations }}
annotations:
{{ toYaml .Values.serviceAccount.annotations | indent 4 }}
{{- end }}
labels:
helm.sh/chart: {{ template "flagger.chart" . }}
app.kubernetes.io/name: {{ template "flagger.name" . }}

View File

@@ -0,0 +1,16 @@
{{- if .Values.linkerdAuthPolicy.create }}
apiVersion: policy.linkerd.io/v1alpha1
kind: AuthorizationPolicy
metadata:
namespace: {{ .Values.linkerdAuthPolicy.namespace }}
name: prometheus-admin-flagger
spec:
targetRef:
group: policy.linkerd.io
kind: Server
name: prometheus-admin
requiredAuthenticationRefs:
- kind: ServiceAccount
name: {{ template "flagger.serviceAccountName" . }}
namespace: {{ .Release.Namespace }}
{{- end }}

View File

@@ -1,288 +1,6 @@
{{- if .Values.crd.create }}
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: canaries.flagger.app
annotations:
helm.sh/resource-policy: keep
spec:
group: flagger.app
version: v1alpha3
versions:
- name: v1alpha3
served: true
storage: true
- name: v1alpha2
served: true
storage: false
- name: v1alpha1
served: true
storage: false
names:
plural: canaries
singular: canary
kind: Canary
categories:
- all
scope: Namespaced
subresources:
status: {}
additionalPrinterColumns:
- name: Status
type: string
JSONPath: .status.phase
- name: Weight
type: string
JSONPath: .status.canaryWeight
- name: LastTransitionTime
type: string
JSONPath: .status.lastTransitionTime
validation:
openAPIV3Schema:
properties:
spec:
required:
- targetRef
- service
- canaryAnalysis
properties:
provider:
description: Traffic managent provider
type: string
progressDeadlineSeconds:
description: Deployment progress deadline
type: number
targetRef:
description: Deployment selector
type: object
required: ['apiVersion', 'kind', 'name']
properties:
apiVersion:
type: string
kind:
type: string
name:
type: string
autoscalerRef:
description: HPA selector
anyOf:
- type: string
- type: object
required: ['apiVersion', 'kind', 'name']
properties:
apiVersion:
type: string
kind:
type: string
name:
type: string
ingressRef:
description: NGINX ingress selector
anyOf:
- type: string
- type: object
required: ['apiVersion', 'kind', 'name']
properties:
apiVersion:
type: string
kind:
type: string
name:
type: string
service:
type: object
required: ['port']
properties:
port:
description: Container port number
type: number
portName:
description: Container port name
type: string
portDiscovery:
description: Enable port dicovery
type: boolean
meshName:
description: AppMesh mesh name
type: string
backends:
description: AppMesh backend array
anyOf:
- type: string
- type: array
timeout:
description: Istio HTTP or gRPC request timeout
type: string
trafficPolicy:
description: Istio traffic policy
anyOf:
- type: string
- type: object
match:
description: Istio URL match conditions
anyOf:
- type: string
- type: array
rewrite:
description: Istio URL rewrite
anyOf:
- type: string
- type: object
headers:
description: Istio headers operations
anyOf:
- type: string
- type: object
corsPolicy:
description: Istio CORS policy
anyOf:
- type: string
- type: object
gateways:
description: Istio gateways list
anyOf:
- type: string
- type: array
hosts:
description: Istio hosts list
anyOf:
- type: string
- type: array
skipAnalysis:
type: boolean
canaryAnalysis:
properties:
interval:
description: Canary schedule interval
type: string
pattern: "^[0-9]+(m|s)"
iterations:
description: Number of checks to run for A/B Testing and Blue/Green
type: number
threshold:
description: Max number of failed checks before rollback
type: number
maxWeight:
description: Max traffic percentage routed to canary
type: number
stepWeight:
description: Canary incremental traffic percentage step
type: number
match:
description: A/B testing match conditions
anyOf:
- type: string
- type: array
metrics:
description: Prometheus query list for this canary
type: array
properties:
items:
type: object
required: ['name', 'threshold']
properties:
name:
description: Name of the Prometheus metric
type: string
interval:
description: Interval of the promql query
type: string
pattern: "^[0-9]+(m|s)"
threshold:
description: Max scalar value accepted for this metric
type: number
query:
description: Prometheus query
type: string
webhooks:
description: Webhook list for this canary
type: array
properties:
items:
type: object
required: ['name', 'url', 'timeout']
properties:
name:
description: Name of the webhook
type: string
type:
description: Type of the webhook pre, post or during rollout
type: string
enum:
- ""
- confirm-rollout
- pre-rollout
- rollout
- post-rollout
url:
description: URL address of this webhook
type: string
format: url
timeout:
description: Request timeout for this webhook
type: string
pattern: "^[0-9]+(m|s)"
metadata:
description: Metadata (key-value pairs) for this webhook
anyOf:
- type: string
- type: object
status:
properties:
phase:
description: Analysis phase of this canary
type: string
enum:
- ""
- Initializing
- Initialized
- Waiting
- Progressing
- Finalising
- Succeeded
- Failed
canaryWeight:
description: Traffic weight percentage routed to canary
type: number
failedChecks:
description: Failed check count of the current canary analysis
type: number
iterations:
description: Iteration count of the current canary analysis
type: number
lastAppliedSpec:
description: LastAppliedSpec of this canary
type: string
lastTransitionTime:
description: LastTransitionTime of this canary
format: date-time
type: string
conditions:
description: Status conditions of this canary
type: array
properties:
items:
type: object
required: ['type', 'status', 'reason']
properties:
lastTransitionTime:
description: LastTransitionTime of this condition
format: date-time
type: string
lastUpdateTime:
description: LastUpdateTime of this condition
format: date-time
type: string
message:
description: Message associated with this condition
type: string
reason:
description: Reason for the current status of this condition
type: string
status:
description: Status of this condition
type: string
type:
description: Type of this condition
type: string
{{- end }}
{{- if .Values.crd.create -}}
{{- range $path, $bytes := .Files.Glob "crds/*.yaml" -}}
{{ $.Files.Get $path }}
---
{{- end -}}
{{- end -}}

View File

@@ -2,15 +2,28 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "flagger.fullname" . }}
namespace: {{ .Release.Namespace }}
labels:
helm.sh/chart: {{ template "flagger.chart" . }}
app.kubernetes.io/name: {{ template "flagger.name" . }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }}
{{- if .Values.deploymentLabels }}
{{- range $key, $value := .Values.deploymentLabels }}
{{ $key }}: {{ $value | quote }}
{{- end }}
{{- end }}
{{- with .Values.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
replicas: {{ .Values.leaderElection.replicaCount }}
{{- if eq .Values.leaderElection.enabled false }}
strategy:
type: Recreate
{{- end }}
selector:
matchLabels:
app.kubernetes.io/name: {{ template "flagger.name" . }}
@@ -20,27 +33,49 @@ spec:
labels:
app.kubernetes.io/name: {{ template "flagger.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }}
{{- if .Values.podLabels }}
{{- range $key, $value := .Values.podLabels }}
{{ $key }}: {{ $value | quote }}
{{- end }}
{{- end }}
annotations:
{{- if .Values.podAnnotations }}
{{ toYaml .Values.podAnnotations | indent 8 }}
{{- end }}
spec:
serviceAccountName: {{ template "flagger.serviceAccountName" . }}
{{- if .Values.affinity }}
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
labelSelector:
matchLabels:
app.kubernetes.io/name: {{ template "flagger.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
topologyKey: kubernetes.io/hostname
{{- tpl (toYaml .Values.affinity) . | nindent 8 }}
{{- end }}
{{- if .Values.image.pullSecret }}
imagePullSecrets:
- name: {{ .Values.image.pullSecret }}
{{- end }}
{{- if .Values.controlplane.kubeconfig.secretName }}
volumes:
- name: kubeconfig
secret:
secretName: "{{ .Values.controlplane.kubeconfig.secretName }}"
{{- end }}
{{- if .Values.additionalVolumes }}
{{- toYaml .Values.additionalVolumes | nindent 8 -}}
{{- end }}
{{- if .Values.podPriorityClassName }}
priorityClassName: {{ .Values.podPriorityClassName }}
{{- end }}
containers:
- name: flagger
{{- if .Values.securityContext.enabled }}
securityContext:
readOnlyRootFilesystem: true
runAsUser: 10001
{{ toYaml .Values.securityContext.context | indent 12 }}
{{- end }}
{{- if .Values.controlplane.kubeconfig.secretName }}
volumeMounts:
- name: kubeconfig
mountPath: "/tmp/controlplane"
{{- end }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
ports:
@@ -48,7 +83,7 @@ spec:
containerPort: 8080
command:
- ./flagger
- -log-level=info
- -log-level={{ .Values.logLevel }}
{{- if .Values.meshProvider }}
- -mesh-provider={{ .Values.meshProvider }}
{{- end }}
@@ -57,21 +92,67 @@ spec:
{{- else }}
- -metrics-server={{ .Values.metricsServer }}
{{- end }}
{{- if .Values.selectorLabels }}
- -selector-labels={{ .Values.selectorLabels }}
{{- end }}
{{- if .Values.configTracking }}
- -enable-config-tracking={{ .Values.configTracking.enabled }}
{{- end }}
{{- if .Values.namespace }}
- -namespace={{ .Values.namespace }}
{{- end }}
{{- if .Values.slack.url }}
- -slack-url={{ .Values.slack.url }}
{{- end }}
{{- if .Values.slack.proxyUrl }}
- -slack-proxy-url={{ .Values.slack.proxyUrl }}
{{- end }}
{{- if .Values.slack.user }}
- -slack-user={{ .Values.slack.user }}
{{- end }}
{{- if .Values.slack.channel }}
- -slack-channel={{ .Values.slack.channel }}
{{- end }}
{{- if .Values.msteams.url }}
- -msteams-url={{ .Values.msteams.url }}
{{- end }}
{{- if .Values.msteams.proxyUrl }}
- -msteams-proxy-url={{ .Values.msteams.proxyUrl }}
{{- end }}
{{- if .Values.leaderElection.enabled }}
- -enable-leader-election=true
- -leader-election-namespace={{ .Release.Namespace }}
{{- end }}
{{- if .Values.ingressAnnotationsPrefix }}
- -ingress-annotations-prefix={{ .Values.ingressAnnotationsPrefix }}
{{- end }}
{{- if .Values.includeLabelPrefix }}
- -include-label-prefix={{ .Values.includeLabelPrefix }}
{{- end }}
{{- if .Values.ingressClass }}
- -ingress-class={{ .Values.ingressClass }}
{{- end }}
{{- if .Values.eventWebhook }}
- -event-webhook={{ .Values.eventWebhook }}
{{- end }}
{{- if .Values.kubeconfigQPS }}
- -kubeconfig-qps={{ .Values.kubeconfigQPS }}
{{- end }}
{{- if .Values.kubeconfigBurst }}
- -kubeconfig-burst={{ .Values.kubeconfigBurst }}
{{- end }}
{{- if .Values.controlplane.kubeconfig.secretName }}
- -kubeconfig-service-mesh=/tmp/controlplane/{{ .Values.controlplane.kubeconfig.key }}
{{- end }}
{{- if .Values.threadiness }}
- -threadiness={{ .Values.threadiness }}
{{- end }}
{{- if .Values.clusterName }}
- -cluster-name={{ .Values.clusterName }}
{{- end }}
{{- if .Values.noCrossNamespaceRefs }}
- -no-cross-namespace-refs={{ .Values.noCrossNamespaceRefs }}
{{- end }}
livenessProbe:
exec:
command:
@@ -92,6 +173,10 @@ spec:
- --spider
- http://localhost:8080/healthz
timeoutSeconds: 5
{{- if .Values.env }}
env:
{{ toYaml .Values.env | indent 12 }}
{{- end }}
resources:
{{ toYaml .Values.resources | indent 12 }}
{{- with .Values.nodeSelector }}

View File

@@ -0,0 +1,16 @@
{{- if .Values.podDisruptionBudget.enabled }}
{{- if .Capabilities.APIVersions.Has "policy/v1/PodDisruptionBudget" -}}
apiVersion: policy/v1
{{- else }}
apiVersion: policy/v1beta1
{{- end }}
kind: PodDisruptionBudget
metadata:
name: {{ template "flagger.name" . }}
namespace: {{ .Release.Namespace }}
spec:
minAvailable: {{ .Values.podDisruptionBudget.minAvailable }}
selector:
matchLabels:
app.kubernetes.io/name: {{ template "flagger.name" . }}
{{- end }}

View File

@@ -0,0 +1,28 @@
{{- if .Values.podMonitor.enabled }}
apiVersion: monitoring.coreos.com/v1
kind: PodMonitor
metadata:
labels:
helm.sh/chart: {{ template "flagger.chart" . }}
app.kubernetes.io/name: {{ template "flagger.name" . }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- range $k, $v := .Values.podMonitor.additionalLabels }}
{{ $k }}: {{ $v | quote }}
{{- end }}
name: {{ include "flagger.fullname" . }}
namespace: {{ .Values.podMonitor.namespace | default .Release.Namespace }}
spec:
podMetricsEndpoints:
- interval: {{ .Values.podMonitor.interval }}
path: /metrics
port: http
honorLabels: {{ .Values.podMonitor.honorLabels }}
namespaceSelector:
matchNames:
- {{ .Release.Namespace }}
selector:
matchLabels:
app.kubernetes.io/name: {{ template "flagger.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}

View File

@@ -1,5 +1,5 @@
{{- if .Values.prometheus.install }}
apiVersion: rbac.authorization.k8s.io/v1beta1
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: {{ template "flagger.fullname" . }}-prometheus
@@ -24,7 +24,7 @@ rules:
- nonResourceURLs: ["/metrics"]
verbs: ["get"]
---
apiVersion: rbac.authorization.k8s.io/v1beta1
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: {{ template "flagger.fullname" . }}-prometheus
@@ -133,38 +133,22 @@ data:
scheme: https
tls_config:
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
insecure_skip_verify: true
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
relabel_configs:
- source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]
action: keep
regex: kubernetes;https
# Scrape config for nodes
- job_name: 'kubernetes-nodes'
scheme: https
tls_config:
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
kubernetes_sd_configs:
- role: node
relabel_configs:
- action: labelmap
regex: __meta_kubernetes_node_label_(.+)
- target_label: __address__
replacement: kubernetes.default.svc:443
- source_labels: [__meta_kubernetes_node_name]
regex: (.+)
target_label: __metrics_path__
replacement: /api/v1/nodes/${1}/proxy/metrics
# scrape config for cAdvisor
- job_name: 'kubernetes-cadvisor'
scheme: https
tls_config:
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
insecure_skip_verify: true
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
kubernetes_sd_configs:
- role: node
- role: node
relabel_configs:
- action: labelmap
regex: __meta_kubernetes_node_label_(.+)
@@ -174,6 +158,14 @@ data:
regex: (.+)
target_label: __metrics_path__
replacement: /api/v1/nodes/${1}/proxy/metrics/cadvisor
# exclude high cardinality metrics
metric_relabel_configs:
- source_labels: [__name__]
regex: (container|machine)_(cpu|memory|network|fs)_(.+)
action: keep
- source_labels: [__name__]
regex: container_memory_failures_total
action: drop
# scrape config for pods
- job_name: kubernetes-pods
@@ -238,10 +230,10 @@ spec:
serviceAccountName: {{ template "flagger.serviceAccountName" . }}-prometheus
containers:
- name: prometheus
image: "docker.io/prom/prometheus:v2.10.0"
image: {{ .Values.prometheus.image }}
imagePullPolicy: IfNotPresent
args:
- '--storage.tsdb.retention=2h'
- '--storage.tsdb.retention={{ .Values.prometheus.retention }}'
- '--config.file=/etc/prometheus/prometheus.yml'
ports:
- containerPort: 9090
@@ -263,7 +255,14 @@ spec:
mountPath: /etc/prometheus
- name: data-volume
mountPath: /prometheus/data
{{- if .Values.prometheus.securityContext.enabled }}
securityContext:
{{ toYaml .Values.prometheus.securityContext.context | indent 12 }}
{{- end }}
{{- if .Values.prometheus.pullSecret }}
imagePullSecrets:
- name: {{ .Values.prometheus.pullSecret }}
{{- end }}
volumes:
- name: config-volume
configMap:

View File

@@ -50,6 +50,7 @@ apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: {{ template "flagger.fullname" . }}-psp
namespace: {{ .Release.Namespace }}
labels:
helm.sh/chart: {{ template "flagger.chart" . }}
app.kubernetes.io/name: {{ template "flagger.name" . }}

View File

@@ -1,5 +1,5 @@
{{- if .Values.rbac.create }}
apiVersion: rbac.authorization.k8s.io/v1beta1
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: {{ template "flagger.fullname" . }}
@@ -14,75 +14,283 @@ rules:
resources:
- events
- configmaps
- configmaps/finalizers
- secrets
- secrets/finalizers
- services
verbs: ["*"]
- services/finalizers
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- apiGroups:
- "coordination.k8s.io"
resources:
- leases
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- apiGroups:
- apps
resources:
- daemonsets
- daemonsets/finalizers
- deployments
verbs: ["*"]
- deployments/finalizers
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- apiGroups:
- autoscaling
resources:
- horizontalpodautoscalers
verbs: ["*"]
- horizontalpodautoscalers/finalizers
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- apiGroups:
- "extensions"
- extensions
- networking.k8s.io
resources:
- ingresses
- ingresses/status
verbs: ["*"]
- ingresses/finalizers
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- apiGroups:
- flagger.app
resources:
- canaries
- canaries/status
verbs: ["*"]
- canaries/finalizers
- metrictemplates
- metrictemplates/status
- alertproviders
- alertproviders/status
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- apiGroups:
- networking.istio.io
resources:
- virtualservices
- virtualservices/status
- virtualservices/finalizers
- destinationrules
- destinationrules/status
verbs: ["*"]
- destinationrules/finalizers
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- apiGroups:
- appmesh.k8s.aws
resources:
- meshes
- meshes/status
- virtualnodes
- virtualnodes/status
- virtualnodes/finalizers
- virtualrouters
- virtualrouters/finalizers
- virtualservices
- virtualservices/status
verbs: ["*"]
- virtualservices/finalizers
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- apiGroups:
- split.smi-spec.io
resources:
- trafficsplits
verbs: ["*"]
- trafficsplits/finalizers
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- apiGroups:
- specs.smi-spec.io
resources:
- httproutegroups
- httproutegroups/finalizers
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- apiGroups:
- gloo.solo.io
resources:
- settings
- upstreams
- upstreamgroups
- proxies
- virtualservices
verbs: ["*"]
- upstreams/finalizers
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- apiGroups:
- gateway.solo.io
resources:
- virtualservices
- gateways
verbs: ["*"]
- routetables
- routetables/finalizers
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- apiGroups:
- projectcontour.io
resources:
- httpproxies
- httpproxies/finalizers
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- apiGroups:
- traefik.io
resources:
- traefikservices
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- apiGroups:
- kuma.io
resources:
- trafficroutes
- trafficroutes/finalizers
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- apiGroups:
- gateway.networking.k8s.io
resources:
- httproutes
- httproutes/finalizers
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- apiGroups:
- keda.sh
resources:
- scaledobjects
- scaledobjects/finalizers
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- apiGroups:
- apisix.apache.org
resources:
- apisixroutes
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- apiGroups:
- metrics.keptn.sh
resources:
- keptnmetrics
- analyses
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- nonResourceURLs:
- /version
verbs:
- get
- apiGroups:
- serving.knative.dev
resources:
- services
verbs:
- get
- update
- apiGroups:
- serving.knative.dev
resources:
- revisions
verbs:
- get
---
apiVersion: rbac.authorization.k8s.io/v1beta1
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: {{ template "flagger.fullname" . }}

View File

@@ -0,0 +1,19 @@
{{- if .Values.serviceMonitor.enabled }}
apiVersion: v1
kind: Service
metadata:
name: {{ template "flagger.name" . }}
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: {{ template "flagger.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
spec:
ports:
- name: http
port: 8080
targetPort: http
protocol: TCP
selector:
app.kubernetes.io/name: {{ template "flagger.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}

View File

@@ -0,0 +1,29 @@
{{- if .Values.serviceMonitor.enabled }}
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: {{ template "flagger.name" . }}
{{- if .Values.serviceMonitor.namespace }}
namespace: {{ .Release.Namespace }}
{{- end }}
labels:
app.kubernetes.io/name: {{ template "flagger.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- with .Values.serviceMonitor.labels }}
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
endpoints:
- path: /metrics
port: http
interval: 30s
scrapeTimeout: 30s
honorLabels: {{ .Values.serviceMonitor.honorLabels }}
namespaceSelector:
matchNames:
- {{ .Release.Namespace }}
selector:
matchLabels:
app.kubernetes.io/name: {{ template "flagger.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}

View File

@@ -1,29 +1,117 @@
# Default values for flagger.
## Deployment annotations
# annotations: {}
image:
repository: weaveworks/flagger
tag: 0.18.3
repository: ghcr.io/fluxcd/flagger
tag: 1.42.0
pullPolicy: IfNotPresent
pullSecret:
# accepted values are debug, info, warning, error (defaults to info)
logLevel: info
podAnnotations:
prometheus.io/scrape: "true"
prometheus.io/port: "8080"
appmesh.k8s.aws/sidecarInjectorWebhook: disabled
linkerd.io/inject: enabled
# priority class name for pod priority configuration
podPriorityClassName: ""
metricsServer: "http://prometheus:9090"
# accepted values are istio, appmesh, nginx or supergloo:mesh.namespace (defaults to istio)
# creates serviceMonitor for monitoring Flagger metrics
serviceMonitor:
enabled: false
honorLabels: false
# Set the namespace the ServiceMonitor should be deployed
# namespace: monitoring
# Set labels for the ServiceMonitor, use this to define your scrape label for Prometheus Operator
# labels:
# accepted values are kubernetes, istio, linkerd, appmesh, contour, nginx, gloo, skipper, traefik, apisix
meshProvider: ""
# single namespace restriction
namespace: ""
# list of pod labels that Flagger uses to create pod selectors
# defaults to: app,name,app.kubernetes.io/name
selectorLabels: ""
# when enabled, flagger will track changes in Secrets and ConfigMaps referenced in the target deployment (enabled by default)
configTracking:
enabled: true
# annotations prefix for NGINX ingresses
ingressAnnotationsPrefix: ""
# ingress class used for annotating HTTPProxy objects
ingressClass: ""
# when enabled, it will add a security context for the flagger pod. You may
# need to disable this if you are running flagger on OpenShift
securityContext:
enabled: true
context:
readOnlyRootFilesystem: true
runAsUser: 10001
# when specified, flagger will publish events to the provided webhook
eventWebhook: ""
# when specified, flagger will add the cluster name to alerts
clusterName: ""
slack:
user: flagger
channel:
# incoming webhook https://api.slack.com/incoming-webhooks
url:
proxy:
msteams:
# MS Teams incoming webhook URL
url:
podMonitor:
enabled: false
namespace:
interval: 15s
additionalLabels: {}
honorLabels: false
#env:
#- name: SLACK_URL
# valueFrom:
# secretKeyRef:
# name: slack
# key: url
#- name: SLACK_PROXY_URL
# valueFrom:
# secretKeyRef:
# name: slack
# key: proxy-url
#- name: MSTEAMS_URL
# valueFrom:
# secretKeyRef:
# name: msteams
# key: url
#- name: MSTEAMS_PROXY_URL
# valueFrom:
# secretKeyRef:
# name: msteams
# key: proxy-url
#- name: EVENT_WEBHOOK_URL
# valueFrom:
# secretKeyRef:
# name: eventwebhook
# key: url
env: []
leaderElection:
enabled: false
replicaCount: 1
@@ -33,6 +121,8 @@ serviceAccount:
create: true
# serviceAccount.name: The name of the service account to create or use
name: ""
# serviceAccount.annotations: Annotations for service account
annotations: {}
rbac:
# rbac.create: `true` if rbac resources should be created
@@ -42,7 +132,14 @@ rbac:
crd:
# crd.create: `true` if custom resource definitions should be created
create: true
create: false
linkerdAuthPolicy:
# linkerdAuthPolicy.create: Whether to create an AuthorizationPolicy in
# linkerd viz' namespace to allow flagger to reach viz' prometheus service
create: false
# linkerdAuthPolicy.namespace: linkerd-viz' namespace
namespace: linkerd-viz
nameOverride: ""
fullnameOverride: ""
@@ -59,6 +156,54 @@ nodeSelector: {}
tolerations: []
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
labelSelector:
matchLabels:
app.kubernetes.io/name: '{{ template "flagger.name" . }}'
app.kubernetes.io/instance: '{{ .Release.Name }}'
topologyKey: kubernetes.io/hostname
prometheus:
# to be used with AppMesh or nginx ingress
# to be used with ingress controllers
install: false
image: docker.io/prom/prometheus:v2.41.0
pullSecret:
retention: 2h
# when enabled, it will add a security context for the prometheus pod
securityContext:
enabled: false
context:
readOnlyRootFilesystem: true
runAsUser: 10001
kubeconfigQPS: ""
kubeconfigBurst: ""
# Multi-cluster service mesh (shared control plane single-network)
controlplane:
kubeconfig:
# controlplane.kubeconfig.secretName: The name of the secret containing the mesh control plane kubeconfig
secretName: ""
# controlplane.kubeconfig.key: The name of secret data key that contains the mesh control plane kubeconfig
key: "kubeconfig"
podDisruptionBudget:
enabled: false
minAvailable: 1
# Additional labels to be added to pods
podLabels: {}
# Additional labels to be added to deployments
deploymentLabels: { }
noCrossNamespaceRefs: false
#Placeholder to supply additional volumes to the flagger pod
additionalVolumes: {}
# - name: tmpfs
# emptyDir: {}

View File

@@ -1,13 +1,20 @@
apiVersion: v1
name: grafana
version: 1.3.0
appVersion: 6.2.5
version: 1.7.0
appVersion: 7.2.0
description: Grafana dashboards for monitoring Flagger canary deployments
icon: https://raw.githubusercontent.com/weaveworks/flagger/master/docs/logo/flagger-icon.png
icon: https://raw.githubusercontent.com/fluxcd/flagger/main/docs/logo/flagger-icon.png
home: https://flagger.app
sources:
- https://github.com/weaveworks/flagger
- https://github.com/fluxcd/flagger
maintainers:
- name: stefanprodan
url: https://github.com/stefanprodan
email: stefanprodan@users.noreply.github.com
- name: stefanprodan
url: https://github.com/stefanprodan
email: stefanprodan@users.noreply.github.com
keywords:
- flagger
- grafana
- canary
- istio
- appmesh

View File

@@ -1,13 +1,12 @@
# Flagger Grafana
Grafana dashboards for monitoring progressive deployments powered by Istio, Prometheus and Flagger.
Grafana dashboards for monitoring progressive deployments powered by Flagger and Prometheus.
![flagger-grafana](https://raw.githubusercontent.com/weaveworks/flagger/master/docs/screens/grafana-canary-analysis.png)
![flagger-grafana](https://raw.githubusercontent.com/fluxcd/flagger/main/docs/screens/grafana-canary-analysis.png)
## Prerequisites
* Kubernetes >= 1.11
* Istio >= 1.0
* Prometheus >= 2.6
## Installing the Chart
@@ -18,14 +17,20 @@ Add Flagger Helm repository:
helm repo add flagger https://flagger.app
```
To install the chart with the release name `flagger-grafana`:
To install the chart for Istio run:
```console
helm upgrade -i flagger-grafana flagger/grafana \
--namespace=istio-system \
--set url=http://prometheus:9090 \
--set user=admin \
--set password=admin
--set url=http://prometheus:9090
```
To install the chart for AWS App Mesh run:
```console
helm upgrade -i flagger-grafana flagger/grafana \
--namespace=appmesh-system \
--set url=http://appmesh-prometheus:9090
```
The command deploys Grafana on the Kubernetes cluster in the default namespace.
@@ -56,10 +61,7 @@ Parameter | Description | Default
`affinity` | node/pod affinities | `node`
`nodeSelector` | node labels for pod assignment | `{}`
`service.type` | type of service | `ClusterIP`
`url` | Prometheus URL, used when Weave Cloud token is empty | `http://prometheus:9090`
`token` | Weave Cloud token | `none`
`user` | Grafana admin username | `admin`
`password` | Grafana admin password | `admin`
`url` | Prometheus URL | `http://prometheus:9090`
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,

View File

@@ -602,11 +602,11 @@
"steppedLine": false,
"targets": [
{
"expr": "sum(rate(container_cpu_usage_seconds_total{cpu=\"total\",namespace=\"$namespace\",pod_name=~\"$primary.*\", container_name!~\"POD|istio-proxy\"}[1m])) by (pod_name)",
"expr": "sum(rate(container_cpu_usage_seconds_total{cpu=\"total\",namespace=\"$namespace\",pod=~\"$primary.*\", container!~\"POD|istio-proxy\"}[1m])) by (pod)",
"format": "time_series",
"hide": false,
"intervalFactor": 1,
"legendFormat": "{{ pod_name }}",
"legendFormat": "{{ pod }}",
"refId": "B"
}
],
@@ -692,11 +692,11 @@
"steppedLine": false,
"targets": [
{
"expr": "sum(rate(container_cpu_usage_seconds_total{cpu=\"total\",namespace=\"$namespace\",pod_name=~\"$canary.*\", pod_name!~\"$primary.*\", container_name!~\"POD|istio-proxy\"}[1m])) by (pod_name)",
"expr": "sum(rate(container_cpu_usage_seconds_total{cpu=\"total\",namespace=\"$namespace\",pod=~\"$canary.*\", pod!~\"$primary.*\", container!~\"POD|istio-proxy\"}[1m])) by (pod)",
"format": "time_series",
"hide": false,
"intervalFactor": 1,
"legendFormat": "{{ pod_name }}",
"legendFormat": "{{ pod }}",
"refId": "B"
}
],
@@ -782,12 +782,12 @@
"steppedLine": false,
"targets": [
{
"expr": "sum(container_memory_working_set_bytes{namespace=\"$namespace\",pod_name=~\"$primary.*\", container_name!~\"POD|istio-proxy\"}) by (pod_name)",
"expr": "sum(container_memory_working_set_bytes{namespace=\"$namespace\",pod=~\"$primary.*\", container!~\"POD|istio-proxy\"}) by (pod)",
"format": "time_series",
"hide": false,
"interval": "",
"intervalFactor": 1,
"legendFormat": "{{ pod_name }}",
"legendFormat": "{{ pod }}",
"refId": "B"
}
],
@@ -874,12 +874,12 @@
"steppedLine": false,
"targets": [
{
"expr": "sum(container_memory_working_set_bytes{namespace=\"$namespace\",pod_name=~\"$canary.*\", pod_name!~\"$primary.*\", container_name!~\"POD|istio-proxy\"}) by (pod_name)",
"expr": "sum(container_memory_working_set_bytes{namespace=\"$namespace\",pod=~\"$canary.*\", pod!~\"$primary.*\", container!~\"POD|istio-proxy\"}) by (pod)",
"format": "time_series",
"hide": false,
"interval": "",
"intervalFactor": 1,
"legendFormat": "{{ pod_name }}",
"legendFormat": "{{ pod }}",
"refId": "B"
}
],
@@ -975,14 +975,14 @@
"steppedLine": false,
"targets": [
{
"expr": "sum(rate (container_network_receive_bytes_total{namespace=\"$namespace\",pod_name=~\"$primary.*\"}[1m])) ",
"expr": "sum(rate (container_network_receive_bytes_total{namespace=\"$namespace\",pod=~\"$primary.*\"}[1m])) ",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "received",
"refId": "A"
},
{
"expr": "-sum (rate (container_network_transmit_bytes_total{namespace=\"$namespace\",pod_name=~\"$primary.*\"}[1m]))",
"expr": "-sum (rate (container_network_transmit_bytes_total{namespace=\"$namespace\",pod=~\"$primary.*\"}[1m]))",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "transmited",
@@ -1081,14 +1081,14 @@
"steppedLine": false,
"targets": [
{
"expr": "sum(rate (container_network_receive_bytes_total{namespace=\"$namespace\",pod_name=~\"$canary.*\",pod_name!~\"$primary.*\"}[1m])) ",
"expr": "sum(rate (container_network_receive_bytes_total{namespace=\"$namespace\",pod=~\"$canary.*\",pod!~\"$primary.*\"}[1m])) ",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "received",
"refId": "A"
},
{
"expr": "-sum (rate (container_network_transmit_bytes_total{namespace=\"$namespace\",pod_name=~\"$canary.*\",pod_name!~\"$primary.*\"}[1m]))",
"expr": "-sum (rate (container_network_transmit_bytes_total{namespace=\"$namespace\",pod=~\"$canary.*\",pod!~\"$primary.*\"}[1m]))",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "transmited",
@@ -1146,7 +1146,6 @@
"list": [
{
"allValue": null,
"current": null,
"datasource": "prometheus",
"definition": "query_result(sum(envoy_cluster_upstream_rq) by (kubernetes_namespace))",
"hide": 0,
@@ -1168,7 +1167,6 @@
},
{
"allValue": null,
"current": null,
"datasource": "prometheus",
"definition": "query_result(sum(envoy_cluster_upstream_rq{kubernetes_namespace=\"$namespace\",app=~\".*-primary\"}) by (app))",
"hide": 0,
@@ -1190,7 +1188,6 @@
},
{
"allValue": null,
"current": null,
"datasource": "prometheus",
"definition": "query_result(sum(envoy_cluster_upstream_rq{kubernetes_namespace=\"$namespace\",app!~\".*-primary\"}) by (app))",
"hide": 0,

File diff suppressed because it is too large Load Diff

View File

@@ -403,7 +403,7 @@
"steppedLine": false,
"targets": [
{
"expr": "histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\",destination_workload=~\"$primary\", destination_workload_namespace=~\"$namespace\"}[1m])) by (le))",
"expr": "histogram_quantile(0.50, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\",destination_workload=~\"$primary\", destination_workload_namespace=~\"$namespace\"}[1m])) by (le)) / 1000",
"format": "time_series",
"interval": "",
"intervalFactor": 1,
@@ -411,7 +411,7 @@
"refId": "A"
},
{
"expr": "histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\",destination_workload=~\"$primary\", destination_workload_namespace=~\"$namespace\"}[1m])) by (le))",
"expr": "histogram_quantile(0.90, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\",destination_workload=~\"$primary\", destination_workload_namespace=~\"$namespace\"}[1m])) by (le)) / 1000",
"format": "time_series",
"hide": false,
"intervalFactor": 1,
@@ -419,7 +419,7 @@
"refId": "B"
},
{
"expr": "histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\",destination_workload=~\"$primary\", destination_workload_namespace=~\"$namespace\"}[1m])) by (le))",
"expr": "histogram_quantile(0.99, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\",destination_workload=~\"$primary\", destination_workload_namespace=~\"$namespace\"}[1m])) by (le)) / 1000",
"format": "time_series",
"hide": false,
"intervalFactor": 1,
@@ -509,7 +509,7 @@
"steppedLine": false,
"targets": [
{
"expr": "histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\",destination_workload=~\"$canary\", destination_workload_namespace=~\"$namespace\"}[1m])) by (le))",
"expr": "histogram_quantile(0.50, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\",destination_workload=~\"$canary\", destination_workload_namespace=~\"$namespace\"}[1m])) by (le)) / 1000",
"format": "time_series",
"interval": "",
"intervalFactor": 1,
@@ -517,7 +517,7 @@
"refId": "A"
},
{
"expr": "histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\",destination_workload=~\"$canary\", destination_workload_namespace=~\"$namespace\"}[1m])) by (le))",
"expr": "histogram_quantile(0.90, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\",destination_workload=~\"$canary\", destination_workload_namespace=~\"$namespace\"}[1m])) by (le)) / 1000",
"format": "time_series",
"hide": false,
"intervalFactor": 1,
@@ -525,7 +525,7 @@
"refId": "B"
},
{
"expr": "histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\",destination_workload=~\"$canary\", destination_workload_namespace=~\"$namespace\"}[1m])) by (le))",
"expr": "histogram_quantile(0.99, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\",destination_workload=~\"$canary\", destination_workload_namespace=~\"$namespace\"}[1m])) by (le)) / 1000",
"format": "time_series",
"hide": false,
"intervalFactor": 1,
@@ -630,11 +630,11 @@
"steppedLine": false,
"targets": [
{
"expr": "sum(rate(container_cpu_usage_seconds_total{cpu=\"total\",namespace=\"$namespace\",pod_name=~\"$primary.*\", container_name!~\"POD|istio-proxy\"}[1m])) by (pod_name)",
"expr": "sum(rate(container_cpu_usage_seconds_total{cpu=\"total\",namespace=\"$namespace\",pod=~\"$primary.*\", container!~\"POD|istio-proxy\"}[1m])) by (pod)",
"format": "time_series",
"hide": false,
"intervalFactor": 1,
"legendFormat": "{{ pod_name }}",
"legendFormat": "{{ pod }}",
"refId": "B"
}
],
@@ -720,11 +720,11 @@
"steppedLine": false,
"targets": [
{
"expr": "sum(rate(container_cpu_usage_seconds_total{cpu=\"total\",namespace=\"$namespace\",pod_name=~\"$canary.*\", pod_name!~\"$primary.*\", container_name!~\"POD|istio-proxy\"}[1m])) by (pod_name)",
"expr": "sum(rate(container_cpu_usage_seconds_total{cpu=\"total\",namespace=\"$namespace\",pod=~\"$canary.*\", pod!~\"$primary.*\", container!~\"POD|istio-proxy\"}[1m])) by (pod)",
"format": "time_series",
"hide": false,
"intervalFactor": 1,
"legendFormat": "{{ pod_name }}",
"legendFormat": "{{ pod }}",
"refId": "B"
}
],
@@ -810,12 +810,12 @@
"steppedLine": false,
"targets": [
{
"expr": "sum(container_memory_working_set_bytes{namespace=\"$namespace\",pod_name=~\"$primary.*\", container_name!~\"POD|istio-proxy\"}) by (pod_name)",
"expr": "sum(container_memory_working_set_bytes{namespace=\"$namespace\",pod=~\"$primary.*\", container!~\"POD|istio-proxy\"}) by (pod)",
"format": "time_series",
"hide": false,
"interval": "",
"intervalFactor": 1,
"legendFormat": "{{ pod_name }}",
"legendFormat": "{{ pod }}",
"refId": "B"
}
],
@@ -902,12 +902,12 @@
"steppedLine": false,
"targets": [
{
"expr": "sum(container_memory_working_set_bytes{namespace=\"$namespace\",pod_name=~\"$canary.*\", pod_name!~\"$primary.*\", container_name!~\"POD|istio-proxy\"}) by (pod_name)",
"expr": "sum(container_memory_working_set_bytes{namespace=\"$namespace\",pod=~\"$canary.*\", pod!~\"$primary.*\", container!~\"POD|istio-proxy\"}) by (pod)",
"format": "time_series",
"hide": false,
"interval": "",
"intervalFactor": 1,
"legendFormat": "{{ pod_name }}",
"legendFormat": "{{ pod }}",
"refId": "B"
}
],
@@ -1003,14 +1003,14 @@
"steppedLine": false,
"targets": [
{
"expr": "sum(rate (container_network_receive_bytes_total{namespace=\"$namespace\",pod_name=~\"$primary.*\"}[1m])) ",
"expr": "sum(rate (container_network_receive_bytes_total{namespace=\"$namespace\",pod=~\"$primary.*\"}[1m])) ",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "received",
"refId": "A"
},
{
"expr": "-sum (rate (container_network_transmit_bytes_total{namespace=\"$namespace\",pod_name=~\"$primary.*\"}[1m]))",
"expr": "-sum (rate (container_network_transmit_bytes_total{namespace=\"$namespace\",pod=~\"$primary.*\"}[1m]))",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "transmited",
@@ -1109,14 +1109,14 @@
"steppedLine": false,
"targets": [
{
"expr": "sum(rate (container_network_receive_bytes_total{namespace=\"$namespace\",pod_name=~\"$canary.*\",pod_name!~\"$primary.*\"}[1m])) ",
"expr": "sum(rate (container_network_receive_bytes_total{namespace=\"$namespace\",pod=~\"$canary.*\",pod!~\"$primary.*\"}[1m])) ",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "received",
"refId": "A"
},
{
"expr": "-sum (rate (container_network_transmit_bytes_total{namespace=\"$namespace\",pod_name=~\"$canary.*\",pod_name!~\"$primary.*\"}[1m]))",
"expr": "-sum (rate (container_network_transmit_bytes_total{namespace=\"$namespace\",pod=~\"$canary.*\",pod!~\"$primary.*\"}[1m]))",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "transmited",

View File

@@ -1,4 +1,4 @@
apiVersion: apps/v1beta2
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ template "grafana.fullname" . }}
@@ -20,6 +20,9 @@ spec:
release: {{ .Release.Name }}
annotations:
prometheus.io/scrape: 'false'
{{- if .Values.podAnnotations }}
{{ toYaml .Values.podAnnotations | indent 8 }}
{{- end }}
spec:
containers:
- name: {{ .Chart.Name }}

View File

@@ -6,9 +6,11 @@ replicaCount: 1
image:
repository: grafana/grafana
tag: 6.2.5
tag: 7.3.4
pullPolicy: IfNotPresent
podAnnotations: {}
service:
type: ClusterIP
port: 80
@@ -30,7 +32,7 @@ affinity: {}
user: admin
password:
# Istio Prometheus instance
# Prometheus instance
url: http://prometheus:9090
# Weave Cloud instance token

View File

@@ -1,21 +1,24 @@
apiVersion: v1
name: loadtester
version: 0.7.0
appVersion: 0.7.0
kubeVersion: ">=1.11.0-0"
version: 0.36.0
appVersion: 0.36.0
kubeVersion: ">=1.19.0-0"
engine: gotpl
description: Flagger's load testing services based on rakyll/hey and bojand/ghz that generates traffic during canary analysis when configured as a webhook.
home: https://docs.flagger.app
icon: https://raw.githubusercontent.com/weaveworks/flagger/master/docs/logo/flagger-icon.png
icon: https://raw.githubusercontent.com/fluxcd/flagger/main/docs/logo/flagger-icon.png
sources:
- https://github.com/weaveworks/flagger
- https://github.com/fluxcd/flagger
maintainers:
- name: stefanprodan
url: https://github.com/stefanprodan
email: stefanprodan@users.noreply.github.com
keywords:
- canary
- flagger
- istio
- appmesh
- linkerd
- gloo
- smi
- gitops
- load testing

View File

@@ -1,12 +1,13 @@
# Flagger load testing service
[Flagger's](https://github.com/weaveworks/flagger) load testing service is based on
[rakyll/hey](https://github.com/rakyll/hey)
and can be used to generates traffic during canary analysis when configured as a webhook.
[Flagger's](https://github.com/fluxcd/flagger) load testing service is based on
[rakyll/hey](https://github.com/rakyll/hey) and
[bojand/ghz](https://github.com/bojand/ghz).
It can be used to generate HTTP and gRPC traffic during canary analysis when configured as a webhook.
## Prerequisites
* Kubernetes >= 1.11
* Kubernetes >= 1.19
## Installing the Chart
@@ -22,9 +23,10 @@ To install the chart with the release name `flagger-loadtester`:
helm upgrade -i flagger-loadtester flagger/loadtester
```
The command deploys Grafana on the Kubernetes cluster in the default namespace.
The command deploys loadtester on the Kubernetes cluster in the default namespace.
> **Tip**: Note that the namespace where you deploy the load tester should have the Istio or App Mesh sidecar injection enabled
> **Tip**: Note that the namespace where you deploy the load tester should
> have the Istio, App Mesh, Linkerd or Open Service Mesh sidecar injection enabled
The [configuration](#configuration) section lists the parameters that can be configured during installation.
@@ -33,7 +35,7 @@ The [configuration](#configuration) section lists the parameters that can be con
To uninstall/delete the `flagger-loadtester` deployment:
```console
helm delete --purge flagger-loadtester
helm delete flagger-loadtester
```
The command removes all the Kubernetes components associated with the chart and deletes the release.
@@ -42,29 +44,45 @@ The command removes all the Kubernetes components associated with the chart and
The following tables lists the configurable parameters of the load tester chart and their default values.
Parameter | Description | Default
--- | --- | ---
`image.repository` | Image repository | `quay.io/stefanprodan/flagger-loadtester`
`image.pullPolicy` | Image pull policy | `IfNotPresent`
`image.tag` | Image tag | `<VERSION>`
`replicaCount` | Desired number of pods | `1`
`serviceAccountName` | Kubernetes service account name | `none`
`resources.requests.cpu` | CPU requests | `10m`
`resources.requests.memory` | Memory requests | `64Mi`
`tolerations` | List of node taints to tolerate | `[]`
`affinity` | node/pod affinities | `node`
`nodeSelector` | Node labels for pod assignment | `{}`
`service.type` | Type of service | `ClusterIP`
`service.port` | ClusterIP port | `80`
`cmd.timeout` | Command execution timeout | `1h`
`logLevel` | Log level can be debug, info, warning, error or panic | `info`
`meshName` | AWS App Mesh name | `none`
`backends` | AWS App Mesh virtual services | `none`
| Parameter | Description | Default |
|------------------------------------|--------------------------------------------------------------------------------------|-------------------------------------|
| `image.repository` | Image repository | `ghcr.io/fluxcd/flagger-loadtester` |
| `image.pullPolicy` | Image pull policy | `IfNotPresent` |
| `image.tag` | Image tag | `<VERSION>` |
| `replicaCount` | Desired number of pods | `1` |
| `serviceAccountName` | Kubernetes service account name | `none` |
| `resources.requests.cpu` | CPU requests | `10m` |
| `resources.requests.memory` | Memory requests | `64Mi` |
| `tolerations` | List of node taints to tolerate | `[]` |
| `affinity` | node/pod affinities | `node` |
| `nodeSelector` | Node labels for pod assignment | `{}` |
| `service.type` | Type of service | `ClusterIP` |
| `service.port` | ClusterIP port | `80` |
| `cmd.timeout` | Command execution timeout | `1h` |
| `cmd.namespaceRegexp` | Restrict access to canaries in matching namespaces | "" |
| `logLevel` | Log level can be debug, info, warning, error or panic | `info` |
| `appmesh.enabled` | Create AWS App Mesh v1beta2 virtual node | `false` |
| `appmesh.backends` | AWS App Mesh virtual services | `none` |
| `istio.enabled` | Create Istio virtual service | `false` |
| `istio.host` | Loadtester hostname | `flagger-loadtester.flagger` |
| `istio.gateway.enabled` | Create Istio gateway in namespace | `false` |
| `istio.tls.enabled` | Enable TLS in gateway ( TLS secrets should be in namespace ) | `false` |
| `istio.tls.httpsRedirect` | Redirect traffic to TLS port | `false` |
| `podPriorityClassName` | PriorityClass name for pod priority configuration | "" |
| `securityContext.enabled` | Add securityContext to container | `false` |
| `SecurityContext.context` | securityContext to add | "" |
| `podSecurityContext.enabled` | Add securityContext to pod | `false` |
| `podSecurityContext.context` | securityContext to add | "" |
| `podDisruptionBudget.enabled` | A PodDisruptionBudget will be created if `true` | `false` |
| `podDisruptionBudget.minAvailable` | The minimal number of available replicas that will be set in the PodDisruptionBudget | `1` |
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
Specify each parameter using the `--set key=value[,key=value]` argument to `helm upgrade`. For example,
```console
helm install flagger/loadtester --name flagger-loadtester
helm upgrade -i flagger-loadtester flagger/loadtester \
--set "appmesh.enabled=true" \
--set "appmesh.backends[0]=podinfo" \
--set "appmesh.backends[1]=podinfo-canary"
```
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example,
@@ -74,5 +92,3 @@ helm install flagger/loadtester --name flagger-loadtester -f values.yaml
```
> **Tip**: You can use the default [values.yaml](values.yaml)

View File

@@ -0,0 +1,27 @@
{{- if .Values.appmesh.enabled }}
apiVersion: appmesh.k8s.aws/v1beta2
kind: VirtualNode
metadata:
name: {{ include "loadtester.fullname" . }}
labels:
app.kubernetes.io/name: {{ include "loadtester.name" . }}
helm.sh/chart: {{ include "loadtester.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
spec:
podSelector:
matchLabels:
app: {{ include "loadtester.name" . }}
logging:
accessLog:
file:
path: /dev/stdout
{{- if .Values.appmesh.backends }}
backends:
{{- range .Values.appmesh.backends }}
- virtualService:
virtualServiceRef:
name: {{ . }}
{{- end }}
{{- end }}
{{- end }}

View File

@@ -16,16 +16,31 @@ spec:
metadata:
labels:
app: {{ include "loadtester.name" . }}
app.kubernetes.io/name: {{ include "loadtester.name" . }}
{{- range $key, $value := .Values.podLabels }}
{{ $key }}: {{ $value | quote }}
{{- end }}
annotations:
appmesh.k8s.aws/ports: "444"
openservicemesh.io/inbound-port-exclusion-list: "80, 8080"
{{- if .Values.podAnnotations }}
{{- toYaml .Values.podAnnotations | nindent 8 }}
{{- end }}
spec:
{{- if .Values.serviceAccountName }}
serviceAccountName: {{ .Values.serviceAccountName }}
{{- else if .Values.rbac.create }}
serviceAccountName: {{ include "loadtester.fullname" . }}
{{- end }}
{{- if .Values.podPriorityClassName }}
priorityClassName: {{ .Values.podPriorityClassName }}
{{- end }}
containers:
- name: {{ .Chart.Name }}
{{- if .Values.securityContext.enabled }}
securityContext:
{{- toYaml .Values.securityContext.context | nindent 12 }}
{{- end }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
ports:
@@ -36,6 +51,7 @@ spec:
- -port=8080
- -log-level={{ .Values.logLevel }}
- -timeout={{ .Values.cmd.timeout }}
- -namespace-regexp={{ .Values.cmd.namespaceRegexp }}
livenessProbe:
exec:
command:
@@ -56,8 +72,24 @@ spec:
- --spider
- http://localhost:8080/healthz
timeoutSeconds: 5
{{- if .Values.env }}
env:
{{- toYaml .Values.env | nindent 12 }}
{{- end }}
resources:
{{- toYaml .Values.resources | nindent 12 }}
{{- with .Values.volumeMounts }}
volumeMounts:
{{- toYaml . | nindent 12 }}
{{- end }}
{{- if .Values.image.pullSecret }}
imagePullSecrets:
- name: {{ .Values.image.pullSecret }}
{{- end }}
{{ with .Values.volumes }}
volumes:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
@@ -70,3 +102,7 @@ spec:
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- if .Values.podSecurityContext.enabled }}
securityContext:
{{- toYaml .Values.podSecurityContext.context | nindent 12 }}
{{- end }}

View File

@@ -0,0 +1,30 @@
{{- if and (.Values.istio.enabled) (.Values.istio.gateway.enabled) }}
apiVersion: networking.istio.io/v1beta1
kind: Gateway
metadata:
name: {{ include "loadtester.fullname" . }}
spec:
selector:
istio: ingressgateway
servers:
- port:
number: 80
name: http-default
protocol: HTTP
hosts:
- {{ .Values.istio.host }}
{{- if .Values.istio.tls.enabled }}
- port:
number: 443
name: https-default
protocol: HTTPS
tls:
httpsRedirect: {{ .Values.istio.tls.httpsRedirect }}
mode: SIMPLE
serverCertificate: "sds"
privateKey: "sds"
credentialName: {{ include "loadtester.fullname" . }}
hosts:
- {{ .Values.istio.host }}
{{- end }}
{{- end }}

View File

@@ -0,0 +1,17 @@
{{- if .Values.istio.enabled }}
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
name: {{ include "loadtester.fullname" . }}
spec:
gateways:
- {{ include "loadtester.fullname" . }}
hosts:
- {{ .Values.istio.host }}
http:
- route:
- destination:
host: {{ include "loadtester.fullname" . }}
port:
number: {{ .Values.service.port }}
{{- end }}

View File

@@ -0,0 +1,15 @@
{{- if .Values.podDisruptionBudget.enabled }}
{{- if .Capabilities.APIVersions.Has "policy/v1/PodDisruptionBudget" -}}
apiVersion: policy/v1
{{- else }}
apiVersion: policy/v1beta1
{{- end }}
kind: PodDisruptionBudget
metadata:
name: {{ include "loadtester.fullname" . }}
spec:
minAvailable: {{ .Values.podDisruptionBudget.minAvailable }}
selector:
matchLabels:
app.kubernetes.io/name: {{ include "loadtester.name" . }}
{{- end }}

Some files were not shown because too many files have changed in this diff Show More