mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-06-10 08:20:59 +00:00
Add a rich example of fn framework for abstraction
This commit is contained in:
21
functions/examples/fn-framework-application/pkg/exampleapp/v1alpha1/testdata/error/config.yaml
vendored
Normal file
21
functions/examples/fn-framework-application/pkg/exampleapp/v1alpha1/testdata/error/config.yaml
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
apiVersion: platform.example.com/v1alpha1
|
||||
kind: ExampleApp
|
||||
metadata:
|
||||
name: simple-app-sample
|
||||
env: invalid
|
||||
workloads:
|
||||
webWorkers:
|
||||
- name: web-worker
|
||||
replicas: -1
|
||||
resources: small
|
||||
domains:
|
||||
- example.com
|
||||
- name: web-worker-2
|
||||
domains:
|
||||
- example.com
|
||||
jobWorkers:
|
||||
- name: job-worker-$$
|
||||
queues: []
|
||||
datastores:
|
||||
mongoDB: simple-app-sample-mongo
|
||||
extraProperty: true
|
||||
@@ -0,0 +1,8 @@
|
||||
validation failure list:
|
||||
.extraProperty in body is a forbidden property
|
||||
workloads.jobWorkers\[0\].name in body should match
|
||||
workloads.jobWorkers\[0\].queues in body should have at least 1 items
|
||||
workloads.webWorkers\[0\].replicas in body should be greater than or equal to 0
|
||||
datastores.mongoDB in body is a forbidden property
|
||||
env in body should be one of \[production staging development\]
|
||||
duplicate domain \"example.com\" in worker 1
|
||||
@@ -0,0 +1,24 @@
|
||||
apiVersion: platform.example.com/v1alpha1
|
||||
kind: ExampleApp
|
||||
metadata:
|
||||
name: simple-app-sample
|
||||
env: production
|
||||
workloads:
|
||||
webWorkers:
|
||||
- name: web-worker
|
||||
domains:
|
||||
- example.com
|
||||
jobWorkers:
|
||||
- name: job-worker
|
||||
replicas: 10
|
||||
resources: medium
|
||||
queues:
|
||||
- high
|
||||
- medium
|
||||
- low
|
||||
- name: job-worker-2
|
||||
replicas: 5
|
||||
queues:
|
||||
- bg2
|
||||
datastores:
|
||||
postgresInstance: simple-app-sample-postgres
|
||||
@@ -0,0 +1,149 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: job-worker
|
||||
labels:
|
||||
name: job-worker
|
||||
type: jobs
|
||||
env: production
|
||||
spec:
|
||||
replicas: 10
|
||||
selector:
|
||||
matchLabels:
|
||||
name: job-worker
|
||||
type: jobs
|
||||
env: production
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
name: job-worker
|
||||
type: jobs
|
||||
env: production
|
||||
spec:
|
||||
automountServiceAccountToken: false
|
||||
containers:
|
||||
- name: app
|
||||
image: registry.example.com/path/to/simple-app-sample
|
||||
args: ["job-worker", "--queues", "high,medium,low", "--workers", "6"]
|
||||
env:
|
||||
- name: KUBE_NAMESPACE
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.namespace
|
||||
- name: ENV
|
||||
value: production
|
||||
- name: DATABASE_URL
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: database-url
|
||||
key: DATABASE_URL
|
||||
resources: {"limits": {"cpu": "2", "memory": "2Gi"}, "requests": {"cpu": "1", "memory": "1Gi"}}
|
||||
readinessProbe:
|
||||
exec:
|
||||
command:
|
||||
- "bin/job-worker-readiness-probe"
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: job-worker-2
|
||||
labels:
|
||||
name: job-worker-2
|
||||
type: jobs
|
||||
env: production
|
||||
spec:
|
||||
replicas: 5
|
||||
selector:
|
||||
matchLabels:
|
||||
name: job-worker-2
|
||||
type: jobs
|
||||
env: production
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
name: job-worker-2
|
||||
type: jobs
|
||||
env: production
|
||||
spec:
|
||||
automountServiceAccountToken: false
|
||||
containers:
|
||||
- name: app
|
||||
image: registry.example.com/path/to/simple-app-sample
|
||||
args: ["job-worker", "--queues", "bg2", "--workers", "2"]
|
||||
env:
|
||||
- name: KUBE_NAMESPACE
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.namespace
|
||||
- name: ENV
|
||||
value: production
|
||||
- name: DATABASE_URL
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: database-url
|
||||
key: DATABASE_URL
|
||||
resources: {"limits": {"cpu": "500m", "memory": "512Mi"}, "requests": {"cpu": "100m", "memory": "128Mi"}}
|
||||
readinessProbe:
|
||||
exec:
|
||||
command:
|
||||
- "bin/job-worker-readiness-probe"
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: web-worker
|
||||
labels:
|
||||
name: web-worker
|
||||
type: web
|
||||
env: production
|
||||
spec:
|
||||
replicas: 3
|
||||
selector:
|
||||
matchLabels:
|
||||
name: web-worker
|
||||
type: web
|
||||
env: production
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
name: web-worker
|
||||
type: web
|
||||
env: production
|
||||
spec:
|
||||
containers:
|
||||
- name: app
|
||||
image: registry.example.com/path/to/simple-app-sample
|
||||
args:
|
||||
- web
|
||||
ports:
|
||||
- name: http
|
||||
containerPort: 8080
|
||||
env:
|
||||
- name: ENV
|
||||
value: production
|
||||
- name: PORT
|
||||
value: "8080"
|
||||
- name: KUBE_NAMESPACE
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.namespace
|
||||
- name: DATABASE_URL
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: database-url
|
||||
key: DATABASE_URL
|
||||
resources: {"limits": {"cpu": "500m", "memory": "512Mi"}, "requests": {"cpu": "100m", "memory": "128Mi"}}
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
port: 8080
|
||||
httpHeaders:
|
||||
- name: "X-Forwarded-Proto"
|
||||
value: "https"
|
||||
path: "/ping"
|
||||
initialDelaySeconds: 20
|
||||
timeoutSeconds: 3
|
||||
---
|
||||
apiVersion: apps.example.com/v1
|
||||
kind: PostgresSecretRequest
|
||||
metadata:
|
||||
name: simple-app-sample-postgres
|
||||
@@ -0,0 +1,21 @@
|
||||
apiVersion: platform.example.com/v1alpha1
|
||||
kind: ExampleApp
|
||||
metadata:
|
||||
name: simple-app-sample
|
||||
env: production
|
||||
workloads:
|
||||
webWorkers:
|
||||
- name: web-worker
|
||||
domains:
|
||||
- first.example.com
|
||||
- name: web-worker-no-sidecar
|
||||
domains:
|
||||
- second.example.com
|
||||
|
||||
overrides:
|
||||
additionalResources:
|
||||
- custom-configmap.yaml
|
||||
resourcePatches:
|
||||
- web-worker-sidecar.yaml
|
||||
containerPatches:
|
||||
- custom-app-env.yaml
|
||||
@@ -0,0 +1,6 @@
|
||||
env:
|
||||
- name: MY_NEW_VAR
|
||||
value: "new value"
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: custom-configmap
|
||||
@@ -0,0 +1,6 @@
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: custom-configmap
|
||||
data:
|
||||
LOADED: "true"
|
||||
@@ -0,0 +1,126 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: web-worker
|
||||
labels:
|
||||
name: web-worker
|
||||
type: web
|
||||
env: production
|
||||
spec:
|
||||
replicas: 3
|
||||
selector:
|
||||
matchLabels:
|
||||
name: web-worker
|
||||
type: web
|
||||
env: production
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
name: web-worker
|
||||
type: web
|
||||
env: production
|
||||
spec:
|
||||
containers:
|
||||
- name: app
|
||||
image: registry.example.com/path/to/simple-app-sample
|
||||
args:
|
||||
- web
|
||||
ports:
|
||||
- name: http
|
||||
containerPort: 8080
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: custom-configmap
|
||||
env:
|
||||
- name: ENV
|
||||
value: production
|
||||
- name: PORT
|
||||
value: "8080"
|
||||
- name: KUBE_NAMESPACE
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.namespace
|
||||
- name: MY_NEW_VAR
|
||||
value: "new value"
|
||||
resources: {"limits": {"cpu": "500m", "memory": "512Mi"}, "requests": {"cpu": "100m", "memory": "128Mi"}}
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
port: 8080
|
||||
httpHeaders:
|
||||
- name: "X-Forwarded-Proto"
|
||||
value: "https"
|
||||
path: "/ping"
|
||||
initialDelaySeconds: 20
|
||||
timeoutSeconds: 3
|
||||
- name: sidecar
|
||||
image: registry.example.com/path/to/custom-sidecar
|
||||
args:
|
||||
- run
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: custom-configmap
|
||||
env:
|
||||
- name: MY_NEW_VAR
|
||||
value: "new value"
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: web-worker-no-sidecar
|
||||
labels:
|
||||
name: web-worker-no-sidecar
|
||||
type: web
|
||||
env: production
|
||||
spec:
|
||||
replicas: 3
|
||||
selector:
|
||||
matchLabels:
|
||||
name: web-worker-no-sidecar
|
||||
type: web
|
||||
env: production
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
name: web-worker-no-sidecar
|
||||
type: web
|
||||
env: production
|
||||
spec:
|
||||
containers:
|
||||
- name: app
|
||||
image: registry.example.com/path/to/simple-app-sample
|
||||
args:
|
||||
- web
|
||||
ports:
|
||||
- name: http
|
||||
containerPort: 8080
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: custom-configmap
|
||||
env:
|
||||
- name: ENV
|
||||
value: production
|
||||
- name: PORT
|
||||
value: "8080"
|
||||
- name: KUBE_NAMESPACE
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.namespace
|
||||
- name: MY_NEW_VAR
|
||||
value: "new value"
|
||||
resources: {"limits": {"cpu": "500m", "memory": "512Mi"}, "requests": {"cpu": "100m", "memory": "128Mi"}}
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
port: 8080
|
||||
httpHeaders:
|
||||
- name: "X-Forwarded-Proto"
|
||||
value: "https"
|
||||
path: "/ping"
|
||||
initialDelaySeconds: 20
|
||||
timeoutSeconds: 3
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: custom-configmap
|
||||
data:
|
||||
LOADED: "true"
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: web-worker
|
||||
spec:
|
||||
template:
|
||||
spec:
|
||||
containers:
|
||||
- name: sidecar
|
||||
image: registry.example.com/path/to/custom-sidecar
|
||||
args:
|
||||
- run
|
||||
Reference in New Issue
Block a user