github.com/wmuizelaar/kpt@v0.0.0-20221018115725-bd564717b2ed/e2e/testdata/fn-render/selectors/generator/db/starlark-httpbin.yaml (about) 1 # Copyright 2021 Google LLC 2 # 3 # Licensed under the Apache License, Version 2.0 (the "License"); 4 # you may not use this file except in compliance with the License. 5 # You may obtain a copy of the License at 6 # 7 # http://www.apache.org/licenses/LICENSE-2.0 8 # 9 # Unless required by applicable law or agreed to in writing, software 10 # distributed under the License is distributed on an "AS IS" BASIS, 11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 # See the License for the specific language governing permissions and 13 # limitations under the License. 14 apiVersion: fn.kpt.dev/v1alpha1 15 kind: StarlarkRun 16 metadata: 17 name: httpbin-gen 18 source: |- 19 httpbin_deployment = { 20 "apiVersion": "apps/v1", 21 "kind": "Deployment", 22 "metadata": { 23 "name": "httpbin", 24 }, 25 "spec": { 26 "replicas": 4, 27 "template": { 28 "spec": { 29 "containers": [ 30 { 31 "name": "httpbin", 32 "image": "kennethreitz/httpbin", 33 "ports": [ 34 { 35 "containerPort": 9876 36 } 37 ] 38 } 39 ] 40 } 41 } 42 } 43 } 44 # filter to return if resource is HTTPBin resource 45 def is_httpbin(r): 46 return r["apiVersion"] == "apps/v1" and r["kind"] == "Deployment" and r["metadata"]["name"] == "httpbin" 47 48 def ensure_httpbin(resources): 49 for r in resources: 50 if is_httpbin(r): 51 return 52 53 resources.append(httpbin_deployment) 54 55 ensure_httpbin(ctx.resource_list["items"])