mirror of https://github.com/coder/coder.git
chore: Remove url and wildcard url from moon create (#7224)
* chore: Remove url and wildcard url from moon create
This commit is contained in:
parent
68667323f3
commit
4353ad7940
|
@ -6941,12 +6941,6 @@ const docTemplate = `{
|
|||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"url": {
|
||||
"type": "string"
|
||||
},
|
||||
"wildcard_hostname": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
|
@ -6182,12 +6182,6 @@
|
|||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"url": {
|
||||
"type": "string"
|
||||
},
|
||||
"wildcard_hostname": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
|
@ -5193,8 +5193,6 @@ func (q *fakeQuerier) InsertWorkspaceProxy(_ context.Context, arg database.Inser
|
|||
Name: arg.Name,
|
||||
DisplayName: arg.DisplayName,
|
||||
Icon: arg.Icon,
|
||||
Url: arg.Url,
|
||||
WildcardHostname: arg.WildcardHostname,
|
||||
TokenHashedSecret: arg.TokenHashedSecret,
|
||||
CreatedAt: arg.CreatedAt,
|
||||
UpdatedAt: arg.UpdatedAt,
|
||||
|
|
|
@ -343,19 +343,27 @@ func WorkspaceProxy(t testing.TB, db database.Store, orig database.WorkspaceProx
|
|||
require.NoError(t, err, "generate secret")
|
||||
hashedSecret := sha256.Sum256([]byte(secret))
|
||||
|
||||
resource, err := db.InsertWorkspaceProxy(context.Background(), database.InsertWorkspaceProxyParams{
|
||||
proxy, err := db.InsertWorkspaceProxy(context.Background(), database.InsertWorkspaceProxyParams{
|
||||
ID: takeFirst(orig.ID, uuid.New()),
|
||||
Name: takeFirst(orig.Name, namesgenerator.GetRandomName(1)),
|
||||
DisplayName: takeFirst(orig.DisplayName, namesgenerator.GetRandomName(1)),
|
||||
Icon: takeFirst(orig.Icon, namesgenerator.GetRandomName(1)),
|
||||
Url: takeFirst(orig.Url, fmt.Sprintf("https://%s.com", namesgenerator.GetRandomName(1))),
|
||||
WildcardHostname: takeFirst(orig.WildcardHostname, fmt.Sprintf("*.%s.com", namesgenerator.GetRandomName(1))),
|
||||
TokenHashedSecret: hashedSecret[:],
|
||||
CreatedAt: takeFirst(orig.CreatedAt, database.Now()),
|
||||
UpdatedAt: takeFirst(orig.UpdatedAt, database.Now()),
|
||||
})
|
||||
require.NoError(t, err, "insert proxy")
|
||||
return resource, secret
|
||||
|
||||
// Also set these fields if the caller wants them.
|
||||
if orig.Url != "" || orig.WildcardHostname != "" {
|
||||
proxy, err = db.RegisterWorkspaceProxy(context.Background(), database.RegisterWorkspaceProxyParams{
|
||||
Url: orig.Url,
|
||||
WildcardHostname: orig.WildcardHostname,
|
||||
ID: proxy.ID,
|
||||
})
|
||||
require.NoError(t, err, "update proxy")
|
||||
}
|
||||
return proxy, secret
|
||||
}
|
||||
|
||||
func File(t testing.TB, db database.Store, orig database.File) database.File {
|
||||
|
|
|
@ -2983,18 +2983,18 @@ const insertWorkspaceProxy = `-- name: InsertWorkspaceProxy :one
|
|||
INSERT INTO
|
||||
workspace_proxies (
|
||||
id,
|
||||
url,
|
||||
wildcard_hostname,
|
||||
name,
|
||||
display_name,
|
||||
icon,
|
||||
url,
|
||||
wildcard_hostname,
|
||||
token_hashed_secret,
|
||||
created_at,
|
||||
updated_at,
|
||||
deleted
|
||||
)
|
||||
VALUES
|
||||
($1, $2, $3, $4, $5, $6, $7, $8, $9, false) RETURNING id, name, display_name, icon, url, wildcard_hostname, created_at, updated_at, deleted, token_hashed_secret
|
||||
($1, '', '', $2, $3, $4, $5, $6, $7, false) RETURNING id, name, display_name, icon, url, wildcard_hostname, created_at, updated_at, deleted, token_hashed_secret
|
||||
`
|
||||
|
||||
type InsertWorkspaceProxyParams struct {
|
||||
|
@ -3002,8 +3002,6 @@ type InsertWorkspaceProxyParams struct {
|
|||
Name string `db:"name" json:"name"`
|
||||
DisplayName string `db:"display_name" json:"display_name"`
|
||||
Icon string `db:"icon" json:"icon"`
|
||||
Url string `db:"url" json:"url"`
|
||||
WildcardHostname string `db:"wildcard_hostname" json:"wildcard_hostname"`
|
||||
TokenHashedSecret []byte `db:"token_hashed_secret" json:"token_hashed_secret"`
|
||||
CreatedAt time.Time `db:"created_at" json:"created_at"`
|
||||
UpdatedAt time.Time `db:"updated_at" json:"updated_at"`
|
||||
|
@ -3015,8 +3013,6 @@ func (q *sqlQuerier) InsertWorkspaceProxy(ctx context.Context, arg InsertWorkspa
|
|||
arg.Name,
|
||||
arg.DisplayName,
|
||||
arg.Icon,
|
||||
arg.Url,
|
||||
arg.WildcardHostname,
|
||||
arg.TokenHashedSecret,
|
||||
arg.CreatedAt,
|
||||
arg.UpdatedAt,
|
||||
|
|
|
@ -2,18 +2,18 @@
|
|||
INSERT INTO
|
||||
workspace_proxies (
|
||||
id,
|
||||
url,
|
||||
wildcard_hostname,
|
||||
name,
|
||||
display_name,
|
||||
icon,
|
||||
url,
|
||||
wildcard_hostname,
|
||||
token_hashed_secret,
|
||||
created_at,
|
||||
updated_at,
|
||||
deleted
|
||||
)
|
||||
VALUES
|
||||
($1, $2, $3, $4, $5, $6, $7, $8, $9, false) RETURNING *;
|
||||
($1, '', '', $2, $3, $4, $5, $6, $7, false) RETURNING *;
|
||||
|
||||
-- name: RegisterWorkspaceProxy :one
|
||||
UPDATE
|
||||
|
|
|
@ -26,11 +26,9 @@ type WorkspaceProxy struct {
|
|||
}
|
||||
|
||||
type CreateWorkspaceProxyRequest struct {
|
||||
Name string `json:"name"`
|
||||
DisplayName string `json:"display_name"`
|
||||
Icon string `json:"icon"`
|
||||
URL string `json:"url"`
|
||||
WildcardHostname string `json:"wildcard_hostname"`
|
||||
Name string `json:"name"`
|
||||
DisplayName string `json:"display_name"`
|
||||
Icon string `json:"icon"`
|
||||
}
|
||||
|
||||
type CreateWorkspaceProxyResponse struct {
|
||||
|
|
|
@ -1236,9 +1236,7 @@ curl -X POST http://coder-server:8080/api/v2/workspaceproxies \
|
|||
{
|
||||
"display_name": "string",
|
||||
"icon": "string",
|
||||
"name": "string",
|
||||
"url": "string",
|
||||
"wildcard_hostname": "string"
|
||||
"name": "string"
|
||||
}
|
||||
```
|
||||
|
||||
|
|
|
@ -1557,21 +1557,17 @@ CreateParameterRequest is a structure used to create a new parameter value for a
|
|||
{
|
||||
"display_name": "string",
|
||||
"icon": "string",
|
||||
"name": "string",
|
||||
"url": "string",
|
||||
"wildcard_hostname": "string"
|
||||
"name": "string"
|
||||
}
|
||||
```
|
||||
|
||||
### Properties
|
||||
|
||||
| Name | Type | Required | Restrictions | Description |
|
||||
| ------------------- | ------ | -------- | ------------ | ----------- |
|
||||
| `display_name` | string | false | | |
|
||||
| `icon` | string | false | | |
|
||||
| `name` | string | false | | |
|
||||
| `url` | string | false | | |
|
||||
| `wildcard_hostname` | string | false | | |
|
||||
| Name | Type | Required | Restrictions | Description |
|
||||
| -------------- | ------ | -------- | ------------ | ----------- |
|
||||
| `display_name` | string | false | | |
|
||||
| `icon` | string | false | | |
|
||||
| `name` | string | false | | |
|
||||
|
||||
## codersdk.CreateWorkspaceRequest
|
||||
|
||||
|
|
|
@ -55,13 +55,11 @@ func (r *RootCmd) deleteProxy() *clibase.Cmd {
|
|||
|
||||
func (r *RootCmd) createProxy() *clibase.Cmd {
|
||||
var (
|
||||
proxyName string
|
||||
displayName string
|
||||
proxyIcon string
|
||||
proxyURL string
|
||||
proxyWildcardHostname string
|
||||
onlyToken bool
|
||||
formatter = cliui.NewOutputFormatter(
|
||||
proxyName string
|
||||
displayName string
|
||||
proxyIcon string
|
||||
onlyToken bool
|
||||
formatter = cliui.NewOutputFormatter(
|
||||
// Text formatter should be human readable.
|
||||
cliui.ChangeFormatterData(cliui.TextFormat(), func(data any) (any, error) {
|
||||
response, ok := data.(codersdk.CreateWorkspaceProxyResponse)
|
||||
|
@ -94,11 +92,9 @@ func (r *RootCmd) createProxy() *clibase.Cmd {
|
|||
Handler: func(inv *clibase.Invocation) error {
|
||||
ctx := inv.Context()
|
||||
resp, err := client.CreateWorkspaceProxy(ctx, codersdk.CreateWorkspaceProxyRequest{
|
||||
Name: proxyName,
|
||||
DisplayName: displayName,
|
||||
Icon: proxyIcon,
|
||||
URL: proxyURL,
|
||||
WildcardHostname: proxyWildcardHostname,
|
||||
Name: proxyName,
|
||||
DisplayName: displayName,
|
||||
Icon: proxyIcon,
|
||||
})
|
||||
if err != nil {
|
||||
return xerrors.Errorf("create workspace proxy: %w", err)
|
||||
|
@ -136,16 +132,6 @@ func (r *RootCmd) createProxy() *clibase.Cmd {
|
|||
Description: "Display icon of the proxy.",
|
||||
Value: clibase.StringOf(&proxyIcon),
|
||||
},
|
||||
clibase.Option{
|
||||
Flag: "access-url",
|
||||
Description: "Access URL of the proxy.",
|
||||
Value: clibase.StringOf(&proxyURL),
|
||||
},
|
||||
clibase.Option{
|
||||
Flag: "wildcard-access-url",
|
||||
Description: "(Optional) Access url of the proxy for subdomain based apps.",
|
||||
Value: clibase.StringOf(&proxyWildcardHostname),
|
||||
},
|
||||
clibase.Option{
|
||||
Flag: "only-token",
|
||||
Description: "Only print the token. This is useful for scripting.",
|
||||
|
|
|
@ -49,7 +49,6 @@ func Test_ProxyCRUD(t *testing.T) {
|
|||
"--name", expectedName,
|
||||
"--display-name", "Test Proxy",
|
||||
"--icon", "/emojis/1f4bb.png",
|
||||
"--access-url", "http://localhost:3010",
|
||||
"--only-token",
|
||||
)
|
||||
|
||||
|
@ -99,7 +98,6 @@ func Test_ProxyCRUD(t *testing.T) {
|
|||
Name: expectedName,
|
||||
DisplayName: "Test Proxy",
|
||||
Icon: "/emojis/us.png",
|
||||
URL: "http://localhost:3010",
|
||||
})
|
||||
require.NoError(t, err, "failed to create workspace proxy")
|
||||
|
||||
|
|
|
@ -108,10 +108,8 @@ func NewWorkspaceProxy(t *testing.T, coderdAPI *coderd.API, owner *codersdk.Clie
|
|||
}
|
||||
|
||||
proxyRes, err := owner.CreateWorkspaceProxy(ctx, codersdk.CreateWorkspaceProxyRequest{
|
||||
Name: options.Name,
|
||||
Icon: "/emojis/flag.png",
|
||||
URL: accessURL.String(),
|
||||
WildcardHostname: options.AppHostname,
|
||||
Name: options.Name,
|
||||
Icon: "/emojis/flag.png",
|
||||
})
|
||||
require.NoError(t, err, "failed to create workspace proxy")
|
||||
|
||||
|
|
|
@ -91,24 +91,6 @@ func (api *API) postWorkspaceProxy(rw http.ResponseWriter, r *http.Request) {
|
|||
return
|
||||
}
|
||||
|
||||
if err := validateProxyURL(req.URL); err != nil {
|
||||
httpapi.Write(ctx, rw, http.StatusBadRequest, codersdk.Response{
|
||||
Message: "URL is invalid.",
|
||||
Detail: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
if req.WildcardHostname != "" {
|
||||
if _, err := httpapi.CompileHostnamePattern(req.WildcardHostname); err != nil {
|
||||
httpapi.Write(ctx, rw, http.StatusBadRequest, codersdk.Response{
|
||||
Message: "Wildcard URL is invalid.",
|
||||
Detail: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
id := uuid.New()
|
||||
secret, err := cryptorand.HexString(64)
|
||||
if err != nil {
|
||||
|
@ -123,8 +105,6 @@ func (api *API) postWorkspaceProxy(rw http.ResponseWriter, r *http.Request) {
|
|||
Name: req.Name,
|
||||
DisplayName: req.DisplayName,
|
||||
Icon: req.Icon,
|
||||
Url: req.URL,
|
||||
WildcardHostname: req.WildcardHostname,
|
||||
TokenHashedSecret: hashedSecret[:],
|
||||
CreatedAt: database.Now(),
|
||||
UpdatedAt: database.Now(),
|
||||
|
|
|
@ -52,10 +52,8 @@ func TestWorkspaceProxyCRUD(t *testing.T) {
|
|||
})
|
||||
ctx := testutil.Context(t, testutil.WaitLong)
|
||||
proxyRes, err := client.CreateWorkspaceProxy(ctx, codersdk.CreateWorkspaceProxyRequest{
|
||||
Name: namesgenerator.GetRandomName(1),
|
||||
Icon: "/emojis/flag.png",
|
||||
URL: "https://" + namesgenerator.GetRandomName(1) + ".com",
|
||||
WildcardHostname: "*.sub.example.com",
|
||||
Name: namesgenerator.GetRandomName(1),
|
||||
Icon: "/emojis/flag.png",
|
||||
})
|
||||
require.NoError(t, err)
|
||||
|
||||
|
@ -87,10 +85,8 @@ func TestWorkspaceProxyCRUD(t *testing.T) {
|
|||
})
|
||||
ctx := testutil.Context(t, testutil.WaitLong)
|
||||
proxyRes, err := client.CreateWorkspaceProxy(ctx, codersdk.CreateWorkspaceProxyRequest{
|
||||
Name: namesgenerator.GetRandomName(1),
|
||||
Icon: "/emojis/flag.png",
|
||||
URL: "https://" + namesgenerator.GetRandomName(1) + ".com",
|
||||
WildcardHostname: "*.sub.example.com",
|
||||
Name: namesgenerator.GetRandomName(1),
|
||||
Icon: "/emojis/flag.png",
|
||||
})
|
||||
require.NoError(t, err)
|
||||
|
||||
|
@ -156,10 +152,8 @@ func TestIssueSignedAppToken(t *testing.T) {
|
|||
|
||||
createProxyCtx := testutil.Context(t, testutil.WaitLong)
|
||||
proxyRes, err := client.CreateWorkspaceProxy(createProxyCtx, codersdk.CreateWorkspaceProxyRequest{
|
||||
Name: namesgenerator.GetRandomName(1),
|
||||
Icon: "/emojis/flag.png",
|
||||
URL: "https://" + namesgenerator.GetRandomName(1) + ".com",
|
||||
WildcardHostname: "*.sub.example.com",
|
||||
Name: namesgenerator.GetRandomName(1),
|
||||
Icon: "/emojis/flag.png",
|
||||
})
|
||||
require.NoError(t, err)
|
||||
|
||||
|
|
|
@ -183,7 +183,7 @@ fatal() {
|
|||
# Attempt to delete the proxy first, in case it already exists.
|
||||
"${CODER_DEV_SHIM}" proxy delete local-proxy || true
|
||||
# Create the proxy
|
||||
proxy_session_token=$("${CODER_DEV_SHIM}" proxy create --name=local-proxy --display-name="Local Proxy" --icon="/emojis/1f4bb.png" --access-url=http://localhost:3010 --only-token)
|
||||
proxy_session_token=$("${CODER_DEV_SHIM}" proxy create --name=local-proxy --display-name="Local Proxy" --icon="/emojis/1f4bb.png" --only-token)
|
||||
# Start the proxy
|
||||
start_cmd PROXY "" "${CODER_DEV_SHIM}" proxy server --http-address=localhost:3010 --proxy-session-token="${proxy_session_token}" --primary-access-url=http://localhost:3000
|
||||
) || echo "Failed to create workspace proxy. No workspace proxy created."
|
||||
|
|
|
@ -260,8 +260,6 @@ export interface CreateWorkspaceProxyRequest {
|
|||
readonly name: string
|
||||
readonly display_name: string
|
||||
readonly icon: string
|
||||
readonly url: string
|
||||
readonly wildcard_hostname: string
|
||||
}
|
||||
|
||||
// From codersdk/workspaceproxy.go
|
||||
|
|
Loading…
Reference in New Issue