func (c *MasterConfig) InstallProtectedAPI(container *restful.Container) []string { // initialize OpenShift API storage := c.GetRestStorage() messages := []string{} legacyAPIVersions := []string{} currentAPIVersions := []string{} if configapi.HasOpenShiftAPILevel(c.Options, OpenShiftAPIV1Beta3) { if err := c.api_v1beta3(storage).InstallREST(container); err != nil { glog.Fatalf("Unable to initialize v1beta3 API: %v", err) } messages = append(messages, fmt.Sprintf("Started Origin API at %%s%s", OpenShiftAPIPrefixV1Beta3)) legacyAPIVersions = append(legacyAPIVersions, OpenShiftAPIV1Beta3) } if configapi.HasOpenShiftAPILevel(c.Options, OpenShiftAPIV1) { if err := c.api_v1(storage).InstallREST(container); err != nil { glog.Fatalf("Unable to initialize v1 API: %v", err) } messages = append(messages, fmt.Sprintf("Started Origin API at %%s%s", OpenShiftAPIPrefixV1)) currentAPIVersions = append(currentAPIVersions, OpenShiftAPIV1) } var root *restful.WebService for _, service := range container.RegisteredWebServices() { switch service.RootPath() { case "/": root = service case OpenShiftAPIPrefixV1Beta3: service.Doc("OpenShift REST API, version v1beta3").ApiVersion("v1beta3") case OpenShiftAPIPrefixV1: service.Doc("OpenShift REST API, version v1").ApiVersion("v1") } } if root == nil { root = new(restful.WebService) container.Add(root) } initAPIVersionRoute(root, LegacyOpenShiftAPIPrefix, legacyAPIVersions...) initAPIVersionRoute(root, OpenShiftAPIPrefix, currentAPIVersions...) initControllerRoutes(root, "/controllers", c.Options.Controllers != configapi.ControllersDisabled, c.ControllerPlug) initHealthCheckRoute(root, "/healthz") initReadinessCheckRoute(root, "/healthz/ready", c.ProjectAuthorizationCache.ReadyForAccess) return messages }
func (c *MasterConfig) InstallProtectedAPI(container *restful.Container) ([]string, error) { // initialize OpenShift API storage := c.GetRestStorage() messages := []string{} legacyAPIVersions := []string{} currentAPIVersions := []string{} if configapi.HasOpenShiftAPILevel(c.Options, OpenShiftAPIV1) { if err := c.apiLegacyV1(storage).InstallREST(container); err != nil { glog.Fatalf("Unable to initialize v1 API: %v", err) } messages = append(messages, fmt.Sprintf("Started Origin API at %%s%s", OpenShiftAPIPrefixV1)) currentAPIVersions = append(currentAPIVersions, OpenShiftAPIV1) } var root *restful.WebService for _, service := range container.RegisteredWebServices() { switch service.RootPath() { case "/": root = service case OpenShiftAPIPrefixV1Beta3: service.Doc("OpenShift REST API, version v1beta3").ApiVersion("v1beta3") case OpenShiftAPIPrefixV1: service.Doc("OpenShift REST API, version v1").ApiVersion("v1") } } if root == nil { root = new(restful.WebService) container.Add(root) } // The old API prefix must continue to return 200 (with an empty versions // list) for backwards compatibility, even though we won't service any other // requests through the route. Take care when considering whether to delete // this route. initAPIVersionRoute(root, LegacyOpenShiftAPIPrefix, legacyAPIVersions...) initAPIVersionRoute(root, OpenShiftAPIPrefix, currentAPIVersions...) initControllerRoutes(root, "/controllers", c.Options.Controllers != configapi.ControllersDisabled, c.ControllerPlug) initHealthCheckRoute(root, "/healthz") initReadinessCheckRoute(root, "/healthz/ready", c.ProjectAuthorizationCache.ReadyForAccess) initVersionRoute(container, "/version/openshift") return messages, nil }