github.com/argoproj/argo-cd/v3@v3.2.1/tools/cmd-docs/main.go (about)

     1  package main
     2  
     3  import (
     4  	"fmt"
     5  	"log"
     6  	"os"
     7  	"path/filepath"
     8  	"strings"
     9  
    10  	"github.com/spf13/cobra/doc"
    11  
    12  	controller "github.com/argoproj/argo-cd/v3/cmd/argocd-application-controller/commands"
    13  	argocdappsetcontroller "github.com/argoproj/argo-cd/v3/cmd/argocd-applicationset-controller/commands"
    14  	argocddex "github.com/argoproj/argo-cd/v3/cmd/argocd-dex/commands"
    15  	reposerver "github.com/argoproj/argo-cd/v3/cmd/argocd-repo-server/commands"
    16  	argocdserver "github.com/argoproj/argo-cd/v3/cmd/argocd-server/commands"
    17  	argocdcli "github.com/argoproj/argo-cd/v3/cmd/argocd/commands"
    18  )
    19  
    20  func main() {
    21  	// set HOME env var so that default values involve user's home directory do not depend on the running user.
    22  	os.Setenv("HOME", "/home/user")
    23  	os.Setenv("XDG_CONFIG_HOME", "/home/user/.config")
    24  
    25  	identity := func(s string) string { return s }
    26  	headerPrepender := func(filename string) string {
    27  		// The default header looks like `Argocd app get`. The leading capital letter is off-putting.
    28  		// This header overrides the default. It's better visually and for search results.
    29  		filename = filepath.Base(filename)
    30  		filename = filename[:len(filename)-3] // Drop the '.md'
    31  		return fmt.Sprintf("# `%s` Command Reference\n\n", strings.ReplaceAll(filename, "_", " "))
    32  	}
    33  
    34  	err := doc.GenMarkdownTreeCustom(argocdcli.NewCommand(), "./docs/user-guide/commands", headerPrepender, identity)
    35  	if err != nil {
    36  		log.Fatal(err)
    37  	}
    38  
    39  	err = doc.GenMarkdownTreeCustom(argocdserver.NewCommand(), "./docs/operator-manual/server-commands", headerPrepender, identity)
    40  	if err != nil {
    41  		log.Fatal(err)
    42  	}
    43  
    44  	err = doc.GenMarkdownTreeCustom(controller.NewCommand(), "./docs/operator-manual/server-commands", headerPrepender, identity)
    45  	if err != nil {
    46  		log.Fatal(err)
    47  	}
    48  
    49  	err = doc.GenMarkdownTreeCustom(reposerver.NewCommand(), "./docs/operator-manual/server-commands", headerPrepender, identity)
    50  	if err != nil {
    51  		log.Fatal(err)
    52  	}
    53  
    54  	err = doc.GenMarkdownTreeCustom(argocddex.NewCommand(), "./docs/operator-manual/server-commands", headerPrepender, identity)
    55  	if err != nil {
    56  		log.Fatal(err)
    57  	}
    58  
    59  	err = doc.GenMarkdownTreeCustom(argocdappsetcontroller.NewCommand(), "./docs/operator-manual/server-commands", headerPrepender, identity)
    60  	if err != nil {
    61  		log.Fatal(err)
    62  	}
    63  }