Skip to content


ArenaClient is the entry point of all APIs and it can create other sub client such as TrainingClient or ServingClient.




func NewArenaClient(args types.ArenaClientArgs) (*ArenaClient, error)


The types.ArenaClientArgs is defined at pkg/apis/types.ArenaClientArgs and is described as below:

type ArenaClientArgs struct {
    // Kubeconfig is used to specify the kubeconfig file,for example: "~/.kubeconfig",
    // if you use service account,please set the kubeconfig as "".
    Kubeconfig     string
    // Namespace is used to set the namespace,if the namespace is "",the default namespace will be found from
    // file ~/.arena/config (set like: namespace = YOUR_DEFAULT_NAMESPACE) or kubeconfig file.
    Namespace      string
    // ArenaNamespace is used to set the arena namespace, the operators of arena depends
    // are installed in this namespace.
    ArenaNamespace string
    // if IsDaemonMode is false, the arena will directly access k8s resources from k8s api server
    // i IsDaemonMode is true,the arena will access k8s resources from cache, the cache is based on
    // client-go event mechanism
    IsDaemonMode   bool
    // LogLevel is used to set log level.(debug,info)
    LogLevel       string


package main

func main() {
    client, err := arenaclient.NewArenaClient(types.ArenaClientArgs{
        Kubeconfig:     "",
        LogLevel:       "debug",
        Namespace:      "",
        ArenaNamespace: "",
        IsDaemonMode:   false,
    if err != nil {
        fmt.Printf("failed to build arena client.,reason: %v",err)