func MakeReceiveAdapter()

in rocketmq-knative/source/pkg/reconciler/resources/receive_adapter.go [40:121]


func MakeReceiveAdapter(args *ReceiveAdapterArgs) *v1.Deployment {
	replicas := int32(1)
	secretName := ""
	seretKey := ""
	if(args.Source.Spec.AccessToken.SecretKeyRef != nil){
		secretName = args.Source.Spec.AccessToken.SecretKeyRef.Name
		seretKey = args.Source.Spec.AccessToken.SecretKeyRef.Key
	}

	return &v1.Deployment{
		ObjectMeta: metav1.ObjectMeta{
			Namespace:    args.Source.Namespace,
			GenerateName: fmt.Sprintf("rocketmq-%s-", args.Source.Name),
			Labels:       args.Labels,
		},
		Spec: v1.DeploymentSpec{
			Selector: &metav1.LabelSelector{
				MatchLabels: args.Labels,
			},
			Replicas: &replicas,
			Template: corev1.PodTemplateSpec{
				ObjectMeta: metav1.ObjectMeta{
					Annotations: map[string]string{
						"sidecar.istio.io/inject": "true",
					},
					Labels: args.Labels,
				},
				Spec: corev1.PodSpec{
					ServiceAccountName: args.Source.Spec.ServiceAccountName,
					Containers: []corev1.Container{
						{
							Name:  "receive-adapter",
							Image: args.Image,
							Env: []corev1.EnvVar{
								{
									Name:  "SECRET_NAME",
									Value:secretName,
								},
								{
									Name:  "SECRET_KEY",
									Value:seretKey,
								},
								{
									Name: "NAMESPACE",
									ValueFrom: &corev1.EnvVarSource{
										FieldRef: &corev1.ObjectFieldSelector{
											FieldPath: "metadata.namespace",
										},
									},
								},
								{
									Name:  "TOPIC",
									Value: args.Source.Spec.Topic,
								},
								{
									Name:  "SUBSCRIPTION_ID",
									Value: args.SubscriptionID,
								},
								{
									Name:  "SINK_URI",
									Value: args.SinkURI,
								},
								{
									Name:  "NAMESRVADDR",
									Value: args.Source.Spec.NamesrvAddr,
								},
								{
									Name:  "RNAMESPACE",
									Value: args.Source.Spec.Namespace,
								},
								{
									Name:  "GROUPNAME",
									Value: args.Source.Spec.GroupName,
								},
							},
						},
					},
				},
			},
		},
	}
}