github.com/wmuizelaar/kpt@v0.0.0-20221018115725-bd564717b2ed/e2e/testdata/fn-render/path-index-ancestor/db/starlark-httpbin-gen.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 "annotations": { 25 "internal.config.kubernetes.io/index": 0, 26 # generates resource in parent directory 27 "internal.config.kubernetes.io/path": "../deployment_httpbin.yaml" 28 } 29 }, 30 "spec": { 31 "replicas": 4, 32 "template": { 33 "spec": { 34 "containers": [ 35 { 36 "name": "httpbin", 37 "image": "kennethreitz/httpbin", 38 "ports": [ 39 { 40 "containerPort": 9876 41 } 42 ] 43 } 44 ] 45 } 46 } 47 } 48 } 49 # filter to return if resource is HTTPBin resource 50 def is_httpbin(r): 51 return r["apiVersion"] == "apps/v1" and r["kind"] == "Deployment" and r["metadata"]["name"] == "httpbin" 52 53 def ensure_httpbin(resources): 54 for r in resources: 55 if is_httpbin(r): 56 return 57 resources.append(httpbin_deployment) 58 59 ensure_httpbin(ctx.resource_list["items"])