mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
perf(cli): optimize CPU consumption of help pages (#9607)
This change reduces the CPU consumption of --help by ~50%. Also, this change removes ANSI escape codes from our golden files. I don't think those were worth the inability to parallelize golden file tests and global state fragility.
This commit is contained in:
@@ -29,7 +29,7 @@ import (
|
|||||||
|
|
||||||
// New creates a CLI instance with a configuration pointed to a
|
// New creates a CLI instance with a configuration pointed to a
|
||||||
// temporary testing directory.
|
// temporary testing directory.
|
||||||
func New(t *testing.T, args ...string) (*clibase.Invocation, config.Root) {
|
func New(t testing.TB, args ...string) (*clibase.Invocation, config.Root) {
|
||||||
var root cli.RootCmd
|
var root cli.RootCmd
|
||||||
|
|
||||||
cmd, err := root.Command(root.AGPL())
|
cmd, err := root.Command(root.AGPL())
|
||||||
@@ -56,7 +56,7 @@ func (l *logWriter) Write(p []byte) (n int, err error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func NewWithCommand(
|
func NewWithCommand(
|
||||||
t *testing.T, cmd *clibase.Cmd, args ...string,
|
t testing.TB, cmd *clibase.Cmd, args ...string,
|
||||||
) (*clibase.Invocation, config.Root) {
|
) (*clibase.Invocation, config.Root) {
|
||||||
configDir := config.Root(t.TempDir())
|
configDir := config.Root(t.TempDir())
|
||||||
logger := slogtest.Make(t, nil)
|
logger := slogtest.Make(t, nil)
|
||||||
|
|||||||
@@ -11,11 +11,9 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/muesli/termenv"
|
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
|
|
||||||
"github.com/coder/coder/v2/cli/clibase"
|
"github.com/coder/coder/v2/cli/clibase"
|
||||||
"github.com/coder/coder/v2/cli/cliui"
|
|
||||||
"github.com/coder/coder/v2/cli/config"
|
"github.com/coder/coder/v2/cli/config"
|
||||||
"github.com/coder/coder/v2/coderd/coderdtest"
|
"github.com/coder/coder/v2/coderd/coderdtest"
|
||||||
"github.com/coder/coder/v2/coderd/database/dbtestutil"
|
"github.com/coder/coder/v2/coderd/database/dbtestutil"
|
||||||
@@ -50,12 +48,8 @@ func DefaultCases() []CommandHelpCase {
|
|||||||
|
|
||||||
// TestCommandHelp will test the help output of the given commands
|
// TestCommandHelp will test the help output of the given commands
|
||||||
// using golden files.
|
// using golden files.
|
||||||
//
|
|
||||||
//nolint:tparallel,paralleltest
|
|
||||||
func TestCommandHelp(t *testing.T, getRoot func(t *testing.T) *clibase.Cmd, cases []CommandHelpCase) {
|
func TestCommandHelp(t *testing.T, getRoot func(t *testing.T) *clibase.Cmd, cases []CommandHelpCase) {
|
||||||
// ANSI256 escape codes are far easier for humans to parse in a diff,
|
t.Parallel()
|
||||||
// but TrueColor is probably more popular with modern terminals.
|
|
||||||
cliui.TestColor(t, termenv.ANSI)
|
|
||||||
rootClient, replacements := prepareTestData(t)
|
rootClient, replacements := prepareTestData(t)
|
||||||
|
|
||||||
root := getRoot(t)
|
root := getRoot(t)
|
||||||
|
|||||||
@@ -340,7 +340,7 @@ func TestAgent(t *testing.T) {
|
|||||||
line := s.Text()
|
line := s.Text()
|
||||||
t.Log(line)
|
t.Log(line)
|
||||||
if len(tc.want) == 0 {
|
if len(tc.want) == 0 {
|
||||||
require.Fail(t, "unexpected line: "+line)
|
require.Fail(t, "unexpected line", line)
|
||||||
}
|
}
|
||||||
require.Contains(t, line, tc.want[0])
|
require.Contains(t, line, tc.want[0])
|
||||||
tc.want = tc.want[1:]
|
tc.want = tc.want[1:]
|
||||||
|
|||||||
+19
-18
@@ -1,8 +1,9 @@
|
|||||||
package cliui
|
package cliui
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"flag"
|
||||||
"os"
|
"os"
|
||||||
"testing"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/muesli/termenv"
|
"github.com/muesli/termenv"
|
||||||
@@ -30,29 +31,29 @@ type Styles struct {
|
|||||||
Wrap pretty.Style
|
Wrap pretty.Style
|
||||||
}
|
}
|
||||||
|
|
||||||
var color = termenv.NewOutput(os.Stdout).ColorProfile()
|
var (
|
||||||
|
color termenv.Profile
|
||||||
// TestColor sets the color profile to the given profile for the duration of the
|
colorOnce sync.Once
|
||||||
// test.
|
)
|
||||||
// WARN: Must not be used in parallel tests.
|
|
||||||
func TestColor(t *testing.T, tprofile termenv.Profile) {
|
|
||||||
old := color
|
|
||||||
color = tprofile
|
|
||||||
t.Cleanup(func() {
|
|
||||||
color = old
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
var (
|
var (
|
||||||
Green = color.Color("#04B575")
|
Green = Color("#04B575")
|
||||||
Red = color.Color("#ED567A")
|
Red = Color("#ED567A")
|
||||||
Fuchsia = color.Color("#EE6FF8")
|
Fuchsia = Color("#EE6FF8")
|
||||||
Yellow = color.Color("#ECFD65")
|
Yellow = Color("#ECFD65")
|
||||||
Blue = color.Color("#5000ff")
|
Blue = Color("#5000ff")
|
||||||
)
|
)
|
||||||
|
|
||||||
// Color returns a color for the given string.
|
// Color returns a color for the given string.
|
||||||
func Color(s string) termenv.Color {
|
func Color(s string) termenv.Color {
|
||||||
|
colorOnce.Do(func() {
|
||||||
|
color = termenv.NewOutput(os.Stdout).ColorProfile()
|
||||||
|
if flag.Lookup("test.v") != nil {
|
||||||
|
// Use a consistent colorless profile in tests so that results
|
||||||
|
// are deterministic.
|
||||||
|
color = termenv.Ascii
|
||||||
|
}
|
||||||
|
})
|
||||||
return color.Color(s)
|
return color.Color(s)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ func TestRenderAgentVersion(t *testing.T) {
|
|||||||
t.Run(testCase.name, func(t *testing.T) {
|
t.Run(testCase.name, func(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
actual := renderAgentVersion(testCase.agentVersion, testCase.serverVersion)
|
actual := renderAgentVersion(testCase.agentVersion, testCase.serverVersion)
|
||||||
assert.Equal(t, testCase.expected, actual)
|
assert.Equal(t, testCase.expected, (actual))
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+207
-191
@@ -2,16 +2,13 @@ package cli
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"bufio"
|
"bufio"
|
||||||
"bytes"
|
|
||||||
_ "embed"
|
_ "embed"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
|
||||||
"regexp"
|
"regexp"
|
||||||
"sort"
|
"sort"
|
||||||
"strings"
|
"strings"
|
||||||
"text/tabwriter"
|
"text/tabwriter"
|
||||||
"text/template"
|
"text/template"
|
||||||
"unicode"
|
|
||||||
|
|
||||||
"github.com/mitchellh/go-wordwrap"
|
"github.com/mitchellh/go-wordwrap"
|
||||||
"golang.org/x/crypto/ssh/terminal"
|
"golang.org/x/crypto/ssh/terminal"
|
||||||
@@ -46,213 +43,222 @@ func wrapTTY(s string) string {
|
|||||||
return wordwrap.WrapString(s, uint(ttyWidth()))
|
return wordwrap.WrapString(s, uint(ttyWidth()))
|
||||||
}
|
}
|
||||||
|
|
||||||
var usageTemplate = template.Must(
|
var usageTemplate = func() *template.Template {
|
||||||
template.New("usage").Funcs(
|
var (
|
||||||
template.FuncMap{
|
optionFg = pretty.FgColor(
|
||||||
"version": func() string {
|
cliui.Color("#04A777"),
|
||||||
return buildinfo.Version()
|
)
|
||||||
},
|
headerFg = pretty.FgColor(
|
||||||
"wrapTTY": func(s string) string {
|
cliui.Color("#337CA0"),
|
||||||
return wrapTTY(s)
|
)
|
||||||
},
|
)
|
||||||
"trimNewline": func(s string) string {
|
return template.Must(
|
||||||
return strings.TrimSuffix(s, "\n")
|
template.New("usage").Funcs(
|
||||||
},
|
template.FuncMap{
|
||||||
"keyword": func(s string) string {
|
"version": func() string {
|
||||||
return pretty.Sprint(
|
return buildinfo.Version()
|
||||||
pretty.FgColor(cliui.Color("#87ceeb")),
|
},
|
||||||
s,
|
"wrapTTY": func(s string) string {
|
||||||
)
|
return wrapTTY(s)
|
||||||
},
|
},
|
||||||
"prettyHeader": func(s string) string {
|
"trimNewline": func(s string) string {
|
||||||
return pretty.Sprint(
|
return strings.TrimSuffix(s, "\n")
|
||||||
pretty.FgColor(
|
},
|
||||||
cliui.Color("#ffb500"),
|
"keyword": func(s string) string {
|
||||||
), strings.ToUpper(s), ":",
|
txt := pretty.String(s)
|
||||||
)
|
optionFg.Format(txt)
|
||||||
},
|
return txt.String()
|
||||||
"typeHelper": func(opt *clibase.Option) string {
|
},
|
||||||
switch v := opt.Value.(type) {
|
"prettyHeader": func(s string) string {
|
||||||
case *clibase.Enum:
|
s = strings.ToUpper(s)
|
||||||
return strings.Join(v.Choices, "|")
|
txt := pretty.String(s, ":")
|
||||||
default:
|
headerFg.Format(txt)
|
||||||
return v.Type()
|
return txt.String()
|
||||||
}
|
},
|
||||||
},
|
"typeHelper": func(opt *clibase.Option) string {
|
||||||
"joinStrings": func(s []string) string {
|
switch v := opt.Value.(type) {
|
||||||
return strings.Join(s, ", ")
|
case *clibase.Enum:
|
||||||
},
|
return strings.Join(v.Choices, "|")
|
||||||
"indent": func(body string, spaces int) string {
|
default:
|
||||||
twidth := ttyWidth()
|
return v.Type()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"joinStrings": func(s []string) string {
|
||||||
|
return strings.Join(s, ", ")
|
||||||
|
},
|
||||||
|
"indent": func(body string, spaces int) string {
|
||||||
|
twidth := ttyWidth()
|
||||||
|
|
||||||
spacing := strings.Repeat(" ", spaces)
|
spacing := strings.Repeat(" ", spaces)
|
||||||
|
|
||||||
body = wordwrap.WrapString(body, uint(twidth-len(spacing)))
|
wrapLim := twidth - len(spacing)
|
||||||
|
body = wordwrap.WrapString(body, uint(wrapLim))
|
||||||
|
|
||||||
sc := bufio.NewScanner(strings.NewReader(body))
|
sc := bufio.NewScanner(strings.NewReader(body))
|
||||||
|
|
||||||
var sb strings.Builder
|
var sb strings.Builder
|
||||||
for sc.Scan() {
|
for sc.Scan() {
|
||||||
// Remove existing indent, if any.
|
// Remove existing indent, if any.
|
||||||
// line = strings.TrimSpace(line)
|
// line = strings.TrimSpace(line)
|
||||||
// Use spaces so we can easily calculate wrapping.
|
// Use spaces so we can easily calculate wrapping.
|
||||||
_, _ = sb.WriteString(spacing)
|
_, _ = sb.WriteString(spacing)
|
||||||
_, _ = sb.Write(sc.Bytes())
|
_, _ = sb.Write(sc.Bytes())
|
||||||
_, _ = sb.WriteString("\n")
|
_, _ = sb.WriteString("\n")
|
||||||
}
|
}
|
||||||
return sb.String()
|
return sb.String()
|
||||||
},
|
},
|
||||||
"formatSubcommand": func(cmd *clibase.Cmd) string {
|
"formatSubcommand": func(cmd *clibase.Cmd) string {
|
||||||
// Minimize padding by finding the longest neighboring name.
|
// Minimize padding by finding the longest neighboring name.
|
||||||
maxNameLength := len(cmd.Name())
|
maxNameLength := len(cmd.Name())
|
||||||
if parent := cmd.Parent; parent != nil {
|
if parent := cmd.Parent; parent != nil {
|
||||||
for _, c := range parent.Children {
|
for _, c := range parent.Children {
|
||||||
if len(c.Name()) > maxNameLength {
|
if len(c.Name()) > maxNameLength {
|
||||||
maxNameLength = len(c.Name())
|
maxNameLength = len(c.Name())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
var sb strings.Builder
|
var sb strings.Builder
|
||||||
_, _ = fmt.Fprintf(
|
_, _ = fmt.Fprintf(
|
||||||
&sb, "%s%s%s",
|
&sb, "%s%s%s",
|
||||||
strings.Repeat(" ", 4), cmd.Name(), strings.Repeat(" ", maxNameLength-len(cmd.Name())+4),
|
strings.Repeat(" ", 4), cmd.Name(), strings.Repeat(" ", maxNameLength-len(cmd.Name())+4),
|
||||||
)
|
)
|
||||||
|
|
||||||
// This is the point at which indentation begins if there's a
|
// This is the point at which indentation begins if there's a
|
||||||
// next line.
|
// next line.
|
||||||
descStart := sb.Len()
|
descStart := sb.Len()
|
||||||
|
|
||||||
twidth := ttyWidth()
|
twidth := ttyWidth()
|
||||||
|
|
||||||
for i, line := range strings.Split(
|
for i, line := range strings.Split(
|
||||||
wordwrap.WrapString(cmd.Short, uint(twidth-descStart)), "\n",
|
wordwrap.WrapString(cmd.Short, uint(twidth-descStart)), "\n",
|
||||||
) {
|
) {
|
||||||
if i > 0 {
|
if i > 0 {
|
||||||
_, _ = sb.WriteString(strings.Repeat(" ", descStart))
|
_, _ = sb.WriteString(strings.Repeat(" ", descStart))
|
||||||
|
}
|
||||||
|
_, _ = sb.WriteString(line)
|
||||||
|
_, _ = sb.WriteString("\n")
|
||||||
}
|
}
|
||||||
_, _ = sb.WriteString(line)
|
|
||||||
_, _ = sb.WriteString("\n")
|
|
||||||
}
|
|
||||||
|
|
||||||
return sb.String()
|
return sb.String()
|
||||||
},
|
},
|
||||||
"envName": func(opt clibase.Option) string {
|
"envName": func(opt clibase.Option) string {
|
||||||
if opt.Env == "" {
|
if opt.Env == "" {
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
return opt.Env
|
return opt.Env
|
||||||
},
|
},
|
||||||
"flagName": func(opt clibase.Option) string {
|
"flagName": func(opt clibase.Option) string {
|
||||||
return opt.Flag
|
return opt.Flag
|
||||||
},
|
},
|
||||||
|
|
||||||
"isEnterprise": func(opt clibase.Option) bool {
|
"isEnterprise": func(opt clibase.Option) bool {
|
||||||
return opt.Annotations.IsSet("enterprise")
|
return opt.Annotations.IsSet("enterprise")
|
||||||
},
|
},
|
||||||
"isDeprecated": func(opt clibase.Option) bool {
|
"isDeprecated": func(opt clibase.Option) bool {
|
||||||
return len(opt.UseInstead) > 0
|
return len(opt.UseInstead) > 0
|
||||||
},
|
},
|
||||||
"useInstead": func(opt clibase.Option) string {
|
"useInstead": func(opt clibase.Option) string {
|
||||||
var sb strings.Builder
|
var sb strings.Builder
|
||||||
for i, s := range opt.UseInstead {
|
for i, s := range opt.UseInstead {
|
||||||
if i > 0 {
|
if i > 0 {
|
||||||
if i == len(opt.UseInstead)-1 {
|
if i == len(opt.UseInstead)-1 {
|
||||||
_, _ = sb.WriteString(" and ")
|
_, _ = sb.WriteString(" and ")
|
||||||
|
} else {
|
||||||
|
_, _ = sb.WriteString(", ")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if s.Flag != "" {
|
||||||
|
_, _ = sb.WriteString("--")
|
||||||
|
_, _ = sb.WriteString(s.Flag)
|
||||||
|
} else if s.FlagShorthand != "" {
|
||||||
|
_, _ = sb.WriteString("-")
|
||||||
|
_, _ = sb.WriteString(s.FlagShorthand)
|
||||||
|
} else if s.Env != "" {
|
||||||
|
_, _ = sb.WriteString("$")
|
||||||
|
_, _ = sb.WriteString(s.Env)
|
||||||
} else {
|
} else {
|
||||||
_, _ = sb.WriteString(", ")
|
_, _ = sb.WriteString(s.Name)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if s.Flag != "" {
|
return sb.String()
|
||||||
_, _ = sb.WriteString("--")
|
},
|
||||||
_, _ = sb.WriteString(s.Flag)
|
"formatGroupDescription": func(s string) string {
|
||||||
} else if s.FlagShorthand != "" {
|
s = strings.ReplaceAll(s, "\n", "")
|
||||||
_, _ = sb.WriteString("-")
|
s = s + "\n"
|
||||||
_, _ = sb.WriteString(s.FlagShorthand)
|
s = wrapTTY(s)
|
||||||
} else if s.Env != "" {
|
return s
|
||||||
_, _ = sb.WriteString("$")
|
},
|
||||||
_, _ = sb.WriteString(s.Env)
|
"visibleChildren": func(cmd *clibase.Cmd) []*clibase.Cmd {
|
||||||
} else {
|
return filterSlice(cmd.Children, func(c *clibase.Cmd) bool {
|
||||||
_, _ = sb.WriteString(s.Name)
|
return !c.Hidden
|
||||||
}
|
})
|
||||||
}
|
},
|
||||||
return sb.String()
|
"optionGroups": func(cmd *clibase.Cmd) []optionGroup {
|
||||||
},
|
groups := []optionGroup{{
|
||||||
"formatGroupDescription": func(s string) string {
|
// Default group.
|
||||||
s = strings.ReplaceAll(s, "\n", "")
|
Name: "",
|
||||||
s = s + "\n"
|
Description: "",
|
||||||
s = wrapTTY(s)
|
}}
|
||||||
return s
|
|
||||||
},
|
|
||||||
"visibleChildren": func(cmd *clibase.Cmd) []*clibase.Cmd {
|
|
||||||
return filterSlice(cmd.Children, func(c *clibase.Cmd) bool {
|
|
||||||
return !c.Hidden
|
|
||||||
})
|
|
||||||
},
|
|
||||||
"optionGroups": func(cmd *clibase.Cmd) []optionGroup {
|
|
||||||
groups := []optionGroup{{
|
|
||||||
// Default group.
|
|
||||||
Name: "",
|
|
||||||
Description: "",
|
|
||||||
}}
|
|
||||||
|
|
||||||
enterpriseGroup := optionGroup{
|
enterpriseGroup := optionGroup{
|
||||||
Name: "Enterprise",
|
Name: "Enterprise",
|
||||||
Description: `These options are only available in the Enterprise Edition.`,
|
Description: `These options are only available in the Enterprise Edition.`,
|
||||||
}
|
|
||||||
|
|
||||||
// Sort options lexicographically.
|
|
||||||
sort.Slice(cmd.Options, func(i, j int) bool {
|
|
||||||
return cmd.Options[i].Name < cmd.Options[j].Name
|
|
||||||
})
|
|
||||||
|
|
||||||
optionLoop:
|
|
||||||
for _, opt := range cmd.Options {
|
|
||||||
if opt.Hidden {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
// Enterprise options are always grouped separately.
|
|
||||||
if opt.Annotations.IsSet("enterprise") {
|
|
||||||
enterpriseGroup.Options = append(enterpriseGroup.Options, opt)
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
if len(opt.Group.Ancestry()) == 0 {
|
|
||||||
// Just add option to default group.
|
|
||||||
groups[0].Options = append(groups[0].Options, opt)
|
|
||||||
continue
|
|
||||||
}
|
}
|
||||||
|
|
||||||
groupName := opt.Group.FullName()
|
// Sort options lexicographically.
|
||||||
|
sort.Slice(cmd.Options, func(i, j int) bool {
|
||||||
|
return cmd.Options[i].Name < cmd.Options[j].Name
|
||||||
|
})
|
||||||
|
|
||||||
for i, foundGroup := range groups {
|
optionLoop:
|
||||||
if foundGroup.Name != groupName {
|
for _, opt := range cmd.Options {
|
||||||
|
if opt.Hidden {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
groups[i].Options = append(groups[i].Options, opt)
|
// Enterprise options are always grouped separately.
|
||||||
continue optionLoop
|
if opt.Annotations.IsSet("enterprise") {
|
||||||
|
enterpriseGroup.Options = append(enterpriseGroup.Options, opt)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
if len(opt.Group.Ancestry()) == 0 {
|
||||||
|
// Just add option to default group.
|
||||||
|
groups[0].Options = append(groups[0].Options, opt)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
groupName := opt.Group.FullName()
|
||||||
|
|
||||||
|
for i, foundGroup := range groups {
|
||||||
|
if foundGroup.Name != groupName {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
groups[i].Options = append(groups[i].Options, opt)
|
||||||
|
continue optionLoop
|
||||||
|
}
|
||||||
|
|
||||||
|
groups = append(groups, optionGroup{
|
||||||
|
Name: groupName,
|
||||||
|
Description: opt.Group.Description,
|
||||||
|
Options: clibase.OptionSet{opt},
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
sort.Slice(groups, func(i, j int) bool {
|
||||||
groups = append(groups, optionGroup{
|
// Sort groups lexicographically.
|
||||||
Name: groupName,
|
return groups[i].Name < groups[j].Name
|
||||||
Description: opt.Group.Description,
|
|
||||||
Options: clibase.OptionSet{opt},
|
|
||||||
})
|
})
|
||||||
}
|
|
||||||
sort.Slice(groups, func(i, j int) bool {
|
|
||||||
// Sort groups lexicographically.
|
|
||||||
return groups[i].Name < groups[j].Name
|
|
||||||
})
|
|
||||||
|
|
||||||
// Always show enterprise group last.
|
// Always show enterprise group last.
|
||||||
groups = append(groups, enterpriseGroup)
|
groups = append(groups, enterpriseGroup)
|
||||||
|
|
||||||
return filterSlice(groups, func(g optionGroup) bool {
|
return filterSlice(groups, func(g optionGroup) bool {
|
||||||
return len(g.Options) > 0
|
return len(g.Options) > 0
|
||||||
})
|
})
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
).Parse(helpTemplateRaw),
|
||||||
).Parse(helpTemplateRaw),
|
)
|
||||||
)
|
}()
|
||||||
|
|
||||||
func filterSlice[T any](s []T, f func(T) bool) []T {
|
func filterSlice[T any](s []T, f func(T) bool) []T {
|
||||||
var r []T
|
var r []T
|
||||||
@@ -266,31 +272,41 @@ func filterSlice[T any](s []T, f func(T) bool) []T {
|
|||||||
|
|
||||||
// newLineLimiter makes working with Go templates more bearable. Without this,
|
// newLineLimiter makes working with Go templates more bearable. Without this,
|
||||||
// modifying the template is a slow toil of counting newlines and constantly
|
// modifying the template is a slow toil of counting newlines and constantly
|
||||||
// checking that a change to one command's help doesn't clobber break another.
|
// checking that a change to one command's help doesn't break another.
|
||||||
type newlineLimiter struct {
|
type newlineLimiter struct {
|
||||||
w io.Writer
|
// w is not an interface since we call WriteRune byte-wise,
|
||||||
|
// and the devirtualization overhead is significant.
|
||||||
|
w *bufio.Writer
|
||||||
limit int
|
limit int
|
||||||
|
|
||||||
newLineCounter int
|
newLineCounter int
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// isSpace is a based on unicode.IsSpace, but only checks ASCII characters.
|
||||||
|
func isSpace(b byte) bool {
|
||||||
|
switch b {
|
||||||
|
case '\t', '\n', '\v', '\f', '\r', ' ', 0x85, 0xA0:
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
func (lm *newlineLimiter) Write(p []byte) (int, error) {
|
func (lm *newlineLimiter) Write(p []byte) (int, error) {
|
||||||
rd := bytes.NewReader(p)
|
for _, b := range p {
|
||||||
for r, n, _ := rd.ReadRune(); n > 0; r, n, _ = rd.ReadRune() {
|
|
||||||
switch {
|
switch {
|
||||||
case r == '\r':
|
case b == '\r':
|
||||||
// Carriage returns can sneak into `help.tpl` when `git clone`
|
// Carriage returns can sneak into `help.tpl` when `git clone`
|
||||||
// is configured to automatically convert line endings.
|
// is configured to automatically convert line endings.
|
||||||
continue
|
continue
|
||||||
case r == '\n':
|
case b == '\n':
|
||||||
lm.newLineCounter++
|
lm.newLineCounter++
|
||||||
if lm.newLineCounter > lm.limit {
|
if lm.newLineCounter > lm.limit {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
case !unicode.IsSpace(r):
|
case !isSpace(b):
|
||||||
lm.newLineCounter = 0
|
lm.newLineCounter = 0
|
||||||
}
|
}
|
||||||
_, err := lm.w.Write([]byte(string(r)))
|
err := lm.w.WriteByte(b)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, err
|
return 0, err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1564,6 +1564,20 @@ func TestServer_Shutdown(t *testing.T) {
|
|||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func BenchmarkServerHelp(b *testing.B) {
|
||||||
|
// server --help is a good proxy for measuring the
|
||||||
|
// constant overhead of each command.
|
||||||
|
|
||||||
|
b.ReportAllocs()
|
||||||
|
for i := 0; i < b.N; i++ {
|
||||||
|
inv, _ := clitest.New(b, "server", "--help")
|
||||||
|
inv.Stdout = io.Discard
|
||||||
|
inv.Stderr = io.Discard
|
||||||
|
err := inv.Run()
|
||||||
|
require.NoError(b, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func generateTLSCertificate(t testing.TB, commonName ...string) (certPath, keyPath string) {
|
func generateTLSCertificate(t testing.TB, commonName ...string) (certPath, keyPath string) {
|
||||||
dir := t.TempDir()
|
dir := t.TempDir()
|
||||||
|
|
||||||
|
|||||||
Vendored
+13
-13
@@ -1,6 +1,6 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder [global-flags] <subcommand>
|
coder [global-flags] <subcommand>
|
||||||
|
|
||||||
Coder v0.0.0-devel — A tool for provisioning self-hosted development
|
Coder v0.0.0-devel — A tool for provisioning self-hosted development
|
||||||
@@ -13,7 +13,7 @@ coder v0.0.0-devel
|
|||||||
|
|
||||||
$ coder templates init
|
$ coder templates init
|
||||||
|
|
||||||
[93mSUBCOMMANDS:[0m
|
SUBCOMMANDS:
|
||||||
config-ssh Add an SSH Host entry for your workspaces "ssh
|
config-ssh Add an SSH Host entry for your workspaces "ssh
|
||||||
coder.workspace"
|
coder.workspace"
|
||||||
create Create a workspace
|
create Create a workspace
|
||||||
@@ -49,42 +49,42 @@ coder v0.0.0-devel
|
|||||||
users Manage users
|
users Manage users
|
||||||
version Show coder version
|
version Show coder version
|
||||||
|
|
||||||
[93mGLOBAL OPTIONS:[0m
|
GLOBAL OPTIONS:
|
||||||
Global options are applied to all commands. They can be set using environment
|
Global options are applied to all commands. They can be set using environment
|
||||||
variables or flags.
|
variables or flags.
|
||||||
|
|
||||||
[96m--[0m[96mdebug-options[0m bool
|
--debug-options bool
|
||||||
Print all options, how they're set, then exit.
|
Print all options, how they're set, then exit.
|
||||||
|
|
||||||
[96m--[0m[96mdisable-direct-connections[0m bool, [96m$CODER_DISABLE_DIRECT_CONNECTIONS[0m
|
--disable-direct-connections bool, $CODER_DISABLE_DIRECT_CONNECTIONS
|
||||||
Disable direct (P2P) connections to workspaces.
|
Disable direct (P2P) connections to workspaces.
|
||||||
|
|
||||||
[96m--[0m[96mglobal-config[0m string, [96m$CODER_CONFIG_DIR[0m (default: ~/.config/coderv2)
|
--global-config string, $CODER_CONFIG_DIR (default: ~/.config/coderv2)
|
||||||
Path to the global `coder` config directory.
|
Path to the global `coder` config directory.
|
||||||
|
|
||||||
[96m--[0m[96mheader[0m string-array, [96m$CODER_HEADER[0m
|
--header string-array, $CODER_HEADER
|
||||||
Additional HTTP headers added to all requests. Provide as key=value.
|
Additional HTTP headers added to all requests. Provide as key=value.
|
||||||
Can be specified multiple times.
|
Can be specified multiple times.
|
||||||
|
|
||||||
[96m--[0m[96mheader-command[0m string, [96m$CODER_HEADER_COMMAND[0m
|
--header-command string, $CODER_HEADER_COMMAND
|
||||||
An external command that outputs additional HTTP headers added to all
|
An external command that outputs additional HTTP headers added to all
|
||||||
requests. The command must output each header as `key=value` on its
|
requests. The command must output each header as `key=value` on its
|
||||||
own line.
|
own line.
|
||||||
|
|
||||||
[96m--[0m[96mno-feature-warning[0m bool, [96m$CODER_NO_FEATURE_WARNING[0m
|
--no-feature-warning bool, $CODER_NO_FEATURE_WARNING
|
||||||
Suppress warnings about unlicensed features.
|
Suppress warnings about unlicensed features.
|
||||||
|
|
||||||
[96m--[0m[96mno-version-warning[0m bool, [96m$CODER_NO_VERSION_WARNING[0m
|
--no-version-warning bool, $CODER_NO_VERSION_WARNING
|
||||||
Suppress warning when client and server versions do not match.
|
Suppress warning when client and server versions do not match.
|
||||||
|
|
||||||
[96m--[0m[96mtoken[0m string, [96m$CODER_SESSION_TOKEN[0m
|
--token string, $CODER_SESSION_TOKEN
|
||||||
Specify an authentication token. For security reasons setting
|
Specify an authentication token. For security reasons setting
|
||||||
CODER_SESSION_TOKEN is preferred.
|
CODER_SESSION_TOKEN is preferred.
|
||||||
|
|
||||||
[96m--[0m[96murl[0m url, [96m$CODER_URL[0m
|
--url url, $CODER_URL
|
||||||
URL to a deployment.
|
URL to a deployment.
|
||||||
|
|
||||||
[96m-[0m[96mv[0m, [96m--[0m[96mverbose[0m bool, [96m$CODER_VERBOSE[0m
|
-v, --verbose bool, $CODER_VERBOSE
|
||||||
Enable verbose output.
|
Enable verbose output.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
+13
-13
@@ -1,43 +1,43 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder agent [flags]
|
coder agent [flags]
|
||||||
|
|
||||||
Starts the Coder workspace agent.
|
Starts the Coder workspace agent.
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m--[0m[96mlog-human[0m string, [96m$CODER_AGENT_LOGGING_HUMAN[0m (default: /dev/stderr)
|
--log-human string, $CODER_AGENT_LOGGING_HUMAN (default: /dev/stderr)
|
||||||
Output human-readable logs to a given file.
|
Output human-readable logs to a given file.
|
||||||
|
|
||||||
[96m--[0m[96mlog-json[0m string, [96m$CODER_AGENT_LOGGING_JSON[0m
|
--log-json string, $CODER_AGENT_LOGGING_JSON
|
||||||
Output JSON logs to a given file.
|
Output JSON logs to a given file.
|
||||||
|
|
||||||
[96m--[0m[96mlog-stackdriver[0m string, [96m$CODER_AGENT_LOGGING_STACKDRIVER[0m
|
--log-stackdriver string, $CODER_AGENT_LOGGING_STACKDRIVER
|
||||||
Output Stackdriver compatible logs to a given file.
|
Output Stackdriver compatible logs to a given file.
|
||||||
|
|
||||||
[96m--[0m[96mauth[0m string, [96m$CODER_AGENT_AUTH[0m (default: token)
|
--auth string, $CODER_AGENT_AUTH (default: token)
|
||||||
Specify the authentication type to use for the agent.
|
Specify the authentication type to use for the agent.
|
||||||
|
|
||||||
[96m--[0m[96mdebug-address[0m string, [96m$CODER_AGENT_DEBUG_ADDRESS[0m (default: 127.0.0.1:2113)
|
--debug-address string, $CODER_AGENT_DEBUG_ADDRESS (default: 127.0.0.1:2113)
|
||||||
The bind address to serve a debug HTTP server.
|
The bind address to serve a debug HTTP server.
|
||||||
|
|
||||||
[96m--[0m[96mlog-dir[0m string, [96m$CODER_AGENT_LOG_DIR[0m (default: /tmp)
|
--log-dir string, $CODER_AGENT_LOG_DIR (default: /tmp)
|
||||||
Specify the location for the agent log files.
|
Specify the location for the agent log files.
|
||||||
|
|
||||||
[96m--[0m[96mno-reap[0m bool
|
--no-reap bool
|
||||||
Do not start a process reaper.
|
Do not start a process reaper.
|
||||||
|
|
||||||
[96m--[0m[96mpprof-address[0m string, [96m$CODER_AGENT_PPROF_ADDRESS[0m (default: 127.0.0.1:6060)
|
--pprof-address string, $CODER_AGENT_PPROF_ADDRESS (default: 127.0.0.1:6060)
|
||||||
The address to serve pprof.
|
The address to serve pprof.
|
||||||
|
|
||||||
[96m--[0m[96mprometheus-address[0m string, [96m$CODER_AGENT_PROMETHEUS_ADDRESS[0m (default: 127.0.0.1:2112)
|
--prometheus-address string, $CODER_AGENT_PROMETHEUS_ADDRESS (default: 127.0.0.1:2112)
|
||||||
The bind address to serve Prometheus metrics.
|
The bind address to serve Prometheus metrics.
|
||||||
|
|
||||||
[96m--[0m[96mssh-max-timeout[0m duration, [96m$CODER_AGENT_SSH_MAX_TIMEOUT[0m (default: 72h)
|
--ssh-max-timeout duration, $CODER_AGENT_SSH_MAX_TIMEOUT (default: 72h)
|
||||||
Specify the max timeout for a SSH connection, it is advisable to set
|
Specify the max timeout for a SSH connection, it is advisable to set
|
||||||
it to a minimum of 60s, but no more than 72h.
|
it to a minimum of 60s, but no more than 72h.
|
||||||
|
|
||||||
[96m--[0m[96mtailnet-listen-port[0m int, [96m$CODER_AGENT_TAILNET_LISTEN_PORT[0m (default: 0)
|
--tailnet-listen-port int, $CODER_AGENT_TAILNET_LISTEN_PORT (default: 0)
|
||||||
Specify a static port for Tailscale to use for listening.
|
Specify a static port for Tailscale to use for listening.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
+11
-11
@@ -1,6 +1,6 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder config-ssh [flags]
|
coder config-ssh [flags]
|
||||||
|
|
||||||
Add an SSH Host entry for your workspaces "ssh coder.workspace"
|
Add an SSH Host entry for your workspaces "ssh coder.workspace"
|
||||||
@@ -15,40 +15,40 @@ coder v0.0.0-devel
|
|||||||
|
|
||||||
$ coder config-ssh --dry-run
|
$ coder config-ssh --dry-run
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m--[0m[96mcoder-binary-path[0m string, [96m$CODER_SSH_CONFIG_BINARY_PATH[0m
|
--coder-binary-path string, $CODER_SSH_CONFIG_BINARY_PATH
|
||||||
Optionally specify the absolute path to the coder binary used in
|
Optionally specify the absolute path to the coder binary used in
|
||||||
ProxyCommand. By default, the binary invoking this command ('config
|
ProxyCommand. By default, the binary invoking this command ('config
|
||||||
ssh') is used.
|
ssh') is used.
|
||||||
|
|
||||||
[96m-[0m[96mn[0m, [96m--[0m[96mdry-run[0m bool, [96m$CODER_SSH_DRY_RUN[0m
|
-n, --dry-run bool, $CODER_SSH_DRY_RUN
|
||||||
Perform a trial run with no changes made, showing a diff at the end.
|
Perform a trial run with no changes made, showing a diff at the end.
|
||||||
|
|
||||||
[96m--[0m[96mforce-unix-filepaths[0m bool, [96m$CODER_CONFIGSSH_UNIX_FILEPATHS[0m
|
--force-unix-filepaths bool, $CODER_CONFIGSSH_UNIX_FILEPATHS
|
||||||
By default, 'config-ssh' uses the os path separator when writing the
|
By default, 'config-ssh' uses the os path separator when writing the
|
||||||
ssh config. This might be an issue in Windows machine that use a
|
ssh config. This might be an issue in Windows machine that use a
|
||||||
unix-like shell. This flag forces the use of unix file paths (the
|
unix-like shell. This flag forces the use of unix file paths (the
|
||||||
forward slash '/').
|
forward slash '/').
|
||||||
|
|
||||||
[96m--[0m[96mssh-config-file[0m string, [96m$CODER_SSH_CONFIG_FILE[0m (default: ~/.ssh/config)
|
--ssh-config-file string, $CODER_SSH_CONFIG_FILE (default: ~/.ssh/config)
|
||||||
Specifies the path to an SSH config.
|
Specifies the path to an SSH config.
|
||||||
|
|
||||||
[96m--[0m[96mssh-host-prefix[0m string, [96m$CODER_CONFIGSSH_SSH_HOST_PREFIX[0m
|
--ssh-host-prefix string, $CODER_CONFIGSSH_SSH_HOST_PREFIX
|
||||||
Override the default host prefix.
|
Override the default host prefix.
|
||||||
|
|
||||||
[96m-[0m[96mo[0m, [96m--[0m[96mssh-option[0m string-array, [96m$CODER_SSH_CONFIG_OPTS[0m
|
-o, --ssh-option string-array, $CODER_SSH_CONFIG_OPTS
|
||||||
Specifies additional SSH options to embed in each host stanza.
|
Specifies additional SSH options to embed in each host stanza.
|
||||||
|
|
||||||
[96m--[0m[96muse-previous-options[0m bool, [96m$CODER_SSH_USE_PREVIOUS_OPTIONS[0m
|
--use-previous-options bool, $CODER_SSH_USE_PREVIOUS_OPTIONS
|
||||||
Specifies whether or not to keep options from previous run of
|
Specifies whether or not to keep options from previous run of
|
||||||
config-ssh.
|
config-ssh.
|
||||||
|
|
||||||
[96m--[0m[96mwait[0m yes|no|auto, [96m$CODER_CONFIGSSH_WAIT[0m (default: auto)
|
--wait yes|no|auto, $CODER_CONFIGSSH_WAIT (default: auto)
|
||||||
Specifies whether or not to wait for the startup script to finish
|
Specifies whether or not to wait for the startup script to finish
|
||||||
executing. Auto means that the agent startup script behavior
|
executing. Auto means that the agent startup script behavior
|
||||||
configured in the workspace template is used.
|
configured in the workspace template is used.
|
||||||
|
|
||||||
[96m-[0m[96my[0m, [96m--[0m[96myes[0m bool
|
-y, --yes bool
|
||||||
Bypass prompts.
|
Bypass prompts.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
+8
-8
@@ -1,6 +1,6 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder create [flags] [name]
|
coder create [flags] [name]
|
||||||
|
|
||||||
Create a workspace
|
Create a workspace
|
||||||
@@ -9,26 +9,26 @@ coder v0.0.0-devel
|
|||||||
|
|
||||||
$ coder create <username>/<workspace_name>
|
$ coder create <username>/<workspace_name>
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m--[0m[96mparameter[0m string-array, [96m$CODER_RICH_PARAMETER[0m
|
--parameter string-array, $CODER_RICH_PARAMETER
|
||||||
Rich parameter value in the format "name=value".
|
Rich parameter value in the format "name=value".
|
||||||
|
|
||||||
[96m--[0m[96mrich-parameter-file[0m string, [96m$CODER_RICH_PARAMETER_FILE[0m
|
--rich-parameter-file string, $CODER_RICH_PARAMETER_FILE
|
||||||
Specify a file path with values for rich parameters defined in the
|
Specify a file path with values for rich parameters defined in the
|
||||||
template.
|
template.
|
||||||
|
|
||||||
[96m--[0m[96mstart-at[0m string, [96m$CODER_WORKSPACE_START_AT[0m
|
--start-at string, $CODER_WORKSPACE_START_AT
|
||||||
Specify the workspace autostart schedule. Check coder schedule start
|
Specify the workspace autostart schedule. Check coder schedule start
|
||||||
--help for the syntax.
|
--help for the syntax.
|
||||||
|
|
||||||
[96m--[0m[96mstop-after[0m duration, [96m$CODER_WORKSPACE_STOP_AFTER[0m
|
--stop-after duration, $CODER_WORKSPACE_STOP_AFTER
|
||||||
Specify a duration after which the workspace should shut down (e.g.
|
Specify a duration after which the workspace should shut down (e.g.
|
||||||
8h).
|
8h).
|
||||||
|
|
||||||
[96m-[0m[96mt[0m, [96m--[0m[96mtemplate[0m string, [96m$CODER_TEMPLATE_NAME[0m
|
-t, --template string, $CODER_TEMPLATE_NAME
|
||||||
Specify a template name.
|
Specify a template name.
|
||||||
|
|
||||||
[96m-[0m[96my[0m, [96m--[0m[96myes[0m bool
|
-y, --yes bool
|
||||||
Bypass prompts.
|
Bypass prompts.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
+4
-4
@@ -1,19 +1,19 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder delete [flags] <workspace>
|
coder delete [flags] <workspace>
|
||||||
|
|
||||||
Delete a workspace
|
Delete a workspace
|
||||||
|
|
||||||
Aliases: rm
|
Aliases: rm
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m--[0m[96morphan[0m bool
|
--orphan bool
|
||||||
Delete a workspace without deleting its resources. This can delete a
|
Delete a workspace without deleting its resources. This can delete a
|
||||||
workspace in a broken state, but may also lead to unaccounted cloud
|
workspace in a broken state, but may also lead to unaccounted cloud
|
||||||
resources.
|
resources.
|
||||||
|
|
||||||
[96m-[0m[96my[0m, [96m--[0m[96myes[0m bool
|
-y, --yes bool
|
||||||
Bypass prompts.
|
Bypass prompts.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
+5
-5
@@ -1,6 +1,6 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder dotfiles [flags] <git_repo_url>
|
coder dotfiles [flags] <git_repo_url>
|
||||||
|
|
||||||
Personalize your workspace by applying a canonical dotfiles repository
|
Personalize your workspace by applying a canonical dotfiles repository
|
||||||
@@ -9,17 +9,17 @@ coder v0.0.0-devel
|
|||||||
|
|
||||||
$ coder dotfiles --yes git@github.com:example/dotfiles.git
|
$ coder dotfiles --yes git@github.com:example/dotfiles.git
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m-[0m[96mb[0m, [96m--[0m[96mbranch[0m string
|
-b, --branch string
|
||||||
Specifies which branch to clone. If empty, will default to cloning the
|
Specifies which branch to clone. If empty, will default to cloning the
|
||||||
default branch or using the existing branch in the cloned repo on
|
default branch or using the existing branch in the cloned repo on
|
||||||
disk.
|
disk.
|
||||||
|
|
||||||
[96m--[0m[96msymlink-dir[0m string, [96m$CODER_SYMLINK_DIR[0m
|
--symlink-dir string, $CODER_SYMLINK_DIR
|
||||||
Specifies the directory for the dotfiles symlink destinations. If
|
Specifies the directory for the dotfiles symlink destinations. If
|
||||||
empty, will use $HOME.
|
empty, will use $HOME.
|
||||||
|
|
||||||
[96m-[0m[96my[0m, [96m--[0m[96myes[0m bool
|
-y, --yes bool
|
||||||
Bypass prompts.
|
Bypass prompts.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
+6
-6
@@ -1,25 +1,25 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder list [flags]
|
coder list [flags]
|
||||||
|
|
||||||
List workspaces
|
List workspaces
|
||||||
|
|
||||||
Aliases: ls
|
Aliases: ls
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m-[0m[96ma[0m, [96m--[0m[96mall[0m bool
|
-a, --all bool
|
||||||
Specifies whether all workspaces will be listed or not.
|
Specifies whether all workspaces will be listed or not.
|
||||||
|
|
||||||
[96m-[0m[96mc[0m, [96m--[0m[96mcolumn[0m string-array (default: workspace,template,status,healthy,last built,outdated,starts at,stops after)
|
-c, --column string-array (default: workspace,template,status,healthy,last built,outdated,starts at,stops after)
|
||||||
Columns to display in table output. Available columns: workspace,
|
Columns to display in table output. Available columns: workspace,
|
||||||
template, status, healthy, last built, outdated, starts at, stops
|
template, status, healthy, last built, outdated, starts at, stops
|
||||||
after, daily cost.
|
after, daily cost.
|
||||||
|
|
||||||
[96m-[0m[96mo[0m, [96m--[0m[96moutput[0m string (default: table)
|
-o, --output string (default: table)
|
||||||
Output format. Available formats: table, json.
|
Output format. Available formats: table, json.
|
||||||
|
|
||||||
[96m--[0m[96msearch[0m string (default: owner:me)
|
--search string (default: owner:me)
|
||||||
Search for a workspace with a query.
|
Search for a workspace with a query.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
+7
-7
@@ -1,28 +1,28 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder login [flags] <url>
|
coder login [flags] <url>
|
||||||
|
|
||||||
Authenticate with Coder deployment
|
Authenticate with Coder deployment
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m--[0m[96mfirst-user-email[0m string, [96m$CODER_FIRST_USER_EMAIL[0m
|
--first-user-email string, $CODER_FIRST_USER_EMAIL
|
||||||
Specifies an email address to use if creating the first user for the
|
Specifies an email address to use if creating the first user for the
|
||||||
deployment.
|
deployment.
|
||||||
|
|
||||||
[96m--[0m[96mfirst-user-password[0m string, [96m$CODER_FIRST_USER_PASSWORD[0m
|
--first-user-password string, $CODER_FIRST_USER_PASSWORD
|
||||||
Specifies a password to use if creating the first user for the
|
Specifies a password to use if creating the first user for the
|
||||||
deployment.
|
deployment.
|
||||||
|
|
||||||
[96m--[0m[96mfirst-user-trial[0m bool, [96m$CODER_FIRST_USER_TRIAL[0m
|
--first-user-trial bool, $CODER_FIRST_USER_TRIAL
|
||||||
Specifies whether a trial license should be provisioned for the Coder
|
Specifies whether a trial license should be provisioned for the Coder
|
||||||
deployment or not.
|
deployment or not.
|
||||||
|
|
||||||
[96m--[0m[96mfirst-user-username[0m string, [96m$CODER_FIRST_USER_USERNAME[0m
|
--first-user-username string, $CODER_FIRST_USER_USERNAME
|
||||||
Specifies a username to use if creating the first user for the
|
Specifies a username to use if creating the first user for the
|
||||||
deployment.
|
deployment.
|
||||||
|
|
||||||
[96m--[0m[96muse-token-as-session[0m bool
|
--use-token-as-session bool
|
||||||
By default, the CLI will generate a new session token when logging in.
|
By default, the CLI will generate a new session token when logging in.
|
||||||
This flag will instead use the provided token as the session token.
|
This flag will instead use the provided token as the session token.
|
||||||
|
|
||||||
|
|||||||
+3
-3
@@ -1,12 +1,12 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder logout [flags]
|
coder logout [flags]
|
||||||
|
|
||||||
Unauthenticate your local session
|
Unauthenticate your local session
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m-[0m[96my[0m, [96m--[0m[96myes[0m bool
|
-y, --yes bool
|
||||||
Bypass prompts.
|
Bypass prompts.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder netcheck
|
coder netcheck
|
||||||
|
|
||||||
Print network debug information for DERP and STUN
|
Print network debug information for DERP and STUN
|
||||||
|
|||||||
+5
-5
@@ -1,18 +1,18 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder ping [flags] <workspace>
|
coder ping [flags] <workspace>
|
||||||
|
|
||||||
Ping a workspace
|
Ping a workspace
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m-[0m[96mn[0m, [96m--[0m[96mnum[0m int (default: 10)
|
-n, --num int (default: 10)
|
||||||
Specifies the number of pings to perform.
|
Specifies the number of pings to perform.
|
||||||
|
|
||||||
[96m-[0m[96mt[0m, [96m--[0m[96mtimeout[0m duration (default: 5s)
|
-t, --timeout duration (default: 5s)
|
||||||
Specifies how long to wait for a ping to complete.
|
Specifies how long to wait for a ping to complete.
|
||||||
|
|
||||||
[96m--[0m[96mwait[0m duration (default: 1s)
|
--wait duration (default: 1s)
|
||||||
Specifies how long to wait between pings.
|
Specifies how long to wait between pings.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
+4
-4
@@ -1,6 +1,6 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder port-forward [flags] <workspace>
|
coder port-forward [flags] <workspace>
|
||||||
|
|
||||||
Forward ports from a workspace to the local machine. For reverse port
|
Forward ports from a workspace to the local machine. For reverse port
|
||||||
@@ -33,11 +33,11 @@ coder v0.0.0-devel
|
|||||||
|
|
||||||
$ coder port-forward <workspace> --tcp 1.2.3.4:8080:8080
|
$ coder port-forward <workspace> --tcp 1.2.3.4:8080:8080
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m-[0m[96mp[0m, [96m--[0m[96mtcp[0m string-array, [96m$CODER_PORT_FORWARD_TCP[0m
|
-p, --tcp string-array, $CODER_PORT_FORWARD_TCP
|
||||||
Forward TCP port(s) from the workspace to the local machine.
|
Forward TCP port(s) from the workspace to the local machine.
|
||||||
|
|
||||||
[96m--[0m[96mudp[0m string-array, [96m$CODER_PORT_FORWARD_UDP[0m
|
--udp string-array, $CODER_PORT_FORWARD_UDP
|
||||||
Forward UDP port(s) from the workspace to the local machine. The UDP
|
Forward UDP port(s) from the workspace to the local machine. The UDP
|
||||||
connection has TCP-like semantics to support stateful UDP protocols.
|
connection has TCP-like semantics to support stateful UDP protocols.
|
||||||
|
|
||||||
|
|||||||
+4
-4
@@ -1,18 +1,18 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder publickey [flags]
|
coder publickey [flags]
|
||||||
|
|
||||||
Output your Coder public key used for Git operations
|
Output your Coder public key used for Git operations
|
||||||
|
|
||||||
Aliases: pubkey
|
Aliases: pubkey
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m--[0m[96mreset[0m bool
|
--reset bool
|
||||||
Regenerate your public key. This will require updating the key on any
|
Regenerate your public key. This will require updating the key on any
|
||||||
services it's registered with.
|
services it's registered with.
|
||||||
|
|
||||||
[96m-[0m[96my[0m, [96m--[0m[96myes[0m bool
|
-y, --yes bool
|
||||||
Bypass prompts.
|
Bypass prompts.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
+3
-3
@@ -1,12 +1,12 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder rename [flags] <workspace> <new name>
|
coder rename [flags] <workspace> <new name>
|
||||||
|
|
||||||
Rename a workspace
|
Rename a workspace
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m-[0m[96my[0m, [96m--[0m[96myes[0m bool
|
-y, --yes bool
|
||||||
Bypass prompts.
|
Bypass prompts.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
+3
-3
@@ -1,12 +1,12 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder reset-password [flags] <username>
|
coder reset-password [flags] <username>
|
||||||
|
|
||||||
Directly connect to the database to reset a user's password
|
Directly connect to the database to reset a user's password
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m--[0m[96mpostgres-url[0m string, [96m$CODER_PG_CONNECTION_URL[0m
|
--postgres-url string, $CODER_PG_CONNECTION_URL
|
||||||
URL of a PostgreSQL database to connect to.
|
URL of a PostgreSQL database to connect to.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
+5
-5
@@ -1,18 +1,18 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder restart [flags] <workspace>
|
coder restart [flags] <workspace>
|
||||||
|
|
||||||
Restart a workspace
|
Restart a workspace
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m--[0m[96mbuild-option[0m string-array, [96m$CODER_BUILD_OPTION[0m
|
--build-option string-array, $CODER_BUILD_OPTION
|
||||||
Build option value in the format "name=value".
|
Build option value in the format "name=value".
|
||||||
|
|
||||||
[96m--[0m[96mbuild-options[0m bool
|
--build-options bool
|
||||||
Prompt for one-time build options defined with ephemeral parameters.
|
Prompt for one-time build options defined with ephemeral parameters.
|
||||||
|
|
||||||
[96m-[0m[96my[0m, [96m--[0m[96myes[0m bool
|
-y, --yes bool
|
||||||
Bypass prompts.
|
Bypass prompts.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
+2
-2
@@ -1,11 +1,11 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder schedule { show | start | stop | override } <workspace>
|
coder schedule { show | start | stop | override } <workspace>
|
||||||
|
|
||||||
Schedule automated start and stop times for workspaces
|
Schedule automated start and stop times for workspaces
|
||||||
|
|
||||||
[93mSUBCOMMANDS:[0m
|
SUBCOMMANDS:
|
||||||
override-stop Override the stop time of a currently running workspace
|
override-stop Override the stop time of a currently running workspace
|
||||||
instance.
|
instance.
|
||||||
show Show workspace schedule
|
show Show workspace schedule
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder schedule override-stop <workspace-name> <duration from now>
|
coder schedule override-stop <workspace-name> <duration from now>
|
||||||
|
|
||||||
Override the stop time of a currently running workspace instance.
|
Override the stop time of a currently running workspace instance.
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder schedule show <workspace-name>
|
coder schedule show <workspace-name>
|
||||||
|
|
||||||
Show workspace schedule
|
Show workspace schedule
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder schedule start <workspace-name> { <start-time> [day-of-week] [location]
|
coder schedule start <workspace-name> { <start-time> [day-of-week] [location]
|
||||||
| manual }
|
| manual }
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder schedule stop <workspace-name> { <duration> | manual }
|
coder schedule stop <workspace-name> { <duration> | manual }
|
||||||
|
|
||||||
Edit workspace stop schedule
|
Edit workspace stop schedule
|
||||||
|
|||||||
+119
-119
@@ -1,11 +1,11 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder server [flags]
|
coder server [flags]
|
||||||
|
|
||||||
Start a Coder server
|
Start a Coder server
|
||||||
|
|
||||||
[93mSUBCOMMANDS:[0m
|
SUBCOMMANDS:
|
||||||
create-admin-user Create a new admin user with the given username,
|
create-admin-user Create a new admin user with the given username,
|
||||||
email and password and adds it to every
|
email and password and adds it to every
|
||||||
organization.
|
organization.
|
||||||
@@ -13,153 +13,153 @@ coder v0.0.0-devel
|
|||||||
postgres-builtin-url Output the connection URL for the built-in
|
postgres-builtin-url Output the connection URL for the built-in
|
||||||
PostgreSQL deployment.
|
PostgreSQL deployment.
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m--[0m[96mcache-dir[0m string, [96m$CODER_CACHE_DIRECTORY[0m (default: [cache dir])
|
--cache-dir string, $CODER_CACHE_DIRECTORY (default: [cache dir])
|
||||||
The directory to cache temporary files. If unspecified and
|
The directory to cache temporary files. If unspecified and
|
||||||
$CACHE_DIRECTORY is set, it will be used for compatibility with
|
$CACHE_DIRECTORY is set, it will be used for compatibility with
|
||||||
systemd.
|
systemd.
|
||||||
|
|
||||||
[96m--[0m[96mdisable-owner-workspace-access[0m bool, [96m$CODER_DISABLE_OWNER_WORKSPACE_ACCESS[0m
|
--disable-owner-workspace-access bool, $CODER_DISABLE_OWNER_WORKSPACE_ACCESS
|
||||||
Remove the permission for the 'owner' role to have workspace execution
|
Remove the permission for the 'owner' role to have workspace execution
|
||||||
on all workspaces. This prevents the 'owner' from ssh, apps, and
|
on all workspaces. This prevents the 'owner' from ssh, apps, and
|
||||||
terminal access based on the 'owner' role. They still have their user
|
terminal access based on the 'owner' role. They still have their user
|
||||||
permissions to access their own workspaces.
|
permissions to access their own workspaces.
|
||||||
|
|
||||||
[96m--[0m[96mdisable-path-apps[0m bool, [96m$CODER_DISABLE_PATH_APPS[0m
|
--disable-path-apps bool, $CODER_DISABLE_PATH_APPS
|
||||||
Disable workspace apps that are not served from subdomains. Path-based
|
Disable workspace apps that are not served from subdomains. Path-based
|
||||||
apps can make requests to the Coder API and pose a security risk when
|
apps can make requests to the Coder API and pose a security risk when
|
||||||
the workspace serves malicious JavaScript. This is recommended for
|
the workspace serves malicious JavaScript. This is recommended for
|
||||||
security purposes if a --wildcard-access-url is configured.
|
security purposes if a --wildcard-access-url is configured.
|
||||||
|
|
||||||
[96m--[0m[96mswagger-enable[0m bool, [96m$CODER_SWAGGER_ENABLE[0m
|
--swagger-enable bool, $CODER_SWAGGER_ENABLE
|
||||||
Expose the swagger endpoint via /swagger.
|
Expose the swagger endpoint via /swagger.
|
||||||
|
|
||||||
[96m--[0m[96mexperiments[0m string-array, [96m$CODER_EXPERIMENTS[0m
|
--experiments string-array, $CODER_EXPERIMENTS
|
||||||
Enable one or more experiments. These are not ready for production.
|
Enable one or more experiments. These are not ready for production.
|
||||||
Separate multiple experiments with commas, or enter '*' to opt-in to
|
Separate multiple experiments with commas, or enter '*' to opt-in to
|
||||||
all available experiments.
|
all available experiments.
|
||||||
|
|
||||||
[96m--[0m[96mpostgres-url[0m string, [96m$CODER_PG_CONNECTION_URL[0m
|
--postgres-url string, $CODER_PG_CONNECTION_URL
|
||||||
URL of a PostgreSQL database. If empty, PostgreSQL binaries will be
|
URL of a PostgreSQL database. If empty, PostgreSQL binaries will be
|
||||||
downloaded from Maven (https://repo1.maven.org/maven2) and store all
|
downloaded from Maven (https://repo1.maven.org/maven2) and store all
|
||||||
data in the config root. Access the built-in database with "coder
|
data in the config root. Access the built-in database with "coder
|
||||||
server postgres-builtin-url".
|
server postgres-builtin-url".
|
||||||
|
|
||||||
[96m--[0m[96mssh-keygen-algorithm[0m string, [96m$CODER_SSH_KEYGEN_ALGORITHM[0m (default: ed25519)
|
--ssh-keygen-algorithm string, $CODER_SSH_KEYGEN_ALGORITHM (default: ed25519)
|
||||||
The algorithm to use for generating ssh keys. Accepted values are
|
The algorithm to use for generating ssh keys. Accepted values are
|
||||||
"ed25519", "ecdsa", or "rsa4096".
|
"ed25519", "ecdsa", or "rsa4096".
|
||||||
|
|
||||||
[96m--[0m[96mupdate-check[0m bool, [96m$CODER_UPDATE_CHECK[0m (default: false)
|
--update-check bool, $CODER_UPDATE_CHECK (default: false)
|
||||||
Periodically check for new releases of Coder and inform the owner. The
|
Periodically check for new releases of Coder and inform the owner. The
|
||||||
check is performed once per day.
|
check is performed once per day.
|
||||||
|
|
||||||
[93mCLIENT OPTIONS:[0m
|
CLIENT OPTIONS:
|
||||||
These options change the behavior of how clients interact with the Coder.
|
These options change the behavior of how clients interact with the Coder.
|
||||||
Clients include the coder cli, vs code extension, and the web UI.
|
Clients include the coder cli, vs code extension, and the web UI.
|
||||||
|
|
||||||
[96m--[0m[96mssh-config-options[0m string-array, [96m$CODER_SSH_CONFIG_OPTIONS[0m
|
--ssh-config-options string-array, $CODER_SSH_CONFIG_OPTIONS
|
||||||
These SSH config options will override the default SSH config options.
|
These SSH config options will override the default SSH config options.
|
||||||
Provide options in "key=value" or "key value" format separated by
|
Provide options in "key=value" or "key value" format separated by
|
||||||
commas.Using this incorrectly can break SSH to your deployment, use
|
commas.Using this incorrectly can break SSH to your deployment, use
|
||||||
cautiously.
|
cautiously.
|
||||||
|
|
||||||
[96m--[0m[96mssh-hostname-prefix[0m string, [96m$CODER_SSH_HOSTNAME_PREFIX[0m (default: coder.)
|
--ssh-hostname-prefix string, $CODER_SSH_HOSTNAME_PREFIX (default: coder.)
|
||||||
The SSH deployment prefix is used in the Host of the ssh config.
|
The SSH deployment prefix is used in the Host of the ssh config.
|
||||||
|
|
||||||
[93mCONFIG OPTIONS:[0m
|
CONFIG OPTIONS:
|
||||||
Use a YAML configuration file when your server launch become unwieldy.
|
Use a YAML configuration file when your server launch become unwieldy.
|
||||||
|
|
||||||
[96m-[0m[96mc[0m, [96m--[0m[96mconfig[0m yaml-config-path, [96m$CODER_CONFIG_PATH[0m
|
-c, --config yaml-config-path, $CODER_CONFIG_PATH
|
||||||
Specify a YAML file to load configuration from.
|
Specify a YAML file to load configuration from.
|
||||||
|
|
||||||
[96m--[0m[96mwrite-config[0m bool
|
--write-config bool
|
||||||
|
|
||||||
Write out the current server config as YAML to stdout.
|
Write out the current server config as YAML to stdout.
|
||||||
|
|
||||||
[93mINTROSPECTION / LOGGING OPTIONS:[0m
|
INTROSPECTION / LOGGING OPTIONS:
|
||||||
[96m--[0m[96menable-terraform-debug-mode[0m bool, [96m$CODER_ENABLE_TERRAFORM_DEBUG_MODE[0m (default: false)
|
--enable-terraform-debug-mode bool, $CODER_ENABLE_TERRAFORM_DEBUG_MODE (default: false)
|
||||||
Allow administrators to enable Terraform debug output.
|
Allow administrators to enable Terraform debug output.
|
||||||
|
|
||||||
[96m--[0m[96mlog-human[0m string, [96m$CODER_LOGGING_HUMAN[0m (default: /dev/stderr)
|
--log-human string, $CODER_LOGGING_HUMAN (default: /dev/stderr)
|
||||||
Output human-readable logs to a given file.
|
Output human-readable logs to a given file.
|
||||||
|
|
||||||
[96m--[0m[96mlog-json[0m string, [96m$CODER_LOGGING_JSON[0m
|
--log-json string, $CODER_LOGGING_JSON
|
||||||
Output JSON logs to a given file.
|
Output JSON logs to a given file.
|
||||||
|
|
||||||
[96m-[0m[96ml[0m, [96m--[0m[96mlog-filter[0m string-array, [96m$CODER_LOG_FILTER[0m
|
-l, --log-filter string-array, $CODER_LOG_FILTER
|
||||||
Filter debug logs by matching against a given regex. Use .* to match
|
Filter debug logs by matching against a given regex. Use .* to match
|
||||||
all debug logs.
|
all debug logs.
|
||||||
|
|
||||||
[96m--[0m[96mlog-stackdriver[0m string, [96m$CODER_LOGGING_STACKDRIVER[0m
|
--log-stackdriver string, $CODER_LOGGING_STACKDRIVER
|
||||||
Output Stackdriver compatible logs to a given file.
|
Output Stackdriver compatible logs to a given file.
|
||||||
|
|
||||||
[93mINTROSPECTION / PROMETHEUS OPTIONS:[0m
|
INTROSPECTION / PROMETHEUS OPTIONS:
|
||||||
[96m--[0m[96mprometheus-address[0m host:port, [96m$CODER_PROMETHEUS_ADDRESS[0m (default: 127.0.0.1:2112)
|
--prometheus-address host:port, $CODER_PROMETHEUS_ADDRESS (default: 127.0.0.1:2112)
|
||||||
The bind address to serve prometheus metrics.
|
The bind address to serve prometheus metrics.
|
||||||
|
|
||||||
[96m--[0m[96mprometheus-collect-agent-stats[0m bool, [96m$CODER_PROMETHEUS_COLLECT_AGENT_STATS[0m
|
--prometheus-collect-agent-stats bool, $CODER_PROMETHEUS_COLLECT_AGENT_STATS
|
||||||
Collect agent stats (may increase charges for metrics storage).
|
Collect agent stats (may increase charges for metrics storage).
|
||||||
|
|
||||||
[96m--[0m[96mprometheus-collect-db-metrics[0m bool, [96m$CODER_PROMETHEUS_COLLECT_DB_METRICS[0m (default: false)
|
--prometheus-collect-db-metrics bool, $CODER_PROMETHEUS_COLLECT_DB_METRICS (default: false)
|
||||||
Collect database metrics (may increase charges for metrics storage).
|
Collect database metrics (may increase charges for metrics storage).
|
||||||
|
|
||||||
[96m--[0m[96mprometheus-enable[0m bool, [96m$CODER_PROMETHEUS_ENABLE[0m
|
--prometheus-enable bool, $CODER_PROMETHEUS_ENABLE
|
||||||
Serve prometheus metrics on the address defined by prometheus address.
|
Serve prometheus metrics on the address defined by prometheus address.
|
||||||
|
|
||||||
[93mINTROSPECTION / TRACING OPTIONS:[0m
|
INTROSPECTION / TRACING OPTIONS:
|
||||||
[96m--[0m[96mtrace-logs[0m bool, [96m$CODER_TRACE_LOGS[0m
|
--trace-logs bool, $CODER_TRACE_LOGS
|
||||||
Enables capturing of logs as events in traces. This is useful for
|
Enables capturing of logs as events in traces. This is useful for
|
||||||
debugging, but may result in a very large amount of events being sent
|
debugging, but may result in a very large amount of events being sent
|
||||||
to the tracing backend which may incur significant costs.
|
to the tracing backend which may incur significant costs.
|
||||||
|
|
||||||
[96m--[0m[96mtrace[0m bool, [96m$CODER_TRACE_ENABLE[0m
|
--trace bool, $CODER_TRACE_ENABLE
|
||||||
Whether application tracing data is collected. It exports to a backend
|
Whether application tracing data is collected. It exports to a backend
|
||||||
configured by environment variables. See:
|
configured by environment variables. See:
|
||||||
https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md.
|
https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md.
|
||||||
|
|
||||||
[96m--[0m[96mtrace-honeycomb-api-key[0m string, [96m$CODER_TRACE_HONEYCOMB_API_KEY[0m
|
--trace-honeycomb-api-key string, $CODER_TRACE_HONEYCOMB_API_KEY
|
||||||
Enables trace exporting to Honeycomb.io using the provided API Key.
|
Enables trace exporting to Honeycomb.io using the provided API Key.
|
||||||
|
|
||||||
[93mINTROSPECTION / PPROF OPTIONS:[0m
|
INTROSPECTION / PPROF OPTIONS:
|
||||||
[96m--[0m[96mpprof-address[0m host:port, [96m$CODER_PPROF_ADDRESS[0m (default: 127.0.0.1:6060)
|
--pprof-address host:port, $CODER_PPROF_ADDRESS (default: 127.0.0.1:6060)
|
||||||
The bind address to serve pprof.
|
The bind address to serve pprof.
|
||||||
|
|
||||||
[96m--[0m[96mpprof-enable[0m bool, [96m$CODER_PPROF_ENABLE[0m
|
--pprof-enable bool, $CODER_PPROF_ENABLE
|
||||||
Serve pprof metrics on the address defined by pprof address.
|
Serve pprof metrics on the address defined by pprof address.
|
||||||
|
|
||||||
[93mNETWORKING OPTIONS:[0m
|
NETWORKING OPTIONS:
|
||||||
[96m--[0m[96maccess-url[0m url, [96m$CODER_ACCESS_URL[0m
|
--access-url url, $CODER_ACCESS_URL
|
||||||
The URL that users will use to access the Coder deployment.
|
The URL that users will use to access the Coder deployment.
|
||||||
|
|
||||||
[96m--[0m[96mdocs-url[0m url, [96m$CODER_DOCS_URL[0m
|
--docs-url url, $CODER_DOCS_URL
|
||||||
Specifies the custom docs URL.
|
Specifies the custom docs URL.
|
||||||
|
|
||||||
[96m--[0m[96mproxy-trusted-headers[0m string-array, [96m$CODER_PROXY_TRUSTED_HEADERS[0m
|
--proxy-trusted-headers string-array, $CODER_PROXY_TRUSTED_HEADERS
|
||||||
Headers to trust for forwarding IP addresses. e.g. Cf-Connecting-Ip,
|
Headers to trust for forwarding IP addresses. e.g. Cf-Connecting-Ip,
|
||||||
True-Client-Ip, X-Forwarded-For.
|
True-Client-Ip, X-Forwarded-For.
|
||||||
|
|
||||||
[96m--[0m[96mproxy-trusted-origins[0m string-array, [96m$CODER_PROXY_TRUSTED_ORIGINS[0m
|
--proxy-trusted-origins string-array, $CODER_PROXY_TRUSTED_ORIGINS
|
||||||
Origin addresses to respect "proxy-trusted-headers". e.g.
|
Origin addresses to respect "proxy-trusted-headers". e.g.
|
||||||
192.168.1.0/24.
|
192.168.1.0/24.
|
||||||
|
|
||||||
[96m--[0m[96mredirect-to-access-url[0m bool, [96m$CODER_REDIRECT_TO_ACCESS_URL[0m
|
--redirect-to-access-url bool, $CODER_REDIRECT_TO_ACCESS_URL
|
||||||
Specifies whether to redirect requests that do not match the access
|
Specifies whether to redirect requests that do not match the access
|
||||||
URL host.
|
URL host.
|
||||||
|
|
||||||
[96m--[0m[96msecure-auth-cookie[0m bool, [96m$CODER_SECURE_AUTH_COOKIE[0m
|
--secure-auth-cookie bool, $CODER_SECURE_AUTH_COOKIE
|
||||||
Controls if the 'Secure' property is set on browser session cookies.
|
Controls if the 'Secure' property is set on browser session cookies.
|
||||||
|
|
||||||
[96m--[0m[96mwildcard-access-url[0m url, [96m$CODER_WILDCARD_ACCESS_URL[0m
|
--wildcard-access-url url, $CODER_WILDCARD_ACCESS_URL
|
||||||
Specifies the wildcard hostname to use for workspace applications in
|
Specifies the wildcard hostname to use for workspace applications in
|
||||||
the form "*.example.com".
|
the form "*.example.com".
|
||||||
|
|
||||||
[93mNETWORKING / DERP OPTIONS:[0m
|
NETWORKING / DERP OPTIONS:
|
||||||
Most Coder deployments never have to think about DERP because all connections
|
Most Coder deployments never have to think about DERP because all connections
|
||||||
between workspaces and users are peer-to-peer. However, when Coder cannot
|
between workspaces and users are peer-to-peer. However, when Coder cannot
|
||||||
establish a peer to peer connection, Coder uses a distributed relay network
|
establish a peer to peer connection, Coder uses a distributed relay network
|
||||||
backed by Tailscale and WireGuard.
|
backed by Tailscale and WireGuard.
|
||||||
|
|
||||||
[96m--[0m[96mblock-direct-connections[0m bool, [96m$CODER_BLOCK_DIRECT[0m
|
--block-direct-connections bool, $CODER_BLOCK_DIRECT
|
||||||
Block peer-to-peer (aka. direct) workspace connections. All workspace
|
Block peer-to-peer (aka. direct) workspace connections. All workspace
|
||||||
connections from the CLI will be proxied through Coder (or custom
|
connections from the CLI will be proxied through Coder (or custom
|
||||||
configured DERP servers) and will never be peer-to-peer when enabled.
|
configured DERP servers) and will never be peer-to-peer when enabled.
|
||||||
@@ -167,36 +167,36 @@ backed by Tailscale and WireGuard.
|
|||||||
until they are restarted after this change has been made, but new
|
until they are restarted after this change has been made, but new
|
||||||
connections will still be proxied regardless.
|
connections will still be proxied regardless.
|
||||||
|
|
||||||
[96m--[0m[96mderp-config-path[0m string, [96m$CODER_DERP_CONFIG_PATH[0m
|
--derp-config-path string, $CODER_DERP_CONFIG_PATH
|
||||||
Path to read a DERP mapping from. See:
|
Path to read a DERP mapping from. See:
|
||||||
https://tailscale.com/kb/1118/custom-derp-servers/.
|
https://tailscale.com/kb/1118/custom-derp-servers/.
|
||||||
|
|
||||||
[96m--[0m[96mderp-config-url[0m string, [96m$CODER_DERP_CONFIG_URL[0m
|
--derp-config-url string, $CODER_DERP_CONFIG_URL
|
||||||
URL to fetch a DERP mapping on startup. See:
|
URL to fetch a DERP mapping on startup. See:
|
||||||
https://tailscale.com/kb/1118/custom-derp-servers/.
|
https://tailscale.com/kb/1118/custom-derp-servers/.
|
||||||
|
|
||||||
[96m--[0m[96mderp-force-websockets[0m bool, [96m$CODER_DERP_FORCE_WEBSOCKETS[0m
|
--derp-force-websockets bool, $CODER_DERP_FORCE_WEBSOCKETS
|
||||||
Force clients and agents to always use WebSocket to connect to DERP
|
Force clients and agents to always use WebSocket to connect to DERP
|
||||||
relay servers. By default, DERP uses `Upgrade: derp`, which may cause
|
relay servers. By default, DERP uses `Upgrade: derp`, which may cause
|
||||||
issues with some reverse proxies. Clients may automatically fallback
|
issues with some reverse proxies. Clients may automatically fallback
|
||||||
to WebSocket if they detect an issue with `Upgrade: derp`, but this
|
to WebSocket if they detect an issue with `Upgrade: derp`, but this
|
||||||
does not work in all situations.
|
does not work in all situations.
|
||||||
|
|
||||||
[96m--[0m[96mderp-server-enable[0m bool, [96m$CODER_DERP_SERVER_ENABLE[0m (default: true)
|
--derp-server-enable bool, $CODER_DERP_SERVER_ENABLE (default: true)
|
||||||
Whether to enable or disable the embedded DERP relay server.
|
Whether to enable or disable the embedded DERP relay server.
|
||||||
|
|
||||||
[96m--[0m[96mderp-server-region-name[0m string, [96m$CODER_DERP_SERVER_REGION_NAME[0m (default: Coder Embedded Relay)
|
--derp-server-region-name string, $CODER_DERP_SERVER_REGION_NAME (default: Coder Embedded Relay)
|
||||||
Region name that for the embedded DERP server.
|
Region name that for the embedded DERP server.
|
||||||
|
|
||||||
[96m--[0m[96mderp-server-stun-addresses[0m string-array, [96m$CODER_DERP_SERVER_STUN_ADDRESSES[0m (default: stun.l.google.com:19302,stun1.l.google.com:19302,stun2.l.google.com:19302,stun3.l.google.com:19302,stun4.l.google.com:19302)
|
--derp-server-stun-addresses string-array, $CODER_DERP_SERVER_STUN_ADDRESSES (default: stun.l.google.com:19302,stun1.l.google.com:19302,stun2.l.google.com:19302,stun3.l.google.com:19302,stun4.l.google.com:19302)
|
||||||
Addresses for STUN servers to establish P2P connections. It's
|
Addresses for STUN servers to establish P2P connections. It's
|
||||||
recommended to have at least two STUN servers to give users the best
|
recommended to have at least two STUN servers to give users the best
|
||||||
chance of connecting P2P to workspaces. Each STUN server will get it's
|
chance of connecting P2P to workspaces. Each STUN server will get it's
|
||||||
own DERP region, with region IDs starting at `--derp-server-region-id
|
own DERP region, with region IDs starting at `--derp-server-region-id
|
||||||
+ 1`. Use special value 'disable' to turn off STUN completely.
|
+ 1`. Use special value 'disable' to turn off STUN completely.
|
||||||
|
|
||||||
[93mNETWORKING / HTTP OPTIONS:[0m
|
NETWORKING / HTTP OPTIONS:
|
||||||
[96m--[0m[96mdisable-password-auth[0m bool, [96m$CODER_DISABLE_PASSWORD_AUTH[0m
|
--disable-password-auth bool, $CODER_DISABLE_PASSWORD_AUTH
|
||||||
Disable password authentication. This is recommended for security
|
Disable password authentication. This is recommended for security
|
||||||
purposes in production deployments that rely on an identity provider.
|
purposes in production deployments that rely on an identity provider.
|
||||||
Any user with the owner role will be able to sign in with their
|
Any user with the owner role will be able to sign in with their
|
||||||
@@ -205,221 +205,221 @@ backed by Tailscale and WireGuard.
|
|||||||
create-admin` command to create a new admin user directly in the
|
create-admin` command to create a new admin user directly in the
|
||||||
database.
|
database.
|
||||||
|
|
||||||
[96m--[0m[96mdisable-session-expiry-refresh[0m bool, [96m$CODER_DISABLE_SESSION_EXPIRY_REFRESH[0m
|
--disable-session-expiry-refresh bool, $CODER_DISABLE_SESSION_EXPIRY_REFRESH
|
||||||
Disable automatic session expiry bumping due to activity. This forces
|
Disable automatic session expiry bumping due to activity. This forces
|
||||||
all sessions to become invalid after the session expiry duration has
|
all sessions to become invalid after the session expiry duration has
|
||||||
been reached.
|
been reached.
|
||||||
|
|
||||||
[96m--[0m[96mhttp-address[0m string, [96m$CODER_HTTP_ADDRESS[0m (default: 127.0.0.1:3000)
|
--http-address string, $CODER_HTTP_ADDRESS (default: 127.0.0.1:3000)
|
||||||
HTTP bind address of the server. Unset to disable the HTTP endpoint.
|
HTTP bind address of the server. Unset to disable the HTTP endpoint.
|
||||||
|
|
||||||
[96m--[0m[96mmax-token-lifetime[0m duration, [96m$CODER_MAX_TOKEN_LIFETIME[0m (default: 876600h0m0s)
|
--max-token-lifetime duration, $CODER_MAX_TOKEN_LIFETIME (default: 876600h0m0s)
|
||||||
The maximum lifetime duration users can specify when creating an API
|
The maximum lifetime duration users can specify when creating an API
|
||||||
token.
|
token.
|
||||||
|
|
||||||
[96m--[0m[96mproxy-health-interval[0m duration, [96m$CODER_PROXY_HEALTH_INTERVAL[0m (default: 1m0s)
|
--proxy-health-interval duration, $CODER_PROXY_HEALTH_INTERVAL (default: 1m0s)
|
||||||
The interval in which coderd should be checking the status of
|
The interval in which coderd should be checking the status of
|
||||||
workspace proxies.
|
workspace proxies.
|
||||||
|
|
||||||
[96m--[0m[96msession-duration[0m duration, [96m$CODER_SESSION_DURATION[0m (default: 24h0m0s)
|
--session-duration duration, $CODER_SESSION_DURATION (default: 24h0m0s)
|
||||||
The token expiry duration for browser sessions. Sessions may last
|
The token expiry duration for browser sessions. Sessions may last
|
||||||
longer if they are actively making requests, but this functionality
|
longer if they are actively making requests, but this functionality
|
||||||
can be disabled via --disable-session-expiry-refresh.
|
can be disabled via --disable-session-expiry-refresh.
|
||||||
|
|
||||||
[93mNETWORKING / TLS OPTIONS:[0m
|
NETWORKING / TLS OPTIONS:
|
||||||
Configure TLS / HTTPS for your Coder deployment. If you're running Coder behind
|
Configure TLS / HTTPS for your Coder deployment. If you're running Coder behind
|
||||||
a TLS-terminating reverse proxy or are accessing Coder over a secure link, you
|
a TLS-terminating reverse proxy or are accessing Coder over a secure link, you
|
||||||
can safely ignore these settings.
|
can safely ignore these settings.
|
||||||
|
|
||||||
[96m--[0m[96mstrict-transport-security[0m int, [96m$CODER_STRICT_TRANSPORT_SECURITY[0m (default: 0)
|
--strict-transport-security int, $CODER_STRICT_TRANSPORT_SECURITY (default: 0)
|
||||||
Controls if the 'Strict-Transport-Security' header is set on all
|
Controls if the 'Strict-Transport-Security' header is set on all
|
||||||
static file responses. This header should only be set if the server is
|
static file responses. This header should only be set if the server is
|
||||||
accessed via HTTPS. This value is the MaxAge in seconds of the header.
|
accessed via HTTPS. This value is the MaxAge in seconds of the header.
|
||||||
|
|
||||||
[96m--[0m[96mstrict-transport-security-options[0m string-array, [96m$CODER_STRICT_TRANSPORT_SECURITY_OPTIONS[0m
|
--strict-transport-security-options string-array, $CODER_STRICT_TRANSPORT_SECURITY_OPTIONS
|
||||||
Two optional fields can be set in the Strict-Transport-Security
|
Two optional fields can be set in the Strict-Transport-Security
|
||||||
header; 'includeSubDomains' and 'preload'. The
|
header; 'includeSubDomains' and 'preload'. The
|
||||||
'strict-transport-security' flag must be set to a non-zero value for
|
'strict-transport-security' flag must be set to a non-zero value for
|
||||||
these options to be used.
|
these options to be used.
|
||||||
|
|
||||||
[96m--[0m[96mtls-address[0m host:port, [96m$CODER_TLS_ADDRESS[0m (default: 127.0.0.1:3443)
|
--tls-address host:port, $CODER_TLS_ADDRESS (default: 127.0.0.1:3443)
|
||||||
HTTPS bind address of the server.
|
HTTPS bind address of the server.
|
||||||
|
|
||||||
[96m--[0m[96mtls-cert-file[0m string-array, [96m$CODER_TLS_CERT_FILE[0m
|
--tls-cert-file string-array, $CODER_TLS_CERT_FILE
|
||||||
Path to each certificate for TLS. It requires a PEM-encoded file. To
|
Path to each certificate for TLS. It requires a PEM-encoded file. To
|
||||||
configure the listener to use a CA certificate, concatenate the
|
configure the listener to use a CA certificate, concatenate the
|
||||||
primary certificate and the CA certificate together. The primary
|
primary certificate and the CA certificate together. The primary
|
||||||
certificate should appear first in the combined file.
|
certificate should appear first in the combined file.
|
||||||
|
|
||||||
[96m--[0m[96mtls-client-auth[0m string, [96m$CODER_TLS_CLIENT_AUTH[0m (default: none)
|
--tls-client-auth string, $CODER_TLS_CLIENT_AUTH (default: none)
|
||||||
Policy the server will follow for TLS Client Authentication. Accepted
|
Policy the server will follow for TLS Client Authentication. Accepted
|
||||||
values are "none", "request", "require-any", "verify-if-given", or
|
values are "none", "request", "require-any", "verify-if-given", or
|
||||||
"require-and-verify".
|
"require-and-verify".
|
||||||
|
|
||||||
[96m--[0m[96mtls-client-ca-file[0m string, [96m$CODER_TLS_CLIENT_CA_FILE[0m
|
--tls-client-ca-file string, $CODER_TLS_CLIENT_CA_FILE
|
||||||
PEM-encoded Certificate Authority file used for checking the
|
PEM-encoded Certificate Authority file used for checking the
|
||||||
authenticity of client.
|
authenticity of client.
|
||||||
|
|
||||||
[96m--[0m[96mtls-client-cert-file[0m string, [96m$CODER_TLS_CLIENT_CERT_FILE[0m
|
--tls-client-cert-file string, $CODER_TLS_CLIENT_CERT_FILE
|
||||||
Path to certificate for client TLS authentication. It requires a
|
Path to certificate for client TLS authentication. It requires a
|
||||||
PEM-encoded file.
|
PEM-encoded file.
|
||||||
|
|
||||||
[96m--[0m[96mtls-client-key-file[0m string, [96m$CODER_TLS_CLIENT_KEY_FILE[0m
|
--tls-client-key-file string, $CODER_TLS_CLIENT_KEY_FILE
|
||||||
Path to key for client TLS authentication. It requires a PEM-encoded
|
Path to key for client TLS authentication. It requires a PEM-encoded
|
||||||
file.
|
file.
|
||||||
|
|
||||||
[96m--[0m[96mtls-enable[0m bool, [96m$CODER_TLS_ENABLE[0m
|
--tls-enable bool, $CODER_TLS_ENABLE
|
||||||
Whether TLS will be enabled.
|
Whether TLS will be enabled.
|
||||||
|
|
||||||
[96m--[0m[96mtls-key-file[0m string-array, [96m$CODER_TLS_KEY_FILE[0m
|
--tls-key-file string-array, $CODER_TLS_KEY_FILE
|
||||||
Paths to the private keys for each of the certificates. It requires a
|
Paths to the private keys for each of the certificates. It requires a
|
||||||
PEM-encoded file.
|
PEM-encoded file.
|
||||||
|
|
||||||
[96m--[0m[96mtls-min-version[0m string, [96m$CODER_TLS_MIN_VERSION[0m (default: tls12)
|
--tls-min-version string, $CODER_TLS_MIN_VERSION (default: tls12)
|
||||||
Minimum supported version of TLS. Accepted values are "tls10",
|
Minimum supported version of TLS. Accepted values are "tls10",
|
||||||
"tls11", "tls12" or "tls13".
|
"tls11", "tls12" or "tls13".
|
||||||
|
|
||||||
[93mOAUTH2 / GITHUB OPTIONS:[0m
|
OAUTH2 / GITHUB OPTIONS:
|
||||||
[96m--[0m[96moauth2-github-allow-everyone[0m bool, [96m$CODER_OAUTH2_GITHUB_ALLOW_EVERYONE[0m
|
--oauth2-github-allow-everyone bool, $CODER_OAUTH2_GITHUB_ALLOW_EVERYONE
|
||||||
Allow all logins, setting this option means allowed orgs and teams
|
Allow all logins, setting this option means allowed orgs and teams
|
||||||
must be empty.
|
must be empty.
|
||||||
|
|
||||||
[96m--[0m[96moauth2-github-allow-signups[0m bool, [96m$CODER_OAUTH2_GITHUB_ALLOW_SIGNUPS[0m
|
--oauth2-github-allow-signups bool, $CODER_OAUTH2_GITHUB_ALLOW_SIGNUPS
|
||||||
Whether new users can sign up with GitHub.
|
Whether new users can sign up with GitHub.
|
||||||
|
|
||||||
[96m--[0m[96moauth2-github-allowed-orgs[0m string-array, [96m$CODER_OAUTH2_GITHUB_ALLOWED_ORGS[0m
|
--oauth2-github-allowed-orgs string-array, $CODER_OAUTH2_GITHUB_ALLOWED_ORGS
|
||||||
Organizations the user must be a member of to Login with GitHub.
|
Organizations the user must be a member of to Login with GitHub.
|
||||||
|
|
||||||
[96m--[0m[96moauth2-github-allowed-teams[0m string-array, [96m$CODER_OAUTH2_GITHUB_ALLOWED_TEAMS[0m
|
--oauth2-github-allowed-teams string-array, $CODER_OAUTH2_GITHUB_ALLOWED_TEAMS
|
||||||
Teams inside organizations the user must be a member of to Login with
|
Teams inside organizations the user must be a member of to Login with
|
||||||
GitHub. Structured as: <organization-name>/<team-slug>.
|
GitHub. Structured as: <organization-name>/<team-slug>.
|
||||||
|
|
||||||
[96m--[0m[96moauth2-github-client-id[0m string, [96m$CODER_OAUTH2_GITHUB_CLIENT_ID[0m
|
--oauth2-github-client-id string, $CODER_OAUTH2_GITHUB_CLIENT_ID
|
||||||
Client ID for Login with GitHub.
|
Client ID for Login with GitHub.
|
||||||
|
|
||||||
[96m--[0m[96moauth2-github-client-secret[0m string, [96m$CODER_OAUTH2_GITHUB_CLIENT_SECRET[0m
|
--oauth2-github-client-secret string, $CODER_OAUTH2_GITHUB_CLIENT_SECRET
|
||||||
Client secret for Login with GitHub.
|
Client secret for Login with GitHub.
|
||||||
|
|
||||||
[96m--[0m[96moauth2-github-enterprise-base-url[0m string, [96m$CODER_OAUTH2_GITHUB_ENTERPRISE_BASE_URL[0m
|
--oauth2-github-enterprise-base-url string, $CODER_OAUTH2_GITHUB_ENTERPRISE_BASE_URL
|
||||||
Base URL of a GitHub Enterprise deployment to use for Login with
|
Base URL of a GitHub Enterprise deployment to use for Login with
|
||||||
GitHub.
|
GitHub.
|
||||||
|
|
||||||
[93mOIDC OPTIONS:[0m
|
OIDC OPTIONS:
|
||||||
[96m--[0m[96moidc-group-auto-create[0m bool, [96m$CODER_OIDC_GROUP_AUTO_CREATE[0m (default: false)
|
--oidc-group-auto-create bool, $CODER_OIDC_GROUP_AUTO_CREATE (default: false)
|
||||||
Automatically creates missing groups from a user's groups claim.
|
Automatically creates missing groups from a user's groups claim.
|
||||||
|
|
||||||
[96m--[0m[96moidc-allow-signups[0m bool, [96m$CODER_OIDC_ALLOW_SIGNUPS[0m (default: true)
|
--oidc-allow-signups bool, $CODER_OIDC_ALLOW_SIGNUPS (default: true)
|
||||||
Whether new users can sign up with OIDC.
|
Whether new users can sign up with OIDC.
|
||||||
|
|
||||||
[96m--[0m[96moidc-auth-url-params[0m struct[map[string]string], [96m$CODER_OIDC_AUTH_URL_PARAMS[0m (default: {"access_type": "offline"})
|
--oidc-auth-url-params struct[map[string]string], $CODER_OIDC_AUTH_URL_PARAMS (default: {"access_type": "offline"})
|
||||||
OIDC auth URL parameters to pass to the upstream provider.
|
OIDC auth URL parameters to pass to the upstream provider.
|
||||||
|
|
||||||
[96m--[0m[96moidc-client-cert-file[0m string, [96m$CODER_OIDC_CLIENT_CERT_FILE[0m
|
--oidc-client-cert-file string, $CODER_OIDC_CLIENT_CERT_FILE
|
||||||
Pem encoded certificate file to use for oauth2 PKI/JWT authorization.
|
Pem encoded certificate file to use for oauth2 PKI/JWT authorization.
|
||||||
The public certificate that accompanies oidc-client-key-file. A
|
The public certificate that accompanies oidc-client-key-file. A
|
||||||
standard x509 certificate is expected.
|
standard x509 certificate is expected.
|
||||||
|
|
||||||
[96m--[0m[96moidc-client-id[0m string, [96m$CODER_OIDC_CLIENT_ID[0m
|
--oidc-client-id string, $CODER_OIDC_CLIENT_ID
|
||||||
Client ID to use for Login with OIDC.
|
Client ID to use for Login with OIDC.
|
||||||
|
|
||||||
[96m--[0m[96moidc-client-key-file[0m string, [96m$CODER_OIDC_CLIENT_KEY_FILE[0m
|
--oidc-client-key-file string, $CODER_OIDC_CLIENT_KEY_FILE
|
||||||
Pem encoded RSA private key to use for oauth2 PKI/JWT authorization.
|
Pem encoded RSA private key to use for oauth2 PKI/JWT authorization.
|
||||||
This can be used instead of oidc-client-secret if your IDP supports
|
This can be used instead of oidc-client-secret if your IDP supports
|
||||||
it.
|
it.
|
||||||
|
|
||||||
[96m--[0m[96moidc-client-secret[0m string, [96m$CODER_OIDC_CLIENT_SECRET[0m
|
--oidc-client-secret string, $CODER_OIDC_CLIENT_SECRET
|
||||||
Client secret to use for Login with OIDC.
|
Client secret to use for Login with OIDC.
|
||||||
|
|
||||||
[96m--[0m[96moidc-email-domain[0m string-array, [96m$CODER_OIDC_EMAIL_DOMAIN[0m
|
--oidc-email-domain string-array, $CODER_OIDC_EMAIL_DOMAIN
|
||||||
Email domains that clients logging in with OIDC must match.
|
Email domains that clients logging in with OIDC must match.
|
||||||
|
|
||||||
[96m--[0m[96moidc-email-field[0m string, [96m$CODER_OIDC_EMAIL_FIELD[0m (default: email)
|
--oidc-email-field string, $CODER_OIDC_EMAIL_FIELD (default: email)
|
||||||
OIDC claim field to use as the email.
|
OIDC claim field to use as the email.
|
||||||
|
|
||||||
[96m--[0m[96moidc-group-field[0m string, [96m$CODER_OIDC_GROUP_FIELD[0m
|
--oidc-group-field string, $CODER_OIDC_GROUP_FIELD
|
||||||
This field must be set if using the group sync feature and the scope
|
This field must be set if using the group sync feature and the scope
|
||||||
name is not 'groups'. Set to the claim to be used for groups.
|
name is not 'groups'. Set to the claim to be used for groups.
|
||||||
|
|
||||||
[96m--[0m[96moidc-group-mapping[0m struct[map[string]string], [96m$CODER_OIDC_GROUP_MAPPING[0m (default: {})
|
--oidc-group-mapping struct[map[string]string], $CODER_OIDC_GROUP_MAPPING (default: {})
|
||||||
A map of OIDC group IDs and the group in Coder it should map to. This
|
A map of OIDC group IDs and the group in Coder it should map to. This
|
||||||
is useful for when OIDC providers only return group IDs.
|
is useful for when OIDC providers only return group IDs.
|
||||||
|
|
||||||
[96m--[0m[96moidc-ignore-email-verified[0m bool, [96m$CODER_OIDC_IGNORE_EMAIL_VERIFIED[0m
|
--oidc-ignore-email-verified bool, $CODER_OIDC_IGNORE_EMAIL_VERIFIED
|
||||||
Ignore the email_verified claim from the upstream provider.
|
Ignore the email_verified claim from the upstream provider.
|
||||||
|
|
||||||
[96m--[0m[96moidc-ignore-userinfo[0m bool, [96m$CODER_OIDC_IGNORE_USERINFO[0m (default: false)
|
--oidc-ignore-userinfo bool, $CODER_OIDC_IGNORE_USERINFO (default: false)
|
||||||
Ignore the userinfo endpoint and only use the ID token for user
|
Ignore the userinfo endpoint and only use the ID token for user
|
||||||
information.
|
information.
|
||||||
|
|
||||||
[96m--[0m[96moidc-issuer-url[0m string, [96m$CODER_OIDC_ISSUER_URL[0m
|
--oidc-issuer-url string, $CODER_OIDC_ISSUER_URL
|
||||||
Issuer URL to use for Login with OIDC.
|
Issuer URL to use for Login with OIDC.
|
||||||
|
|
||||||
[96m--[0m[96moidc-group-regex-filter[0m regexp, [96m$CODER_OIDC_GROUP_REGEX_FILTER[0m (default: .*)
|
--oidc-group-regex-filter regexp, $CODER_OIDC_GROUP_REGEX_FILTER (default: .*)
|
||||||
If provided any group name not matching the regex is ignored. This
|
If provided any group name not matching the regex is ignored. This
|
||||||
allows for filtering out groups that are not needed. This filter is
|
allows for filtering out groups that are not needed. This filter is
|
||||||
applied after the group mapping.
|
applied after the group mapping.
|
||||||
|
|
||||||
[96m--[0m[96moidc-scopes[0m string-array, [96m$CODER_OIDC_SCOPES[0m (default: openid,profile,email)
|
--oidc-scopes string-array, $CODER_OIDC_SCOPES (default: openid,profile,email)
|
||||||
Scopes to grant when authenticating with OIDC.
|
Scopes to grant when authenticating with OIDC.
|
||||||
|
|
||||||
[96m--[0m[96moidc-user-role-default[0m string-array, [96m$CODER_OIDC_USER_ROLE_DEFAULT[0m
|
--oidc-user-role-default string-array, $CODER_OIDC_USER_ROLE_DEFAULT
|
||||||
If user role sync is enabled, these roles are always included for all
|
If user role sync is enabled, these roles are always included for all
|
||||||
authenticated users. The 'member' role is always assigned.
|
authenticated users. The 'member' role is always assigned.
|
||||||
|
|
||||||
[96m--[0m[96moidc-user-role-field[0m string, [96m$CODER_OIDC_USER_ROLE_FIELD[0m
|
--oidc-user-role-field string, $CODER_OIDC_USER_ROLE_FIELD
|
||||||
This field must be set if using the user roles sync feature. Set this
|
This field must be set if using the user roles sync feature. Set this
|
||||||
to the name of the claim used to store the user's role. The roles
|
to the name of the claim used to store the user's role. The roles
|
||||||
should be sent as an array of strings.
|
should be sent as an array of strings.
|
||||||
|
|
||||||
[96m--[0m[96moidc-user-role-mapping[0m struct[map[string][]string], [96m$CODER_OIDC_USER_ROLE_MAPPING[0m (default: {})
|
--oidc-user-role-mapping struct[map[string][]string], $CODER_OIDC_USER_ROLE_MAPPING (default: {})
|
||||||
A map of the OIDC passed in user roles and the groups in Coder it
|
A map of the OIDC passed in user roles and the groups in Coder it
|
||||||
should map to. This is useful if the group names do not match. If
|
should map to. This is useful if the group names do not match. If
|
||||||
mapped to the empty string, the role will ignored.
|
mapped to the empty string, the role will ignored.
|
||||||
|
|
||||||
[96m--[0m[96moidc-username-field[0m string, [96m$CODER_OIDC_USERNAME_FIELD[0m (default: preferred_username)
|
--oidc-username-field string, $CODER_OIDC_USERNAME_FIELD (default: preferred_username)
|
||||||
OIDC claim field to use as the username.
|
OIDC claim field to use as the username.
|
||||||
|
|
||||||
[96m--[0m[96moidc-sign-in-text[0m string, [96m$CODER_OIDC_SIGN_IN_TEXT[0m (default: OpenID Connect)
|
--oidc-sign-in-text string, $CODER_OIDC_SIGN_IN_TEXT (default: OpenID Connect)
|
||||||
The text to show on the OpenID Connect sign in button.
|
The text to show on the OpenID Connect sign in button.
|
||||||
|
|
||||||
[96m--[0m[96moidc-icon-url[0m url, [96m$CODER_OIDC_ICON_URL[0m
|
--oidc-icon-url url, $CODER_OIDC_ICON_URL
|
||||||
URL pointing to the icon to use on the OpenID Connect login button.
|
URL pointing to the icon to use on the OpenID Connect login button.
|
||||||
|
|
||||||
[93mPROVISIONING OPTIONS:[0m
|
PROVISIONING OPTIONS:
|
||||||
Tune the behavior of the provisioner, which is responsible for creating,
|
Tune the behavior of the provisioner, which is responsible for creating,
|
||||||
updating, and deleting workspace resources.
|
updating, and deleting workspace resources.
|
||||||
|
|
||||||
[96m--[0m[96mprovisioner-force-cancel-interval[0m duration, [96m$CODER_PROVISIONER_FORCE_CANCEL_INTERVAL[0m (default: 10m0s)
|
--provisioner-force-cancel-interval duration, $CODER_PROVISIONER_FORCE_CANCEL_INTERVAL (default: 10m0s)
|
||||||
Time to force cancel provisioning tasks that are stuck.
|
Time to force cancel provisioning tasks that are stuck.
|
||||||
|
|
||||||
[96m--[0m[96mprovisioner-daemon-poll-interval[0m duration, [96m$CODER_PROVISIONER_DAEMON_POLL_INTERVAL[0m (default: 1s)
|
--provisioner-daemon-poll-interval duration, $CODER_PROVISIONER_DAEMON_POLL_INTERVAL (default: 1s)
|
||||||
Time to wait before polling for a new job.
|
Time to wait before polling for a new job.
|
||||||
|
|
||||||
[96m--[0m[96mprovisioner-daemon-poll-jitter[0m duration, [96m$CODER_PROVISIONER_DAEMON_POLL_JITTER[0m (default: 100ms)
|
--provisioner-daemon-poll-jitter duration, $CODER_PROVISIONER_DAEMON_POLL_JITTER (default: 100ms)
|
||||||
Random jitter added to the poll interval.
|
Random jitter added to the poll interval.
|
||||||
|
|
||||||
[96m--[0m[96mprovisioner-daemon-psk[0m string, [96m$CODER_PROVISIONER_DAEMON_PSK[0m
|
--provisioner-daemon-psk string, $CODER_PROVISIONER_DAEMON_PSK
|
||||||
Pre-shared key to authenticate external provisioner daemons to Coder
|
Pre-shared key to authenticate external provisioner daemons to Coder
|
||||||
server.
|
server.
|
||||||
|
|
||||||
[96m--[0m[96mprovisioner-daemons[0m int, [96m$CODER_PROVISIONER_DAEMONS[0m (default: 3)
|
--provisioner-daemons int, $CODER_PROVISIONER_DAEMONS (default: 3)
|
||||||
Number of provisioner daemons to create on start. If builds are stuck
|
Number of provisioner daemons to create on start. If builds are stuck
|
||||||
in queued state for a long time, consider increasing this.
|
in queued state for a long time, consider increasing this.
|
||||||
|
|
||||||
[93mTELEMETRY OPTIONS:[0m
|
TELEMETRY OPTIONS:
|
||||||
Telemetry is critical to our ability to improve Coder. We strip all
|
Telemetry is critical to our ability to improve Coder. We strip all
|
||||||
personalinformation before sending data to our servers. Please only disable
|
personalinformation before sending data to our servers. Please only disable
|
||||||
telemetrywhen required by your organization's security policy.
|
telemetrywhen required by your organization's security policy.
|
||||||
|
|
||||||
[96m--[0m[96mtelemetry[0m bool, [96m$CODER_TELEMETRY_ENABLE[0m (default: false)
|
--telemetry bool, $CODER_TELEMETRY_ENABLE (default: false)
|
||||||
Whether telemetry is enabled or not. Coder collects anonymized usage
|
Whether telemetry is enabled or not. Coder collects anonymized usage
|
||||||
data to help improve our product.
|
data to help improve our product.
|
||||||
|
|
||||||
[93mUSER QUIET HOURS SCHEDULE OPTIONS:[0m
|
USER QUIET HOURS SCHEDULE OPTIONS:
|
||||||
Allow users to set quiet hours schedules each day for workspaces to avoid
|
Allow users to set quiet hours schedules each day for workspaces to avoid
|
||||||
workspaces stopping during the day due to template max TTL.
|
workspaces stopping during the day due to template max TTL.
|
||||||
|
|
||||||
[96m--[0m[96mdefault-quiet-hours-schedule[0m string, [96m$CODER_QUIET_HOURS_DEFAULT_SCHEDULE[0m
|
--default-quiet-hours-schedule string, $CODER_QUIET_HOURS_DEFAULT_SCHEDULE
|
||||||
The default daily cron schedule applied to users that haven't set a
|
The default daily cron schedule applied to users that haven't set a
|
||||||
custom quiet hours schedule themselves. The quiet hours schedule
|
custom quiet hours schedule themselves. The quiet hours schedule
|
||||||
determines when workspaces will be force stopped due to the template's
|
determines when workspaces will be force stopped due to the template's
|
||||||
@@ -429,8 +429,8 @@ workspaces stopping during the day due to template max TTL.
|
|||||||
one hour and minute can be specified (ranges or comma separated values
|
one hour and minute can be specified (ranges or comma separated values
|
||||||
are not supported).
|
are not supported).
|
||||||
|
|
||||||
[93m⚠️ DANGEROUS OPTIONS:[0m
|
⚠️ DANGEROUS OPTIONS:
|
||||||
[96m--[0m[96mdangerous-allow-path-app-sharing[0m bool, [96m$CODER_DANGEROUS_ALLOW_PATH_APP_SHARING[0m
|
--dangerous-allow-path-app-sharing bool, $CODER_DANGEROUS_ALLOW_PATH_APP_SHARING
|
||||||
Allow workspace apps that are not served from subdomains to be shared.
|
Allow workspace apps that are not served from subdomains to be shared.
|
||||||
Path-based app sharing is DISABLED by default for security purposes.
|
Path-based app sharing is DISABLED by default for security purposes.
|
||||||
Path-based apps can make requests to the Coder API and pose a security
|
Path-based apps can make requests to the Coder API and pose a security
|
||||||
@@ -438,7 +438,7 @@ workspaces stopping during the day due to template max TTL.
|
|||||||
can be disabled entirely with --disable-path-apps for further
|
can be disabled entirely with --disable-path-apps for further
|
||||||
security.
|
security.
|
||||||
|
|
||||||
[96m--[0m[96mdangerous-allow-path-app-site-owner-access[0m bool, [96m$CODER_DANGEROUS_ALLOW_PATH_APP_SITE_OWNER_ACCESS[0m
|
--dangerous-allow-path-app-site-owner-access bool, $CODER_DANGEROUS_ALLOW_PATH_APP_SITE_OWNER_ACCESS
|
||||||
Allow site-owners to access workspace apps from workspaces they do not
|
Allow site-owners to access workspace apps from workspaces they do not
|
||||||
own. Owners cannot access path-based apps they do not own by default.
|
own. Owners cannot access path-based apps they do not own by default.
|
||||||
Path-based apps can make requests to the Coder API and pose a security
|
Path-based apps can make requests to the Coder API and pose a security
|
||||||
@@ -446,17 +446,17 @@ workspaces stopping during the day due to template max TTL.
|
|||||||
can be disabled entirely with --disable-path-apps for further
|
can be disabled entirely with --disable-path-apps for further
|
||||||
security.
|
security.
|
||||||
|
|
||||||
[93mENTERPRISE OPTIONS:[0m
|
ENTERPRISE OPTIONS:
|
||||||
These options are only available in the Enterprise Edition.
|
These options are only available in the Enterprise Edition.
|
||||||
|
|
||||||
[96m--[0m[96mbrowser-only[0m bool, [96m$CODER_BROWSER_ONLY[0m
|
--browser-only bool, $CODER_BROWSER_ONLY
|
||||||
Whether Coder only allows connections to workspaces via the browser.
|
Whether Coder only allows connections to workspaces via the browser.
|
||||||
|
|
||||||
[96m--[0m[96mderp-server-relay-url[0m url, [96m$CODER_DERP_SERVER_RELAY_URL[0m
|
--derp-server-relay-url url, $CODER_DERP_SERVER_RELAY_URL
|
||||||
An HTTP URL that is accessible by other replicas to relay DERP
|
An HTTP URL that is accessible by other replicas to relay DERP
|
||||||
traffic. Required for high availability.
|
traffic. Required for high availability.
|
||||||
|
|
||||||
[96m--[0m[96mexternal-token-encryption-keys[0m string-array, [96m$CODER_EXTERNAL_TOKEN_ENCRYPTION_KEYS[0m
|
--external-token-encryption-keys string-array, $CODER_EXTERNAL_TOKEN_ENCRYPTION_KEYS
|
||||||
Encrypt OIDC and Git authentication tokens with AES-256-GCM in the
|
Encrypt OIDC and Git authentication tokens with AES-256-GCM in the
|
||||||
database. The value must be a comma-separated list of base64-encoded
|
database. The value must be a comma-separated list of base64-encoded
|
||||||
keys. Each key, when base64-decoded, must be exactly 32 bytes in
|
keys. Each key, when base64-decoded, must be exactly 32 bytes in
|
||||||
@@ -466,7 +466,7 @@ These options are only available in the Enterprise Edition.
|
|||||||
process of rotating keys with the `coder server dbcrypt rotate`
|
process of rotating keys with the `coder server dbcrypt rotate`
|
||||||
command.
|
command.
|
||||||
|
|
||||||
[96m--[0m[96mscim-auth-header[0m string, [96m$CODER_SCIM_AUTH_HEADER[0m
|
--scim-auth-header string, $CODER_SCIM_AUTH_HEADER
|
||||||
Enables SCIM and sets the authentication header for the built-in SCIM
|
Enables SCIM and sets the authentication header for the built-in SCIM
|
||||||
server. New users are automatically created with OIDC authentication.
|
server. New users are automatically created with OIDC authentication.
|
||||||
|
|
||||||
|
|||||||
@@ -1,33 +1,33 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder server create-admin-user [flags]
|
coder server create-admin-user [flags]
|
||||||
|
|
||||||
Create a new admin user with the given username, email and password and adds
|
Create a new admin user with the given username, email and password and adds
|
||||||
it to every organization.
|
it to every organization.
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m--[0m[96memail[0m string, [96m$CODER_EMAIL[0m
|
--email string, $CODER_EMAIL
|
||||||
The email of the new user. If not specified, you will be prompted via
|
The email of the new user. If not specified, you will be prompted via
|
||||||
stdin.
|
stdin.
|
||||||
|
|
||||||
[96m--[0m[96mpassword[0m string, [96m$CODER_PASSWORD[0m
|
--password string, $CODER_PASSWORD
|
||||||
The password of the new user. If not specified, you will be prompted
|
The password of the new user. If not specified, you will be prompted
|
||||||
via stdin.
|
via stdin.
|
||||||
|
|
||||||
[96m--[0m[96mpostgres-url[0m string, [96m$CODER_PG_CONNECTION_URL[0m
|
--postgres-url string, $CODER_PG_CONNECTION_URL
|
||||||
URL of a PostgreSQL database. If empty, the built-in PostgreSQL
|
URL of a PostgreSQL database. If empty, the built-in PostgreSQL
|
||||||
deployment will be used (Coder must not be already running in this
|
deployment will be used (Coder must not be already running in this
|
||||||
case).
|
case).
|
||||||
|
|
||||||
[96m--[0m[96mraw-url[0m bool
|
--raw-url bool
|
||||||
Output the raw connection URL instead of a psql command.
|
Output the raw connection URL instead of a psql command.
|
||||||
|
|
||||||
[96m--[0m[96mssh-keygen-algorithm[0m string, [96m$CODER_SSH_KEYGEN_ALGORITHM[0m (default: ed25519)
|
--ssh-keygen-algorithm string, $CODER_SSH_KEYGEN_ALGORITHM (default: ed25519)
|
||||||
The algorithm to use for generating ssh keys. Accepted values are
|
The algorithm to use for generating ssh keys. Accepted values are
|
||||||
"ed25519", "ecdsa", or "rsa4096".
|
"ed25519", "ecdsa", or "rsa4096".
|
||||||
|
|
||||||
[96m--[0m[96musername[0m string, [96m$CODER_USERNAME[0m
|
--username string, $CODER_USERNAME
|
||||||
The username of the new user. If not specified, you will be prompted
|
The username of the new user. If not specified, you will be prompted
|
||||||
via stdin.
|
via stdin.
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder server postgres-builtin-serve [flags]
|
coder server postgres-builtin-serve [flags]
|
||||||
|
|
||||||
Run the built-in PostgreSQL deployment.
|
Run the built-in PostgreSQL deployment.
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m--[0m[96mraw-url[0m bool
|
--raw-url bool
|
||||||
Output the raw connection URL instead of a psql command.
|
Output the raw connection URL instead of a psql command.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder server postgres-builtin-url [flags]
|
coder server postgres-builtin-url [flags]
|
||||||
|
|
||||||
Output the connection URL for the built-in PostgreSQL deployment.
|
Output the connection URL for the built-in PostgreSQL deployment.
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m--[0m[96mraw-url[0m bool
|
--raw-url bool
|
||||||
Output the raw connection URL instead of a psql command.
|
Output the raw connection URL instead of a psql command.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder show <workspace>
|
coder show <workspace>
|
||||||
|
|
||||||
Display details of a workspace's resources and agents
|
Display details of a workspace's resources and agents
|
||||||
|
|||||||
+5
-5
@@ -1,20 +1,20 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder speedtest [flags] <workspace>
|
coder speedtest [flags] <workspace>
|
||||||
|
|
||||||
Run upload and download tests from your machine to a workspace
|
Run upload and download tests from your machine to a workspace
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m-[0m[96md[0m, [96m--[0m[96mdirect[0m bool
|
-d, --direct bool
|
||||||
Specifies whether to wait for a direct connection before testing
|
Specifies whether to wait for a direct connection before testing
|
||||||
speed.
|
speed.
|
||||||
|
|
||||||
[96m--[0m[96mdirection[0m up|down (default: down)
|
--direction up|down (default: down)
|
||||||
Specifies whether to run in reverse mode where the client receives and
|
Specifies whether to run in reverse mode where the client receives and
|
||||||
the server sends.
|
the server sends.
|
||||||
|
|
||||||
[96m-[0m[96mt[0m, [96m--[0m[96mtime[0m duration (default: 5s)
|
-t, --time duration (default: 5s)
|
||||||
Specifies the duration to monitor traffic.
|
Specifies the duration to monitor traffic.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
Vendored
+11
-11
@@ -1,47 +1,47 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder ssh [flags] <workspace>
|
coder ssh [flags] <workspace>
|
||||||
|
|
||||||
Start a shell into a workspace
|
Start a shell into a workspace
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m-[0m[96mA[0m, [96m--[0m[96mforward-agent[0m bool, [96m$CODER_SSH_FORWARD_AGENT[0m
|
-A, --forward-agent bool, $CODER_SSH_FORWARD_AGENT
|
||||||
Specifies whether to forward the SSH agent specified in
|
Specifies whether to forward the SSH agent specified in
|
||||||
$SSH_AUTH_SOCK.
|
$SSH_AUTH_SOCK.
|
||||||
|
|
||||||
[96m-[0m[96mG[0m, [96m--[0m[96mforward-gpg[0m bool, [96m$CODER_SSH_FORWARD_GPG[0m
|
-G, --forward-gpg bool, $CODER_SSH_FORWARD_GPG
|
||||||
Specifies whether to forward the GPG agent. Unsupported on Windows
|
Specifies whether to forward the GPG agent. Unsupported on Windows
|
||||||
workspaces, but supports all clients. Requires gnupg (gpg, gpgconf) on
|
workspaces, but supports all clients. Requires gnupg (gpg, gpgconf) on
|
||||||
both the client and workspace. The GPG agent must already be running
|
both the client and workspace. The GPG agent must already be running
|
||||||
locally and will not be started for you. If a GPG agent is already
|
locally and will not be started for you. If a GPG agent is already
|
||||||
running in the workspace, it will be attempted to be killed.
|
running in the workspace, it will be attempted to be killed.
|
||||||
|
|
||||||
[96m--[0m[96midentity-agent[0m string, [96m$CODER_SSH_IDENTITY_AGENT[0m
|
--identity-agent string, $CODER_SSH_IDENTITY_AGENT
|
||||||
Specifies which identity agent to use (overrides $SSH_AUTH_SOCK),
|
Specifies which identity agent to use (overrides $SSH_AUTH_SOCK),
|
||||||
forward agent must also be enabled.
|
forward agent must also be enabled.
|
||||||
|
|
||||||
[96m-[0m[96ml[0m, [96m--[0m[96mlog-dir[0m string, [96m$CODER_SSH_LOG_DIR[0m
|
-l, --log-dir string, $CODER_SSH_LOG_DIR
|
||||||
Specify the directory containing SSH diagnostic log files.
|
Specify the directory containing SSH diagnostic log files.
|
||||||
|
|
||||||
[96m--[0m[96mno-wait[0m bool, [96m$CODER_SSH_NO_WAIT[0m
|
--no-wait bool, $CODER_SSH_NO_WAIT
|
||||||
Enter workspace immediately after the agent has connected. This is the
|
Enter workspace immediately after the agent has connected. This is the
|
||||||
default if the template has configured the agent startup script
|
default if the template has configured the agent startup script
|
||||||
behavior as non-blocking.
|
behavior as non-blocking.
|
||||||
DEPRECATED: Use --wait instead.
|
DEPRECATED: Use --wait instead.
|
||||||
|
|
||||||
[96m-[0m[96mR[0m, [96m--[0m[96mremote-forward[0m string, [96m$CODER_SSH_REMOTE_FORWARD[0m
|
-R, --remote-forward string, $CODER_SSH_REMOTE_FORWARD
|
||||||
Enable remote port forwarding (remote_port:local_address:local_port).
|
Enable remote port forwarding (remote_port:local_address:local_port).
|
||||||
|
|
||||||
[96m--[0m[96mstdio[0m bool, [96m$CODER_SSH_STDIO[0m
|
--stdio bool, $CODER_SSH_STDIO
|
||||||
Specifies whether to emit SSH output over stdin/stdout.
|
Specifies whether to emit SSH output over stdin/stdout.
|
||||||
|
|
||||||
[96m--[0m[96mwait[0m yes|no|auto, [96m$CODER_SSH_WAIT[0m (default: auto)
|
--wait yes|no|auto, $CODER_SSH_WAIT (default: auto)
|
||||||
Specifies whether or not to wait for the startup script to finish
|
Specifies whether or not to wait for the startup script to finish
|
||||||
executing. Auto means that the agent startup script behavior
|
executing. Auto means that the agent startup script behavior
|
||||||
configured in the workspace template is used.
|
configured in the workspace template is used.
|
||||||
|
|
||||||
[96m--[0m[96mworkspace-poll-interval[0m duration, [96m$CODER_WORKSPACE_POLL_INTERVAL[0m (default: 1m)
|
--workspace-poll-interval duration, $CODER_WORKSPACE_POLL_INTERVAL (default: 1m)
|
||||||
Specifies how often to poll for workspace automated shutdown.
|
Specifies how often to poll for workspace automated shutdown.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
+5
-5
@@ -1,18 +1,18 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder start [flags] <workspace>
|
coder start [flags] <workspace>
|
||||||
|
|
||||||
Start a workspace
|
Start a workspace
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m--[0m[96mbuild-option[0m string-array, [96m$CODER_BUILD_OPTION[0m
|
--build-option string-array, $CODER_BUILD_OPTION
|
||||||
Build option value in the format "name=value".
|
Build option value in the format "name=value".
|
||||||
|
|
||||||
[96m--[0m[96mbuild-options[0m bool
|
--build-options bool
|
||||||
Prompt for one-time build options defined with ephemeral parameters.
|
Prompt for one-time build options defined with ephemeral parameters.
|
||||||
|
|
||||||
[96m-[0m[96my[0m, [96m--[0m[96myes[0m bool
|
-y, --yes bool
|
||||||
Bypass prompts.
|
Bypass prompts.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
+5
-5
@@ -1,21 +1,21 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder stat [flags]
|
coder stat [flags]
|
||||||
|
|
||||||
Show resource usage for the current workspace.
|
Show resource usage for the current workspace.
|
||||||
|
|
||||||
[93mSUBCOMMANDS:[0m
|
SUBCOMMANDS:
|
||||||
cpu Show CPU usage, in cores.
|
cpu Show CPU usage, in cores.
|
||||||
disk Show disk usage, in gigabytes.
|
disk Show disk usage, in gigabytes.
|
||||||
mem Show memory usage, in gigabytes.
|
mem Show memory usage, in gigabytes.
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m-[0m[96mc[0m, [96m--[0m[96mcolumn[0m string-array (default: host_cpu,host_memory,home_disk,container_cpu,container_memory)
|
-c, --column string-array (default: host_cpu,host_memory,home_disk,container_cpu,container_memory)
|
||||||
Columns to display in table output. Available columns: host cpu, host
|
Columns to display in table output. Available columns: host cpu, host
|
||||||
memory, home disk, container cpu, container memory.
|
memory, home disk, container cpu, container memory.
|
||||||
|
|
||||||
[96m-[0m[96mo[0m, [96m--[0m[96moutput[0m string (default: table)
|
-o, --output string (default: table)
|
||||||
Output format. Available formats: table, json.
|
Output format. Available formats: table, json.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
+4
-4
@@ -1,15 +1,15 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder stat cpu [flags]
|
coder stat cpu [flags]
|
||||||
|
|
||||||
Show CPU usage, in cores.
|
Show CPU usage, in cores.
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m--[0m[96mhost[0m bool
|
--host bool
|
||||||
Force host CPU measurement.
|
Force host CPU measurement.
|
||||||
|
|
||||||
[96m-[0m[96mo[0m, [96m--[0m[96moutput[0m string (default: text)
|
-o, --output string (default: text)
|
||||||
Output format. Available formats: text, json.
|
Output format. Available formats: text, json.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
+5
-5
@@ -1,18 +1,18 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder stat disk [flags]
|
coder stat disk [flags]
|
||||||
|
|
||||||
Show disk usage, in gigabytes.
|
Show disk usage, in gigabytes.
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m-[0m[96mo[0m, [96m--[0m[96moutput[0m string (default: text)
|
-o, --output string (default: text)
|
||||||
Output format. Available formats: text, json.
|
Output format. Available formats: text, json.
|
||||||
|
|
||||||
[96m--[0m[96mpath[0m string (default: /)
|
--path string (default: /)
|
||||||
Path for which to check disk usage.
|
Path for which to check disk usage.
|
||||||
|
|
||||||
[96m--[0m[96mprefix[0m Ki|Mi|Gi|Ti (default: Gi)
|
--prefix Ki|Mi|Gi|Ti (default: Gi)
|
||||||
SI Prefix for disk measurement.
|
SI Prefix for disk measurement.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
+5
-5
@@ -1,18 +1,18 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder stat mem [flags]
|
coder stat mem [flags]
|
||||||
|
|
||||||
Show memory usage, in gigabytes.
|
Show memory usage, in gigabytes.
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m--[0m[96mhost[0m bool
|
--host bool
|
||||||
Force host memory measurement.
|
Force host memory measurement.
|
||||||
|
|
||||||
[96m-[0m[96mo[0m, [96m--[0m[96moutput[0m string (default: text)
|
-o, --output string (default: text)
|
||||||
Output format. Available formats: text, json.
|
Output format. Available formats: text, json.
|
||||||
|
|
||||||
[96m--[0m[96mprefix[0m Ki|Mi|Gi|Ti (default: Gi)
|
--prefix Ki|Mi|Gi|Ti (default: Gi)
|
||||||
SI Prefix for memory measurement.
|
SI Prefix for memory measurement.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
+2
-2
@@ -1,11 +1,11 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder state
|
coder state
|
||||||
|
|
||||||
Manually manage Terraform state to fix broken workspaces
|
Manually manage Terraform state to fix broken workspaces
|
||||||
|
|
||||||
[93mSUBCOMMANDS:[0m
|
SUBCOMMANDS:
|
||||||
pull Pull a Terraform state file from a workspace.
|
pull Pull a Terraform state file from a workspace.
|
||||||
push Push a Terraform state file to a workspace.
|
push Push a Terraform state file to a workspace.
|
||||||
|
|
||||||
|
|||||||
+3
-3
@@ -1,12 +1,12 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder state pull [flags] <workspace> [file]
|
coder state pull [flags] <workspace> [file]
|
||||||
|
|
||||||
Pull a Terraform state file from a workspace.
|
Pull a Terraform state file from a workspace.
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m-[0m[96mb[0m, [96m--[0m[96mbuild[0m int
|
-b, --build int
|
||||||
Specify a workspace build to target by name. Defaults to latest.
|
Specify a workspace build to target by name. Defaults to latest.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
+3
-3
@@ -1,12 +1,12 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder state push [flags] <workspace> <file>
|
coder state push [flags] <workspace> <file>
|
||||||
|
|
||||||
Push a Terraform state file to a workspace.
|
Push a Terraform state file to a workspace.
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m-[0m[96mb[0m, [96m--[0m[96mbuild[0m int
|
-b, --build int
|
||||||
Specify a workspace build to target by name. Defaults to latest.
|
Specify a workspace build to target by name. Defaults to latest.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
+3
-3
@@ -1,12 +1,12 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder stop [flags] <workspace>
|
coder stop [flags] <workspace>
|
||||||
|
|
||||||
Stop a workspace
|
Stop a workspace
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m-[0m[96my[0m, [96m--[0m[96myes[0m bool
|
-y, --yes bool
|
||||||
Bypass prompts.
|
Bypass prompts.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder templates
|
coder templates
|
||||||
|
|
||||||
Manage templates
|
Manage templates
|
||||||
@@ -22,7 +22,7 @@ coder v0.0.0-devel
|
|||||||
|
|
||||||
$ coder templates push my-template
|
$ coder templates push my-template
|
||||||
|
|
||||||
[93mSUBCOMMANDS:[0m
|
SUBCOMMANDS:
|
||||||
create Create a template from the current directory or as specified by
|
create Create a template from the current directory or as specified by
|
||||||
flag
|
flag
|
||||||
delete Delete templates
|
delete Delete templates
|
||||||
|
|||||||
+15
-15
@@ -1,64 +1,64 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder templates create [flags] [name]
|
coder templates create [flags] [name]
|
||||||
|
|
||||||
Create a template from the current directory or as specified by flag
|
Create a template from the current directory or as specified by flag
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m--[0m[96mdefault-ttl[0m duration (default: 24h)
|
--default-ttl duration (default: 24h)
|
||||||
Specify a default TTL for workspaces created from this template. It is
|
Specify a default TTL for workspaces created from this template. It is
|
||||||
the default time before shutdown - workspaces created from this
|
the default time before shutdown - workspaces created from this
|
||||||
template default to this value. Maps to "Default autostop" in the UI.
|
template default to this value. Maps to "Default autostop" in the UI.
|
||||||
|
|
||||||
[96m-[0m[96md[0m, [96m--[0m[96mdirectory[0m string (default: .)
|
-d, --directory string (default: .)
|
||||||
Specify the directory to create from, use '-' to read tar from stdin.
|
Specify the directory to create from, use '-' to read tar from stdin.
|
||||||
|
|
||||||
[96m--[0m[96mfailure-ttl[0m duration (default: 0h)
|
--failure-ttl duration (default: 0h)
|
||||||
Specify a failure TTL for workspaces created from this template. It is
|
Specify a failure TTL for workspaces created from this template. It is
|
||||||
the amount of time after a failed "start" build before coder
|
the amount of time after a failed "start" build before coder
|
||||||
automatically schedules a "stop" build to cleanup.This licensed
|
automatically schedules a "stop" build to cleanup.This licensed
|
||||||
feature's default is 0h (off). Maps to "Failure cleanup"in the UI.
|
feature's default is 0h (off). Maps to "Failure cleanup"in the UI.
|
||||||
|
|
||||||
[96m--[0m[96mignore-lockfile[0m bool (default: false)
|
--ignore-lockfile bool (default: false)
|
||||||
Ignore warnings about not having a .terraform.lock.hcl file present in
|
Ignore warnings about not having a .terraform.lock.hcl file present in
|
||||||
the template.
|
the template.
|
||||||
|
|
||||||
[96m--[0m[96minactivity-ttl[0m duration (default: 0h)
|
--inactivity-ttl duration (default: 0h)
|
||||||
Specify an inactivity TTL for workspaces created from this template.
|
Specify an inactivity TTL for workspaces created from this template.
|
||||||
It is the amount of time the workspace is not used before it is be
|
It is the amount of time the workspace is not used before it is be
|
||||||
stopped and auto-locked. This includes across multiple builds (e.g.
|
stopped and auto-locked. This includes across multiple builds (e.g.
|
||||||
auto-starts and stops). This licensed feature's default is 0h (off).
|
auto-starts and stops). This licensed feature's default is 0h (off).
|
||||||
Maps to "Dormancy threshold" in the UI.
|
Maps to "Dormancy threshold" in the UI.
|
||||||
|
|
||||||
[96m--[0m[96mmax-ttl[0m duration
|
--max-ttl duration
|
||||||
Edit the template maximum time before shutdown - workspaces created
|
Edit the template maximum time before shutdown - workspaces created
|
||||||
from this template must shutdown within the given duration after
|
from this template must shutdown within the given duration after
|
||||||
starting. This is an enterprise-only feature.
|
starting. This is an enterprise-only feature.
|
||||||
|
|
||||||
[96m-[0m[96mm[0m, [96m--[0m[96mmessage[0m string
|
-m, --message string
|
||||||
Specify a message describing the changes in this version of the
|
Specify a message describing the changes in this version of the
|
||||||
template. Messages longer than 72 characters will be displayed as
|
template. Messages longer than 72 characters will be displayed as
|
||||||
truncated.
|
truncated.
|
||||||
|
|
||||||
[96m--[0m[96mprivate[0m bool
|
--private bool
|
||||||
Disable the default behavior of granting template access to the
|
Disable the default behavior of granting template access to the
|
||||||
'everyone' group. The template permissions must be updated to allow
|
'everyone' group. The template permissions must be updated to allow
|
||||||
non-admin users to use this template.
|
non-admin users to use this template.
|
||||||
|
|
||||||
[96m--[0m[96mprovisioner-tag[0m string-array
|
--provisioner-tag string-array
|
||||||
Specify a set of tags to target provisioner daemons.
|
Specify a set of tags to target provisioner daemons.
|
||||||
|
|
||||||
[96m--[0m[96mvar[0m string-array
|
--var string-array
|
||||||
Alias of --variable.
|
Alias of --variable.
|
||||||
|
|
||||||
[96m--[0m[96mvariable[0m string-array
|
--variable string-array
|
||||||
Specify a set of values for Terraform-managed variables.
|
Specify a set of values for Terraform-managed variables.
|
||||||
|
|
||||||
[96m--[0m[96mvariables-file[0m string
|
--variables-file string
|
||||||
Specify a file path with values for Terraform-managed variables.
|
Specify a file path with values for Terraform-managed variables.
|
||||||
|
|
||||||
[96m-[0m[96my[0m, [96m--[0m[96myes[0m bool
|
-y, --yes bool
|
||||||
Bypass prompts.
|
Bypass prompts.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
+3
-3
@@ -1,14 +1,14 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder templates delete [flags] [name...]
|
coder templates delete [flags] [name...]
|
||||||
|
|
||||||
Delete templates
|
Delete templates
|
||||||
|
|
||||||
Aliases: rm
|
Aliases: rm
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m-[0m[96my[0m, [96m--[0m[96myes[0m bool
|
-y, --yes bool
|
||||||
Bypass prompts.
|
Bypass prompts.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
+14
-14
@@ -1,59 +1,59 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder templates edit [flags] <template>
|
coder templates edit [flags] <template>
|
||||||
|
|
||||||
Edit the metadata of a template by name.
|
Edit the metadata of a template by name.
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m--[0m[96mallow-user-autostart[0m bool (default: true)
|
--allow-user-autostart bool (default: true)
|
||||||
Allow users to configure autostart for workspaces on this template.
|
Allow users to configure autostart for workspaces on this template.
|
||||||
This can only be disabled in enterprise.
|
This can only be disabled in enterprise.
|
||||||
|
|
||||||
[96m--[0m[96mallow-user-autostop[0m bool (default: true)
|
--allow-user-autostop bool (default: true)
|
||||||
Allow users to customize the autostop TTL for workspaces on this
|
Allow users to customize the autostop TTL for workspaces on this
|
||||||
template. This can only be disabled in enterprise.
|
template. This can only be disabled in enterprise.
|
||||||
|
|
||||||
[96m--[0m[96mallow-user-cancel-workspace-jobs[0m bool (default: true)
|
--allow-user-cancel-workspace-jobs bool (default: true)
|
||||||
Allow users to cancel in-progress workspace jobs.
|
Allow users to cancel in-progress workspace jobs.
|
||||||
|
|
||||||
[96m--[0m[96mdefault-ttl[0m duration
|
--default-ttl duration
|
||||||
Edit the template default time before shutdown - workspaces created
|
Edit the template default time before shutdown - workspaces created
|
||||||
from this template default to this value. Maps to "Default autostop"
|
from this template default to this value. Maps to "Default autostop"
|
||||||
in the UI.
|
in the UI.
|
||||||
|
|
||||||
[96m--[0m[96mdescription[0m string
|
--description string
|
||||||
Edit the template description.
|
Edit the template description.
|
||||||
|
|
||||||
[96m--[0m[96mdisplay-name[0m string
|
--display-name string
|
||||||
Edit the template display name.
|
Edit the template display name.
|
||||||
|
|
||||||
[96m--[0m[96mfailure-ttl[0m duration (default: 0h)
|
--failure-ttl duration (default: 0h)
|
||||||
Specify a failure TTL for workspaces created from this template. It is
|
Specify a failure TTL for workspaces created from this template. It is
|
||||||
the amount of time after a failed "start" build before coder
|
the amount of time after a failed "start" build before coder
|
||||||
automatically schedules a "stop" build to cleanup.This licensed
|
automatically schedules a "stop" build to cleanup.This licensed
|
||||||
feature's default is 0h (off). Maps to "Failure cleanup" in the UI.
|
feature's default is 0h (off). Maps to "Failure cleanup" in the UI.
|
||||||
|
|
||||||
[96m--[0m[96micon[0m string
|
--icon string
|
||||||
Edit the template icon path.
|
Edit the template icon path.
|
||||||
|
|
||||||
[96m--[0m[96minactivity-ttl[0m duration (default: 0h)
|
--inactivity-ttl duration (default: 0h)
|
||||||
Specify an inactivity TTL for workspaces created from this template.
|
Specify an inactivity TTL for workspaces created from this template.
|
||||||
It is the amount of time the workspace is not used before it is be
|
It is the amount of time the workspace is not used before it is be
|
||||||
stopped and auto-locked. This includes across multiple builds (e.g.
|
stopped and auto-locked. This includes across multiple builds (e.g.
|
||||||
auto-starts and stops). This licensed feature's default is 0h (off).
|
auto-starts and stops). This licensed feature's default is 0h (off).
|
||||||
Maps to "Dormancy threshold" in the UI.
|
Maps to "Dormancy threshold" in the UI.
|
||||||
|
|
||||||
[96m--[0m[96mmax-ttl[0m duration
|
--max-ttl duration
|
||||||
Edit the template maximum time before shutdown - workspaces created
|
Edit the template maximum time before shutdown - workspaces created
|
||||||
from this template must shutdown within the given duration after
|
from this template must shutdown within the given duration after
|
||||||
starting, regardless of user activity. This is an enterprise-only
|
starting, regardless of user activity. This is an enterprise-only
|
||||||
feature. Maps to "Max lifetime" in the UI.
|
feature. Maps to "Max lifetime" in the UI.
|
||||||
|
|
||||||
[96m--[0m[96mname[0m string
|
--name string
|
||||||
Edit the template name.
|
Edit the template name.
|
||||||
|
|
||||||
[96m-[0m[96my[0m, [96m--[0m[96myes[0m bool
|
-y, --yes bool
|
||||||
Bypass prompts.
|
Bypass prompts.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
+3
-3
@@ -1,12 +1,12 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder templates init [flags] [directory]
|
coder templates init [flags] [directory]
|
||||||
|
|
||||||
Get started with a templated template.
|
Get started with a templated template.
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m--[0m[96mid[0m aws-ecs-container|aws-linux|aws-windows|azure-linux|do-linux|docker|docker-with-dotfiles|fly-docker-image|gcp-linux|gcp-vm-container|gcp-windows|kubernetes
|
--id aws-ecs-container|aws-linux|aws-windows|azure-linux|do-linux|docker|docker-with-dotfiles|fly-docker-image|gcp-linux|gcp-vm-container|gcp-windows|kubernetes
|
||||||
Specify a given example template by ID.
|
Specify a given example template by ID.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
+4
-4
@@ -1,19 +1,19 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder templates list [flags]
|
coder templates list [flags]
|
||||||
|
|
||||||
List all the templates available for the organization
|
List all the templates available for the organization
|
||||||
|
|
||||||
Aliases: ls
|
Aliases: ls
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m-[0m[96mc[0m, [96m--[0m[96mcolumn[0m string-array (default: name,last updated,used by)
|
-c, --column string-array (default: name,last updated,used by)
|
||||||
Columns to display in table output. Available columns: name, created
|
Columns to display in table output. Available columns: name, created
|
||||||
at, last updated, organization id, provisioner, active version id,
|
at, last updated, organization id, provisioner, active version id,
|
||||||
used by, default ttl.
|
used by, default ttl.
|
||||||
|
|
||||||
[96m-[0m[96mo[0m, [96m--[0m[96moutput[0m string (default: table)
|
-o, --output string (default: table)
|
||||||
Output format. Available formats: table, json.
|
Output format. Available formats: table, json.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
+4
-4
@@ -1,15 +1,15 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder templates pull [flags] <name> [destination]
|
coder templates pull [flags] <name> [destination]
|
||||||
|
|
||||||
Download the latest version of a template to a path.
|
Download the latest version of a template to a path.
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m--[0m[96mtar[0m bool
|
--tar bool
|
||||||
Output the template as a tar archive to stdout.
|
Output the template as a tar archive to stdout.
|
||||||
|
|
||||||
[96m-[0m[96my[0m, [96m--[0m[96myes[0m bool
|
-y, --yes bool
|
||||||
Bypass prompts.
|
Bypass prompts.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
+14
-14
@@ -1,50 +1,50 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder templates push [flags] [template]
|
coder templates push [flags] [template]
|
||||||
|
|
||||||
Push a new template version from the current directory or as specified by flag
|
Push a new template version from the current directory or as specified by flag
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m--[0m[96mactivate[0m bool (default: true)
|
--activate bool (default: true)
|
||||||
Whether the new template will be marked active.
|
Whether the new template will be marked active.
|
||||||
|
|
||||||
[96m--[0m[96malways-prompt[0m bool
|
--always-prompt bool
|
||||||
Always prompt all parameters. Does not pull parameter values from
|
Always prompt all parameters. Does not pull parameter values from
|
||||||
active template version.
|
active template version.
|
||||||
|
|
||||||
[96m--[0m[96mcreate[0m bool (default: false)
|
--create bool (default: false)
|
||||||
Create the template if it does not exist.
|
Create the template if it does not exist.
|
||||||
|
|
||||||
[96m-[0m[96md[0m, [96m--[0m[96mdirectory[0m string (default: .)
|
-d, --directory string (default: .)
|
||||||
Specify the directory to create from, use '-' to read tar from stdin.
|
Specify the directory to create from, use '-' to read tar from stdin.
|
||||||
|
|
||||||
[96m--[0m[96mignore-lockfile[0m bool (default: false)
|
--ignore-lockfile bool (default: false)
|
||||||
Ignore warnings about not having a .terraform.lock.hcl file present in
|
Ignore warnings about not having a .terraform.lock.hcl file present in
|
||||||
the template.
|
the template.
|
||||||
|
|
||||||
[96m-[0m[96mm[0m, [96m--[0m[96mmessage[0m string
|
-m, --message string
|
||||||
Specify a message describing the changes in this version of the
|
Specify a message describing the changes in this version of the
|
||||||
template. Messages longer than 72 characters will be displayed as
|
template. Messages longer than 72 characters will be displayed as
|
||||||
truncated.
|
truncated.
|
||||||
|
|
||||||
[96m--[0m[96mname[0m string
|
--name string
|
||||||
Specify a name for the new template version. It will be automatically
|
Specify a name for the new template version. It will be automatically
|
||||||
generated if not provided.
|
generated if not provided.
|
||||||
|
|
||||||
[96m--[0m[96mprovisioner-tag[0m string-array
|
--provisioner-tag string-array
|
||||||
Specify a set of tags to target provisioner daemons.
|
Specify a set of tags to target provisioner daemons.
|
||||||
|
|
||||||
[96m--[0m[96mvar[0m string-array
|
--var string-array
|
||||||
Alias of --variable.
|
Alias of --variable.
|
||||||
|
|
||||||
[96m--[0m[96mvariable[0m string-array
|
--variable string-array
|
||||||
Specify a set of values for Terraform-managed variables.
|
Specify a set of values for Terraform-managed variables.
|
||||||
|
|
||||||
[96m--[0m[96mvariables-file[0m string
|
--variables-file string
|
||||||
Specify a file path with values for Terraform-managed variables.
|
Specify a file path with values for Terraform-managed variables.
|
||||||
|
|
||||||
[96m-[0m[96my[0m, [96m--[0m[96myes[0m bool
|
-y, --yes bool
|
||||||
Bypass prompts.
|
Bypass prompts.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder templates versions
|
coder templates versions
|
||||||
|
|
||||||
Manage different versions of the specified template
|
Manage different versions of the specified template
|
||||||
@@ -11,7 +11,7 @@ coder v0.0.0-devel
|
|||||||
|
|
||||||
$ coder templates versions list my-template
|
$ coder templates versions list my-template
|
||||||
|
|
||||||
[93mSUBCOMMANDS:[0m
|
SUBCOMMANDS:
|
||||||
list List all the versions of the specified template
|
list List all the versions of the specified template
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
@@ -1,16 +1,16 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder templates versions list [flags] <template>
|
coder templates versions list [flags] <template>
|
||||||
|
|
||||||
List all the versions of the specified template
|
List all the versions of the specified template
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m-[0m[96mc[0m, [96m--[0m[96mcolumn[0m string-array (default: name,created at,created by,status,active)
|
-c, --column string-array (default: name,created at,created by,status,active)
|
||||||
Columns to display in table output. Available columns: name, created
|
Columns to display in table output. Available columns: name, created
|
||||||
at, created by, status, active.
|
at, created by, status, active.
|
||||||
|
|
||||||
[96m-[0m[96mo[0m, [96m--[0m[96moutput[0m string (default: table)
|
-o, --output string (default: table)
|
||||||
Output format. Available formats: table, json.
|
Output format. Available formats: table, json.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder tokens
|
coder tokens
|
||||||
|
|
||||||
Manage personal access tokens
|
Manage personal access tokens
|
||||||
@@ -20,7 +20,7 @@ coder v0.0.0-devel
|
|||||||
|
|
||||||
$ coder tokens rm WuoWs4ZsMX
|
$ coder tokens rm WuoWs4ZsMX
|
||||||
|
|
||||||
[93mSUBCOMMANDS:[0m
|
SUBCOMMANDS:
|
||||||
create Create a token
|
create Create a token
|
||||||
list List tokens
|
list List tokens
|
||||||
remove Delete a token
|
remove Delete a token
|
||||||
|
|||||||
+4
-4
@@ -1,15 +1,15 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder tokens create [flags]
|
coder tokens create [flags]
|
||||||
|
|
||||||
Create a token
|
Create a token
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m--[0m[96mlifetime[0m duration, [96m$CODER_TOKEN_LIFETIME[0m (default: 720h0m0s)
|
--lifetime duration, $CODER_TOKEN_LIFETIME (default: 720h0m0s)
|
||||||
Specify a duration for the lifetime of the token.
|
Specify a duration for the lifetime of the token.
|
||||||
|
|
||||||
[96m-[0m[96mn[0m, [96m--[0m[96mname[0m string, [96m$CODER_TOKEN_NAME[0m
|
-n, --name string, $CODER_TOKEN_NAME
|
||||||
Specify a human-readable name.
|
Specify a human-readable name.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
+5
-5
@@ -1,22 +1,22 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder tokens list [flags]
|
coder tokens list [flags]
|
||||||
|
|
||||||
List tokens
|
List tokens
|
||||||
|
|
||||||
Aliases: ls
|
Aliases: ls
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m-[0m[96ma[0m, [96m--[0m[96mall[0m bool
|
-a, --all bool
|
||||||
Specifies whether all users' tokens will be listed or not (must have
|
Specifies whether all users' tokens will be listed or not (must have
|
||||||
Owner role to see all tokens).
|
Owner role to see all tokens).
|
||||||
|
|
||||||
[96m-[0m[96mc[0m, [96m--[0m[96mcolumn[0m string-array (default: id,name,last used,expires at,created at)
|
-c, --column string-array (default: id,name,last used,expires at,created at)
|
||||||
Columns to display in table output. Available columns: id, name, last
|
Columns to display in table output. Available columns: id, name, last
|
||||||
used, expires at, created at, owner.
|
used, expires at, created at, owner.
|
||||||
|
|
||||||
[96m-[0m[96mo[0m, [96m--[0m[96moutput[0m string (default: table)
|
-o, --output string (default: table)
|
||||||
Output format. Available formats: table, json.
|
Output format. Available formats: table, json.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder tokens remove <name>
|
coder tokens remove <name>
|
||||||
|
|
||||||
Delete a token
|
Delete a token
|
||||||
|
|||||||
+7
-7
@@ -1,27 +1,27 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder update [flags] <workspace>
|
coder update [flags] <workspace>
|
||||||
|
|
||||||
Will update and start a given workspace if it is out of date
|
Will update and start a given workspace if it is out of date
|
||||||
|
|
||||||
Use --always-prompt to change the parameter values of the workspace.
|
Use --always-prompt to change the parameter values of the workspace.
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m--[0m[96malways-prompt[0m bool
|
--always-prompt bool
|
||||||
Always prompt all parameters. Does not pull parameter values from
|
Always prompt all parameters. Does not pull parameter values from
|
||||||
existing workspace.
|
existing workspace.
|
||||||
|
|
||||||
[96m--[0m[96mbuild-option[0m string-array, [96m$CODER_BUILD_OPTION[0m
|
--build-option string-array, $CODER_BUILD_OPTION
|
||||||
Build option value in the format "name=value".
|
Build option value in the format "name=value".
|
||||||
|
|
||||||
[96m--[0m[96mbuild-options[0m bool
|
--build-options bool
|
||||||
Prompt for one-time build options defined with ephemeral parameters.
|
Prompt for one-time build options defined with ephemeral parameters.
|
||||||
|
|
||||||
[96m--[0m[96mparameter[0m string-array, [96m$CODER_RICH_PARAMETER[0m
|
--parameter string-array, $CODER_RICH_PARAMETER
|
||||||
Rich parameter value in the format "name=value".
|
Rich parameter value in the format "name=value".
|
||||||
|
|
||||||
[96m--[0m[96mrich-parameter-file[0m string, [96m$CODER_RICH_PARAMETER_FILE[0m
|
--rich-parameter-file string, $CODER_RICH_PARAMETER_FILE
|
||||||
Specify a file path with values for rich parameters defined in the
|
Specify a file path with values for rich parameters defined in the
|
||||||
template.
|
template.
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -1,13 +1,13 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder users [subcommand]
|
coder users [subcommand]
|
||||||
|
|
||||||
Manage users
|
Manage users
|
||||||
|
|
||||||
Aliases: user
|
Aliases: user
|
||||||
|
|
||||||
[93mSUBCOMMANDS:[0m
|
SUBCOMMANDS:
|
||||||
activate Update a user's status to 'active'. Active users can fully
|
activate Update a user's status to 'active'. Active users can fully
|
||||||
interact with the platform
|
interact with the platform
|
||||||
create
|
create
|
||||||
|
|||||||
+3
-3
@@ -1,6 +1,6 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder users activate [flags] <username|user_id>
|
coder users activate [flags] <username|user_id>
|
||||||
|
|
||||||
Update a user's status to 'active'. Active users can fully interact with the
|
Update a user's status to 'active'. Active users can fully interact with the
|
||||||
@@ -10,8 +10,8 @@ coder v0.0.0-devel
|
|||||||
|
|
||||||
$ coder users activate example_user
|
$ coder users activate example_user
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m-[0m[96mc[0m, [96m--[0m[96mcolumn[0m string-array (default: username,email,created_at,status)
|
-c, --column string-array (default: username,email,created_at,status)
|
||||||
Specify a column to filter in the table.
|
Specify a column to filter in the table.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
+6
-6
@@ -1,22 +1,22 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder users create [flags]
|
coder users create [flags]
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m-[0m[96me[0m, [96m--[0m[96memail[0m string
|
-e, --email string
|
||||||
Specifies an email address for the new user.
|
Specifies an email address for the new user.
|
||||||
|
|
||||||
[96m--[0m[96mlogin-type[0m string
|
--login-type string
|
||||||
Optionally specify the login type for the user. Valid values are:
|
Optionally specify the login type for the user. Valid values are:
|
||||||
password, none, github, oidc. Using 'none' prevents the user from
|
password, none, github, oidc. Using 'none' prevents the user from
|
||||||
authenticating and requires an API key/token to be generated by an
|
authenticating and requires an API key/token to be generated by an
|
||||||
admin.
|
admin.
|
||||||
|
|
||||||
[96m-[0m[96mp[0m, [96m--[0m[96mpassword[0m string
|
-p, --password string
|
||||||
Specifies a password for the new user.
|
Specifies a password for the new user.
|
||||||
|
|
||||||
[96m-[0m[96mu[0m, [96m--[0m[96musername[0m string
|
-u, --username string
|
||||||
Specifies a username for the new user.
|
Specifies a username for the new user.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
+4
-4
@@ -1,16 +1,16 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder users list [flags]
|
coder users list [flags]
|
||||||
|
|
||||||
Aliases: ls
|
Aliases: ls
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m-[0m[96mc[0m, [96m--[0m[96mcolumn[0m string-array (default: username,email,created_at,status)
|
-c, --column string-array (default: username,email,created_at,status)
|
||||||
Columns to display in table output. Available columns: id, username,
|
Columns to display in table output. Available columns: id, username,
|
||||||
email, created at, status.
|
email, created at, status.
|
||||||
|
|
||||||
[96m-[0m[96mo[0m, [96m--[0m[96moutput[0m string (default: table)
|
-o, --output string (default: table)
|
||||||
Output format. Available formats: table, json.
|
Output format. Available formats: table, json.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
+3
-3
@@ -1,14 +1,14 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder users show [flags] <username|user_id|'me'>
|
coder users show [flags] <username|user_id|'me'>
|
||||||
|
|
||||||
Show a single user. Use 'me' to indicate the currently authenticated user.
|
Show a single user. Use 'me' to indicate the currently authenticated user.
|
||||||
|
|
||||||
$ coder users show me
|
$ coder users show me
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m-[0m[96mo[0m, [96m--[0m[96moutput[0m string (default: table)
|
-o, --output string (default: table)
|
||||||
Output format. Available formats: table, json.
|
Output format. Available formats: table, json.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
+3
-3
@@ -1,6 +1,6 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder users suspend [flags] <username|user_id>
|
coder users suspend [flags] <username|user_id>
|
||||||
|
|
||||||
Update a user's status to 'suspended'. A suspended user cannot log into the
|
Update a user's status to 'suspended'. A suspended user cannot log into the
|
||||||
@@ -10,8 +10,8 @@ coder v0.0.0-devel
|
|||||||
|
|
||||||
$ coder users suspend example_user
|
$ coder users suspend example_user
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m-[0m[96mc[0m, [96m--[0m[96mcolumn[0m string-array (default: username,email,created_at,status)
|
-c, --column string-array (default: username,email,created_at,status)
|
||||||
Specify a column to filter in the table.
|
Specify a column to filter in the table.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
+3
-3
@@ -1,12 +1,12 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder version [flags]
|
coder version [flags]
|
||||||
|
|
||||||
Show coder version
|
Show coder version
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m-[0m[96mo[0m, [96m--[0m[96moutput[0m string (default: text)
|
-o, --output string (default: text)
|
||||||
Output format. Available formats: text, json.
|
Output format. Available formats: text, json.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
+13
-13
@@ -1,6 +1,6 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder [global-flags] <subcommand>
|
coder [global-flags] <subcommand>
|
||||||
|
|
||||||
Coder v0.0.0-devel — A tool for provisioning self-hosted development
|
Coder v0.0.0-devel — A tool for provisioning self-hosted development
|
||||||
@@ -13,49 +13,49 @@ coder v0.0.0-devel
|
|||||||
|
|
||||||
$ coder templates init
|
$ coder templates init
|
||||||
|
|
||||||
[93mSUBCOMMANDS:[0m
|
SUBCOMMANDS:
|
||||||
features List Enterprise features
|
features List Enterprise features
|
||||||
groups Manage groups
|
groups Manage groups
|
||||||
licenses Add, delete, and list licenses
|
licenses Add, delete, and list licenses
|
||||||
provisionerd Manage provisioner daemons
|
provisionerd Manage provisioner daemons
|
||||||
server Start a Coder server
|
server Start a Coder server
|
||||||
|
|
||||||
[93mGLOBAL OPTIONS:[0m
|
GLOBAL OPTIONS:
|
||||||
Global options are applied to all commands. They can be set using environment
|
Global options are applied to all commands. They can be set using environment
|
||||||
variables or flags.
|
variables or flags.
|
||||||
|
|
||||||
[96m--[0m[96mdebug-options[0m bool
|
--debug-options bool
|
||||||
Print all options, how they're set, then exit.
|
Print all options, how they're set, then exit.
|
||||||
|
|
||||||
[96m--[0m[96mdisable-direct-connections[0m bool, [96m$CODER_DISABLE_DIRECT_CONNECTIONS[0m
|
--disable-direct-connections bool, $CODER_DISABLE_DIRECT_CONNECTIONS
|
||||||
Disable direct (P2P) connections to workspaces.
|
Disable direct (P2P) connections to workspaces.
|
||||||
|
|
||||||
[96m--[0m[96mglobal-config[0m string, [96m$CODER_CONFIG_DIR[0m (default: ~/.config/coderv2)
|
--global-config string, $CODER_CONFIG_DIR (default: ~/.config/coderv2)
|
||||||
Path to the global `coder` config directory.
|
Path to the global `coder` config directory.
|
||||||
|
|
||||||
[96m--[0m[96mheader[0m string-array, [96m$CODER_HEADER[0m
|
--header string-array, $CODER_HEADER
|
||||||
Additional HTTP headers added to all requests. Provide as key=value.
|
Additional HTTP headers added to all requests. Provide as key=value.
|
||||||
Can be specified multiple times.
|
Can be specified multiple times.
|
||||||
|
|
||||||
[96m--[0m[96mheader-command[0m string, [96m$CODER_HEADER_COMMAND[0m
|
--header-command string, $CODER_HEADER_COMMAND
|
||||||
An external command that outputs additional HTTP headers added to all
|
An external command that outputs additional HTTP headers added to all
|
||||||
requests. The command must output each header as `key=value` on its
|
requests. The command must output each header as `key=value` on its
|
||||||
own line.
|
own line.
|
||||||
|
|
||||||
[96m--[0m[96mno-feature-warning[0m bool, [96m$CODER_NO_FEATURE_WARNING[0m
|
--no-feature-warning bool, $CODER_NO_FEATURE_WARNING
|
||||||
Suppress warnings about unlicensed features.
|
Suppress warnings about unlicensed features.
|
||||||
|
|
||||||
[96m--[0m[96mno-version-warning[0m bool, [96m$CODER_NO_VERSION_WARNING[0m
|
--no-version-warning bool, $CODER_NO_VERSION_WARNING
|
||||||
Suppress warning when client and server versions do not match.
|
Suppress warning when client and server versions do not match.
|
||||||
|
|
||||||
[96m--[0m[96mtoken[0m string, [96m$CODER_SESSION_TOKEN[0m
|
--token string, $CODER_SESSION_TOKEN
|
||||||
Specify an authentication token. For security reasons setting
|
Specify an authentication token. For security reasons setting
|
||||||
CODER_SESSION_TOKEN is preferred.
|
CODER_SESSION_TOKEN is preferred.
|
||||||
|
|
||||||
[96m--[0m[96murl[0m url, [96m$CODER_URL[0m
|
--url url, $CODER_URL
|
||||||
URL to a deployment.
|
URL to a deployment.
|
||||||
|
|
||||||
[96m-[0m[96mv[0m, [96m--[0m[96mverbose[0m bool, [96m$CODER_VERBOSE[0m
|
-v, --verbose bool, $CODER_VERBOSE
|
||||||
Enable verbose output.
|
Enable verbose output.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
+2
-2
@@ -1,13 +1,13 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder features
|
coder features
|
||||||
|
|
||||||
List Enterprise features
|
List Enterprise features
|
||||||
|
|
||||||
Aliases: feature
|
Aliases: feature
|
||||||
|
|
||||||
[93mSUBCOMMANDS:[0m
|
SUBCOMMANDS:
|
||||||
list
|
list
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
@@ -1,16 +1,16 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder features list [flags]
|
coder features list [flags]
|
||||||
|
|
||||||
Aliases: ls
|
Aliases: ls
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m-[0m[96mc[0m, [96m--[0m[96mcolumn[0m string-array (default: Name,Entitlement,Enabled,Limit,Actual)
|
-c, --column string-array (default: Name,Entitlement,Enabled,Limit,Actual)
|
||||||
Specify a column to filter in the table. Available columns are: Name,
|
Specify a column to filter in the table. Available columns are: Name,
|
||||||
Entitlement, Enabled, Limit, Actual.
|
Entitlement, Enabled, Limit, Actual.
|
||||||
|
|
||||||
[96m-[0m[96mo[0m, [96m--[0m[96moutput[0m string (default: table)
|
-o, --output string (default: table)
|
||||||
Output format. Available formats are: table, json.
|
Output format. Available formats are: table, json.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
+2
-2
@@ -1,13 +1,13 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder groups
|
coder groups
|
||||||
|
|
||||||
Manage groups
|
Manage groups
|
||||||
|
|
||||||
Aliases: group
|
Aliases: group
|
||||||
|
|
||||||
[93mSUBCOMMANDS:[0m
|
SUBCOMMANDS:
|
||||||
create Create a user group
|
create Create a user group
|
||||||
delete Delete a user group
|
delete Delete a user group
|
||||||
edit Edit a user group
|
edit Edit a user group
|
||||||
|
|||||||
@@ -1,15 +1,15 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder groups create [flags] <name>
|
coder groups create [flags] <name>
|
||||||
|
|
||||||
Create a user group
|
Create a user group
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m-[0m[96mu[0m, [96m--[0m[96mavatar-url[0m string, [96m$CODER_AVATAR_URL[0m
|
-u, --avatar-url string, $CODER_AVATAR_URL
|
||||||
Set an avatar for a group.
|
Set an avatar for a group.
|
||||||
|
|
||||||
[96m--[0m[96mdisplay-name[0m string, [96m$CODER_DISPLAY_NAME[0m
|
--display-name string, $CODER_DISPLAY_NAME
|
||||||
Optional human friendly name for the group.
|
Optional human friendly name for the group.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder groups delete <name>
|
coder groups delete <name>
|
||||||
|
|
||||||
Delete a user group
|
Delete a user group
|
||||||
|
|||||||
+7
-7
@@ -1,24 +1,24 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder groups edit [flags] <name>
|
coder groups edit [flags] <name>
|
||||||
|
|
||||||
Edit a user group
|
Edit a user group
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m-[0m[96ma[0m, [96m--[0m[96madd-users[0m string-array
|
-a, --add-users string-array
|
||||||
Add users to the group. Accepts emails or IDs.
|
Add users to the group. Accepts emails or IDs.
|
||||||
|
|
||||||
[96m-[0m[96mu[0m, [96m--[0m[96mavatar-url[0m string
|
-u, --avatar-url string
|
||||||
Update the group avatar.
|
Update the group avatar.
|
||||||
|
|
||||||
[96m--[0m[96mdisplay-name[0m string, [96m$CODER_DISPLAY_NAME[0m
|
--display-name string, $CODER_DISPLAY_NAME
|
||||||
Optional human friendly name for the group.
|
Optional human friendly name for the group.
|
||||||
|
|
||||||
[96m-[0m[96mn[0m, [96m--[0m[96mname[0m string
|
-n, --name string
|
||||||
Update the group name.
|
Update the group name.
|
||||||
|
|
||||||
[96m-[0m[96mr[0m, [96m--[0m[96mrm-users[0m string-array
|
-r, --rm-users string-array
|
||||||
Remove users to the group. Accepts emails or IDs.
|
Remove users to the group. Accepts emails or IDs.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
+4
-4
@@ -1,16 +1,16 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder groups list [flags]
|
coder groups list [flags]
|
||||||
|
|
||||||
List user groups
|
List user groups
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m-[0m[96mc[0m, [96m--[0m[96mcolumn[0m string-array (default: name,display name,organization id,members,avatar url)
|
-c, --column string-array (default: name,display name,organization id,members,avatar url)
|
||||||
Columns to display in table output. Available columns: name, display
|
Columns to display in table output. Available columns: name, display
|
||||||
name, organization id, members, avatar url.
|
name, organization id, members, avatar url.
|
||||||
|
|
||||||
[96m-[0m[96mo[0m, [96m--[0m[96moutput[0m string (default: table)
|
-o, --output string (default: table)
|
||||||
Output format. Available formats: table, json.
|
Output format. Available formats: table, json.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
+2
-2
@@ -1,13 +1,13 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder licenses
|
coder licenses
|
||||||
|
|
||||||
Add, delete, and list licenses
|
Add, delete, and list licenses
|
||||||
|
|
||||||
Aliases: license
|
Aliases: license
|
||||||
|
|
||||||
[93mSUBCOMMANDS:[0m
|
SUBCOMMANDS:
|
||||||
add Add license to Coder deployment
|
add Add license to Coder deployment
|
||||||
delete Delete license by ID
|
delete Delete license by ID
|
||||||
list List licenses (including expired)
|
list List licenses (including expired)
|
||||||
|
|||||||
@@ -1,18 +1,18 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder licenses add [flags] [-f file | -l license]
|
coder licenses add [flags] [-f file | -l license]
|
||||||
|
|
||||||
Add license to Coder deployment
|
Add license to Coder deployment
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m--[0m[96mdebug[0m bool
|
--debug bool
|
||||||
Output license claims for debugging.
|
Output license claims for debugging.
|
||||||
|
|
||||||
[96m-[0m[96mf[0m, [96m--[0m[96mfile[0m string
|
-f, --file string
|
||||||
Load license from file.
|
Load license from file.
|
||||||
|
|
||||||
[96m-[0m[96ml[0m, [96m--[0m[96mlicense[0m string
|
-l, --license string
|
||||||
License string.
|
License string.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder licenses delete <id>
|
coder licenses delete <id>
|
||||||
|
|
||||||
Delete license by ID
|
Delete license by ID
|
||||||
|
|||||||
@@ -1,18 +1,18 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder licenses list [flags]
|
coder licenses list [flags]
|
||||||
|
|
||||||
List licenses (including expired)
|
List licenses (including expired)
|
||||||
|
|
||||||
Aliases: ls
|
Aliases: ls
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m-[0m[96mc[0m, [96m--[0m[96mcolumn[0m string-array (default: UUID,Expires At,Uploaded At,Features)
|
-c, --column string-array (default: UUID,Expires At,Uploaded At,Features)
|
||||||
Columns to display in table output. Available columns: id, uuid,
|
Columns to display in table output. Available columns: id, uuid,
|
||||||
uploaded at, features, expires at, trial.
|
uploaded at, features, expires at, trial.
|
||||||
|
|
||||||
[96m-[0m[96mo[0m, [96m--[0m[96moutput[0m string (default: table)
|
-o, --output string (default: table)
|
||||||
Output format. Available formats: table, json.
|
Output format. Available formats: table, json.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder provisionerd
|
coder provisionerd
|
||||||
|
|
||||||
Manage provisioner daemons
|
Manage provisioner daemons
|
||||||
|
|
||||||
[93mSUBCOMMANDS:[0m
|
SUBCOMMANDS:
|
||||||
start Run a provisioner daemon
|
start Run a provisioner daemon
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
@@ -1,24 +1,24 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder provisionerd start [flags]
|
coder provisionerd start [flags]
|
||||||
|
|
||||||
Run a provisioner daemon
|
Run a provisioner daemon
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m-[0m[96mc[0m, [96m--[0m[96mcache-dir[0m string, [96m$CODER_CACHE_DIRECTORY[0m (default: [cache dir])
|
-c, --cache-dir string, $CODER_CACHE_DIRECTORY (default: [cache dir])
|
||||||
Directory to store cached data.
|
Directory to store cached data.
|
||||||
|
|
||||||
[96m--[0m[96mpoll-interval[0m duration, [96m$CODER_PROVISIONERD_POLL_INTERVAL[0m (default: 1s)
|
--poll-interval duration, $CODER_PROVISIONERD_POLL_INTERVAL (default: 1s)
|
||||||
How often to poll for provisioner jobs.
|
How often to poll for provisioner jobs.
|
||||||
|
|
||||||
[96m--[0m[96mpoll-jitter[0m duration, [96m$CODER_PROVISIONERD_POLL_JITTER[0m (default: 100ms)
|
--poll-jitter duration, $CODER_PROVISIONERD_POLL_JITTER (default: 100ms)
|
||||||
How much to jitter the poll interval by.
|
How much to jitter the poll interval by.
|
||||||
|
|
||||||
[96m--[0m[96mpsk[0m string, [96m$CODER_PROVISIONER_DAEMON_PSK[0m
|
--psk string, $CODER_PROVISIONER_DAEMON_PSK
|
||||||
Pre-shared key to authenticate with Coder server.
|
Pre-shared key to authenticate with Coder server.
|
||||||
|
|
||||||
[96m-[0m[96mt[0m, [96m--[0m[96mtag[0m string-array, [96m$CODER_PROVISIONERD_TAGS[0m
|
-t, --tag string-array, $CODER_PROVISIONERD_TAGS
|
||||||
Tags to filter provisioner jobs by.
|
Tags to filter provisioner jobs by.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
+119
-119
@@ -1,11 +1,11 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder server [flags]
|
coder server [flags]
|
||||||
|
|
||||||
Start a Coder server
|
Start a Coder server
|
||||||
|
|
||||||
[93mSUBCOMMANDS:[0m
|
SUBCOMMANDS:
|
||||||
create-admin-user Create a new admin user with the given username,
|
create-admin-user Create a new admin user with the given username,
|
||||||
email and password and adds it to every
|
email and password and adds it to every
|
||||||
organization.
|
organization.
|
||||||
@@ -14,153 +14,153 @@ coder v0.0.0-devel
|
|||||||
postgres-builtin-url Output the connection URL for the built-in
|
postgres-builtin-url Output the connection URL for the built-in
|
||||||
PostgreSQL deployment.
|
PostgreSQL deployment.
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m--[0m[96mcache-dir[0m string, [96m$CODER_CACHE_DIRECTORY[0m (default: [cache dir])
|
--cache-dir string, $CODER_CACHE_DIRECTORY (default: [cache dir])
|
||||||
The directory to cache temporary files. If unspecified and
|
The directory to cache temporary files. If unspecified and
|
||||||
$CACHE_DIRECTORY is set, it will be used for compatibility with
|
$CACHE_DIRECTORY is set, it will be used for compatibility with
|
||||||
systemd.
|
systemd.
|
||||||
|
|
||||||
[96m--[0m[96mdisable-owner-workspace-access[0m bool, [96m$CODER_DISABLE_OWNER_WORKSPACE_ACCESS[0m
|
--disable-owner-workspace-access bool, $CODER_DISABLE_OWNER_WORKSPACE_ACCESS
|
||||||
Remove the permission for the 'owner' role to have workspace execution
|
Remove the permission for the 'owner' role to have workspace execution
|
||||||
on all workspaces. This prevents the 'owner' from ssh, apps, and
|
on all workspaces. This prevents the 'owner' from ssh, apps, and
|
||||||
terminal access based on the 'owner' role. They still have their user
|
terminal access based on the 'owner' role. They still have their user
|
||||||
permissions to access their own workspaces.
|
permissions to access their own workspaces.
|
||||||
|
|
||||||
[96m--[0m[96mdisable-path-apps[0m bool, [96m$CODER_DISABLE_PATH_APPS[0m
|
--disable-path-apps bool, $CODER_DISABLE_PATH_APPS
|
||||||
Disable workspace apps that are not served from subdomains. Path-based
|
Disable workspace apps that are not served from subdomains. Path-based
|
||||||
apps can make requests to the Coder API and pose a security risk when
|
apps can make requests to the Coder API and pose a security risk when
|
||||||
the workspace serves malicious JavaScript. This is recommended for
|
the workspace serves malicious JavaScript. This is recommended for
|
||||||
security purposes if a --wildcard-access-url is configured.
|
security purposes if a --wildcard-access-url is configured.
|
||||||
|
|
||||||
[96m--[0m[96mswagger-enable[0m bool, [96m$CODER_SWAGGER_ENABLE[0m
|
--swagger-enable bool, $CODER_SWAGGER_ENABLE
|
||||||
Expose the swagger endpoint via /swagger.
|
Expose the swagger endpoint via /swagger.
|
||||||
|
|
||||||
[96m--[0m[96mexperiments[0m string-array, [96m$CODER_EXPERIMENTS[0m
|
--experiments string-array, $CODER_EXPERIMENTS
|
||||||
Enable one or more experiments. These are not ready for production.
|
Enable one or more experiments. These are not ready for production.
|
||||||
Separate multiple experiments with commas, or enter '*' to opt-in to
|
Separate multiple experiments with commas, or enter '*' to opt-in to
|
||||||
all available experiments.
|
all available experiments.
|
||||||
|
|
||||||
[96m--[0m[96mpostgres-url[0m string, [96m$CODER_PG_CONNECTION_URL[0m
|
--postgres-url string, $CODER_PG_CONNECTION_URL
|
||||||
URL of a PostgreSQL database. If empty, PostgreSQL binaries will be
|
URL of a PostgreSQL database. If empty, PostgreSQL binaries will be
|
||||||
downloaded from Maven (https://repo1.maven.org/maven2) and store all
|
downloaded from Maven (https://repo1.maven.org/maven2) and store all
|
||||||
data in the config root. Access the built-in database with "coder
|
data in the config root. Access the built-in database with "coder
|
||||||
server postgres-builtin-url".
|
server postgres-builtin-url".
|
||||||
|
|
||||||
[96m--[0m[96mssh-keygen-algorithm[0m string, [96m$CODER_SSH_KEYGEN_ALGORITHM[0m (default: ed25519)
|
--ssh-keygen-algorithm string, $CODER_SSH_KEYGEN_ALGORITHM (default: ed25519)
|
||||||
The algorithm to use for generating ssh keys. Accepted values are
|
The algorithm to use for generating ssh keys. Accepted values are
|
||||||
"ed25519", "ecdsa", or "rsa4096".
|
"ed25519", "ecdsa", or "rsa4096".
|
||||||
|
|
||||||
[96m--[0m[96mupdate-check[0m bool, [96m$CODER_UPDATE_CHECK[0m (default: false)
|
--update-check bool, $CODER_UPDATE_CHECK (default: false)
|
||||||
Periodically check for new releases of Coder and inform the owner. The
|
Periodically check for new releases of Coder and inform the owner. The
|
||||||
check is performed once per day.
|
check is performed once per day.
|
||||||
|
|
||||||
[93mCLIENT OPTIONS:[0m
|
CLIENT OPTIONS:
|
||||||
These options change the behavior of how clients interact with the Coder.
|
These options change the behavior of how clients interact with the Coder.
|
||||||
Clients include the coder cli, vs code extension, and the web UI.
|
Clients include the coder cli, vs code extension, and the web UI.
|
||||||
|
|
||||||
[96m--[0m[96mssh-config-options[0m string-array, [96m$CODER_SSH_CONFIG_OPTIONS[0m
|
--ssh-config-options string-array, $CODER_SSH_CONFIG_OPTIONS
|
||||||
These SSH config options will override the default SSH config options.
|
These SSH config options will override the default SSH config options.
|
||||||
Provide options in "key=value" or "key value" format separated by
|
Provide options in "key=value" or "key value" format separated by
|
||||||
commas.Using this incorrectly can break SSH to your deployment, use
|
commas.Using this incorrectly can break SSH to your deployment, use
|
||||||
cautiously.
|
cautiously.
|
||||||
|
|
||||||
[96m--[0m[96mssh-hostname-prefix[0m string, [96m$CODER_SSH_HOSTNAME_PREFIX[0m (default: coder.)
|
--ssh-hostname-prefix string, $CODER_SSH_HOSTNAME_PREFIX (default: coder.)
|
||||||
The SSH deployment prefix is used in the Host of the ssh config.
|
The SSH deployment prefix is used in the Host of the ssh config.
|
||||||
|
|
||||||
[93mCONFIG OPTIONS:[0m
|
CONFIG OPTIONS:
|
||||||
Use a YAML configuration file when your server launch become unwieldy.
|
Use a YAML configuration file when your server launch become unwieldy.
|
||||||
|
|
||||||
[96m-[0m[96mc[0m, [96m--[0m[96mconfig[0m yaml-config-path, [96m$CODER_CONFIG_PATH[0m
|
-c, --config yaml-config-path, $CODER_CONFIG_PATH
|
||||||
Specify a YAML file to load configuration from.
|
Specify a YAML file to load configuration from.
|
||||||
|
|
||||||
[96m--[0m[96mwrite-config[0m bool
|
--write-config bool
|
||||||
|
|
||||||
Write out the current server config as YAML to stdout.
|
Write out the current server config as YAML to stdout.
|
||||||
|
|
||||||
[93mINTROSPECTION / LOGGING OPTIONS:[0m
|
INTROSPECTION / LOGGING OPTIONS:
|
||||||
[96m--[0m[96menable-terraform-debug-mode[0m bool, [96m$CODER_ENABLE_TERRAFORM_DEBUG_MODE[0m (default: false)
|
--enable-terraform-debug-mode bool, $CODER_ENABLE_TERRAFORM_DEBUG_MODE (default: false)
|
||||||
Allow administrators to enable Terraform debug output.
|
Allow administrators to enable Terraform debug output.
|
||||||
|
|
||||||
[96m--[0m[96mlog-human[0m string, [96m$CODER_LOGGING_HUMAN[0m (default: /dev/stderr)
|
--log-human string, $CODER_LOGGING_HUMAN (default: /dev/stderr)
|
||||||
Output human-readable logs to a given file.
|
Output human-readable logs to a given file.
|
||||||
|
|
||||||
[96m--[0m[96mlog-json[0m string, [96m$CODER_LOGGING_JSON[0m
|
--log-json string, $CODER_LOGGING_JSON
|
||||||
Output JSON logs to a given file.
|
Output JSON logs to a given file.
|
||||||
|
|
||||||
[96m-[0m[96ml[0m, [96m--[0m[96mlog-filter[0m string-array, [96m$CODER_LOG_FILTER[0m
|
-l, --log-filter string-array, $CODER_LOG_FILTER
|
||||||
Filter debug logs by matching against a given regex. Use .* to match
|
Filter debug logs by matching against a given regex. Use .* to match
|
||||||
all debug logs.
|
all debug logs.
|
||||||
|
|
||||||
[96m--[0m[96mlog-stackdriver[0m string, [96m$CODER_LOGGING_STACKDRIVER[0m
|
--log-stackdriver string, $CODER_LOGGING_STACKDRIVER
|
||||||
Output Stackdriver compatible logs to a given file.
|
Output Stackdriver compatible logs to a given file.
|
||||||
|
|
||||||
[93mINTROSPECTION / PROMETHEUS OPTIONS:[0m
|
INTROSPECTION / PROMETHEUS OPTIONS:
|
||||||
[96m--[0m[96mprometheus-address[0m host:port, [96m$CODER_PROMETHEUS_ADDRESS[0m (default: 127.0.0.1:2112)
|
--prometheus-address host:port, $CODER_PROMETHEUS_ADDRESS (default: 127.0.0.1:2112)
|
||||||
The bind address to serve prometheus metrics.
|
The bind address to serve prometheus metrics.
|
||||||
|
|
||||||
[96m--[0m[96mprometheus-collect-agent-stats[0m bool, [96m$CODER_PROMETHEUS_COLLECT_AGENT_STATS[0m
|
--prometheus-collect-agent-stats bool, $CODER_PROMETHEUS_COLLECT_AGENT_STATS
|
||||||
Collect agent stats (may increase charges for metrics storage).
|
Collect agent stats (may increase charges for metrics storage).
|
||||||
|
|
||||||
[96m--[0m[96mprometheus-collect-db-metrics[0m bool, [96m$CODER_PROMETHEUS_COLLECT_DB_METRICS[0m (default: false)
|
--prometheus-collect-db-metrics bool, $CODER_PROMETHEUS_COLLECT_DB_METRICS (default: false)
|
||||||
Collect database metrics (may increase charges for metrics storage).
|
Collect database metrics (may increase charges for metrics storage).
|
||||||
|
|
||||||
[96m--[0m[96mprometheus-enable[0m bool, [96m$CODER_PROMETHEUS_ENABLE[0m
|
--prometheus-enable bool, $CODER_PROMETHEUS_ENABLE
|
||||||
Serve prometheus metrics on the address defined by prometheus address.
|
Serve prometheus metrics on the address defined by prometheus address.
|
||||||
|
|
||||||
[93mINTROSPECTION / TRACING OPTIONS:[0m
|
INTROSPECTION / TRACING OPTIONS:
|
||||||
[96m--[0m[96mtrace-logs[0m bool, [96m$CODER_TRACE_LOGS[0m
|
--trace-logs bool, $CODER_TRACE_LOGS
|
||||||
Enables capturing of logs as events in traces. This is useful for
|
Enables capturing of logs as events in traces. This is useful for
|
||||||
debugging, but may result in a very large amount of events being sent
|
debugging, but may result in a very large amount of events being sent
|
||||||
to the tracing backend which may incur significant costs.
|
to the tracing backend which may incur significant costs.
|
||||||
|
|
||||||
[96m--[0m[96mtrace[0m bool, [96m$CODER_TRACE_ENABLE[0m
|
--trace bool, $CODER_TRACE_ENABLE
|
||||||
Whether application tracing data is collected. It exports to a backend
|
Whether application tracing data is collected. It exports to a backend
|
||||||
configured by environment variables. See:
|
configured by environment variables. See:
|
||||||
https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md.
|
https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md.
|
||||||
|
|
||||||
[96m--[0m[96mtrace-honeycomb-api-key[0m string, [96m$CODER_TRACE_HONEYCOMB_API_KEY[0m
|
--trace-honeycomb-api-key string, $CODER_TRACE_HONEYCOMB_API_KEY
|
||||||
Enables trace exporting to Honeycomb.io using the provided API Key.
|
Enables trace exporting to Honeycomb.io using the provided API Key.
|
||||||
|
|
||||||
[93mINTROSPECTION / PPROF OPTIONS:[0m
|
INTROSPECTION / PPROF OPTIONS:
|
||||||
[96m--[0m[96mpprof-address[0m host:port, [96m$CODER_PPROF_ADDRESS[0m (default: 127.0.0.1:6060)
|
--pprof-address host:port, $CODER_PPROF_ADDRESS (default: 127.0.0.1:6060)
|
||||||
The bind address to serve pprof.
|
The bind address to serve pprof.
|
||||||
|
|
||||||
[96m--[0m[96mpprof-enable[0m bool, [96m$CODER_PPROF_ENABLE[0m
|
--pprof-enable bool, $CODER_PPROF_ENABLE
|
||||||
Serve pprof metrics on the address defined by pprof address.
|
Serve pprof metrics on the address defined by pprof address.
|
||||||
|
|
||||||
[93mNETWORKING OPTIONS:[0m
|
NETWORKING OPTIONS:
|
||||||
[96m--[0m[96maccess-url[0m url, [96m$CODER_ACCESS_URL[0m
|
--access-url url, $CODER_ACCESS_URL
|
||||||
The URL that users will use to access the Coder deployment.
|
The URL that users will use to access the Coder deployment.
|
||||||
|
|
||||||
[96m--[0m[96mdocs-url[0m url, [96m$CODER_DOCS_URL[0m
|
--docs-url url, $CODER_DOCS_URL
|
||||||
Specifies the custom docs URL.
|
Specifies the custom docs URL.
|
||||||
|
|
||||||
[96m--[0m[96mproxy-trusted-headers[0m string-array, [96m$CODER_PROXY_TRUSTED_HEADERS[0m
|
--proxy-trusted-headers string-array, $CODER_PROXY_TRUSTED_HEADERS
|
||||||
Headers to trust for forwarding IP addresses. e.g. Cf-Connecting-Ip,
|
Headers to trust for forwarding IP addresses. e.g. Cf-Connecting-Ip,
|
||||||
True-Client-Ip, X-Forwarded-For.
|
True-Client-Ip, X-Forwarded-For.
|
||||||
|
|
||||||
[96m--[0m[96mproxy-trusted-origins[0m string-array, [96m$CODER_PROXY_TRUSTED_ORIGINS[0m
|
--proxy-trusted-origins string-array, $CODER_PROXY_TRUSTED_ORIGINS
|
||||||
Origin addresses to respect "proxy-trusted-headers". e.g.
|
Origin addresses to respect "proxy-trusted-headers". e.g.
|
||||||
192.168.1.0/24.
|
192.168.1.0/24.
|
||||||
|
|
||||||
[96m--[0m[96mredirect-to-access-url[0m bool, [96m$CODER_REDIRECT_TO_ACCESS_URL[0m
|
--redirect-to-access-url bool, $CODER_REDIRECT_TO_ACCESS_URL
|
||||||
Specifies whether to redirect requests that do not match the access
|
Specifies whether to redirect requests that do not match the access
|
||||||
URL host.
|
URL host.
|
||||||
|
|
||||||
[96m--[0m[96msecure-auth-cookie[0m bool, [96m$CODER_SECURE_AUTH_COOKIE[0m
|
--secure-auth-cookie bool, $CODER_SECURE_AUTH_COOKIE
|
||||||
Controls if the 'Secure' property is set on browser session cookies.
|
Controls if the 'Secure' property is set on browser session cookies.
|
||||||
|
|
||||||
[96m--[0m[96mwildcard-access-url[0m url, [96m$CODER_WILDCARD_ACCESS_URL[0m
|
--wildcard-access-url url, $CODER_WILDCARD_ACCESS_URL
|
||||||
Specifies the wildcard hostname to use for workspace applications in
|
Specifies the wildcard hostname to use for workspace applications in
|
||||||
the form "*.example.com".
|
the form "*.example.com".
|
||||||
|
|
||||||
[93mNETWORKING / DERP OPTIONS:[0m
|
NETWORKING / DERP OPTIONS:
|
||||||
Most Coder deployments never have to think about DERP because all connections
|
Most Coder deployments never have to think about DERP because all connections
|
||||||
between workspaces and users are peer-to-peer. However, when Coder cannot
|
between workspaces and users are peer-to-peer. However, when Coder cannot
|
||||||
establish a peer to peer connection, Coder uses a distributed relay network
|
establish a peer to peer connection, Coder uses a distributed relay network
|
||||||
backed by Tailscale and WireGuard.
|
backed by Tailscale and WireGuard.
|
||||||
|
|
||||||
[96m--[0m[96mblock-direct-connections[0m bool, [96m$CODER_BLOCK_DIRECT[0m
|
--block-direct-connections bool, $CODER_BLOCK_DIRECT
|
||||||
Block peer-to-peer (aka. direct) workspace connections. All workspace
|
Block peer-to-peer (aka. direct) workspace connections. All workspace
|
||||||
connections from the CLI will be proxied through Coder (or custom
|
connections from the CLI will be proxied through Coder (or custom
|
||||||
configured DERP servers) and will never be peer-to-peer when enabled.
|
configured DERP servers) and will never be peer-to-peer when enabled.
|
||||||
@@ -168,36 +168,36 @@ backed by Tailscale and WireGuard.
|
|||||||
until they are restarted after this change has been made, but new
|
until they are restarted after this change has been made, but new
|
||||||
connections will still be proxied regardless.
|
connections will still be proxied regardless.
|
||||||
|
|
||||||
[96m--[0m[96mderp-config-path[0m string, [96m$CODER_DERP_CONFIG_PATH[0m
|
--derp-config-path string, $CODER_DERP_CONFIG_PATH
|
||||||
Path to read a DERP mapping from. See:
|
Path to read a DERP mapping from. See:
|
||||||
https://tailscale.com/kb/1118/custom-derp-servers/.
|
https://tailscale.com/kb/1118/custom-derp-servers/.
|
||||||
|
|
||||||
[96m--[0m[96mderp-config-url[0m string, [96m$CODER_DERP_CONFIG_URL[0m
|
--derp-config-url string, $CODER_DERP_CONFIG_URL
|
||||||
URL to fetch a DERP mapping on startup. See:
|
URL to fetch a DERP mapping on startup. See:
|
||||||
https://tailscale.com/kb/1118/custom-derp-servers/.
|
https://tailscale.com/kb/1118/custom-derp-servers/.
|
||||||
|
|
||||||
[96m--[0m[96mderp-force-websockets[0m bool, [96m$CODER_DERP_FORCE_WEBSOCKETS[0m
|
--derp-force-websockets bool, $CODER_DERP_FORCE_WEBSOCKETS
|
||||||
Force clients and agents to always use WebSocket to connect to DERP
|
Force clients and agents to always use WebSocket to connect to DERP
|
||||||
relay servers. By default, DERP uses `Upgrade: derp`, which may cause
|
relay servers. By default, DERP uses `Upgrade: derp`, which may cause
|
||||||
issues with some reverse proxies. Clients may automatically fallback
|
issues with some reverse proxies. Clients may automatically fallback
|
||||||
to WebSocket if they detect an issue with `Upgrade: derp`, but this
|
to WebSocket if they detect an issue with `Upgrade: derp`, but this
|
||||||
does not work in all situations.
|
does not work in all situations.
|
||||||
|
|
||||||
[96m--[0m[96mderp-server-enable[0m bool, [96m$CODER_DERP_SERVER_ENABLE[0m (default: true)
|
--derp-server-enable bool, $CODER_DERP_SERVER_ENABLE (default: true)
|
||||||
Whether to enable or disable the embedded DERP relay server.
|
Whether to enable or disable the embedded DERP relay server.
|
||||||
|
|
||||||
[96m--[0m[96mderp-server-region-name[0m string, [96m$CODER_DERP_SERVER_REGION_NAME[0m (default: Coder Embedded Relay)
|
--derp-server-region-name string, $CODER_DERP_SERVER_REGION_NAME (default: Coder Embedded Relay)
|
||||||
Region name that for the embedded DERP server.
|
Region name that for the embedded DERP server.
|
||||||
|
|
||||||
[96m--[0m[96mderp-server-stun-addresses[0m string-array, [96m$CODER_DERP_SERVER_STUN_ADDRESSES[0m (default: stun.l.google.com:19302,stun1.l.google.com:19302,stun2.l.google.com:19302,stun3.l.google.com:19302,stun4.l.google.com:19302)
|
--derp-server-stun-addresses string-array, $CODER_DERP_SERVER_STUN_ADDRESSES (default: stun.l.google.com:19302,stun1.l.google.com:19302,stun2.l.google.com:19302,stun3.l.google.com:19302,stun4.l.google.com:19302)
|
||||||
Addresses for STUN servers to establish P2P connections. It's
|
Addresses for STUN servers to establish P2P connections. It's
|
||||||
recommended to have at least two STUN servers to give users the best
|
recommended to have at least two STUN servers to give users the best
|
||||||
chance of connecting P2P to workspaces. Each STUN server will get it's
|
chance of connecting P2P to workspaces. Each STUN server will get it's
|
||||||
own DERP region, with region IDs starting at `--derp-server-region-id
|
own DERP region, with region IDs starting at `--derp-server-region-id
|
||||||
+ 1`. Use special value 'disable' to turn off STUN completely.
|
+ 1`. Use special value 'disable' to turn off STUN completely.
|
||||||
|
|
||||||
[93mNETWORKING / HTTP OPTIONS:[0m
|
NETWORKING / HTTP OPTIONS:
|
||||||
[96m--[0m[96mdisable-password-auth[0m bool, [96m$CODER_DISABLE_PASSWORD_AUTH[0m
|
--disable-password-auth bool, $CODER_DISABLE_PASSWORD_AUTH
|
||||||
Disable password authentication. This is recommended for security
|
Disable password authentication. This is recommended for security
|
||||||
purposes in production deployments that rely on an identity provider.
|
purposes in production deployments that rely on an identity provider.
|
||||||
Any user with the owner role will be able to sign in with their
|
Any user with the owner role will be able to sign in with their
|
||||||
@@ -206,221 +206,221 @@ backed by Tailscale and WireGuard.
|
|||||||
create-admin` command to create a new admin user directly in the
|
create-admin` command to create a new admin user directly in the
|
||||||
database.
|
database.
|
||||||
|
|
||||||
[96m--[0m[96mdisable-session-expiry-refresh[0m bool, [96m$CODER_DISABLE_SESSION_EXPIRY_REFRESH[0m
|
--disable-session-expiry-refresh bool, $CODER_DISABLE_SESSION_EXPIRY_REFRESH
|
||||||
Disable automatic session expiry bumping due to activity. This forces
|
Disable automatic session expiry bumping due to activity. This forces
|
||||||
all sessions to become invalid after the session expiry duration has
|
all sessions to become invalid after the session expiry duration has
|
||||||
been reached.
|
been reached.
|
||||||
|
|
||||||
[96m--[0m[96mhttp-address[0m string, [96m$CODER_HTTP_ADDRESS[0m (default: 127.0.0.1:3000)
|
--http-address string, $CODER_HTTP_ADDRESS (default: 127.0.0.1:3000)
|
||||||
HTTP bind address of the server. Unset to disable the HTTP endpoint.
|
HTTP bind address of the server. Unset to disable the HTTP endpoint.
|
||||||
|
|
||||||
[96m--[0m[96mmax-token-lifetime[0m duration, [96m$CODER_MAX_TOKEN_LIFETIME[0m (default: 876600h0m0s)
|
--max-token-lifetime duration, $CODER_MAX_TOKEN_LIFETIME (default: 876600h0m0s)
|
||||||
The maximum lifetime duration users can specify when creating an API
|
The maximum lifetime duration users can specify when creating an API
|
||||||
token.
|
token.
|
||||||
|
|
||||||
[96m--[0m[96mproxy-health-interval[0m duration, [96m$CODER_PROXY_HEALTH_INTERVAL[0m (default: 1m0s)
|
--proxy-health-interval duration, $CODER_PROXY_HEALTH_INTERVAL (default: 1m0s)
|
||||||
The interval in which coderd should be checking the status of
|
The interval in which coderd should be checking the status of
|
||||||
workspace proxies.
|
workspace proxies.
|
||||||
|
|
||||||
[96m--[0m[96msession-duration[0m duration, [96m$CODER_SESSION_DURATION[0m (default: 24h0m0s)
|
--session-duration duration, $CODER_SESSION_DURATION (default: 24h0m0s)
|
||||||
The token expiry duration for browser sessions. Sessions may last
|
The token expiry duration for browser sessions. Sessions may last
|
||||||
longer if they are actively making requests, but this functionality
|
longer if they are actively making requests, but this functionality
|
||||||
can be disabled via --disable-session-expiry-refresh.
|
can be disabled via --disable-session-expiry-refresh.
|
||||||
|
|
||||||
[93mNETWORKING / TLS OPTIONS:[0m
|
NETWORKING / TLS OPTIONS:
|
||||||
Configure TLS / HTTPS for your Coder deployment. If you're running Coder behind
|
Configure TLS / HTTPS for your Coder deployment. If you're running Coder behind
|
||||||
a TLS-terminating reverse proxy or are accessing Coder over a secure link, you
|
a TLS-terminating reverse proxy or are accessing Coder over a secure link, you
|
||||||
can safely ignore these settings.
|
can safely ignore these settings.
|
||||||
|
|
||||||
[96m--[0m[96mstrict-transport-security[0m int, [96m$CODER_STRICT_TRANSPORT_SECURITY[0m (default: 0)
|
--strict-transport-security int, $CODER_STRICT_TRANSPORT_SECURITY (default: 0)
|
||||||
Controls if the 'Strict-Transport-Security' header is set on all
|
Controls if the 'Strict-Transport-Security' header is set on all
|
||||||
static file responses. This header should only be set if the server is
|
static file responses. This header should only be set if the server is
|
||||||
accessed via HTTPS. This value is the MaxAge in seconds of the header.
|
accessed via HTTPS. This value is the MaxAge in seconds of the header.
|
||||||
|
|
||||||
[96m--[0m[96mstrict-transport-security-options[0m string-array, [96m$CODER_STRICT_TRANSPORT_SECURITY_OPTIONS[0m
|
--strict-transport-security-options string-array, $CODER_STRICT_TRANSPORT_SECURITY_OPTIONS
|
||||||
Two optional fields can be set in the Strict-Transport-Security
|
Two optional fields can be set in the Strict-Transport-Security
|
||||||
header; 'includeSubDomains' and 'preload'. The
|
header; 'includeSubDomains' and 'preload'. The
|
||||||
'strict-transport-security' flag must be set to a non-zero value for
|
'strict-transport-security' flag must be set to a non-zero value for
|
||||||
these options to be used.
|
these options to be used.
|
||||||
|
|
||||||
[96m--[0m[96mtls-address[0m host:port, [96m$CODER_TLS_ADDRESS[0m (default: 127.0.0.1:3443)
|
--tls-address host:port, $CODER_TLS_ADDRESS (default: 127.0.0.1:3443)
|
||||||
HTTPS bind address of the server.
|
HTTPS bind address of the server.
|
||||||
|
|
||||||
[96m--[0m[96mtls-cert-file[0m string-array, [96m$CODER_TLS_CERT_FILE[0m
|
--tls-cert-file string-array, $CODER_TLS_CERT_FILE
|
||||||
Path to each certificate for TLS. It requires a PEM-encoded file. To
|
Path to each certificate for TLS. It requires a PEM-encoded file. To
|
||||||
configure the listener to use a CA certificate, concatenate the
|
configure the listener to use a CA certificate, concatenate the
|
||||||
primary certificate and the CA certificate together. The primary
|
primary certificate and the CA certificate together. The primary
|
||||||
certificate should appear first in the combined file.
|
certificate should appear first in the combined file.
|
||||||
|
|
||||||
[96m--[0m[96mtls-client-auth[0m string, [96m$CODER_TLS_CLIENT_AUTH[0m (default: none)
|
--tls-client-auth string, $CODER_TLS_CLIENT_AUTH (default: none)
|
||||||
Policy the server will follow for TLS Client Authentication. Accepted
|
Policy the server will follow for TLS Client Authentication. Accepted
|
||||||
values are "none", "request", "require-any", "verify-if-given", or
|
values are "none", "request", "require-any", "verify-if-given", or
|
||||||
"require-and-verify".
|
"require-and-verify".
|
||||||
|
|
||||||
[96m--[0m[96mtls-client-ca-file[0m string, [96m$CODER_TLS_CLIENT_CA_FILE[0m
|
--tls-client-ca-file string, $CODER_TLS_CLIENT_CA_FILE
|
||||||
PEM-encoded Certificate Authority file used for checking the
|
PEM-encoded Certificate Authority file used for checking the
|
||||||
authenticity of client.
|
authenticity of client.
|
||||||
|
|
||||||
[96m--[0m[96mtls-client-cert-file[0m string, [96m$CODER_TLS_CLIENT_CERT_FILE[0m
|
--tls-client-cert-file string, $CODER_TLS_CLIENT_CERT_FILE
|
||||||
Path to certificate for client TLS authentication. It requires a
|
Path to certificate for client TLS authentication. It requires a
|
||||||
PEM-encoded file.
|
PEM-encoded file.
|
||||||
|
|
||||||
[96m--[0m[96mtls-client-key-file[0m string, [96m$CODER_TLS_CLIENT_KEY_FILE[0m
|
--tls-client-key-file string, $CODER_TLS_CLIENT_KEY_FILE
|
||||||
Path to key for client TLS authentication. It requires a PEM-encoded
|
Path to key for client TLS authentication. It requires a PEM-encoded
|
||||||
file.
|
file.
|
||||||
|
|
||||||
[96m--[0m[96mtls-enable[0m bool, [96m$CODER_TLS_ENABLE[0m
|
--tls-enable bool, $CODER_TLS_ENABLE
|
||||||
Whether TLS will be enabled.
|
Whether TLS will be enabled.
|
||||||
|
|
||||||
[96m--[0m[96mtls-key-file[0m string-array, [96m$CODER_TLS_KEY_FILE[0m
|
--tls-key-file string-array, $CODER_TLS_KEY_FILE
|
||||||
Paths to the private keys for each of the certificates. It requires a
|
Paths to the private keys for each of the certificates. It requires a
|
||||||
PEM-encoded file.
|
PEM-encoded file.
|
||||||
|
|
||||||
[96m--[0m[96mtls-min-version[0m string, [96m$CODER_TLS_MIN_VERSION[0m (default: tls12)
|
--tls-min-version string, $CODER_TLS_MIN_VERSION (default: tls12)
|
||||||
Minimum supported version of TLS. Accepted values are "tls10",
|
Minimum supported version of TLS. Accepted values are "tls10",
|
||||||
"tls11", "tls12" or "tls13".
|
"tls11", "tls12" or "tls13".
|
||||||
|
|
||||||
[93mOAUTH2 / GITHUB OPTIONS:[0m
|
OAUTH2 / GITHUB OPTIONS:
|
||||||
[96m--[0m[96moauth2-github-allow-everyone[0m bool, [96m$CODER_OAUTH2_GITHUB_ALLOW_EVERYONE[0m
|
--oauth2-github-allow-everyone bool, $CODER_OAUTH2_GITHUB_ALLOW_EVERYONE
|
||||||
Allow all logins, setting this option means allowed orgs and teams
|
Allow all logins, setting this option means allowed orgs and teams
|
||||||
must be empty.
|
must be empty.
|
||||||
|
|
||||||
[96m--[0m[96moauth2-github-allow-signups[0m bool, [96m$CODER_OAUTH2_GITHUB_ALLOW_SIGNUPS[0m
|
--oauth2-github-allow-signups bool, $CODER_OAUTH2_GITHUB_ALLOW_SIGNUPS
|
||||||
Whether new users can sign up with GitHub.
|
Whether new users can sign up with GitHub.
|
||||||
|
|
||||||
[96m--[0m[96moauth2-github-allowed-orgs[0m string-array, [96m$CODER_OAUTH2_GITHUB_ALLOWED_ORGS[0m
|
--oauth2-github-allowed-orgs string-array, $CODER_OAUTH2_GITHUB_ALLOWED_ORGS
|
||||||
Organizations the user must be a member of to Login with GitHub.
|
Organizations the user must be a member of to Login with GitHub.
|
||||||
|
|
||||||
[96m--[0m[96moauth2-github-allowed-teams[0m string-array, [96m$CODER_OAUTH2_GITHUB_ALLOWED_TEAMS[0m
|
--oauth2-github-allowed-teams string-array, $CODER_OAUTH2_GITHUB_ALLOWED_TEAMS
|
||||||
Teams inside organizations the user must be a member of to Login with
|
Teams inside organizations the user must be a member of to Login with
|
||||||
GitHub. Structured as: <organization-name>/<team-slug>.
|
GitHub. Structured as: <organization-name>/<team-slug>.
|
||||||
|
|
||||||
[96m--[0m[96moauth2-github-client-id[0m string, [96m$CODER_OAUTH2_GITHUB_CLIENT_ID[0m
|
--oauth2-github-client-id string, $CODER_OAUTH2_GITHUB_CLIENT_ID
|
||||||
Client ID for Login with GitHub.
|
Client ID for Login with GitHub.
|
||||||
|
|
||||||
[96m--[0m[96moauth2-github-client-secret[0m string, [96m$CODER_OAUTH2_GITHUB_CLIENT_SECRET[0m
|
--oauth2-github-client-secret string, $CODER_OAUTH2_GITHUB_CLIENT_SECRET
|
||||||
Client secret for Login with GitHub.
|
Client secret for Login with GitHub.
|
||||||
|
|
||||||
[96m--[0m[96moauth2-github-enterprise-base-url[0m string, [96m$CODER_OAUTH2_GITHUB_ENTERPRISE_BASE_URL[0m
|
--oauth2-github-enterprise-base-url string, $CODER_OAUTH2_GITHUB_ENTERPRISE_BASE_URL
|
||||||
Base URL of a GitHub Enterprise deployment to use for Login with
|
Base URL of a GitHub Enterprise deployment to use for Login with
|
||||||
GitHub.
|
GitHub.
|
||||||
|
|
||||||
[93mOIDC OPTIONS:[0m
|
OIDC OPTIONS:
|
||||||
[96m--[0m[96moidc-group-auto-create[0m bool, [96m$CODER_OIDC_GROUP_AUTO_CREATE[0m (default: false)
|
--oidc-group-auto-create bool, $CODER_OIDC_GROUP_AUTO_CREATE (default: false)
|
||||||
Automatically creates missing groups from a user's groups claim.
|
Automatically creates missing groups from a user's groups claim.
|
||||||
|
|
||||||
[96m--[0m[96moidc-allow-signups[0m bool, [96m$CODER_OIDC_ALLOW_SIGNUPS[0m (default: true)
|
--oidc-allow-signups bool, $CODER_OIDC_ALLOW_SIGNUPS (default: true)
|
||||||
Whether new users can sign up with OIDC.
|
Whether new users can sign up with OIDC.
|
||||||
|
|
||||||
[96m--[0m[96moidc-auth-url-params[0m struct[map[string]string], [96m$CODER_OIDC_AUTH_URL_PARAMS[0m (default: {"access_type": "offline"})
|
--oidc-auth-url-params struct[map[string]string], $CODER_OIDC_AUTH_URL_PARAMS (default: {"access_type": "offline"})
|
||||||
OIDC auth URL parameters to pass to the upstream provider.
|
OIDC auth URL parameters to pass to the upstream provider.
|
||||||
|
|
||||||
[96m--[0m[96moidc-client-cert-file[0m string, [96m$CODER_OIDC_CLIENT_CERT_FILE[0m
|
--oidc-client-cert-file string, $CODER_OIDC_CLIENT_CERT_FILE
|
||||||
Pem encoded certificate file to use for oauth2 PKI/JWT authorization.
|
Pem encoded certificate file to use for oauth2 PKI/JWT authorization.
|
||||||
The public certificate that accompanies oidc-client-key-file. A
|
The public certificate that accompanies oidc-client-key-file. A
|
||||||
standard x509 certificate is expected.
|
standard x509 certificate is expected.
|
||||||
|
|
||||||
[96m--[0m[96moidc-client-id[0m string, [96m$CODER_OIDC_CLIENT_ID[0m
|
--oidc-client-id string, $CODER_OIDC_CLIENT_ID
|
||||||
Client ID to use for Login with OIDC.
|
Client ID to use for Login with OIDC.
|
||||||
|
|
||||||
[96m--[0m[96moidc-client-key-file[0m string, [96m$CODER_OIDC_CLIENT_KEY_FILE[0m
|
--oidc-client-key-file string, $CODER_OIDC_CLIENT_KEY_FILE
|
||||||
Pem encoded RSA private key to use for oauth2 PKI/JWT authorization.
|
Pem encoded RSA private key to use for oauth2 PKI/JWT authorization.
|
||||||
This can be used instead of oidc-client-secret if your IDP supports
|
This can be used instead of oidc-client-secret if your IDP supports
|
||||||
it.
|
it.
|
||||||
|
|
||||||
[96m--[0m[96moidc-client-secret[0m string, [96m$CODER_OIDC_CLIENT_SECRET[0m
|
--oidc-client-secret string, $CODER_OIDC_CLIENT_SECRET
|
||||||
Client secret to use for Login with OIDC.
|
Client secret to use for Login with OIDC.
|
||||||
|
|
||||||
[96m--[0m[96moidc-email-domain[0m string-array, [96m$CODER_OIDC_EMAIL_DOMAIN[0m
|
--oidc-email-domain string-array, $CODER_OIDC_EMAIL_DOMAIN
|
||||||
Email domains that clients logging in with OIDC must match.
|
Email domains that clients logging in with OIDC must match.
|
||||||
|
|
||||||
[96m--[0m[96moidc-email-field[0m string, [96m$CODER_OIDC_EMAIL_FIELD[0m (default: email)
|
--oidc-email-field string, $CODER_OIDC_EMAIL_FIELD (default: email)
|
||||||
OIDC claim field to use as the email.
|
OIDC claim field to use as the email.
|
||||||
|
|
||||||
[96m--[0m[96moidc-group-field[0m string, [96m$CODER_OIDC_GROUP_FIELD[0m
|
--oidc-group-field string, $CODER_OIDC_GROUP_FIELD
|
||||||
This field must be set if using the group sync feature and the scope
|
This field must be set if using the group sync feature and the scope
|
||||||
name is not 'groups'. Set to the claim to be used for groups.
|
name is not 'groups'. Set to the claim to be used for groups.
|
||||||
|
|
||||||
[96m--[0m[96moidc-group-mapping[0m struct[map[string]string], [96m$CODER_OIDC_GROUP_MAPPING[0m (default: {})
|
--oidc-group-mapping struct[map[string]string], $CODER_OIDC_GROUP_MAPPING (default: {})
|
||||||
A map of OIDC group IDs and the group in Coder it should map to. This
|
A map of OIDC group IDs and the group in Coder it should map to. This
|
||||||
is useful for when OIDC providers only return group IDs.
|
is useful for when OIDC providers only return group IDs.
|
||||||
|
|
||||||
[96m--[0m[96moidc-ignore-email-verified[0m bool, [96m$CODER_OIDC_IGNORE_EMAIL_VERIFIED[0m
|
--oidc-ignore-email-verified bool, $CODER_OIDC_IGNORE_EMAIL_VERIFIED
|
||||||
Ignore the email_verified claim from the upstream provider.
|
Ignore the email_verified claim from the upstream provider.
|
||||||
|
|
||||||
[96m--[0m[96moidc-ignore-userinfo[0m bool, [96m$CODER_OIDC_IGNORE_USERINFO[0m (default: false)
|
--oidc-ignore-userinfo bool, $CODER_OIDC_IGNORE_USERINFO (default: false)
|
||||||
Ignore the userinfo endpoint and only use the ID token for user
|
Ignore the userinfo endpoint and only use the ID token for user
|
||||||
information.
|
information.
|
||||||
|
|
||||||
[96m--[0m[96moidc-issuer-url[0m string, [96m$CODER_OIDC_ISSUER_URL[0m
|
--oidc-issuer-url string, $CODER_OIDC_ISSUER_URL
|
||||||
Issuer URL to use for Login with OIDC.
|
Issuer URL to use for Login with OIDC.
|
||||||
|
|
||||||
[96m--[0m[96moidc-group-regex-filter[0m regexp, [96m$CODER_OIDC_GROUP_REGEX_FILTER[0m (default: .*)
|
--oidc-group-regex-filter regexp, $CODER_OIDC_GROUP_REGEX_FILTER (default: .*)
|
||||||
If provided any group name not matching the regex is ignored. This
|
If provided any group name not matching the regex is ignored. This
|
||||||
allows for filtering out groups that are not needed. This filter is
|
allows for filtering out groups that are not needed. This filter is
|
||||||
applied after the group mapping.
|
applied after the group mapping.
|
||||||
|
|
||||||
[96m--[0m[96moidc-scopes[0m string-array, [96m$CODER_OIDC_SCOPES[0m (default: openid,profile,email)
|
--oidc-scopes string-array, $CODER_OIDC_SCOPES (default: openid,profile,email)
|
||||||
Scopes to grant when authenticating with OIDC.
|
Scopes to grant when authenticating with OIDC.
|
||||||
|
|
||||||
[96m--[0m[96moidc-user-role-default[0m string-array, [96m$CODER_OIDC_USER_ROLE_DEFAULT[0m
|
--oidc-user-role-default string-array, $CODER_OIDC_USER_ROLE_DEFAULT
|
||||||
If user role sync is enabled, these roles are always included for all
|
If user role sync is enabled, these roles are always included for all
|
||||||
authenticated users. The 'member' role is always assigned.
|
authenticated users. The 'member' role is always assigned.
|
||||||
|
|
||||||
[96m--[0m[96moidc-user-role-field[0m string, [96m$CODER_OIDC_USER_ROLE_FIELD[0m
|
--oidc-user-role-field string, $CODER_OIDC_USER_ROLE_FIELD
|
||||||
This field must be set if using the user roles sync feature. Set this
|
This field must be set if using the user roles sync feature. Set this
|
||||||
to the name of the claim used to store the user's role. The roles
|
to the name of the claim used to store the user's role. The roles
|
||||||
should be sent as an array of strings.
|
should be sent as an array of strings.
|
||||||
|
|
||||||
[96m--[0m[96moidc-user-role-mapping[0m struct[map[string][]string], [96m$CODER_OIDC_USER_ROLE_MAPPING[0m (default: {})
|
--oidc-user-role-mapping struct[map[string][]string], $CODER_OIDC_USER_ROLE_MAPPING (default: {})
|
||||||
A map of the OIDC passed in user roles and the groups in Coder it
|
A map of the OIDC passed in user roles and the groups in Coder it
|
||||||
should map to. This is useful if the group names do not match. If
|
should map to. This is useful if the group names do not match. If
|
||||||
mapped to the empty string, the role will ignored.
|
mapped to the empty string, the role will ignored.
|
||||||
|
|
||||||
[96m--[0m[96moidc-username-field[0m string, [96m$CODER_OIDC_USERNAME_FIELD[0m (default: preferred_username)
|
--oidc-username-field string, $CODER_OIDC_USERNAME_FIELD (default: preferred_username)
|
||||||
OIDC claim field to use as the username.
|
OIDC claim field to use as the username.
|
||||||
|
|
||||||
[96m--[0m[96moidc-sign-in-text[0m string, [96m$CODER_OIDC_SIGN_IN_TEXT[0m (default: OpenID Connect)
|
--oidc-sign-in-text string, $CODER_OIDC_SIGN_IN_TEXT (default: OpenID Connect)
|
||||||
The text to show on the OpenID Connect sign in button.
|
The text to show on the OpenID Connect sign in button.
|
||||||
|
|
||||||
[96m--[0m[96moidc-icon-url[0m url, [96m$CODER_OIDC_ICON_URL[0m
|
--oidc-icon-url url, $CODER_OIDC_ICON_URL
|
||||||
URL pointing to the icon to use on the OpenID Connect login button.
|
URL pointing to the icon to use on the OpenID Connect login button.
|
||||||
|
|
||||||
[93mPROVISIONING OPTIONS:[0m
|
PROVISIONING OPTIONS:
|
||||||
Tune the behavior of the provisioner, which is responsible for creating,
|
Tune the behavior of the provisioner, which is responsible for creating,
|
||||||
updating, and deleting workspace resources.
|
updating, and deleting workspace resources.
|
||||||
|
|
||||||
[96m--[0m[96mprovisioner-force-cancel-interval[0m duration, [96m$CODER_PROVISIONER_FORCE_CANCEL_INTERVAL[0m (default: 10m0s)
|
--provisioner-force-cancel-interval duration, $CODER_PROVISIONER_FORCE_CANCEL_INTERVAL (default: 10m0s)
|
||||||
Time to force cancel provisioning tasks that are stuck.
|
Time to force cancel provisioning tasks that are stuck.
|
||||||
|
|
||||||
[96m--[0m[96mprovisioner-daemon-poll-interval[0m duration, [96m$CODER_PROVISIONER_DAEMON_POLL_INTERVAL[0m (default: 1s)
|
--provisioner-daemon-poll-interval duration, $CODER_PROVISIONER_DAEMON_POLL_INTERVAL (default: 1s)
|
||||||
Time to wait before polling for a new job.
|
Time to wait before polling for a new job.
|
||||||
|
|
||||||
[96m--[0m[96mprovisioner-daemon-poll-jitter[0m duration, [96m$CODER_PROVISIONER_DAEMON_POLL_JITTER[0m (default: 100ms)
|
--provisioner-daemon-poll-jitter duration, $CODER_PROVISIONER_DAEMON_POLL_JITTER (default: 100ms)
|
||||||
Random jitter added to the poll interval.
|
Random jitter added to the poll interval.
|
||||||
|
|
||||||
[96m--[0m[96mprovisioner-daemon-psk[0m string, [96m$CODER_PROVISIONER_DAEMON_PSK[0m
|
--provisioner-daemon-psk string, $CODER_PROVISIONER_DAEMON_PSK
|
||||||
Pre-shared key to authenticate external provisioner daemons to Coder
|
Pre-shared key to authenticate external provisioner daemons to Coder
|
||||||
server.
|
server.
|
||||||
|
|
||||||
[96m--[0m[96mprovisioner-daemons[0m int, [96m$CODER_PROVISIONER_DAEMONS[0m (default: 3)
|
--provisioner-daemons int, $CODER_PROVISIONER_DAEMONS (default: 3)
|
||||||
Number of provisioner daemons to create on start. If builds are stuck
|
Number of provisioner daemons to create on start. If builds are stuck
|
||||||
in queued state for a long time, consider increasing this.
|
in queued state for a long time, consider increasing this.
|
||||||
|
|
||||||
[93mTELEMETRY OPTIONS:[0m
|
TELEMETRY OPTIONS:
|
||||||
Telemetry is critical to our ability to improve Coder. We strip all
|
Telemetry is critical to our ability to improve Coder. We strip all
|
||||||
personalinformation before sending data to our servers. Please only disable
|
personalinformation before sending data to our servers. Please only disable
|
||||||
telemetrywhen required by your organization's security policy.
|
telemetrywhen required by your organization's security policy.
|
||||||
|
|
||||||
[96m--[0m[96mtelemetry[0m bool, [96m$CODER_TELEMETRY_ENABLE[0m (default: false)
|
--telemetry bool, $CODER_TELEMETRY_ENABLE (default: false)
|
||||||
Whether telemetry is enabled or not. Coder collects anonymized usage
|
Whether telemetry is enabled or not. Coder collects anonymized usage
|
||||||
data to help improve our product.
|
data to help improve our product.
|
||||||
|
|
||||||
[93mUSER QUIET HOURS SCHEDULE OPTIONS:[0m
|
USER QUIET HOURS SCHEDULE OPTIONS:
|
||||||
Allow users to set quiet hours schedules each day for workspaces to avoid
|
Allow users to set quiet hours schedules each day for workspaces to avoid
|
||||||
workspaces stopping during the day due to template max TTL.
|
workspaces stopping during the day due to template max TTL.
|
||||||
|
|
||||||
[96m--[0m[96mdefault-quiet-hours-schedule[0m string, [96m$CODER_QUIET_HOURS_DEFAULT_SCHEDULE[0m
|
--default-quiet-hours-schedule string, $CODER_QUIET_HOURS_DEFAULT_SCHEDULE
|
||||||
The default daily cron schedule applied to users that haven't set a
|
The default daily cron schedule applied to users that haven't set a
|
||||||
custom quiet hours schedule themselves. The quiet hours schedule
|
custom quiet hours schedule themselves. The quiet hours schedule
|
||||||
determines when workspaces will be force stopped due to the template's
|
determines when workspaces will be force stopped due to the template's
|
||||||
@@ -430,8 +430,8 @@ workspaces stopping during the day due to template max TTL.
|
|||||||
one hour and minute can be specified (ranges or comma separated values
|
one hour and minute can be specified (ranges or comma separated values
|
||||||
are not supported).
|
are not supported).
|
||||||
|
|
||||||
[93m⚠️ DANGEROUS OPTIONS:[0m
|
⚠️ DANGEROUS OPTIONS:
|
||||||
[96m--[0m[96mdangerous-allow-path-app-sharing[0m bool, [96m$CODER_DANGEROUS_ALLOW_PATH_APP_SHARING[0m
|
--dangerous-allow-path-app-sharing bool, $CODER_DANGEROUS_ALLOW_PATH_APP_SHARING
|
||||||
Allow workspace apps that are not served from subdomains to be shared.
|
Allow workspace apps that are not served from subdomains to be shared.
|
||||||
Path-based app sharing is DISABLED by default for security purposes.
|
Path-based app sharing is DISABLED by default for security purposes.
|
||||||
Path-based apps can make requests to the Coder API and pose a security
|
Path-based apps can make requests to the Coder API and pose a security
|
||||||
@@ -439,7 +439,7 @@ workspaces stopping during the day due to template max TTL.
|
|||||||
can be disabled entirely with --disable-path-apps for further
|
can be disabled entirely with --disable-path-apps for further
|
||||||
security.
|
security.
|
||||||
|
|
||||||
[96m--[0m[96mdangerous-allow-path-app-site-owner-access[0m bool, [96m$CODER_DANGEROUS_ALLOW_PATH_APP_SITE_OWNER_ACCESS[0m
|
--dangerous-allow-path-app-site-owner-access bool, $CODER_DANGEROUS_ALLOW_PATH_APP_SITE_OWNER_ACCESS
|
||||||
Allow site-owners to access workspace apps from workspaces they do not
|
Allow site-owners to access workspace apps from workspaces they do not
|
||||||
own. Owners cannot access path-based apps they do not own by default.
|
own. Owners cannot access path-based apps they do not own by default.
|
||||||
Path-based apps can make requests to the Coder API and pose a security
|
Path-based apps can make requests to the Coder API and pose a security
|
||||||
@@ -447,17 +447,17 @@ workspaces stopping during the day due to template max TTL.
|
|||||||
can be disabled entirely with --disable-path-apps for further
|
can be disabled entirely with --disable-path-apps for further
|
||||||
security.
|
security.
|
||||||
|
|
||||||
[93mENTERPRISE OPTIONS:[0m
|
ENTERPRISE OPTIONS:
|
||||||
These options are only available in the Enterprise Edition.
|
These options are only available in the Enterprise Edition.
|
||||||
|
|
||||||
[96m--[0m[96mbrowser-only[0m bool, [96m$CODER_BROWSER_ONLY[0m
|
--browser-only bool, $CODER_BROWSER_ONLY
|
||||||
Whether Coder only allows connections to workspaces via the browser.
|
Whether Coder only allows connections to workspaces via the browser.
|
||||||
|
|
||||||
[96m--[0m[96mderp-server-relay-url[0m url, [96m$CODER_DERP_SERVER_RELAY_URL[0m
|
--derp-server-relay-url url, $CODER_DERP_SERVER_RELAY_URL
|
||||||
An HTTP URL that is accessible by other replicas to relay DERP
|
An HTTP URL that is accessible by other replicas to relay DERP
|
||||||
traffic. Required for high availability.
|
traffic. Required for high availability.
|
||||||
|
|
||||||
[96m--[0m[96mexternal-token-encryption-keys[0m string-array, [96m$CODER_EXTERNAL_TOKEN_ENCRYPTION_KEYS[0m
|
--external-token-encryption-keys string-array, $CODER_EXTERNAL_TOKEN_ENCRYPTION_KEYS
|
||||||
Encrypt OIDC and Git authentication tokens with AES-256-GCM in the
|
Encrypt OIDC and Git authentication tokens with AES-256-GCM in the
|
||||||
database. The value must be a comma-separated list of base64-encoded
|
database. The value must be a comma-separated list of base64-encoded
|
||||||
keys. Each key, when base64-decoded, must be exactly 32 bytes in
|
keys. Each key, when base64-decoded, must be exactly 32 bytes in
|
||||||
@@ -467,7 +467,7 @@ These options are only available in the Enterprise Edition.
|
|||||||
process of rotating keys with the `coder server dbcrypt rotate`
|
process of rotating keys with the `coder server dbcrypt rotate`
|
||||||
command.
|
command.
|
||||||
|
|
||||||
[96m--[0m[96mscim-auth-header[0m string, [96m$CODER_SCIM_AUTH_HEADER[0m
|
--scim-auth-header string, $CODER_SCIM_AUTH_HEADER
|
||||||
Enables SCIM and sets the authentication header for the built-in SCIM
|
Enables SCIM and sets the authentication header for the built-in SCIM
|
||||||
server. New users are automatically created with OIDC authentication.
|
server. New users are automatically created with OIDC authentication.
|
||||||
|
|
||||||
|
|||||||
@@ -1,33 +1,33 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder server create-admin-user [flags]
|
coder server create-admin-user [flags]
|
||||||
|
|
||||||
Create a new admin user with the given username, email and password and adds
|
Create a new admin user with the given username, email and password and adds
|
||||||
it to every organization.
|
it to every organization.
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m--[0m[96memail[0m string, [96m$CODER_EMAIL[0m
|
--email string, $CODER_EMAIL
|
||||||
The email of the new user. If not specified, you will be prompted via
|
The email of the new user. If not specified, you will be prompted via
|
||||||
stdin.
|
stdin.
|
||||||
|
|
||||||
[96m--[0m[96mpassword[0m string, [96m$CODER_PASSWORD[0m
|
--password string, $CODER_PASSWORD
|
||||||
The password of the new user. If not specified, you will be prompted
|
The password of the new user. If not specified, you will be prompted
|
||||||
via stdin.
|
via stdin.
|
||||||
|
|
||||||
[96m--[0m[96mpostgres-url[0m string, [96m$CODER_PG_CONNECTION_URL[0m
|
--postgres-url string, $CODER_PG_CONNECTION_URL
|
||||||
URL of a PostgreSQL database. If empty, the built-in PostgreSQL
|
URL of a PostgreSQL database. If empty, the built-in PostgreSQL
|
||||||
deployment will be used (Coder must not be already running in this
|
deployment will be used (Coder must not be already running in this
|
||||||
case).
|
case).
|
||||||
|
|
||||||
[96m--[0m[96mraw-url[0m bool
|
--raw-url bool
|
||||||
Output the raw connection URL instead of a psql command.
|
Output the raw connection URL instead of a psql command.
|
||||||
|
|
||||||
[96m--[0m[96mssh-keygen-algorithm[0m string, [96m$CODER_SSH_KEYGEN_ALGORITHM[0m (default: ed25519)
|
--ssh-keygen-algorithm string, $CODER_SSH_KEYGEN_ALGORITHM (default: ed25519)
|
||||||
The algorithm to use for generating ssh keys. Accepted values are
|
The algorithm to use for generating ssh keys. Accepted values are
|
||||||
"ed25519", "ecdsa", or "rsa4096".
|
"ed25519", "ecdsa", or "rsa4096".
|
||||||
|
|
||||||
[96m--[0m[96musername[0m string, [96m$CODER_USERNAME[0m
|
--username string, $CODER_USERNAME
|
||||||
The username of the new user. If not specified, you will be prompted
|
The username of the new user. If not specified, you will be prompted
|
||||||
via stdin.
|
via stdin.
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder server dbcrypt
|
coder server dbcrypt
|
||||||
|
|
||||||
Manage database encryption.
|
Manage database encryption.
|
||||||
|
|
||||||
[93mSUBCOMMANDS:[0m
|
SUBCOMMANDS:
|
||||||
decrypt Decrypt a previously encrypted database.
|
decrypt Decrypt a previously encrypted database.
|
||||||
delete Delete all encrypted data from the database. THIS IS A
|
delete Delete all encrypted data from the database. THIS IS A
|
||||||
DESTRUCTIVE OPERATION.
|
DESTRUCTIVE OPERATION.
|
||||||
|
|||||||
@@ -1,19 +1,19 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder server dbcrypt decrypt [flags]
|
coder server dbcrypt decrypt [flags]
|
||||||
|
|
||||||
Decrypt a previously encrypted database.
|
Decrypt a previously encrypted database.
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m--[0m[96mkeys[0m string-array, [96m$CODER_EXTERNAL_TOKEN_ENCRYPTION_DECRYPT_KEYS[0m
|
--keys string-array, $CODER_EXTERNAL_TOKEN_ENCRYPTION_DECRYPT_KEYS
|
||||||
Keys required to decrypt existing data. Must be a comma-separated list
|
Keys required to decrypt existing data. Must be a comma-separated list
|
||||||
of base64-encoded keys.
|
of base64-encoded keys.
|
||||||
|
|
||||||
[96m--[0m[96mpostgres-url[0m string, [96m$CODER_PG_CONNECTION_URL[0m
|
--postgres-url string, $CODER_PG_CONNECTION_URL
|
||||||
The connection URL for the Postgres database.
|
The connection URL for the Postgres database.
|
||||||
|
|
||||||
[96m-[0m[96my[0m, [96m--[0m[96myes[0m bool
|
-y, --yes bool
|
||||||
Bypass prompts.
|
Bypass prompts.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
@@ -1,17 +1,17 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder server dbcrypt delete [flags]
|
coder server dbcrypt delete [flags]
|
||||||
|
|
||||||
Delete all encrypted data from the database. THIS IS A DESTRUCTIVE OPERATION.
|
Delete all encrypted data from the database. THIS IS A DESTRUCTIVE OPERATION.
|
||||||
|
|
||||||
Aliases: rm
|
Aliases: rm
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m--[0m[96mpostgres-url[0m string, [96m$CODER_EXTERNAL_TOKEN_ENCRYPTION_POSTGRES_URL[0m
|
--postgres-url string, $CODER_EXTERNAL_TOKEN_ENCRYPTION_POSTGRES_URL
|
||||||
The connection URL for the Postgres database.
|
The connection URL for the Postgres database.
|
||||||
|
|
||||||
[96m-[0m[96my[0m, [96m--[0m[96myes[0m bool
|
-y, --yes bool
|
||||||
Bypass prompts.
|
Bypass prompts.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
@@ -1,22 +1,22 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder server dbcrypt rotate [flags]
|
coder server dbcrypt rotate [flags]
|
||||||
|
|
||||||
Rotate database encryption keys.
|
Rotate database encryption keys.
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m--[0m[96mnew-key[0m string, [96m$CODER_EXTERNAL_TOKEN_ENCRYPTION_ENCRYPT_NEW_KEY[0m
|
--new-key string, $CODER_EXTERNAL_TOKEN_ENCRYPTION_ENCRYPT_NEW_KEY
|
||||||
The new external token encryption key. Must be base64-encoded.
|
The new external token encryption key. Must be base64-encoded.
|
||||||
|
|
||||||
[96m--[0m[96mold-keys[0m string-array, [96m$CODER_EXTERNAL_TOKEN_ENCRYPTION_ENCRYPT_OLD_KEYS[0m
|
--old-keys string-array, $CODER_EXTERNAL_TOKEN_ENCRYPTION_ENCRYPT_OLD_KEYS
|
||||||
The old external token encryption keys. Must be a comma-separated list
|
The old external token encryption keys. Must be a comma-separated list
|
||||||
of base64-encoded keys.
|
of base64-encoded keys.
|
||||||
|
|
||||||
[96m--[0m[96mpostgres-url[0m string, [96m$CODER_PG_CONNECTION_URL[0m
|
--postgres-url string, $CODER_PG_CONNECTION_URL
|
||||||
The connection URL for the Postgres database.
|
The connection URL for the Postgres database.
|
||||||
|
|
||||||
[96m-[0m[96my[0m, [96m--[0m[96myes[0m bool
|
-y, --yes bool
|
||||||
Bypass prompts.
|
Bypass prompts.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder server postgres-builtin-serve [flags]
|
coder server postgres-builtin-serve [flags]
|
||||||
|
|
||||||
Run the built-in PostgreSQL deployment.
|
Run the built-in PostgreSQL deployment.
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m--[0m[96mraw-url[0m bool
|
--raw-url bool
|
||||||
Output the raw connection URL instead of a psql command.
|
Output the raw connection URL instead of a psql command.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
coder v0.0.0-devel
|
coder v0.0.0-devel
|
||||||
|
|
||||||
[93mUSAGE:[0m
|
USAGE:
|
||||||
coder server postgres-builtin-url [flags]
|
coder server postgres-builtin-url [flags]
|
||||||
|
|
||||||
Output the connection URL for the built-in PostgreSQL deployment.
|
Output the connection URL for the built-in PostgreSQL deployment.
|
||||||
|
|
||||||
[93mOPTIONS:[0m
|
OPTIONS:
|
||||||
[96m--[0m[96mraw-url[0m bool
|
--raw-url bool
|
||||||
Output the raw connection URL instead of a psql command.
|
Output the raw connection URL instead of a psql command.
|
||||||
|
|
||||||
———
|
———
|
||||||
|
|||||||
@@ -247,7 +247,7 @@ require (
|
|||||||
github.com/cespare/xxhash/v2 v2.2.0 // indirect
|
github.com/cespare/xxhash/v2 v2.2.0 // indirect
|
||||||
github.com/clbanning/mxj/v2 v2.7.0 // indirect
|
github.com/clbanning/mxj/v2 v2.7.0 // indirect
|
||||||
github.com/cloudflare/circl v1.3.3 // indirect
|
github.com/cloudflare/circl v1.3.3 // indirect
|
||||||
github.com/coder/pretty v0.0.0-20230907215737-666f1c793d10
|
github.com/coder/pretty v0.0.0-20230908205945-e89ba86370e0
|
||||||
github.com/containerd/continuity v0.4.2-0.20230616210509-1e0d26eb2381 // indirect
|
github.com/containerd/continuity v0.4.2-0.20230616210509-1e0d26eb2381 // indirect
|
||||||
github.com/coreos/go-iptables v0.6.0 // indirect
|
github.com/coreos/go-iptables v0.6.0 // indirect
|
||||||
github.com/dlclark/regexp2 v1.10.0 // indirect
|
github.com/dlclark/regexp2 v1.10.0 // indirect
|
||||||
|
|||||||
@@ -214,8 +214,8 @@ github.com/coder/go-scim/pkg/v2 v2.0.0-20230221055123-1d63c1222136 h1:0RgB61LcNs
|
|||||||
github.com/coder/go-scim/pkg/v2 v2.0.0-20230221055123-1d63c1222136/go.mod h1:VkD1P761nykiq75dz+4iFqIQIZka189tx1BQLOp0Skc=
|
github.com/coder/go-scim/pkg/v2 v2.0.0-20230221055123-1d63c1222136/go.mod h1:VkD1P761nykiq75dz+4iFqIQIZka189tx1BQLOp0Skc=
|
||||||
github.com/coder/gvisor v0.0.0-20230714132058-be2e4ac102c3 h1:gtuDFa+InmMVUYiurBV+XYu24AeMGv57qlZ23i6rmyE=
|
github.com/coder/gvisor v0.0.0-20230714132058-be2e4ac102c3 h1:gtuDFa+InmMVUYiurBV+XYu24AeMGv57qlZ23i6rmyE=
|
||||||
github.com/coder/gvisor v0.0.0-20230714132058-be2e4ac102c3/go.mod h1:pzr6sy8gDLfVmDAg8OYrlKvGEHw5C3PGTiBXBTCx76Q=
|
github.com/coder/gvisor v0.0.0-20230714132058-be2e4ac102c3/go.mod h1:pzr6sy8gDLfVmDAg8OYrlKvGEHw5C3PGTiBXBTCx76Q=
|
||||||
github.com/coder/pretty v0.0.0-20230907215737-666f1c793d10 h1:uWbKrpV/yhctyqu27BSPzW2tRNzzPh7Q68im5AFznqM=
|
github.com/coder/pretty v0.0.0-20230908205945-e89ba86370e0 h1:3A0ES21Ke+FxEM8CXx9n47SZOKOpgSE1bbJzlE4qPVs=
|
||||||
github.com/coder/pretty v0.0.0-20230907215737-666f1c793d10/go.mod h1:5UuS2Ts+nTToAMeOjNlnHFkPahrtDkmpydBen/3wgZc=
|
github.com/coder/pretty v0.0.0-20230908205945-e89ba86370e0/go.mod h1:5UuS2Ts+nTToAMeOjNlnHFkPahrtDkmpydBen/3wgZc=
|
||||||
github.com/coder/retry v1.4.0 h1:g0fojHFxcdgM3sBULqgjFDxw1UIvaCqk4ngUDu0EWag=
|
github.com/coder/retry v1.4.0 h1:g0fojHFxcdgM3sBULqgjFDxw1UIvaCqk4ngUDu0EWag=
|
||||||
github.com/coder/retry v1.4.0/go.mod h1:blHMk9vs6LkoRT9ZHyuZo360cufXEhrxqvEzeMtRGoY=
|
github.com/coder/retry v1.4.0/go.mod h1:blHMk9vs6LkoRT9ZHyuZo360cufXEhrxqvEzeMtRGoY=
|
||||||
github.com/coder/ssh v0.0.0-20230621095435-9a7e23486f1c h1:TI7TzdFI0UvQmwgyQhtI1HeyYNRxAQpr8Tw/rjT8VSA=
|
github.com/coder/ssh v0.0.0-20230621095435-9a7e23486f1c h1:TI7TzdFI0UvQmwgyQhtI1HeyYNRxAQpr8Tw/rjT8VSA=
|
||||||
|
|||||||
@@ -234,7 +234,7 @@ func (s *Session) extractArchive() error {
|
|||||||
// Always check for context cancellation before reading the next header.
|
// Always check for context cancellation before reading the next header.
|
||||||
// This is mainly important for unit tests, since a canceled context means
|
// This is mainly important for unit tests, since a canceled context means
|
||||||
// the underlying directory is going to be deleted. There still exists
|
// the underlying directory is going to be deleted. There still exists
|
||||||
// the small race condition that the context is cancelled after this, and
|
// the small race condition that the context is canceled after this, and
|
||||||
// before the disk write.
|
// before the disk write.
|
||||||
if ctx.Err() != nil {
|
if ctx.Err() != nil {
|
||||||
return xerrors.Errorf("context canceled: %w", ctx.Err())
|
return xerrors.Errorf("context canceled: %w", ctx.Err())
|
||||||
|
|||||||
@@ -8,6 +8,8 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"golang.org/x/exp/slices"
|
||||||
|
|
||||||
"github.com/coder/coder/v2/agent"
|
"github.com/coder/coder/v2/agent"
|
||||||
"github.com/coder/coder/v2/coderd/coderdtest"
|
"github.com/coder/coder/v2/coderd/coderdtest"
|
||||||
"github.com/coder/coder/v2/codersdk"
|
"github.com/coder/coder/v2/codersdk"
|
||||||
@@ -16,7 +18,6 @@ import (
|
|||||||
"github.com/coder/coder/v2/provisionersdk/proto"
|
"github.com/coder/coder/v2/provisionersdk/proto"
|
||||||
"github.com/coder/coder/v2/scaletest/workspacetraffic"
|
"github.com/coder/coder/v2/scaletest/workspacetraffic"
|
||||||
"github.com/coder/coder/v2/testutil"
|
"github.com/coder/coder/v2/testutil"
|
||||||
"golang.org/x/exp/slices"
|
|
||||||
|
|
||||||
"github.com/google/uuid"
|
"github.com/google/uuid"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
|
|||||||
@@ -990,7 +990,7 @@ func (g *Generator) typescriptType(ty types.Type) (TypescriptType, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Do support "Stringer" interfaces, they likely can get string
|
// Do support "Stringer" interfaces, they likely can get string
|
||||||
// marshalled.
|
// marshaled.
|
||||||
for i := 0; i < intf.NumMethods(); i++ {
|
for i := 0; i < intf.NumMethods(); i++ {
|
||||||
meth := intf.Method(i)
|
meth := intf.Method(i)
|
||||||
if meth.Name() == "String" {
|
if meth.Name() == "String" {
|
||||||
|
|||||||
Reference in New Issue
Block a user