func()

in operator/apis/operator/v1alpha1/oapserver_webhook.go [51:73]


func (r *OAPServer) Default(_ context.Context, o runtime.Object) error {
	oapserver, ok := o.(*OAPServer)
	if !ok {
		return apierrors.NewBadRequest("object is not a OAPServer")
	}

	oapserverlog.Info("default", "name", oapserver.Name)

	image := oapserver.Spec.Image
	if image == "" {
		oapserver.Spec.Image = fmt.Sprintf("apache/skywalking-oap-server:%s", oapserver.Spec.Version)
	}
	for _, envVar := range oapserver.Spec.Config {
		if envVar.Name == "SW_ENVOY_METRIC_ALS_HTTP_ANALYSIS" &&
			oapserver.ObjectMeta.Annotations[annotationKeyIstioSetup] == "" {
			oapserver.Annotations[annotationKeyIstioSetup] = fmt.Sprintf("istioctl install --set profile=demo "+
				"--set meshConfig.defaultConfig.envoyAccessLogService.address=%s.%s:11800 "+
				"--set meshConfig.enableEnvoyAccessLogService=true", oapserver.Name, oapserver.Namespace)
		}
	}

	return nil
}