Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions clusters/staging/infra.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
apiVersion: kustomize.toolkit.fluxcd.io/v1beta1
kind: Kustomization
metadata:
name: infra
namespace: flux-system
spec:
interval: 5m
sourceRef:
kind: GitRepository
name: flux-system
path: ./infra/staging
prune: true
validation: client
9 changes: 9 additions & 0 deletions infra/base/flagger/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- namespace.yaml
- metrictemplate.yaml
- github.com/fluxcd/flagger/kustomize/base/flagger
- github.com/fluxcd/flagger/kustomize/base/prometheus
- github.com/fluxcd/flagger/kustomize/tester

29 changes: 29 additions & 0 deletions infra/base/flagger/metrictemplate.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
apiVersion: flagger.app/v1beta1
kind: MetricTemplate
metadata:
name: error-rate
namespace: flagger-system
spec:
provider:
type: prometheus
address: http://flagger-prometheus:9090
query: |
100 - sum(
rate(
nginx_ingress_controller_requests{
namespace="{{ namespace }}",
ingress="{{ ingress }}",
status!~"5.*"
}[{{ interval }}]
)
)
/
sum(
rate(
nginx_ingress_controller_requests{
namespace="{{ namespace }}",
ingress="{{ ingress }}"
}[{{ interval }}]
)
)
* 100
9 changes: 9 additions & 0 deletions infra/base/flagger/namespace.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
apiVersion: v1
kind: Namespace
metadata:
name: flagger-system
annotations:
linkerd.io/inject: disabled
labels:
istio-injection: disabled
appmesh.k8s.aws/sidecarInjectorWebhook: disabled
5 changes: 5 additions & 0 deletions infra/base/nginx-ingress/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- nginx-ingress-helmrelease.yaml
- nginx-ingress-helmrepository.yaml
16 changes: 16 additions & 0 deletions infra/base/nginx-ingress/nginx-ingress-helmrelease.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
name: nginx-ingress
namespace: flux-system
spec:
chart:
spec:
chart: ingress-nginx
sourceRef:
kind: HelmRepository
name: nginx-ingress
interval: 24h0m0s
targetNamespace: flagger-system

10 changes: 10 additions & 0 deletions infra/base/nginx-ingress/nginx-ingress-helmrepository.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
apiVersion: source.toolkit.fluxcd.io/v1beta1
kind: HelmRepository
metadata:
name: nginx-ingress
namespace: flagger-system
spec:
interval: 24h0m0s
url: https://kubernetes.github.io/ingress-nginx

13 changes: 13 additions & 0 deletions infra/staging/flagger.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: flagger
spec:
template:
spec:
containers:
- name: flagger
args:
- -log-level=info
- -mesh-provider=nginx
- -metrics-server=http://flagger-prometheus:9090
11 changes: 11 additions & 0 deletions infra/staging/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ../base/flagger
- ../base/nginx-ingress
patchesStrategicMerge:
- flagger.yaml
- nginx-ingress-helmrelease.yaml

namespace: flagger-system

24 changes: 24 additions & 0 deletions infra/staging/nginx-ingress-helmrelease.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
name: nginx-ingress
namespace: flux-system
spec:
values:
controller:
metrics:
enabled: true
podAnnotations:
prometheus.io/port: "10254"
prometheus.io/scrape: "true"
defaultBackend:
enabled: true
service:
nodePorts:
http: 31080
https: 31443
type: LoadBalancer
admissionWebhooks:
enabled: false