github.com/myhau/pulumi/pkg/v3@v3.70.2-0.20221116134521-f2775972e587/codegen/testing/test/testdata/kubernetes-operator-pp/nodejs/kubernetes-operator.ts (about)

     1  import * as pulumi from "@pulumi/pulumi";
     2  import * as kubernetes from "@pulumi/kubernetes";
     3  
     4  const pulumi_kubernetes_operatorDeployment = new kubernetes.apps.v1.Deployment("pulumi_kubernetes_operatorDeployment", {
     5      apiVersion: "apps/v1",
     6      kind: "Deployment",
     7      metadata: {
     8          name: "pulumi-kubernetes-operator",
     9      },
    10      spec: {
    11          replicas: 1,
    12          selector: {
    13              matchLabels: {
    14                  name: "pulumi-kubernetes-operator",
    15              },
    16          },
    17          template: {
    18              metadata: {
    19                  labels: {
    20                      name: "pulumi-kubernetes-operator",
    21                  },
    22              },
    23              spec: {
    24                  serviceAccountName: "pulumi-kubernetes-operator",
    25                  imagePullSecrets: [{
    26                      name: "pulumi-kubernetes-operator",
    27                  }],
    28                  containers: [{
    29                      name: "pulumi-kubernetes-operator",
    30                      image: "pulumi/pulumi-kubernetes-operator:v0.0.2",
    31                      command: ["pulumi-kubernetes-operator"],
    32                      args: ["--zap-level=debug"],
    33                      imagePullPolicy: "Always",
    34                      env: [
    35                          {
    36                              name: "WATCH_NAMESPACE",
    37                              valueFrom: {
    38                                  fieldRef: {
    39                                      fieldPath: "metadata.namespace",
    40                                  },
    41                              },
    42                          },
    43                          {
    44                              name: "POD_NAME",
    45                              valueFrom: {
    46                                  fieldRef: {
    47                                      fieldPath: "metadata.name",
    48                                  },
    49                              },
    50                          },
    51                          {
    52                              name: "OPERATOR_NAME",
    53                              value: "pulumi-kubernetes-operator",
    54                          },
    55                      ],
    56                  }],
    57              },
    58          },
    59      },
    60  });
    61  const pulumi_kubernetes_operatorRole = new kubernetes.rbac.v1.Role("pulumi_kubernetes_operatorRole", {
    62      apiVersion: "rbac.authorization.k8s.io/v1",
    63      kind: "Role",
    64      metadata: {
    65          creationTimestamp: undefined,
    66          name: "pulumi-kubernetes-operator",
    67      },
    68      rules: [
    69          {
    70              apiGroups: [""],
    71              resources: [
    72                  "pods",
    73                  "services",
    74                  "services/finalizers",
    75                  "endpoints",
    76                  "persistentvolumeclaims",
    77                  "events",
    78                  "configmaps",
    79                  "secrets",
    80              ],
    81              verbs: [
    82                  "create",
    83                  "delete",
    84                  "get",
    85                  "list",
    86                  "patch",
    87                  "update",
    88                  "watch",
    89              ],
    90          },
    91          {
    92              apiGroups: ["apps"],
    93              resources: [
    94                  "deployments",
    95                  "daemonsets",
    96                  "replicasets",
    97                  "statefulsets",
    98              ],
    99              verbs: [
   100                  "create",
   101                  "delete",
   102                  "get",
   103                  "list",
   104                  "patch",
   105                  "update",
   106                  "watch",
   107              ],
   108          },
   109          {
   110              apiGroups: ["monitoring.coreos.com"],
   111              resources: ["servicemonitors"],
   112              verbs: [
   113                  "get",
   114                  "create",
   115              ],
   116          },
   117          {
   118              apiGroups: ["apps"],
   119              resourceNames: ["pulumi-kubernetes-operator"],
   120              resources: ["deployments/finalizers"],
   121              verbs: ["update"],
   122          },
   123          {
   124              apiGroups: [""],
   125              resources: ["pods"],
   126              verbs: ["get"],
   127          },
   128          {
   129              apiGroups: ["apps"],
   130              resources: [
   131                  "replicasets",
   132                  "deployments",
   133              ],
   134              verbs: ["get"],
   135          },
   136          {
   137              apiGroups: ["pulumi.com"],
   138              resources: ["*"],
   139              verbs: [
   140                  "create",
   141                  "delete",
   142                  "get",
   143                  "list",
   144                  "patch",
   145                  "update",
   146                  "watch",
   147              ],
   148          },
   149      ],
   150  });
   151  const pulumi_kubernetes_operatorRoleBinding = new kubernetes.rbac.v1.RoleBinding("pulumi_kubernetes_operatorRoleBinding", {
   152      kind: "RoleBinding",
   153      apiVersion: "rbac.authorization.k8s.io/v1",
   154      metadata: {
   155          name: "pulumi-kubernetes-operator",
   156      },
   157      subjects: [{
   158          kind: "ServiceAccount",
   159          name: "pulumi-kubernetes-operator",
   160      }],
   161      roleRef: {
   162          kind: "Role",
   163          name: "pulumi-kubernetes-operator",
   164          apiGroup: "rbac.authorization.k8s.io",
   165      },
   166  });
   167  const pulumi_kubernetes_operatorServiceAccount = new kubernetes.core.v1.ServiceAccount("pulumi_kubernetes_operatorServiceAccount", {
   168      apiVersion: "v1",
   169      kind: "ServiceAccount",
   170      metadata: {
   171          name: "pulumi-kubernetes-operator",
   172      },
   173  });