Files
my-rook-config/cmd/rook/main.go
T
Thomas Way 97e3e69bf4 operator: use Linux container CPU quota
Go is not cgroup aware and by default will set GOMAXPROCS to the number
of available threads, regardless of whether it is within the allocated
quota. This behaviour causes high amount of CPU throttling and degraded
application performance.

Fixes: #13815

Signed-off-by: Thomas Way <thomas@6f.io>
2024-02-26 12:28:57 +00:00

55 lines
1.4 KiB
Go

/*
Copyright 2016 The Rook Authors. All rights reserved.
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.
*/
package main
import (
"fmt"
"github.com/rook/rook/cmd/rook/ceph"
rook "github.com/rook/rook/cmd/rook/rook"
"github.com/rook/rook/cmd/rook/userfacing"
"github.com/rook/rook/cmd/rook/util"
"github.com/rook/rook/cmd/rook/version"
_ "go.uber.org/automaxprocs"
)
func main() {
addCommands()
if err := rook.RootCmd.Execute(); err != nil {
fmt.Printf("rook error: %+v\n", err)
}
}
func addCommands() {
rook.RootCmd.AddCommand(
version.VersionCmd,
discoverCmd,
KeyManagementCmd,
// backend commands
ceph.Cmd,
// util commands
util.CmdReporterCmd,
)
// do double diligence to ensure non-user-facing commands are hidden from end users
for _, cmd := range rook.RootCmd.Commands() {
cmd.Hidden = true
}
// all user-facing commands
rook.RootCmd.AddCommand(userfacing.Commands...)
}