Skip to content

Commit

Permalink
Update the sink prefixes mapping
Browse files Browse the repository at this point in the history
 - 'ksvc' prefix for knative services
 -  Remove 'svc' or 'service' prefixes mapping for knative services
  • Loading branch information
navidshaikh committed Jul 8, 2020
1 parent f347ca8 commit 1e94cb4
Show file tree
Hide file tree
Showing 30 changed files with 72 additions and 77 deletions.
2 changes: 1 addition & 1 deletion docs/cmd/kn_source_apiserver_create.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ kn source apiserver create NAME --resource RESOURCE --sink SINK
```
# Create an ApiServerSource 'k8sevents' which consumes Kubernetes events and sends message to service 'mysvc' as a cloudevent
kn source apiserver create k8sevents --resource Event:v1 --service-account myaccountname --sink svc:mysvc
kn source apiserver create k8sevents --resource Event:v1 --service-account myaccountname --sink ksvc:mysvc
```

### Options
Expand Down
2 changes: 1 addition & 1 deletion docs/cmd/kn_source_apiserver_update.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ kn source apiserver update NAME
```
# Update an ApiServerSource 'k8sevents' with different service account and sink service
kn source apiserver update k8sevents --service-account newsa --sink svc:newsvc
kn source apiserver update k8sevents --service-account newsa --sink ksvc:newsvc
```

### Options
Expand Down
2 changes: 1 addition & 1 deletion docs/cmd/kn_source_binding_create.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ kn source binding create NAME --subject SUBJECT --sink SINK
```
# Create a sink binding which connects a deployment 'myapp' with a Knative service 'mysvc'
kn source binding create my-binding --subject Deployment:apps/v1:myapp --sink svc:mysvc
kn source binding create my-binding --subject Deployment:apps/v1:myapp --sink ksvc:mysvc
```

### Options
Expand Down
2 changes: 1 addition & 1 deletion docs/cmd/kn_source_ping_create.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ kn source ping create NAME --sink SINK
```
# Create a Ping source 'my-ping' which fires every two minutes and sends '{ value: "hello" }' to service 'mysvc' as a cloudevent
kn source ping create my-ping --schedule "*/2 * * * *" --data '{ value: "hello" }' --sink svc:mysvc
kn source ping create my-ping --schedule "*/2 * * * *" --data '{ value: "hello" }' --sink ksvc:mysvc
```

### Options
Expand Down
4 changes: 2 additions & 2 deletions docs/cmd/kn_trigger_create.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ kn trigger create NAME --sink SINK
```
# Create a trigger 'mytrigger' to declare a subscription to events from default broker. The subscriber is service 'mysvc'
kn trigger create mytrigger --broker default --sink svc:mysvc
kn trigger create mytrigger --broker default --sink ksvc:mysvc
# Create a trigger to filter events with attribute 'type=dev.knative.foo'
kn trigger create mytrigger --broker default --filter type=dev.knative.foo --sink svc:mysvc
kn trigger create mytrigger --broker default --filter type=dev.knative.foo --sink ksvc:mysvc
```

### Options
Expand Down
6 changes: 3 additions & 3 deletions docs/cmd/kn_trigger_update.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@ kn trigger update NAME
# Update the filter which key is 'type' to value 'knative.dev.bar' in a trigger 'mytrigger'
kn trigger update mytrigger --filter type=knative.dev.bar
# Remove the filter which key is 'type' from a trigger 'mytrigger'
# Remove the filter which key is 'type' from a trigger 'mytrigger'
kn trigger update mytrigger --filter type-
# Update the sink of a trigger 'mytrigger' to 'svc:new-service'
kn trigger update mytrigger --sink svc:new-service
# Update the sink of a trigger 'mytrigger' to 'ksvc:new-service'
kn trigger update mytrigger --sink ksvc:new-service
```

Expand Down
11 changes: 3 additions & 8 deletions pkg/kn/commands/flags/sink.go
Original file line number Diff line number Diff line change
Expand Up @@ -61,13 +61,8 @@ var sinkMappings = map[string]schema.GroupVersionResource{
Group: "eventing.knative.dev",
Version: "v1beta1",
},
"service": {
Resource: "services",
Group: "serving.knative.dev",
Version: "v1",
},
// Shorthand alias for service
"svc": {
"ksvc": {
Resource: "services",
Group: "serving.knative.dev",
Version: "v1",
Expand Down Expand Up @@ -117,7 +112,7 @@ func (i *SinkFlags) ResolveSink(knclient clientdynamic.KnDynamicClient, namespac
func parseSink(sink string) (string, string) {
parts := strings.SplitN(sink, ":", 2)
if len(parts) == 1 {
return "svc", parts[0]
return "ksvc", parts[0]
} else if parts[0] == "http" || parts[0] == "https" {
return "", sink
} else {
Expand All @@ -129,7 +124,7 @@ func parseSink(sink string) (string, string) {
func SinkToString(sink duckv1.Destination) string {
if sink.Ref != nil {
if sink.Ref.Kind == "Service" {
return fmt.Sprintf("svc:%s", sink.Ref.Name)
return fmt.Sprintf("ksvc:%s", sink.Ref.Name)
} else {
return fmt.Sprintf("%s:%s", strings.ToLower(sink.Ref.Kind), sink.Ref.Name)
}
Expand Down
6 changes: 3 additions & 3 deletions pkg/kn/commands/flags/sink_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -46,17 +46,17 @@ func TestResolve(t *testing.T) {

assert.NilError(t, err)
cases := []resolveCase{
{"svc:mysvc", &duckv1.Destination{
{"ksvc:mysvc", &duckv1.Destination{
Ref: &duckv1.KReference{Kind: "Service",
APIVersion: "serving.knative.dev/v1",
Namespace: "default",
Name: "mysvc"}}, ""},
{"service:mysvc", &duckv1.Destination{
{"mysvc", &duckv1.Destination{
Ref: &duckv1.KReference{Kind: "Service",
APIVersion: "serving.knative.dev/v1",
Namespace: "default",
Name: "mysvc"}}, ""},
{"svc:absent", nil, "\"absent\" not found"},
{"ksvc:absent", nil, "\"absent\" not found"},
{"broker:default", &duckv1.Destination{
Ref: &duckv1.KReference{Kind: "Broker",
APIVersion: "eventing.knative.dev/v1beta1",
Expand Down
2 changes: 1 addition & 1 deletion pkg/kn/commands/source/apiserver/create.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ func NewAPIServerCreateCommand(p *commands.KnParams) *cobra.Command {
Short: "Create an api-server source",
Example: `
# Create an ApiServerSource 'k8sevents' which consumes Kubernetes events and sends message to service 'mysvc' as a cloudevent
kn source apiserver create k8sevents --resource Event:v1 --service-account myaccountname --sink svc:mysvc`,
kn source apiserver create k8sevents --resource Event:v1 --service-account myaccountname --sink ksvc:mysvc`,

RunE: func(cmd *cobra.Command, args []string) (err error) {
if len(args) != 1 {
Expand Down
4 changes: 2 additions & 2 deletions pkg/kn/commands/source/apiserver/create_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ func TestCreateApiServerSource(t *testing.T) {
apiServerRecorder := apiServerClient.Recorder()
apiServerRecorder.CreateAPIServerSource(createAPIServerSource("testsource", "Event", "v1", "testsa", "Reference", map[string]string{"bla": "blub", "foo": "bar"}, createSinkv1("testsvc", "default")), nil)

out, err := executeAPIServerSourceCommand(apiServerClient, dynamicClient, "create", "testsource", "--resource", "Event:v1", "--service-account", "testsa", "--sink", "svc:testsvc", "--mode", "Reference", "--ce-override", "bla=blub", "--ce-override", "foo=bar")
out, err := executeAPIServerSourceCommand(apiServerClient, dynamicClient, "create", "testsource", "--resource", "Event:v1", "--service-account", "testsa", "--sink", "ksvc:testsvc", "--mode", "Reference", "--ce-override", "bla=blub", "--ce-override", "foo=bar")
assert.NilError(t, err, "ApiServer source should be created")
assert.Assert(t, util.ContainsAll(out, "created", "default", "testsource"))

Expand All @@ -48,7 +48,7 @@ func TestSinkNotFoundError(t *testing.T) {
dynamicClient := dynamicfake.CreateFakeKnDynamicClient("default")
apiServerClient := v1alpha2.NewMockKnAPIServerSourceClient(t)
errorMsg := "cannot create ApiServerSource 'testsource' in namespace 'default' because: services.serving.knative.dev \"testsvc\" not found"
out, err := executeAPIServerSourceCommand(apiServerClient, dynamicClient, "create", "testsource", "--resource", "Event:v1:key1=value1", "--service-account", "testsa", "--sink", "svc:testsvc", "--mode", "Reference")
out, err := executeAPIServerSourceCommand(apiServerClient, dynamicClient, "create", "testsource", "--resource", "Event:v1:key1=value1", "--service-account", "testsa", "--sink", "ksvc:testsvc", "--mode", "Reference")
assert.Error(t, err, errorMsg)
assert.Assert(t, util.ContainsAll(out, errorMsg, "Usage"))
}
Expand Down
2 changes: 1 addition & 1 deletion pkg/kn/commands/source/apiserver/list_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ func TestListAPIServerSource(t *testing.T) {
out, err := executeAPIServerSourceCommand(apiServerClient, nil, "list")
assert.NilError(t, err, "sources should be listed")
assert.Assert(t, util.ContainsAll(out, "NAME", "RESOURCES", "SINK", "AGE", "CONDITIONS", "READY", "REASON"))
assert.Assert(t, util.ContainsAll(out, "testsource", "Event:v1", "svc:testsvc"))
assert.Assert(t, util.ContainsAll(out, "testsource", "Event:v1", "ksvc:testsvc"))

apiServerRecorder.Validate()
}
Expand Down
2 changes: 1 addition & 1 deletion pkg/kn/commands/source/apiserver/update.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ func NewAPIServerUpdateCommand(p *commands.KnParams) *cobra.Command {
Short: "Update an api-server source",
Example: `
# Update an ApiServerSource 'k8sevents' with different service account and sink service
kn source apiserver update k8sevents --service-account newsa --sink svc:newsvc`,
kn source apiserver update k8sevents --service-account newsa --sink ksvc:newsvc`,

RunE: func(cmd *cobra.Command, args []string) (err error) {
if len(args) != 1 {
Expand Down
4 changes: 2 additions & 2 deletions pkg/kn/commands/source/apiserver/update_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ func TestApiServerSourceUpdate(t *testing.T) {
updated := createAPIServerSource("testsource", "Event", "v1", "testsa2", "Reference", map[string]string{"foo": "baz"}, createSinkv1("svc2", "default"))
apiServerRecorder.UpdateAPIServerSource(updated, nil)

output, err := executeAPIServerSourceCommand(apiServerClient, dynamicClient, "update", "testsource", "--service-account", "testsa2", "--sink", "svc:svc2", "--ce-override", "bla-", "--ce-override", "foo=baz")
output, err := executeAPIServerSourceCommand(apiServerClient, dynamicClient, "update", "testsource", "--service-account", "testsa2", "--sink", "ksvc:svc2", "--ce-override", "bla-", "--ce-override", "foo=baz")
assert.NilError(t, err)
assert.Assert(t, util.ContainsAll(output, "testsource", "updated", "default"))

Expand All @@ -58,7 +58,7 @@ func TestApiServerSourceUpdateDeletionTimestampNotNil(t *testing.T) {
present.DeletionTimestamp = &metav1.Time{Time: time.Now()}
apiServerRecorder.GetAPIServerSource("testsource", present, nil)

_, err := executeAPIServerSourceCommand(apiServerClient, nil, "update", "testsource", "--service-account", "testsa2", "--sink", "svc:svc2")
_, err := executeAPIServerSourceCommand(apiServerClient, nil, "update", "testsource", "--service-account", "testsa2", "--sink", "ksvc:svc2")
assert.ErrorContains(t, err, present.Name)
assert.ErrorContains(t, err, "deletion")
assert.ErrorContains(t, err, "apiserver")
Expand Down
2 changes: 1 addition & 1 deletion pkg/kn/commands/source/binding/create.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ func NewBindingCreateCommand(p *commands.KnParams) *cobra.Command {
Short: "Create a sink binding",
Example: `
# Create a sink binding which connects a deployment 'myapp' with a Knative service 'mysvc'
kn source binding create my-binding --subject Deployment:apps/v1:myapp --sink svc:mysvc`,
kn source binding create my-binding --subject Deployment:apps/v1:myapp --sink ksvc:mysvc`,

RunE: func(cmd *cobra.Command, args []string) (err error) {
if len(args) != 1 {
Expand Down
4 changes: 2 additions & 2 deletions pkg/kn/commands/source/binding/create_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ func TestSimpleCreateBinding(t *testing.T) {
bindingRecorder := bindingClient.Recorder()
bindingRecorder.CreateSinkBinding(createSinkBinding("testbinding", "mysvc", deploymentGvk, "mydeploy", "default", map[string]string{"bla": "blub", "foo": "bar"}), nil)

out, err := executeSinkBindingCommand(bindingClient, dynamicClient, "create", "testbinding", "--sink", "svc:mysvc", "--subject", "deployment:apps/v1:mydeploy", "--ce-override", "bla=blub", "--ce-override", "foo=bar")
out, err := executeSinkBindingCommand(bindingClient, dynamicClient, "create", "testbinding", "--sink", "ksvc:mysvc", "--subject", "deployment:apps/v1:mydeploy", "--ce-override", "bla=blub", "--ce-override", "foo=bar")
assert.NilError(t, err, "Source should have been created")
assert.Assert(t, util.ContainsAll(out, "created", "default", "testbinding"))

Expand All @@ -44,7 +44,7 @@ func TestNoSinkError(t *testing.T) {
bindingClient := v1alpha2.NewMockKnSinkBindingClient(t)
dynamicClient := dynamicfake.CreateFakeKnDynamicClient("default")

_, err := executeSinkBindingCommand(bindingClient, dynamicClient, "create", "testbinding", "--sink", "svc:mysvc", "--subject", "deployment:apps/v1:app=myapp")
_, err := executeSinkBindingCommand(bindingClient, dynamicClient, "create", "testbinding", "--sink", "ksvc:mysvc", "--subject", "deployment:apps/v1:app=myapp")
assert.ErrorContains(t, err, "mysvc")
assert.ErrorContains(t, err, "not found")
}
Expand Down
2 changes: 1 addition & 1 deletion pkg/kn/commands/source/binding/update_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ func TestSimpleBindingUpdate(t *testing.T) {
bindingRecorder.GetSinkBinding("testbinding", createSinkBinding("testbinding", "mysvc", deploymentGvk, "mydeploy", "default", ceOverrideMap), nil)
bindingRecorder.UpdateSinkBinding(createSinkBinding("testbinding", "othersvc", deploymentGvk, "mydeploy", "default", ceOverrideMapUpdated), nil)

out, err := executeSinkBindingCommand(sinkBindingClient, dynamicClient, "update", "testbinding", "--sink", "svc:othersvc", "--ce-override", "bla-", "--ce-override", "foo=baz", "--ce-override", "new=ceoverride")
out, err := executeSinkBindingCommand(sinkBindingClient, dynamicClient, "update", "testbinding", "--sink", "ksvc:othersvc", "--ce-override", "bla-", "--ce-override", "foo=baz", "--ce-override", "new=ceoverride")
assert.NilError(t, err)
assert.Assert(t, util.ContainsAll(out, "updated", "default", "testbinding"))

Expand Down
4 changes: 2 additions & 2 deletions pkg/kn/commands/source/duck/multisourcelist_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,10 +33,10 @@ func TestToSource(t *testing.T) {
assert.Check(t, s.SourceKind == "SinkBinding")
s = toSource(newSourceUnstructuredObjWithSink("p1",
"sources.knative.dev/v1alpha1", "PingSource"))
assert.Check(t, s.Sink == "svc:foo")
assert.Check(t, s.Sink == "ksvc:foo")
s = toSource(newSourceUnstructuredObjWithSink("k1",
"sources.knative.dev/v1alpha1", "KafkaSource"))
assert.Check(t, s.Sink == "svc:foo")
assert.Check(t, s.Sink == "ksvc:foo")
s = toSource(newSourceUnstructuredObjWithoutSink("k1",
"sources.knative.dev/v1alpha1", "KafkaSource"))
assert.Check(t, s.Sink == "")
Expand Down
10 changes: 5 additions & 5 deletions pkg/kn/commands/source/list_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -82,9 +82,9 @@ func TestSourceList(t *testing.T) {
)
assert.NilError(t, err)
assert.Check(t, util.ContainsAll(output[0], "NAME", "TYPE", "RESOURCE", "SINK", "READY"))
assert.Check(t, util.ContainsAll(output[1], "a1", "ApiServerSource", "apiserversources.sources.knative.dev", "svc:foo", "True"))
assert.Check(t, util.ContainsAll(output[2], "p1", "PingSource", "pingsources.sources.knative.dev", "svc:foo", "True"))
assert.Check(t, util.ContainsAll(output[3], "s1", "SinkBinding", "sinkbindings.sources.knative.dev", "svc:foo", "True"))
assert.Check(t, util.ContainsAll(output[1], "a1", "ApiServerSource", "apiserversources.sources.knative.dev", "ksvc:foo", "True"))
assert.Check(t, util.ContainsAll(output[2], "p1", "PingSource", "pingsources.sources.knative.dev", "ksvc:foo", "True"))
assert.Check(t, util.ContainsAll(output[3], "s1", "SinkBinding", "sinkbindings.sources.knative.dev", "ksvc:foo", "True"))
}

func TestSourceListUntyped(t *testing.T) {
Expand All @@ -95,8 +95,8 @@ func TestSourceListUntyped(t *testing.T) {
)
assert.NilError(t, err)
assert.Check(t, util.ContainsAll(output[0], "NAME", "TYPE", "RESOURCE", "SINK", "READY"))
assert.Check(t, util.ContainsAll(output[1], "k1", "KafkaSource", "kafkasources.sources.knative.dev", "svc:foo", "True"))
assert.Check(t, util.ContainsAll(output[2], "k2", "KafkaSource", "kafkasources.sources.knative.dev", "svc:foo", "True"))
assert.Check(t, util.ContainsAll(output[1], "k1", "KafkaSource", "kafkasources.sources.knative.dev", "ksvc:foo", "True"))
assert.Check(t, util.ContainsAll(output[2], "k2", "KafkaSource", "kafkasources.sources.knative.dev", "ksvc:foo", "True"))
}

func TestSourceListNoHeaders(t *testing.T) {
Expand Down
2 changes: 1 addition & 1 deletion pkg/kn/commands/source/ping/create.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ func NewPingCreateCommand(p *commands.KnParams) *cobra.Command {
Short: "Create a ping source",
Example: `
# Create a Ping source 'my-ping' which fires every two minutes and sends '{ value: "hello" }' to service 'mysvc' as a cloudevent
kn source ping create my-ping --schedule "*/2 * * * *" --data '{ value: "hello" }' --sink svc:mysvc`,
kn source ping create my-ping --schedule "*/2 * * * *" --data '{ value: "hello" }' --sink ksvc:mysvc`,

RunE: func(cmd *cobra.Command, args []string) (err error) {
if len(args) != 1 {
Expand Down
6 changes: 3 additions & 3 deletions pkg/kn/commands/source/ping/create_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ func TestSimpleCreatePingSource(t *testing.T) {
pingRecorder := pingClient.Recorder()
pingRecorder.CreatePingSource(createPingSource("testsource", "* * * * */2", "maxwell", "mysvc", map[string]string{"bla": "blub", "foo": "bar"}), nil)

out, err := executePingSourceCommand(pingClient, dynamicClient, "create", "--sink", "svc:mysvc", "--schedule", "* * * * */2", "--data", "maxwell", "testsource", "--ce-override", "bla=blub", "--ce-override", "foo=bar")
out, err := executePingSourceCommand(pingClient, dynamicClient, "create", "--sink", "ksvc:mysvc", "--schedule", "* * * * */2", "--data", "maxwell", "testsource", "--ce-override", "bla=blub", "--ce-override", "foo=bar")
assert.NilError(t, err, "Source should have been created")
assert.Assert(t, util.ContainsAll(out, "created", "default", "testsource"))

Expand All @@ -51,7 +51,7 @@ func TestNoSinkError(t *testing.T) {

dynamicClient := dynamicfake.CreateFakeKnDynamicClient("default")

out, err := executePingSourceCommand(pingClient, dynamicClient, "create", "--sink", "svc:mysvc", "--schedule", "* * * * */2", "--data", "maxwell", "testsource")
out, err := executePingSourceCommand(pingClient, dynamicClient, "create", "--sink", "ksvc:mysvc", "--schedule", "* * * * */2", "--data", "maxwell", "testsource")
assert.Error(t, err, "services.serving.knative.dev \"mysvc\" not found")
assert.Assert(t, util.ContainsAll(out, "Usage"))
}
Expand All @@ -64,7 +64,7 @@ func TestNoSinkGivenError(t *testing.T) {
}

func TestNoNameGivenError(t *testing.T) {
out, err := executePingSourceCommand(nil, nil, "create", "--sink", "svc:mysvc", "--schedule", "* * * * */2")
out, err := executePingSourceCommand(nil, nil, "create", "--sink", "ksvc:mysvc", "--schedule", "* * * * */2")
assert.ErrorContains(t, err, "name")
assert.ErrorContains(t, err, "require")
assert.Assert(t, util.ContainsAll(out, "Usage", "require", "name"))
Expand Down
2 changes: 1 addition & 1 deletion pkg/kn/commands/source/ping/flags.go
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ func printSource(source *v1alpha2.PingSource, options hprinters.PrintOptions) ([
var sink string
if source.Spec.Sink.Ref != nil {
if source.Spec.Sink.Ref.Kind == "Service" {
sink = fmt.Sprintf("svc:%s", source.Spec.Sink.Ref.Name)
sink = fmt.Sprintf("ksvc:%s", source.Spec.Sink.Ref.Name)
} else {
sink = fmt.Sprintf("%s:%s", source.Spec.Sink.Ref.Kind, source.Spec.Sink.Ref.Name)
}
Expand Down
4 changes: 2 additions & 2 deletions pkg/kn/commands/trigger/create.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,10 @@ func NewTriggerCreateCommand(p *commands.KnParams) *cobra.Command {
Short: "Create a trigger",
Example: `
# Create a trigger 'mytrigger' to declare a subscription to events from default broker. The subscriber is service 'mysvc'
kn trigger create mytrigger --broker default --sink svc:mysvc
kn trigger create mytrigger --broker default --sink ksvc:mysvc
# Create a trigger to filter events with attribute 'type=dev.knative.foo'
kn trigger create mytrigger --broker default --filter type=dev.knative.foo --sink svc:mysvc`,
kn trigger create mytrigger --broker default --filter type=dev.knative.foo --sink ksvc:mysvc`,

RunE: func(cmd *cobra.Command, args []string) (err error) {
if len(args) != 1 {
Expand Down
Loading

0 comments on commit 1e94cb4

Please sign in to comment.