@@ -7,11 +7,14 @@ import (
77 "google.golang.org/grpc"
88 appsv1 "k8s.io/api/apps/v1"
99 corev1 "k8s.io/api/core/v1"
10+ "k8s.io/apimachinery/pkg/api/resource"
1011 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
12+ "k8s.io/utils/ptr"
1113)
1214
1315const (
1416 PorterNamespace = "porter-operator-system"
17+ PorterGRPCName = "porter-grpc-service"
1518)
1619
1720type PorterClient interface {
@@ -25,8 +28,52 @@ type ClientConn interface {
2528
2629var GrpcDeployment = & appsv1.Deployment {
2730 ObjectMeta : metav1.ObjectMeta {
28- Name : "" ,
31+ Name : PorterGRPCName ,
2932 Namespace : PorterNamespace ,
33+ Labels : map [string ]string {
34+ "app" : "porter-grpc-service" ,
35+ },
36+ },
37+ Spec : appsv1.DeploymentSpec {
38+ Replicas : ptr .To (int32 (1 )),
39+ Selector : & metav1.LabelSelector {
40+ MatchLabels : map [string ]string {
41+ "app" : "porter-grpc-service" ,
42+ },
43+ },
44+ Template : corev1.PodTemplateSpec {
45+ Spec : corev1.PodSpec {
46+ Containers : []corev1.Container {
47+ {
48+ Name : "porter-grpc-service" ,
49+ Image : "ghcr.io/bdegeeter/porter/server:v1.0.0-alpha.5-794-g7168418d" ,
50+ Ports : []corev1.ContainerPort {
51+ {
52+ Name : "grpc" ,
53+ ContainerPort : 3001 ,
54+ },
55+ },
56+ Args : []string {"server" , "run" },
57+ VolumeMounts : []corev1.VolumeMount {
58+ {
59+ MountPath : "/porter-config" ,
60+ Name : "porter-grpc-service-config-volume" ,
61+ },
62+ },
63+ Resources : corev1.ResourceRequirements {
64+ Limits : corev1.ResourceList {
65+ corev1 .ResourceCPU : resource .MustParse ("2000m" ),
66+ corev1 .ResourceMemory : resource .MustParse ("512Mi" ),
67+ },
68+ Requests : corev1.ResourceList {
69+ corev1 .ResourceCPU : resource .MustParse ("100m" ),
70+ corev1 .ResourceMemory : resource .MustParse ("32Mi" ),
71+ },
72+ },
73+ },
74+ },
75+ },
76+ },
3077 },
3178}
3279
0 commit comments