chore(pkger): convert packages endpoints into new naming convention
note: going to make this evolution in two steps so that we have a simple rollback to get back to a working state. We'll be maintaining both packages and the new templates and stacks endpoints for a while as users start to move onto a newer CLI version. Sunsetting by end of July. references: #18580pull/18782/head
parent
93856910b9
commit
2825427cf5
|
@ -1019,10 +1019,10 @@ func (m *Launcher) run(ctx context.Context) (err error) {
|
||||||
pkgSVC = pkger.MWAuth(authAgent)(pkgSVC)
|
pkgSVC = pkger.MWAuth(authAgent)(pkgSVC)
|
||||||
}
|
}
|
||||||
|
|
||||||
var pkgHTTPServer *pkger.HTTPServer
|
var pkgHTTPServer *pkger.HTTPServerPackages
|
||||||
{
|
{
|
||||||
pkgServerLogger := m.log.With(zap.String("handler", "pkger"))
|
pkgServerLogger := m.log.With(zap.String("handler", "pkger"))
|
||||||
pkgHTTPServer = pkger.NewHTTPServer(pkgServerLogger, pkgSVC)
|
pkgHTTPServer = pkger.NewHTTPServerPackages(pkgServerLogger, pkgSVC)
|
||||||
}
|
}
|
||||||
|
|
||||||
var userHTTPServer *tenant.UserHandler
|
var userHTTPServer *tenant.UserHandler
|
||||||
|
|
|
@ -26,7 +26,7 @@ func (s *HTTPRemoteService) InitStack(ctx context.Context, userID influxdb.ID, s
|
||||||
|
|
||||||
var respBody RespStack
|
var respBody RespStack
|
||||||
err := s.Client.
|
err := s.Client.
|
||||||
PostJSON(reqBody, RoutePrefix, "/stacks").
|
PostJSON(reqBody, RoutePrefixPackages, "/stacks").
|
||||||
DecodeJSON(&respBody).
|
DecodeJSON(&respBody).
|
||||||
Do(ctx)
|
Do(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -38,7 +38,7 @@ func (s *HTTPRemoteService) InitStack(ctx context.Context, userID influxdb.ID, s
|
||||||
|
|
||||||
func (s *HTTPRemoteService) DeleteStack(ctx context.Context, identifiers struct{ OrgID, UserID, StackID influxdb.ID }) error {
|
func (s *HTTPRemoteService) DeleteStack(ctx context.Context, identifiers struct{ OrgID, UserID, StackID influxdb.ID }) error {
|
||||||
return s.Client.
|
return s.Client.
|
||||||
Delete(RoutePrefix, "stacks", identifiers.StackID.String()).
|
Delete(RoutePrefixPackages, "stacks", identifiers.StackID.String()).
|
||||||
QueryParams([2]string{"orgID", identifiers.OrgID.String()}).
|
QueryParams([2]string{"orgID", identifiers.OrgID.String()}).
|
||||||
Do(ctx)
|
Do(ctx)
|
||||||
}
|
}
|
||||||
|
@ -54,7 +54,7 @@ func (s *HTTPRemoteService) ListStacks(ctx context.Context, orgID influxdb.ID, f
|
||||||
|
|
||||||
var resp RespListStacks
|
var resp RespListStacks
|
||||||
err := s.Client.
|
err := s.Client.
|
||||||
Get(RoutePrefix, "/stacks").
|
Get(RoutePrefixPackages, "/stacks").
|
||||||
QueryParams(queryParams...).
|
QueryParams(queryParams...).
|
||||||
DecodeJSON(&resp).
|
DecodeJSON(&resp).
|
||||||
Do(ctx)
|
Do(ctx)
|
||||||
|
@ -76,7 +76,7 @@ func (s *HTTPRemoteService) ListStacks(ctx context.Context, orgID influxdb.ID, f
|
||||||
func (s *HTTPRemoteService) ReadStack(ctx context.Context, id influxdb.ID) (Stack, error) {
|
func (s *HTTPRemoteService) ReadStack(ctx context.Context, id influxdb.ID) (Stack, error) {
|
||||||
var respBody RespStack
|
var respBody RespStack
|
||||||
err := s.Client.
|
err := s.Client.
|
||||||
Get(RoutePrefix, "/stacks", id.String()).
|
Get(RoutePrefixPackages, "/stacks", id.String()).
|
||||||
DecodeJSON(&respBody).
|
DecodeJSON(&respBody).
|
||||||
Do(ctx)
|
Do(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -101,7 +101,7 @@ func (s *HTTPRemoteService) UpdateStack(ctx context.Context, upd StackUpdate) (S
|
||||||
|
|
||||||
var respBody RespStack
|
var respBody RespStack
|
||||||
err := s.Client.
|
err := s.Client.
|
||||||
PatchJSON(reqBody, RoutePrefix, "/stacks", upd.ID.String()).
|
PatchJSON(reqBody, RoutePrefixPackages, "/stacks", upd.ID.String()).
|
||||||
DecodeJSON(&respBody).
|
DecodeJSON(&respBody).
|
||||||
Do(ctx)
|
Do(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -140,7 +140,7 @@ func (s *HTTPRemoteService) Export(ctx context.Context, opts ...ExportOptFn) (*P
|
||||||
|
|
||||||
var newPkg *Pkg
|
var newPkg *Pkg
|
||||||
err = s.Client.
|
err = s.Client.
|
||||||
PostJSON(reqBody, RoutePrefix).
|
PostJSON(reqBody, RoutePrefixPackages).
|
||||||
Decode(func(resp *http.Response) error {
|
Decode(func(resp *http.Response) error {
|
||||||
pkg, err := Parse(EncodingJSON, FromReader(resp.Body, "export"))
|
pkg, err := Parse(EncodingJSON, FromReader(resp.Body, "export"))
|
||||||
newPkg = pkg
|
newPkg = pkg
|
||||||
|
@ -220,7 +220,7 @@ func (s *HTTPRemoteService) apply(ctx context.Context, orgID influxdb.ID, dryRun
|
||||||
|
|
||||||
var resp RespApply
|
var resp RespApply
|
||||||
err := s.Client.
|
err := s.Client.
|
||||||
PostJSON(reqBody, RoutePrefix, "/apply").
|
PostJSON(reqBody, RoutePrefixPackages, "/apply").
|
||||||
DecodeJSON(&resp).
|
DecodeJSON(&resp).
|
||||||
Do(ctx)
|
Do(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
@ -21,19 +21,20 @@ import (
|
||||||
"gopkg.in/yaml.v3"
|
"gopkg.in/yaml.v3"
|
||||||
)
|
)
|
||||||
|
|
||||||
const RoutePrefix = "/api/v2/packages"
|
const RoutePrefixPackages = "/api/v2/packages"
|
||||||
|
|
||||||
// HTTPServer is a server that manages the packages HTTP transport.
|
// HTTPServerPackages is a server that manages the packages HTTP transport. These
|
||||||
type HTTPServer struct {
|
// endpoints are to be sunset and replaced by the templates and stacks endpoints.
|
||||||
|
type HTTPServerPackages struct {
|
||||||
chi.Router
|
chi.Router
|
||||||
api *kithttp.API
|
api *kithttp.API
|
||||||
logger *zap.Logger
|
logger *zap.Logger
|
||||||
svc SVC
|
svc SVC
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewHTTPServer constructs a new http server.
|
// NewHTTPServerPackages constructs a new http server.
|
||||||
func NewHTTPServer(log *zap.Logger, svc SVC) *HTTPServer {
|
func NewHTTPServerPackages(log *zap.Logger, svc SVC) *HTTPServerPackages {
|
||||||
svr := &HTTPServer{
|
svr := &HTTPServerPackages{
|
||||||
api: kithttp.NewAPI(kithttp.WithLog(log)),
|
api: kithttp.NewAPI(kithttp.WithLog(log)),
|
||||||
logger: log,
|
logger: log,
|
||||||
svc: svc,
|
svc: svc,
|
||||||
|
@ -71,8 +72,8 @@ func NewHTTPServer(log *zap.Logger, svc SVC) *HTTPServer {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Prefix provides the prefix to this route tree.
|
// Prefix provides the prefix to this route tree.
|
||||||
func (s *HTTPServer) Prefix() string {
|
func (s *HTTPServerPackages) Prefix() string {
|
||||||
return RoutePrefix
|
return RoutePrefixPackages
|
||||||
}
|
}
|
||||||
|
|
||||||
type (
|
type (
|
||||||
|
@ -119,7 +120,7 @@ type RespListStacks struct {
|
||||||
Stacks []RespStack `json:"stacks"`
|
Stacks []RespStack `json:"stacks"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *HTTPServer) listStacks(w http.ResponseWriter, r *http.Request) {
|
func (s *HTTPServerPackages) listStacks(w http.ResponseWriter, r *http.Request) {
|
||||||
q := r.URL.Query()
|
q := r.URL.Query()
|
||||||
|
|
||||||
rawOrgID := q.Get("orgID")
|
rawOrgID := q.Get("orgID")
|
||||||
|
@ -212,7 +213,7 @@ func (r *ReqCreateStack) orgID() influxdb.ID {
|
||||||
return *orgID
|
return *orgID
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *HTTPServer) createStack(w http.ResponseWriter, r *http.Request) {
|
func (s *HTTPServerPackages) createStack(w http.ResponseWriter, r *http.Request) {
|
||||||
var reqBody ReqCreateStack
|
var reqBody ReqCreateStack
|
||||||
if err := s.api.DecodeJSON(r.Body, &reqBody); err != nil {
|
if err := s.api.DecodeJSON(r.Body, &reqBody); err != nil {
|
||||||
s.api.Err(w, r, err)
|
s.api.Err(w, r, err)
|
||||||
|
@ -240,7 +241,7 @@ func (s *HTTPServer) createStack(w http.ResponseWriter, r *http.Request) {
|
||||||
s.api.Respond(w, r, http.StatusCreated, convertStackToRespStack(stack))
|
s.api.Respond(w, r, http.StatusCreated, convertStackToRespStack(stack))
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *HTTPServer) deleteStack(w http.ResponseWriter, r *http.Request) {
|
func (s *HTTPServerPackages) deleteStack(w http.ResponseWriter, r *http.Request) {
|
||||||
orgID, err := getRequiredOrgIDFromQuery(r.URL.Query())
|
orgID, err := getRequiredOrgIDFromQuery(r.URL.Query())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
s.api.Err(w, r, err)
|
s.api.Err(w, r, err)
|
||||||
|
@ -273,7 +274,7 @@ func (s *HTTPServer) deleteStack(w http.ResponseWriter, r *http.Request) {
|
||||||
s.api.Respond(w, r, http.StatusNoContent, nil)
|
s.api.Respond(w, r, http.StatusNoContent, nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *HTTPServer) exportStack(w http.ResponseWriter, r *http.Request) {
|
func (s *HTTPServerPackages) exportStack(w http.ResponseWriter, r *http.Request) {
|
||||||
stackID, err := stackIDFromReq(r)
|
stackID, err := stackIDFromReq(r)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
s.api.Err(w, r, err)
|
s.api.Err(w, r, err)
|
||||||
|
@ -304,7 +305,7 @@ func (s *HTTPServer) exportStack(w http.ResponseWriter, r *http.Request) {
|
||||||
s.api.Write(w, http.StatusOK, b)
|
s.api.Write(w, http.StatusOK, b)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *HTTPServer) readStack(w http.ResponseWriter, r *http.Request) {
|
func (s *HTTPServerPackages) readStack(w http.ResponseWriter, r *http.Request) {
|
||||||
stackID, err := stackIDFromReq(r)
|
stackID, err := stackIDFromReq(r)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
s.api.Err(w, r, err)
|
s.api.Err(w, r, err)
|
||||||
|
@ -340,7 +341,7 @@ type (
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
func (s *HTTPServer) updateStack(w http.ResponseWriter, r *http.Request) {
|
func (s *HTTPServerPackages) updateStack(w http.ResponseWriter, r *http.Request) {
|
||||||
var req ReqUpdateStack
|
var req ReqUpdateStack
|
||||||
if err := s.api.DecodeJSON(r.Body, &req); err != nil {
|
if err := s.api.DecodeJSON(r.Body, &req); err != nil {
|
||||||
s.api.Err(w, r, err)
|
s.api.Err(w, r, err)
|
||||||
|
@ -458,7 +459,7 @@ func (r *ReqExport) OK() error {
|
||||||
// RespExport is a response body for the create pkg endpoint.
|
// RespExport is a response body for the create pkg endpoint.
|
||||||
type RespExport []Object
|
type RespExport []Object
|
||||||
|
|
||||||
func (s *HTTPServer) export(w http.ResponseWriter, r *http.Request) {
|
func (s *HTTPServerPackages) export(w http.ResponseWriter, r *http.Request) {
|
||||||
var reqBody ReqExport
|
var reqBody ReqExport
|
||||||
if err := s.api.DecodeJSON(r.Body, &reqBody); err != nil {
|
if err := s.api.DecodeJSON(r.Body, &reqBody); err != nil {
|
||||||
s.api.Err(w, r, err)
|
s.api.Err(w, r, err)
|
||||||
|
@ -698,7 +699,7 @@ type RespApply struct {
|
||||||
Errors []ValidationErr `json:"errors,omitempty" yaml:"errors,omitempty"`
|
Errors []ValidationErr `json:"errors,omitempty" yaml:"errors,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *HTTPServer) apply(w http.ResponseWriter, r *http.Request) {
|
func (s *HTTPServerPackages) apply(w http.ResponseWriter, r *http.Request) {
|
||||||
var reqBody ReqApply
|
var reqBody ReqApply
|
||||||
encoding, err := decodeWithEncoding(r, &reqBody)
|
encoding, err := decodeWithEncoding(r, &reqBody)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -859,7 +860,7 @@ func newJSONEnc(w io.Writer) encoder {
|
||||||
return enc
|
return enc
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *HTTPServer) encResp(w http.ResponseWriter, r *http.Request, enc encoder, code int, res interface{}) {
|
func (s *HTTPServerPackages) encResp(w http.ResponseWriter, r *http.Request, enc encoder, code int, res interface{}) {
|
||||||
w.WriteHeader(code)
|
w.WriteHeader(code)
|
||||||
if err := enc.Encode(res); err != nil {
|
if err := enc.Encode(res); err != nil {
|
||||||
s.api.Err(w, r, &influxdb.Error{
|
s.api.Err(w, r, &influxdb.Error{
|
|
@ -64,7 +64,7 @@ func TestPkgerHTTPServer(t *testing.T) {
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
svc := pkger.NewService(pkger.WithLabelSVC(fakeLabelSVC))
|
svc := pkger.NewService(pkger.WithLabelSVC(fakeLabelSVC))
|
||||||
pkgHandler := pkger.NewHTTPServer(zap.NewNop(), svc)
|
pkgHandler := pkger.NewHTTPServerPackages(zap.NewNop(), svc)
|
||||||
svr := newMountedHandler(pkgHandler, 1)
|
svr := newMountedHandler(pkgHandler, 1)
|
||||||
|
|
||||||
testttp.
|
testttp.
|
||||||
|
@ -94,7 +94,7 @@ func TestPkgerHTTPServer(t *testing.T) {
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("should be invalid if not org ids or resources provided", func(t *testing.T) {
|
t.Run("should be invalid if not org ids or resources provided", func(t *testing.T) {
|
||||||
pkgHandler := pkger.NewHTTPServer(zap.NewNop(), nil)
|
pkgHandler := pkger.NewHTTPServerPackages(zap.NewNop(), nil)
|
||||||
svr := newMountedHandler(pkgHandler, 1)
|
svr := newMountedHandler(pkgHandler, 1)
|
||||||
|
|
||||||
testttp.
|
testttp.
|
||||||
|
@ -183,7 +183,7 @@ func TestPkgerHTTPServer(t *testing.T) {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
pkgHandler := pkger.NewHTTPServer(zap.NewNop(), svc)
|
pkgHandler := pkger.NewHTTPServerPackages(zap.NewNop(), svc)
|
||||||
svr := newMountedHandler(pkgHandler, 1)
|
svr := newMountedHandler(pkgHandler, 1)
|
||||||
|
|
||||||
testttp.
|
testttp.
|
||||||
|
@ -251,7 +251,7 @@ func TestPkgerHTTPServer(t *testing.T) {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
pkgHandler := pkger.NewHTTPServer(zap.NewNop(), svc)
|
pkgHandler := pkger.NewHTTPServerPackages(zap.NewNop(), svc)
|
||||||
svr := newMountedHandler(pkgHandler, 1)
|
svr := newMountedHandler(pkgHandler, 1)
|
||||||
|
|
||||||
body := newReqApplyYMLBody(t, influxdb.ID(9000), true)
|
body := newReqApplyYMLBody(t, influxdb.ID(9000), true)
|
||||||
|
@ -372,7 +372,7 @@ func TestPkgerHTTPServer(t *testing.T) {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
pkgHandler := pkger.NewHTTPServer(zap.NewNop(), svc)
|
pkgHandler := pkger.NewHTTPServerPackages(zap.NewNop(), svc)
|
||||||
svr := newMountedHandler(pkgHandler, 1)
|
svr := newMountedHandler(pkgHandler, 1)
|
||||||
|
|
||||||
testttp.
|
testttp.
|
||||||
|
@ -442,7 +442,7 @@ func TestPkgerHTTPServer(t *testing.T) {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
pkgHandler := pkger.NewHTTPServer(zap.NewNop(), svc)
|
pkgHandler := pkger.NewHTTPServerPackages(zap.NewNop(), svc)
|
||||||
svr := newMountedHandler(pkgHandler, 1)
|
svr := newMountedHandler(pkgHandler, 1)
|
||||||
|
|
||||||
testttp.
|
testttp.
|
||||||
|
@ -491,7 +491,7 @@ func TestPkgerHTTPServer(t *testing.T) {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
pkgHandler := pkger.NewHTTPServer(zap.NewNop(), svc)
|
pkgHandler := pkger.NewHTTPServerPackages(zap.NewNop(), svc)
|
||||||
svr := newMountedHandler(pkgHandler, 1)
|
svr := newMountedHandler(pkgHandler, 1)
|
||||||
|
|
||||||
testttp.
|
testttp.
|
||||||
|
@ -523,7 +523,7 @@ func TestPkgerHTTPServer(t *testing.T) {
|
||||||
return stack, nil
|
return stack, nil
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
pkgHandler := pkger.NewHTTPServer(zap.NewNop(), svc)
|
pkgHandler := pkger.NewHTTPServerPackages(zap.NewNop(), svc)
|
||||||
svr := newMountedHandler(pkgHandler, 1)
|
svr := newMountedHandler(pkgHandler, 1)
|
||||||
|
|
||||||
reqBody := pkger.ReqCreateStack{
|
reqBody := pkger.ReqCreateStack{
|
||||||
|
@ -607,7 +607,7 @@ func TestPkgerHTTPServer(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pkgHandler := pkger.NewHTTPServer(zap.NewNop(), svc)
|
pkgHandler := pkger.NewHTTPServerPackages(zap.NewNop(), svc)
|
||||||
svr := newMountedHandler(pkgHandler, 1)
|
svr := newMountedHandler(pkgHandler, 1)
|
||||||
|
|
||||||
testttp.
|
testttp.
|
||||||
|
@ -662,7 +662,7 @@ func TestPkgerHTTPServer(t *testing.T) {
|
||||||
}}, nil
|
}}, nil
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
pkgHandler := pkger.NewHTTPServer(zap.NewNop(), svc)
|
pkgHandler := pkger.NewHTTPServerPackages(zap.NewNop(), svc)
|
||||||
svr := newMountedHandler(pkgHandler, 1)
|
svr := newMountedHandler(pkgHandler, 1)
|
||||||
|
|
||||||
tests := []struct {
|
tests := []struct {
|
||||||
|
@ -837,7 +837,7 @@ func TestPkgerHTTPServer(t *testing.T) {
|
||||||
return tt.stub, nil
|
return tt.stub, nil
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
pkgHandler := pkger.NewHTTPServer(zap.NewNop(), svc)
|
pkgHandler := pkger.NewHTTPServerPackages(zap.NewNop(), svc)
|
||||||
svr := newMountedHandler(pkgHandler, 1)
|
svr := newMountedHandler(pkgHandler, 1)
|
||||||
|
|
||||||
testttp.
|
testttp.
|
||||||
|
@ -891,7 +891,7 @@ func TestPkgerHTTPServer(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pkgHandler := pkger.NewHTTPServer(zap.NewNop(), svc)
|
pkgHandler := pkger.NewHTTPServerPackages(zap.NewNop(), svc)
|
||||||
svr := newMountedHandler(pkgHandler, 1)
|
svr := newMountedHandler(pkgHandler, 1)
|
||||||
|
|
||||||
testttp.
|
testttp.
|
||||||
|
@ -1001,7 +1001,7 @@ func TestPkgerHTTPServer(t *testing.T) {
|
||||||
return st, nil
|
return st, nil
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
pkgHandler := pkger.NewHTTPServer(zap.NewNop(), svc)
|
pkgHandler := pkger.NewHTTPServerPackages(zap.NewNop(), svc)
|
||||||
svr := newMountedHandler(pkgHandler, 1)
|
svr := newMountedHandler(pkgHandler, 1)
|
||||||
|
|
||||||
testttp.
|
testttp.
|
||||||
|
@ -1055,7 +1055,7 @@ func TestPkgerHTTPServer(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pkgHandler := pkger.NewHTTPServer(zap.NewNop(), svc)
|
pkgHandler := pkger.NewHTTPServerPackages(zap.NewNop(), svc)
|
||||||
svr := newMountedHandler(pkgHandler, 1)
|
svr := newMountedHandler(pkgHandler, 1)
|
||||||
|
|
||||||
testttp.
|
testttp.
|
Loading…
Reference in New Issue