Skip to content

Commit

Permalink
fix(console): merge branch master
Browse files Browse the repository at this point in the history
  • Loading branch information
jianzhuang committed Sep 21, 2020
2 parents 55dd7f6 + 515bcc6 commit 663bb8b
Show file tree
Hide file tree
Showing 5 changed files with 45 additions and 48 deletions.
6 changes: 5 additions & 1 deletion cmd/tke-installer/app/installer/installer.go
Original file line number Diff line number Diff line change
Expand Up @@ -695,7 +695,7 @@ func (t *TKE) validateConfig(config types.Config) *apierrors.StatusError {
return apierrors.NewBadRequest("tke registry or third party registry required")
}

if config.Registry.ThirdPartyRegistry != nil {
if config.Registry.ThirdPartyRegistry != nil && config.Registry.ThirdPartyRegistry.Username != "" {
cmd := exec.Command("docker", "login",
"--username", config.Registry.ThirdPartyRegistry.Username,
"--password", string(config.Registry.ThirdPartyRegistry.Password),
Expand Down Expand Up @@ -1370,6 +1370,10 @@ func (t *TKE) prepareBaremetalProviderConfig(ctx context.Context) error {
Name: "provider-config",
File: baremetalconstants.ConfDir + "*.yaml",
},
{
Name: "provider-config",
File: baremetalconstants.ConfDir + "*.conf",
},
{
Name: "docker",
File: baremetalconstants.ConfDir + "docker/*",
Expand Down
4 changes: 2 additions & 2 deletions cmd/tke-installer/app/installer/types/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -118,8 +118,8 @@ type TKERegistry struct {
type ThirdPartyRegistry struct {
Domain string `json:"domain" validate:"required"`
Namespace string `json:"namespace" validate:"required"`
Username string `json:"username" validate:"required"`
Password []byte `json:"password" validate:"required"`
Username string `json:"username"`
Password []byte `json:"password"`
}

type Business struct {
Expand Down
45 changes: 15 additions & 30 deletions pkg/auth/util/adapter.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,25 +21,25 @@ package util
import (
"context"
"fmt"

"k8s.io/apimachinery/pkg/labels"
authv1client "tkestack.io/tke/api/client/clientset/versioned/typed/auth/v1"
authv1lister "tkestack.io/tke/api/client/listers/auth/v1"
"tkestack.io/tke/pkg/util/log"

"k8s.io/apimachinery/pkg/fields"
authv1 "tkestack.io/tke/api/auth/v1"

"github.com/casbin/casbin/v2/model"
"github.com/casbin/casbin/v2/persist"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"

apierrors "k8s.io/apimachinery/pkg/api/errors"
authv1client "tkestack.io/tke/api/client/clientset/versioned/typed/auth/v1"
authv1lister "tkestack.io/tke/api/client/listers/auth/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/fields"
"k8s.io/apimachinery/pkg/labels"
authv1 "tkestack.io/tke/api/auth/v1"
)

const (
DefaultDomain = "*"
DefaultAll = "*"

// The maximum number of valid fields in the Rule object: PType, V0, V1, V2, V3, V4
MaxFieldNumber = 6
)

// RestAdapter is the policy storage adapter for Casbin. With this library, Casbin can load policy
Expand Down Expand Up @@ -80,28 +80,13 @@ func (a *RestAdapter) LoadPolicy(model model.Model) error {

func (a *RestAdapter) loadPolicy(rule *authv1.Rule, model model.Model) {
casRule := rule.Spec
// Currently, Casbin Model only needs to load the first MaxFieldNumber fields
lineText := casRule.PType
if casRule.V0 != "" {
lineText += ", " + casRule.V0
}
if casRule.V1 != "" {
lineText += ", " + casRule.V1
}
if casRule.V2 != "" {
lineText += ", " + casRule.V2
}
if casRule.V3 != "" {
lineText += ", " + casRule.V3
}
if casRule.V4 != "" {
lineText += ", " + casRule.V4
}
if casRule.V5 != "" {
lineText += ", " + casRule.V5
}
if casRule.V6 != "" {
lineText += ", " + casRule.V6
}
lineText += ", " + casRule.V0
lineText += ", " + casRule.V1
lineText += ", " + casRule.V2
lineText += ", " + casRule.V3
lineText += ", " + casRule.V4

persist.LoadPolicyLine(lineText, model)
}
Expand Down
28 changes: 14 additions & 14 deletions pkg/notify/apiserver/handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -197,21 +197,21 @@ func getVariables(alert Alert) map[string]string {
labels := alert.Labels
annotations := alert.Annotations

summary = fmt.Sprintf("%s%s", summary, processStartTime(alert.StartsAt))
summary = fmt.Sprintf("%s\n发生时间:%s", summary, processStartTime(alert.StartsAt))

alarmPolicyTypeValue, ok := annotations["alarmPolicyType"]
if ok {
summary = fmt.Sprintf("%s %s", summary, alarmPolicyTypeValue)
summary = fmt.Sprintf("%s\n告警策略类型:%s", summary, alarmPolicyTypeValue)
}

metricDisplayNameValue, ok := annotations[metricDisplayNameKey]
if ok {
summary = fmt.Sprintf("%s %s", summary, metricDisplayNameValue)
summary = fmt.Sprintf("%s\n告警项:%s", summary, metricDisplayNameValue)
}

valueValue, ok := annotations["value"]
if ok {
summary = fmt.Sprintf("%s %s", summary, valueValue)
summary = fmt.Sprintf("%s\n指标值:%s", summary, valueValue)
}

unitValue, ok := annotations[unitKey]
Expand All @@ -231,52 +231,52 @@ func getVariables(alert Alert) map[string]string {

alarmPolicyNameValue, ok := labels["alarmPolicyName"]
if ok {
summary = fmt.Sprintf("%s, 告警策略名:%s", summary, alarmPolicyNameValue)
summary = fmt.Sprintf("%s\n告警策略名:%s", summary, alarmPolicyNameValue)
}

alertNameValue, ok := labels["alertname"]
if ok {
summary = fmt.Sprintf("%s, 指标名:%s", summary, alertNameValue)
summary = fmt.Sprintf("%s\n指标名:%s", summary, alertNameValue)
}

clusterIDValue, ok := labels["cluster_id"]
if ok {
summary = fmt.Sprintf("%s, 集群ID:%s", summary, clusterIDValue)
summary = fmt.Sprintf("%s\n集群ID:%s", summary, clusterIDValue)
}

clusterDisplayNameValue, ok := labels["cluster_display_name"]
if ok {
summary = fmt.Sprintf("%s, 集群名称:%s", summary, clusterDisplayNameValue)
summary = fmt.Sprintf("%s\n集群名称:%s", summary, clusterDisplayNameValue)
}

workloadKindValue, ok := labels["workload_kind"]
if ok {
summary = fmt.Sprintf("%s, 工作负载类型:%s", summary, workloadKindValue)
summary = fmt.Sprintf("%s\n工作负载类型:%s", summary, workloadKindValue)
}

workloadNameValue, ok := labels["workload_name"]
if ok {
summary = fmt.Sprintf("%s, 工作负载名称:%s", summary, workloadNameValue)
summary = fmt.Sprintf("%s\n工作负载名称:%s", summary, workloadNameValue)
}

namespaceValue, ok := labels["namespace"]
if ok {
summary = fmt.Sprintf("%s, 命名空间:%s", summary, namespaceValue)
summary = fmt.Sprintf("%s\n命名空间:%s", summary, namespaceValue)
}

podNameValue, ok := labels["pod_name"]
if ok {
summary = fmt.Sprintf("%s, POD名称:%s", summary, podNameValue)
summary = fmt.Sprintf("%s\nPOD名称:%s", summary, podNameValue)
}

nodeNameValue, ok := labels["node"]
if ok {
summary = fmt.Sprintf("%s, 节点名称:%s", summary, nodeNameValue)
summary = fmt.Sprintf("%s\n节点名称:%s", summary, nodeNameValue)
}

nodeRoleValue, ok := labels["node_role"]
if ok {
summary = fmt.Sprintf("%s, 节点类型:%s", summary, nodeRoleValue)
summary = fmt.Sprintf("%s\n节点类型:%s", summary, nodeRoleValue)
}

variables[startsAtKey] = processStartTime(alert.StartsAt)
Expand Down
10 changes: 9 additions & 1 deletion pkg/util/apiclient/idempotency.go
Original file line number Diff line number Diff line change
Expand Up @@ -419,7 +419,7 @@ func CreateOrUpdateAPIService(ctx context.Context, client kubeaggregatorclientse
return nil
}

// CreateOrUpdateConfigMapFromFile like kubectl create configmap --from-file
// CreateOrUpdateConfigMapFromFile like kubectl apply configmap --from-file
func CreateOrUpdateConfigMapFromFile(ctx context.Context, client clientset.Interface, cm *corev1.ConfigMap, pattern string) error {
matches, err := filepath.Glob(pattern)
if err != nil {
Expand All @@ -429,6 +429,14 @@ func CreateOrUpdateConfigMapFromFile(ctx context.Context, client clientset.Inter
return errors.New("no matches found")
}

existCM, err := client.CoreV1().ConfigMaps(cm.Namespace).Get(ctx, cm.Name, metav1.GetOptions{})
if err == nil {
cm = existCM
}
if err != nil && !apierrors.IsNotFound(err) {
return err
}

if cm.Data == nil {
cm.Data = make(map[string]string)
}
Expand Down

0 comments on commit 663bb8b

Please sign in to comment.