-
Notifications
You must be signed in to change notification settings - Fork 4.7k
/
create_error_template.go
69 lines (53 loc) · 1.82 KB
/
create_error_template.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
package createerrortemplate
import (
"errors"
"io"
"github.com/spf13/cobra"
"k8s.io/cli-runtime/pkg/genericclioptions"
kcmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
"k8s.io/kubernetes/pkg/kubectl/util/templates"
"github.com/openshift/origin/pkg/oauthserver/server/errorpage"
)
const CreateErrorTemplateCommand = "create-error-template"
var errorLongDescription = templates.LongDesc(`
Create a template for customizing the error page
This command creates a basic template to use as a starting point for
customizing the authentication error page. Save the output to a file and edit
the template to change the look and feel or add content.
To use the template, set oauthConfig.templates.error in the master
configuration to point to the template file. For example,
oauthConfig:
templates:
error: templates/error.html
`)
type CreateErrorTemplateOptions struct {
genericclioptions.IOStreams
}
func NewCreateErrorTemplateOptions(streams genericclioptions.IOStreams) *CreateErrorTemplateOptions {
return &CreateErrorTemplateOptions{
IOStreams: streams,
}
}
func NewCommandCreateErrorTemplate(f kcmdutil.Factory, commandName string, fullName string, streams genericclioptions.IOStreams) *cobra.Command {
o := NewCreateErrorTemplateOptions(streams)
cmd := &cobra.Command{
Use: commandName,
Short: "Create an error page template",
Long: errorLongDescription,
Run: func(cmd *cobra.Command, args []string) {
kcmdutil.CheckErr(o.Validate(args))
kcmdutil.CheckErr(o.Run())
},
}
return cmd
}
func (o *CreateErrorTemplateOptions) Validate(args []string) error {
if len(args) != 0 {
return errors.New("no arguments are supported")
}
return nil
}
func (o *CreateErrorTemplateOptions) Run() error {
_, err := io.WriteString(o.Out, errorpage.ErrorPageTemplateExample)
return err
}