You've already forked woodpecker
mirror of
https://github.com/woodpecker-ci/woodpecker.git
synced 2025-07-12 22:21:40 +02:00
Adding initial version of Kubernetes backend (#552)
Co-authored-by: laszlocph <laszlo@laszlo.cloud> Co-authored-by: 6543 <6543@obermui.de> Co-authored-by: Rynoxx <rynoxx@grid-servers.net>
This commit is contained in:
38
pipeline/backend/kubernetes/service.go
Normal file
38
pipeline/backend/kubernetes/service.go
Normal file
@ -0,0 +1,38 @@
|
||||
package kubernetes
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strconv"
|
||||
|
||||
v1 "k8s.io/api/core/v1"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/util/intstr"
|
||||
)
|
||||
|
||||
func Service(namespace, name, podName string, ports []string) (*v1.Service, error) {
|
||||
var svcPorts []v1.ServicePort
|
||||
for _, p := range ports {
|
||||
i, err := strconv.Atoi(p)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("Could not parse service port %s as integer", p)
|
||||
}
|
||||
svcPorts = append(svcPorts, v1.ServicePort{
|
||||
Port: int32(i),
|
||||
TargetPort: intstr.IntOrString{IntVal: int32(i)},
|
||||
})
|
||||
}
|
||||
|
||||
return &v1.Service{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: dnsName(name),
|
||||
Namespace: namespace,
|
||||
},
|
||||
Spec: v1.ServiceSpec{
|
||||
Type: v1.ServiceTypeClusterIP,
|
||||
Selector: map[string]string{
|
||||
"step": podName,
|
||||
},
|
||||
Ports: svcPorts,
|
||||
},
|
||||
}, nil
|
||||
}
|
Reference in New Issue
Block a user