aboutsummaryrefslogtreecommitdiffstats
path: root/kube2consul/src/kube2consul/kube_service.go
diff options
context:
space:
mode:
Diffstat (limited to 'kube2consul/src/kube2consul/kube_service.go')
-rw-r--r--kube2consul/src/kube2consul/kube_service.go100
1 files changed, 0 insertions, 100 deletions
diff --git a/kube2consul/src/kube2consul/kube_service.go b/kube2consul/src/kube2consul/kube_service.go
deleted file mode 100644
index 887f6c8..0000000
--- a/kube2consul/src/kube2consul/kube_service.go
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
-Copyright 2017 ZTE, Inc. and others.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-// kube_service.go
-package main
-
-import (
- "log"
- "strconv"
- "strings"
-
- consulapi "github.com/hashicorp/consul/api"
- kapi "k8s.io/kubernetes/pkg/api"
-)
-
-type KubeServiceAction interface {
- BuildServiceInfoMap(*kapi.ServicePort, *map[string]string)
- BuildAgentService(*ServiceInfo, DnsInfo, *kapi.ServicePort) *consulapi.AgentServiceRegistration
- BuildAgentServiceCheck(DnsInfo, *kapi.ServicePort) *consulapi.AgentServiceCheck
-}
-
-type KubeService struct {
- KubeServiceAction
- sInfos map[string]*ServiceInfo
-}
-
-func newKubeService() *KubeService {
- return &KubeService{
- sInfos: make(map[string]*ServiceInfo),
- }
-}
-
-func (kube *KubeService) BuildServiceInfoMap(sport *kapi.ServicePort, annos *map[string]string) {
- portstr := strconv.Itoa(int(sport.Port))
- nameprefix := "SERVICE_" + portstr + "_NAME"
- tagprefix := "SERVICE_" + portstr + "_TAGS"
-
- for name, value := range *annos {
- if strings.HasPrefix(name, nameprefix) {
- addToServiceInfoMap(name, value, Service_NAME, &kube.sInfos)
- } else if strings.HasPrefix(name, tagprefix) {
- addToServiceInfoMap(name, value, Service_TAGS, &kube.sInfos)
- }
- }
-}
-
-func (kube *KubeService) BuildAgentService(sInfo *ServiceInfo, config DnsInfo, sport *kapi.ServicePort) *consulapi.AgentServiceRegistration {
- name := sInfo.Name
- var tagslice []string
- tagslice = strings.Split(sInfo.Tags, ",")
-
- for _, elem := range tagslice {
- var elemslice []string
- elemslice = strings.Split(elem, ":")
- if elemslice[0] == PROTOCOL {
- switch elemslice[1] {
- case PROTOCOL_UI:
- name = PREFIX_UI + name
- default:
- log.Println("regular protocol:", elemslice[1])
- }
- break
- }
- }
-
- asrID := config.BaseID + "-" + strconv.Itoa(int(sport.Port)) + "-" + name
-
- regPort := sport.NodePort
- if config.ServiceType == kapi.ServiceTypeClusterIP {
- regPort = sport.Port
- }
-
- return &consulapi.AgentServiceRegistration{
- ID: asrID,
- Name: name,
- Address: config.IPAddress,
- Port: int(regPort),
- Tags: tagslice,
- }
-}
-
-func (kube *KubeService) BuildAgentServiceCheck(config DnsInfo, sport *kapi.ServicePort) *consulapi.AgentServiceCheck {
- log.Println("Creating service check for: ", config.IPAddress, " on Port: ", sport.NodePort)
- return &consulapi.AgentServiceCheck{
- TCP: config.IPAddress + ":" + strconv.Itoa(int(sport.NodePort)),
- Interval: "60s",
- }
-}