github.com/wmuizelaar/kpt@v0.0.0-20221018115725-bd564717b2ed/e2e/testdata/fn-render/validate-generated-resource/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       },
    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"])