added a new parameter to the /admiralty/targets route to specify the peerId of the peer targeted, allowing to name differently peers targeted in a namespace
This commit is contained in:
parent
03f81c66f9
commit
8e8d0d3e01
@ -168,13 +168,21 @@ func (c *AdmiraltyController) CreateAdmiraltySource() {
|
|||||||
// @Title CreateAdmiraltyTarget
|
// @Title CreateAdmiraltyTarget
|
||||||
// @Description Create an Admiralty Target in the namespace associated to the executionID
|
// @Description Create an Admiralty Target in the namespace associated to the executionID
|
||||||
// @Param execution path string true "execution id of the workflow"
|
// @Param execution path string true "execution id of the workflow"
|
||||||
|
// @Param peer path string true "peerId of the peer the target points to"
|
||||||
// @Success 201
|
// @Success 201
|
||||||
// @router /target/:execution [post]
|
// @router /target/:execution [post]
|
||||||
func (c *AdmiraltyController) CreateAdmiraltyTarget(){
|
func (c *AdmiraltyController) CreateAdmiraltyTarget(){
|
||||||
var data map[string]interface{}
|
var data map[string]interface{}
|
||||||
|
|
||||||
execution := c.Ctx.Input.Param(":execution")
|
execution := c.Ctx.Input.Param(":execution")
|
||||||
|
peerId := c.Ctx.Input.Param(":peer")
|
||||||
|
|
||||||
|
if execution == "" || peerId == "" {
|
||||||
|
c.Ctx.Output.SetStatus(400)
|
||||||
|
c.Data["json"] = map[string]string{"error" : "parameters can be empty"}
|
||||||
|
c.ServeJSON()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
serv, err := infrastructure.NewService()
|
serv, err := infrastructure.NewService()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -185,7 +193,7 @@ func (c *AdmiraltyController) CreateAdmiraltyTarget(){
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
resp, err := serv.CreateAdmiraltyTarget(c.Ctx.Request.Context(),execution)
|
resp, err := serv.CreateAdmiraltyTarget(c.Ctx.Request.Context(),execution, peerId)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
// change code to 500
|
// change code to 500
|
||||||
c.Ctx.Output.SetStatus(500)
|
c.Ctx.Output.SetStatus(500)
|
||||||
|
@ -19,7 +19,7 @@ type Infrastructure interface {
|
|||||||
CreateAdmiraltySource(context context.Context,executionId string) ([]byte, error)
|
CreateAdmiraltySource(context context.Context,executionId string) ([]byte, error)
|
||||||
CreateKubeconfigSecret(context context.Context,kubeconfig string, executionId string) ([]byte, error)
|
CreateKubeconfigSecret(context context.Context,kubeconfig string, executionId string) ([]byte, error)
|
||||||
GetKubeconfigSecret(context context.Context,executionId string) ([]byte, error)
|
GetKubeconfigSecret(context context.Context,executionId string) ([]byte, error)
|
||||||
CreateAdmiraltyTarget(context context.Context,executionId string)([]byte,error)
|
CreateAdmiraltyTarget(context context.Context,executionId string, peerId string)([]byte,error)
|
||||||
GetOneNode(context context.Context,executionID string) (*v1.Node, error)
|
GetOneNode(context context.Context,executionID string) (*v1.Node, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -280,7 +280,7 @@ func (k *KubernetesService) GetTargets(ctx context.Context) ([]string, error) {
|
|||||||
// - have declared the same namespace as the one where the pods are created in the local cluster
|
// - have declared the same namespace as the one where the pods are created in the local cluster
|
||||||
//
|
//
|
||||||
// - have delcared a serviceAccount with sufficient permission to create pods
|
// - have delcared a serviceAccount with sufficient permission to create pods
|
||||||
func (k *KubernetesService) CreateAdmiraltyTarget(context context.Context, executionId string) ([]byte, error) {
|
func (k *KubernetesService) CreateAdmiraltyTarget(context context.Context, executionId string, peerId string) ([]byte, error) {
|
||||||
exists, err := k.GetKubeconfigSecret(context, executionId)
|
exists, err := k.GetKubeconfigSecret(context, executionId)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println("Error verifying kube-secret before creating target")
|
fmt.Println("Error verifying kube-secret before creating target")
|
||||||
@ -297,7 +297,7 @@ func (k *KubernetesService) CreateAdmiraltyTarget(context context.Context, execu
|
|||||||
"apiVersion": "multicluster.admiralty.io/v1alpha1",
|
"apiVersion": "multicluster.admiralty.io/v1alpha1",
|
||||||
"kind": "Target",
|
"kind": "Target",
|
||||||
"metadata": map[string]interface{}{
|
"metadata": map[string]interface{}{
|
||||||
"name": "target-"+executionId,
|
"name": "target-" + peerId + "-" +executionId,
|
||||||
"namespace": executionId,
|
"namespace": executionId,
|
||||||
},
|
},
|
||||||
"spec": map[string]interface{}{
|
"spec": map[string]interface{}{
|
||||||
|
Loading…
Reference in New Issue
Block a user