Skip to content

Commit b22ee43

Browse files
authored
Syncing schema and provider from #89 (#97)
1 parent 35b8fb8 commit b22ee43

File tree

2 files changed

+69
-65
lines changed

2 files changed

+69
-65
lines changed

examples/simple-nginx-go/main.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,11 @@ func main() {
2929
Enabled: pulumi.BoolPtr(true),
3030
},
3131
Service: &ingressnginx.ControllerServiceArgs{
32-
Annotations: pulumi.StringMap{"pulumi.com/test-annotation1": pulumi.String("test-value1"), "pulumi.com/test-annotation2": pulumi.String("test-value2")},
32+
Annotations: pulumi.StringMap{
33+
"pulumi.com/test-annotation1": pulumi.String("test-value1"),
34+
"pulumi.com/test-annotation2": pulumi.String("test-value2"),
35+
"namespace_name": ns.Metadata.Name().Elem(),
36+
},
3337
Type: pulumi.String("NodePort"),
3438
ExternalTrafficPolicy: pulumi.String("Local"),
3539
},

provider/pkg/provider/chart.go

Lines changed: 64 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ type Controller struct {
8787
// https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/.
8888
Config *map[string]interface{} `pulumi:"config"`
8989
// Annotations to be added to the controller config configuration configmap.
90-
ConfigAnnotations *map[string]interface{} `pulumi:"configAnnotations"`
90+
ConfigAnnotations pulumi.StringMapInput `pulumi:"configAnnotations"`
9191
// Will add custom headers before sending traffic to backends according to
9292
// https://github.com/kubernetes/ingress-nginx/tree/main/docs/examples/customization/custom-headers.
9393
ProxySetHeaders *map[string]interface{} `pulumi:"proxySetHeaders"`
@@ -128,7 +128,7 @@ type Controller struct {
128128
// IngressClass resources are supported since k8s >= 1.18 and required since k8s >= 1.19
129129
IngressClassResource *ControllerIngressClassResource `pulumi:"ingressClassResource"`
130130
// labels to add to the pod container metadata.
131-
PodLabels *map[string]interface{} `pulumi:"podLabels"`
131+
PodLabels pulumi.StringMapInput `pulumi:"podLabels"`
132132
// Security Context policies for controller pods.
133133
PodSecurityContext *corev1.PodSecurityContext `pulumi:"podSecurityContext" pschema:"ref=/kubernetes/v4.19.0/schema.json#/types/kubernetes:core/v1:PodSecurityContext"`
134134
// See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ for
@@ -157,9 +157,9 @@ type Controller struct {
157157
// DaemonSet or Deployment.
158158
Kind *string `pulumi:"kind"`
159159
// Annotations to be added to the controller Deployment or DaemonSet.
160-
Annotations *map[string]string `pulumi:"annotations"`
160+
Annotations pulumi.StringMapInput `pulumi:"annotations"`
161161
// Labels to be added to the controller Deployment or DaemonSet.
162-
Labels *map[string]string `pulumi:"labels"`
162+
Labels pulumi.StringMapInput `pulumi:"labels"`
163163
// The update strategy to apply to the Deployment or DaemonSet.
164164
UpdateStrategy *ControllerUpdateStrategy `pulumi:"updateStrategy"`
165165
// minReadySeconds to avoid killing pods before we are ready.
@@ -195,9 +195,9 @@ type Controller struct {
195195
// if the ingress nginx controller is running in the hostNetwork: true mode.
196196
HealthCheckHost *string `pulumi:"heathCheckHost"`
197197
// Annotations to be added to controller pods.
198-
PodAnnotations *map[string]string `pulumi:"podAnnotations"`
199-
ReplicaCount *int `pulumi:"replicaCount"`
200-
MinAvailable *int `pulumi:"minAvailable"`
198+
PodAnnotations pulumi.StringMapInput `pulumi:"podAnnotations"`
199+
ReplicaCount *int `pulumi:"replicaCount"`
200+
MinAvailable *int `pulumi:"minAvailable"`
201201
// Define requests resources to avoid probe issues due to CPU utilization in busy nodes
202202
// ref: https://github.com/kubernetes/ingress-nginx/issues/4735#issuecomment-551204903
203203
// Ideally, there should be no limits.
@@ -305,13 +305,13 @@ type ControllerScope struct {
305305
type ControllerTcp struct {
306306
ConfigMapNamespace *string `pulumi:"configMapNamespace"`
307307
// Annotations to be added to the tcp config configmap.
308-
Annotations *map[string]string `pulumi:"annotations"`
308+
Annotations pulumi.StringMapInput `pulumi:"annotations"`
309309
}
310310

311311
type ControllerUdp struct {
312312
ConfigMapNamespace *string `pulumi:"configMapNamespace"`
313313
// Annotations to be added to the udp config configmap.
314-
Annotations *map[string]string `pulumi:"annotations"`
314+
Annotations pulumi.StringMapInput `pulumi:"annotations"`
315315
}
316316

317317
type ControllerUpdateStrategy struct {
@@ -324,13 +324,13 @@ type ControllerRollingUpdate struct {
324324
}
325325

326326
type Autoscaling struct {
327-
Annotations *map[string]string `pulumi:"annotations"`
328-
Enabled *bool `pulumi:"enabled"`
329-
MinReplicas *int `pulumi:"minReplicas"`
330-
MaxReplicas *int `pulumi:"maxReplicas"`
331-
TargetCPUUtilizationPercentation *int `pulumi:"targetCPUUtilizationPercentage"`
332-
TargetMemoryUtilizationPercentatge *int `pulumi:"targetMemoryUtilizationPercentage"`
333-
Behavior *AutoscalingBehavior `pulumi:"controllerAutoscalingBehavior"`
327+
Annotations pulumi.StringMapInput `pulumi:"annotations"`
328+
Enabled *bool `pulumi:"enabled"`
329+
MinReplicas *int `pulumi:"minReplicas"`
330+
MaxReplicas *int `pulumi:"maxReplicas"`
331+
TargetCPUUtilizationPercentation *int `pulumi:"targetCPUUtilizationPercentage"`
332+
TargetMemoryUtilizationPercentatge *int `pulumi:"targetMemoryUtilizationPercentage"`
333+
Behavior *AutoscalingBehavior `pulumi:"controllerAutoscalingBehavior"`
334334
}
335335

336336
type AutoscalingBehavior struct {
@@ -386,7 +386,7 @@ type Keda struct {
386386

387387
type KedaScaledObject struct {
388388
// Custom annotations for ScaledObject resource.
389-
Annotations *map[string]string `pulumi:"annotations"`
389+
Annotations pulumi.StringMapInput `pulumi:"annotations"`
390390
}
391391

392392
type KedaTrigger struct {
@@ -400,10 +400,10 @@ type ControllerCustomTemplate struct {
400400
}
401401

402402
type ControllerService struct {
403-
Enabled *bool `pulumi:"enabled"`
404-
Annotations *map[string]interface{} `pulumi:"annotations"`
405-
Labels *map[string]interface{} `pulumi:"labels"`
406-
ClusterIP *string `pulumi:"clusterIP"`
403+
Enabled *bool `pulumi:"enabled"`
404+
Annotations pulumi.StringMapInput `pulumi:"annotations"`
405+
Labels pulumi.StringMapInput `pulumi:"labels"`
406+
ClusterIP *string `pulumi:"clusterIP"`
407407
// List of IP addresses at which the controller services are available
408408
// Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
409409
ExternalIPs *[]string `pulumi:"externalIPs"`
@@ -439,10 +439,10 @@ type ControllerServiceNodePorts struct {
439439
}
440440

441441
type ControllerServiceInternal struct {
442-
Enabled *bool `pulumi:"enabled"`
443-
Annotations *map[string]interface{} `pulumi:"annotations"`
444-
Labels *map[string]interface{} `pulumi:"labels"`
445-
LoadBalancerIP *string `pulumi:"loadBalancerIPs"`
442+
Enabled *bool `pulumi:"enabled"`
443+
Annotations pulumi.StringMapInput `pulumi:"annotations"`
444+
Labels pulumi.StringMapInput `pulumi:"labels"`
445+
LoadBalancerIP *string `pulumi:"loadBalancerIPs"`
446446
// Restrict access For LoadBalancer service. Defaults to 0.0.0.0/0.
447447
LoadBalancerSourceRanges *[]string `pulumi:"loadBalancerSourceRanges"`
448448
// Set external traffic policy to: "Local" to preserve source IP on
@@ -453,7 +453,7 @@ type ControllerServiceInternal struct {
453453

454454
type ContollerAdmissionWebhooks struct {
455455
Enabled *bool `pulumi:"enabled"`
456-
Annotations *map[string]interface{} `pulumi:"annotations"`
456+
Annotations pulumi.StringMapInput `pulumi:"annotations"`
457457
FailurePolicy *string `pulumi:"failurePolicy"`
458458
TimeoutSeconds *int `pulumi:"timeoutSeconds"`
459459
Port *int `pulumi:"port"`
@@ -470,13 +470,13 @@ type ContollerAdmissionWebhooks struct {
470470
}
471471

472472
type ControllerAdmissionWebhooksService struct {
473-
Annotations *map[string]interface{} `pulumi:"annotations"`
474-
ClusterIP *string `pulumi:"clusterIP"`
475-
ExternalIPs *[]string `pulumi:"externalIPs"`
476-
LoadBalancerIP *string `pulumi:"loadBalancerIPs"`
477-
LoadBalancerSourceRanges *[]string `pulumi:"loadBalancerSourceRanges"`
478-
ServicePort *int `pulumi:"servicePort"`
479-
Type *string `pulumi:"type"`
473+
Annotations pulumi.StringMapInput `pulumi:"annotations"`
474+
ClusterIP *string `pulumi:"clusterIP"`
475+
ExternalIPs *[]string `pulumi:"externalIPs"`
476+
LoadBalancerIP *string `pulumi:"loadBalancerIPs"`
477+
LoadBalancerSourceRanges *[]string `pulumi:"loadBalancerSourceRanges"`
478+
ServicePort *int `pulumi:"servicePort"`
479+
Type *string `pulumi:"type"`
480480
}
481481

482482
type ControllerAdmissionWebhooksCreateSecretJob struct {
@@ -491,11 +491,11 @@ type ControllerAdmissionWebhooksPatch struct {
491491
Enabled *bool `pulumi:"enabled"`
492492
Image *ControllerImage `pulumi:"image"`
493493
// Provide a priority class name to the webhook patching job.
494-
PriorityClassName *string `pulumi:"priorityClassName"`
495-
PodAnnotations *map[string]interface{} `pulumi:"podAnnotations"`
496-
NodeSelector *map[string]string `pulumi:"nodeSelector"`
497-
Tolerations *[]corev1.Toleration `pulumi:"tolerations" pschema:"ref=/kubernetes/v4.19.0/schema.json#/types/kubernetes:core/v1:Toleration"`
498-
RunAsUser *int `pulumi:"runAsUser"`
494+
PriorityClassName *string `pulumi:"priorityClassName"`
495+
PodAnnotations pulumi.StringMapInput `pulumi:"podAnnotations"`
496+
NodeSelector *map[string]string `pulumi:"nodeSelector"`
497+
Tolerations *[]corev1.Toleration `pulumi:"tolerations" pschema:"ref=/kubernetes/v4.19.0/schema.json#/types/kubernetes:core/v1:Toleration"`
498+
RunAsUser *int `pulumi:"runAsUser"`
499499
}
500500

501501
type ControllerMetrics struct {
@@ -508,35 +508,35 @@ type ControllerMetrics struct {
508508
}
509509

510510
type ControllerMetricsService struct {
511-
Annotations *map[string]string `pulumi:"annotations"`
512-
ClusterIP *string `pulumi:"clusterIP"`
513-
ExternalIPs *[]string `pulumi:"externalIPs"`
514-
LoadBalancerIP *string `pulumi:"loadBalancerIPs"`
515-
LoadBalancerSourceRanges *[]string `pulumi:"loadBalancerSourceRanges"`
516-
ServicePort *int `pulumi:"servicePort"`
517-
Type *string `pulumi:"type"`
518-
ExternalTrafficPolicy *string `pulumi:"externalTrafficPolicy"`
519-
NodePort *string `pulumi:"nodePort"`
511+
Annotations pulumi.StringMapInput `pulumi:"annotations"`
512+
ClusterIP *string `pulumi:"clusterIP"`
513+
ExternalIPs *[]string `pulumi:"externalIPs"`
514+
LoadBalancerIP *string `pulumi:"loadBalancerIPs"`
515+
LoadBalancerSourceRanges *[]string `pulumi:"loadBalancerSourceRanges"`
516+
ServicePort *int `pulumi:"servicePort"`
517+
Type *string `pulumi:"type"`
518+
ExternalTrafficPolicy *string `pulumi:"externalTrafficPolicy"`
519+
NodePort *string `pulumi:"nodePort"`
520520
}
521521

522522
type ControllerMetricsServiceMonitor struct {
523-
Enabled *bool `pulumi:"enabled"`
524-
AdditionalLabels *map[string]interface{} `pulumi:"additionalLabels"`
523+
Enabled *bool `pulumi:"enabled"`
524+
AdditionalLabels pulumi.StringMapInput `pulumi:"additionalLabels"`
525525
// The label to use to retrieve the job name from.
526-
JobLabel *string `pulumi:"jobLabel"`
527-
Namespace *string `pulumi:"namespace"`
528-
NamespaceSelector *map[string]interface{} `pulumi:"namespaceSelector"`
529-
ScrapeInterval *string `pulumi:"scrapeInterval"`
530-
HonorLabels *bool `pulumi:"honorLabels"`
531-
TargetLabels *[]string `pulumi:"targetLabels"`
532-
MetricRelabelings *[]string `pulumi:"metricRelabelings"`
526+
JobLabel *string `pulumi:"jobLabel"`
527+
Namespace *string `pulumi:"namespace"`
528+
NamespaceSelector pulumi.StringMapInput `pulumi:"namespaceSelector"`
529+
ScrapeInterval *string `pulumi:"scrapeInterval"`
530+
HonorLabels *bool `pulumi:"honorLabels"`
531+
TargetLabels *[]string `pulumi:"targetLabels"`
532+
MetricRelabelings *[]string `pulumi:"metricRelabelings"`
533533
}
534534

535535
type ControllerMetricsPrometheusRules struct {
536-
Enabled *bool `pulumi:"enabled"`
537-
AdditionalLabels *map[string]interface{} `pulumi:"additionalLabels"`
538-
Namespace *string `pulumi:"namespace"`
539-
Rules *[]interface{} `pulumi:"rules"`
536+
Enabled *bool `pulumi:"enabled"`
537+
AdditionalLabels pulumi.StringMapInput `pulumi:"additionalLabels"`
538+
Namespace *string `pulumi:"namespace"`
539+
Rules *[]interface{} `pulumi:"rules"`
540540
}
541541

542542
type ControllerDefaultBackend struct {
@@ -564,12 +564,12 @@ type ControllerDefaultBackend struct {
564564
// notes on enabling and using sysctls.
565565
PodSecurityContext *corev1.PodSecurityContext `pulumi:"podSecurityContext" pschema:"ref=/kubernetes/v4.19.0/schema.json#/types/kubernetes:core/v1:PodSecurityContext"`
566566
// labels to add to the pod container metadata
567-
PodLabels *map[string]string `pulumi:"podLabels"`
567+
PodLabels pulumi.StringMapInput `pulumi:"podLabels"`
568568
// Node labels for default backend pod assignment
569569
// Ref: https://kubernetes.io/docs/user-guide/node-selection/.
570570
NodeSelector *map[string]string `pulumi:"nodeSelector"`
571571
// Annotations to be added to default backend pods.
572-
PodAnnotations *map[string]string `pulumi:"podAnnotations"`
572+
PodAnnotations pulumi.StringMapInput `pulumi:"podAnnotations"`
573573
ReplicaCount *int `pulumi:"replicaCount"`
574574
MinAvailable *int `pulumi:"minAvailable"`
575575
Resources *corev1.ResourceRequirements `pulumi:"resources" pschema:"ref=/kubernetes/v4.19.0/schema.json#/types/kubernetes:core/v1:ResourceRequirements"`
@@ -587,8 +587,8 @@ type ControllerDefaultBackend struct {
587587
}
588588

589589
type ControllerDefaultBackendService struct {
590-
Annoations *map[string]string `pulumi:"annotations"`
591-
ClusterIP *string `pulumi:"clusterIP"`
590+
Annoations pulumi.StringMapInput `pulumi:"annotations"`
591+
ClusterIP *string `pulumi:"clusterIP"`
592592
// List of IP addresses at which the default backend service is available.
593593
// Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
594594
ExternalIPs *[]string `pulumi:"externalIPs"`

0 commit comments

Comments
 (0)