Skip to content

Instantly share code, notes, and snippets.

@Siebjee
Created September 7, 2021 07:27
Show Gist options
  • Save Siebjee/5c57fc4ff1d6120d006a9be68fac6f8e to your computer and use it in GitHub Desktop.
Save Siebjee/5c57fc4ff1d6120d006a9be68fac6f8e to your computer and use it in GitHub Desktop.
argo-events/memory-leak
apiVersion: argoproj.io/v1alpha1
kind: EventBus
metadata:
name: default
namespace: memory-leak
spec:
nats:
native:
replicas: 3
auth: token
containerTemplate:
resources:
requests:
cpu: "10m"
metricsContainerTemplate:
resources:
requests:
cpu: "10m"
antiAffinity: false
apiVersion: argoproj.io/v1alpha1
kind: EventSource
metadata:
name: memory-leak
namespace: memory-leak
spec:
service:
ports:
- port: 12000
targetPort: 12000
webhook:
foo-1:
port: "12000"
endpoint: /1
method: POST
foo-2:
port: "12000"
endpoint: /2
method: POST
foo-3:
port: "12000"
endpoint: /3
method: POST
foo-4:
port: "12000"
endpoint: /4
method: POST
foo-5:
port: "12000"
endpoint: /5
method: POST
foo-6:
port: "12000"
endpoint: /6
method: POST
foo-7:
port: "12000"
endpoint: /7
method: POST
foo-8:
port: "12000"
endpoint: /8
method: POST
foo-9:
port: "12000"
endpoint: /9
method: POST
foo-10:
port: "12000"
endpoint: /10
method: POST
foo-11:
port: "12000"
endpoint: /11
method: POST
foo-12:
port: "12000"
endpoint: /12
method: POST
foo-13:
port: "12000"
endpoint: /13
method: POST
foo-14:
port: "12000"
endpoint: /14
method: POST
foo-15:
port: "12000"
endpoint: /15
method: POST
foo-16:
port: "12000"
endpoint: /16
method: POST
foo-17:
port: "12000"
endpoint: /17
method: POST
foo-18:
port: "12000"
endpoint: /18
method: POST
foo-19:
port: "12000"
endpoint: /19
method: POST
foo-20:
port: "12000"
endpoint: /20
method: POST
foo-21:
port: "12000"
endpoint: /21
method: POST
foo-22:
port: "12000"
endpoint: /22
method: POST
foo-23:
port: "12000"
endpoint: /23
method: POST
foo-24:
port: "12000"
endpoint: /24
method: POST
foo-25:
port: "12000"
endpoint: /25
method: POST
foo-26:
port: "12000"
endpoint: /26
method: POST
foo-27:
port: "12000"
endpoint: /27
method: POST
foo-28:
port: "12000"
endpoint: /28
method: POST
foo-29:
port: "12000"
endpoint: /29
method: POST
foo-30:
port: "12000"
endpoint: /30
method: POST
foo-31:
port: "12000"
endpoint: /31
method: POST
foo-32:
port: "12000"
endpoint: /32
method: POST
foo-33:
port: "12000"
endpoint: /33
method: POST
foo-34:
port: "12000"
endpoint: /34
method: POST
foo-35:
port: "12000"
endpoint: /35
method: POST
foo-36:
port: "12000"
endpoint: /36
method: POST
foo-37:
port: "12000"
endpoint: /37
method: POST
foo-38:
port: "12000"
endpoint: /38
method: POST
foo-39:
port: "12000"
endpoint: /39
method: POST
foo-40:
port: "12000"
endpoint: /40
method: POST
foo-41:
port: "12000"
endpoint: /41
method: POST
foo-42:
port: "12000"
endpoint: /42
method: POST
foo-43:
port: "12000"
endpoint: /43
method: POST
foo-44:
port: "12000"
endpoint: /44
method: POST
foo-45:
port: "12000"
endpoint: /45
method: POST
foo-46:
port: "12000"
endpoint: /46
method: POST
foo-47:
port: "12000"
endpoint: /47
method: POST
foo-48:
port: "12000"
endpoint: /48
method: POST
foo-49:
port: "12000"
endpoint: /49
method: POST
foo-50:
port: "12000"
endpoint: /50
method: POST
apiVersion: v1
kind: Namespace
metadata:
name: memory-leak
apiVersion: argoproj.io/v1alpha1
kind: Sensor
metadata:
name: memory-leak
namespace: memory-leak
spec:
dependencies:
- eventName: foo-1
eventSourceName: memory-leak
name: foo-1-dep
- eventName: foo-2
eventSourceName: memory-leak
name: foo-2-dep
- eventName: foo-3
eventSourceName: memory-leak
name: foo-3-dep
- eventName: foo-4
eventSourceName: memory-leak
name: foo-4-dep
- eventName: foo-5
eventSourceName: memory-leak
name: foo-5-dep
- eventName: foo-6
eventSourceName: memory-leak
name: foo-6-dep
- eventName: foo-7
eventSourceName: memory-leak
name: foo-7-dep
- eventName: foo-8
eventSourceName: memory-leak
name: foo-8-dep
- eventName: foo-9
eventSourceName: memory-leak
name: foo-9-dep
- eventName: foo-10
eventSourceName: memory-leak
name: foo-10-dep
- eventName: foo-11
eventSourceName: memory-leak
name: foo-11-dep
- eventName: foo-12
eventSourceName: memory-leak
name: foo-12-dep
- eventName: foo-13
eventSourceName: memory-leak
name: foo-13-dep
- eventName: foo-14
eventSourceName: memory-leak
name: foo-14-dep
- eventName: foo-15
eventSourceName: memory-leak
name: foo-15-dep
- eventName: foo-16
eventSourceName: memory-leak
name: foo-16-dep
- eventName: foo-17
eventSourceName: memory-leak
name: foo-17-dep
- eventName: foo-18
eventSourceName: memory-leak
name: foo-18-dep
- eventName: foo-19
eventSourceName: memory-leak
name: foo-19-dep
- eventName: foo-20
eventSourceName: memory-leak
name: foo-20-dep
- eventName: foo-21
eventSourceName: memory-leak
name: foo-21-dep
- eventName: foo-22
eventSourceName: memory-leak
name: foo-22-dep
- eventName: foo-23
eventSourceName: memory-leak
name: foo-23-dep
- eventName: foo-24
eventSourceName: memory-leak
name: foo-24-dep
- eventName: foo-25
eventSourceName: memory-leak
name: foo-25-dep
- eventName: foo-26
eventSourceName: memory-leak
name: foo-26-dep
- eventName: foo-27
eventSourceName: memory-leak
name: foo-27-dep
- eventName: foo-28
eventSourceName: memory-leak
name: foo-28-dep
- eventName: foo-29
eventSourceName: memory-leak
name: foo-29-dep
- eventName: foo-30
eventSourceName: memory-leak
name: foo-30-dep
- eventName: foo-31
eventSourceName: memory-leak
name: foo-31-dep
- eventName: foo-32
eventSourceName: memory-leak
name: foo-32-dep
- eventName: foo-33
eventSourceName: memory-leak
name: foo-33-dep
- eventName: foo-34
eventSourceName: memory-leak
name: foo-34-dep
- eventName: foo-35
eventSourceName: memory-leak
name: foo-35-dep
- eventName: foo-36
eventSourceName: memory-leak
name: foo-36-dep
- eventName: foo-37
eventSourceName: memory-leak
name: foo-37-dep
- eventName: foo-38
eventSourceName: memory-leak
name: foo-38-dep
- eventName: foo-39
eventSourceName: memory-leak
name: foo-39-dep
- eventName: foo-40
eventSourceName: memory-leak
name: foo-40-dep
- eventName: foo-41
eventSourceName: memory-leak
name: foo-41-dep
- eventName: foo-42
eventSourceName: memory-leak
name: foo-42-dep
- eventName: foo-43
eventSourceName: memory-leak
name: foo-43-dep
- eventName: foo-44
eventSourceName: memory-leak
name: foo-44-dep
- eventName: foo-45
eventSourceName: memory-leak
name: foo-45-dep
- eventName: foo-46
eventSourceName: memory-leak
name: foo-46-dep
- eventName: foo-47
eventSourceName: memory-leak
name: foo-47-dep
- eventName: foo-48
eventSourceName: memory-leak
name: foo-48-dep
- eventName: foo-49
eventSourceName: memory-leak
name: foo-49-dep
- eventName: foo-50
eventSourceName: memory-leak
name: foo-50-dep
template:
serviceAccountName: argo-events-sa
activeDeadlineSeconds: "7200"
podGC:
strategy: OnWorkflowSuccess
triggers:
- template:
name: batchjob-workflow-trigger
k8s:
version: v1alpha1
group: argoproj.io
operation: create
resource: workflows
source:
resource:
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
generateName: dfbk-wd-
namespace: memory-leak
spec:
entrypoint: workflow
serviceAccountName: argo
templates:
- name: workflow
dag:
tasks:
- name: A
templateRef:
name: workflow-template-whalesay
template: whalesay
- name: B
depends: "A"
templateRef:
name: workflow-template-fail
template: intentional-fail
- name: C
depends: "A"
templateRef:
name: workflow-template-whalesay
template: whalesay
- name: D
depends: "B.Failed && C"
templateRef:
name: workflow-template-whalesay
template: whalesay
- name: E
depends: "A"
templateRef:
name: workflow-template-fail
template: intentional-fail
- name: F
depends: "A"
templateRef:
name: workflow-template-whalesay
template: whalesay
- name: G
depends: "E && F"
templateRef:
name: workflow-template-whalesay
template: whalesay
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: memory-leak-argo-events-role
namespace: memory-leak
rules:
- apiGroups:
- argoproj.io
resources:
- workflows
- workflows/finalizers
- workflowtemplates
- workflowtemplates/finalizers
- cronworkflows
- cronworkflows/finalizers
- clusterworkflowtemplates
- clusterworkflowtemplates/finalizers
- sensors
- sensors/finalizers
- sensors/status
- eventsources
- eventsources/finalizers
- eventsources/status
- eventbus
- eventbus/finalizers
- eventbus/status
verbs:
- create
- delete
- deletecollection
- get
- list
- patch
- update
- watch
- apiGroups:
- ""
resources:
- pods
- pods/exec
- configmaps
- secrets
- services
- events
- persistentvolumeclaims
verbs:
- create
- get
- list
- watch
- update
- patch
- delete
- apiGroups:
- batch
resources:
- jobs
verbs:
- create
- get
- list
- watch
- update
- patch
- delete
- apiGroups:
- apps
resources:
- deployments
- statefulsets
verbs:
- create
- get
- list
- watch
- update
- patch
- delete
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: memory-leak-argo-role
namespace: memory-leak
rules:
- apiGroups:
- ""
resources:
- pods
- pods/exec
verbs:
- create
- get
- list
- watch
- update
- patch
- delete
- apiGroups:
- ""
resources:
- configmaps
verbs:
- get
- watch
- list
- patch
- apiGroups:
- ""
resources:
- persistentvolumeclaims
verbs:
- create
- delete
- get
- apiGroups:
- argoproj.io
resources:
- workflows
- workflows/finalizers
verbs:
- get
- list
- watch
- update
- patch
- delete
- create
- apiGroups:
- argoproj.io
resources:
- workflowtemplates
- workflowtemplates/finalizers
- clusterworkflowtemplates
- clusterworkflowtemplates/finalizers
verbs:
- get
- list
- watch
- apiGroups:
- ""
resources:
- serviceaccounts
verbs:
- get
- list
- apiGroups:
- argoproj.io
resources:
- cronworkflows
- cronworkflows/finalizers
verbs:
- get
- list
- watch
- update
- patch
- delete
- apiGroups:
- ""
resources:
- events
verbs:
- create
- patch
- apiGroups:
- policy
resources:
- poddisruptionbudgets
verbs:
- create
- get
- delete
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: argo
namespace: memory-leak
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: argo-events-sa
namespace: memory-leak
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: memory-leak-argo-binding
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: memory-leak-argo-role
subjects:
- kind: ServiceAccount
name: argo
namespace: memory-leak
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: memory-leak-argo-events-binding
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: memory-leak-argo-events-role
subjects:
- kind: ServiceAccount
name: argo-events-sa
namespace: memory-leak
apiVersion: argoproj.io/v1alpha1
kind: WorkflowTemplate
metadata:
name: workflow-template-whalesay
namespace: memory-leak
spec:
entrypoint: whalesay
templates:
- name: whalesay
container:
image: docker/whalesay:latest
command: [cowsay]
args: ["hello world"]
---
apiVersion: argoproj.io/v1alpha1
kind: WorkflowTemplate
metadata:
name: workflow-template-fail
namespace: memory-leak
spec:
entrypoint: intentional-fail
templates:
- name: intentional-fail
container:
image: alpine:latest
command: [sh, -c]
args: ["echo intentional failure; exit 1"]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment