diff --git a/pkg/apis/resource/v1alpha1/cluster/cluster_resource.go b/pkg/apis/resource/v1alpha1/cluster/cluster_resource.go index 85fa3037884..44e0b12ca00 100644 --- a/pkg/apis/resource/v1alpha1/cluster/cluster_resource.go +++ b/pkg/apis/resource/v1alpha1/cluster/cluster_resource.go @@ -166,7 +166,12 @@ func (s *Resource) GetOutputTaskModifier(_ *v1beta1.TaskSpec, _ string) (v1beta1 // GetInputTaskModifier returns the TaskModifier to be used when this resource is an input. func (s *Resource) GetInputTaskModifier(ts *v1beta1.TaskSpec, path string) (v1beta1.TaskModifier, error) { - var envVars []corev1.EnvVar + envVars := []corev1.EnvVar{ + { + Name: "TEKTON_RESOURCE_NAME", + Value: s.Name, + }, + } for _, sec := range s.Secrets { ev := corev1.EnvVar{ Name: strings.ToUpper(sec.FieldName), diff --git a/pkg/apis/resource/v1alpha1/cluster/cluster_resource_test.go b/pkg/apis/resource/v1alpha1/cluster/cluster_resource_test.go index 396cff70b69..1d8fa3f5897 100644 --- a/pkg/apis/resource/v1alpha1/cluster/cluster_resource_test.go +++ b/pkg/apis/resource/v1alpha1/cluster/cluster_resource_test.go @@ -180,17 +180,22 @@ func TestClusterResource_GetInputTaskModifier(t *testing.T) { Image: "override-with-kubeconfig-writer:latest", Command: []string{"/ko-app/kubeconfigwriter"}, Args: []string{"-clusterConfig", `{"name":"test-cluster-resource","type":"cluster","url":"http://10.10.10.10","revision":"","username":"","password":"","namespace":"","token":"","Insecure":false,"cadata":null,"clientKeyData":null,"clientCertificateData":null,"secrets":[{"fieldName":"cadata","secretKey":"cadatakey","secretName":"secret1"}]}`}, - Env: []corev1.EnvVar{{ - Name: "CADATA", - ValueFrom: &corev1.EnvVarSource{ - SecretKeyRef: &corev1.SecretKeySelector{ - LocalObjectReference: corev1.LocalObjectReference{ - Name: "secret1", + Env: []corev1.EnvVar{ + { + Name: "TEKTON_RESOURCE_NAME", + Value: "test-cluster-resource", + }, + { + Name: "CADATA", + ValueFrom: &corev1.EnvVarSource{ + SecretKeyRef: &corev1.SecretKeySelector{ + LocalObjectReference: corev1.LocalObjectReference{ + Name: "secret1", + }, + Key: "cadatakey", }, - Key: "cadatakey", }, - }, - }}, + }}, }, }, } diff --git a/pkg/apis/resource/v1alpha1/pullrequest/pull_request_resource.go b/pkg/apis/resource/v1alpha1/pullrequest/pull_request_resource.go index b8f6dfecae0..c8862ece40f 100644 --- a/pkg/apis/resource/v1alpha1/pullrequest/pull_request_resource.go +++ b/pkg/apis/resource/v1alpha1/pullrequest/pull_request_resource.go @@ -144,7 +144,12 @@ func (s *Resource) getSteps(mode string, sourcePath string) []pipelinev1beta1.St args = append(args, "-disable-strict-json-comments=true") } - evs := []corev1.EnvVar{} + evs := []corev1.EnvVar{ + { + Name: "TEKTON_RESOURCE_NAME", + Value: s.Name, + }, + } for _, sec := range s.Secrets { if strings.EqualFold(sec.FieldName, authTokenField) { ev := corev1.EnvVar{ diff --git a/pkg/apis/resource/v1alpha1/pullrequest/pull_request_resource_test.go b/pkg/apis/resource/v1alpha1/pullrequest/pull_request_resource_test.go index 4a699720fc9..1da04f1727b 100644 --- a/pkg/apis/resource/v1alpha1/pullrequest/pull_request_resource_test.go +++ b/pkg/apis/resource/v1alpha1/pullrequest/pull_request_resource_test.go @@ -87,7 +87,7 @@ func containerTestCases(mode string) []testcase { WorkingDir: pipeline.WorkspaceDir, Command: []string{"/ko-app/pullrequest-init"}, Args: []string{"-url", "https://example.com", "-path", workspace, "-mode", mode}, - Env: []corev1.EnvVar{}, + Env: []corev1.EnvVar{{Name: "TEKTON_RESOURCE_NAME", Value: "nocreds"}}, }}}, }, { in: &pullrequest.Resource{ @@ -108,17 +108,19 @@ func containerTestCases(mode string) []testcase { WorkingDir: pipeline.WorkspaceDir, Command: []string{"/ko-app/pullrequest-init"}, Args: []string{"-url", "https://example.com", "-path", "/workspace", "-mode", mode, "-provider", "github"}, - Env: []corev1.EnvVar{{ - Name: "AUTH_TOKEN", - ValueFrom: &corev1.EnvVarSource{ - SecretKeyRef: &corev1.SecretKeySelector{ - LocalObjectReference: corev1.LocalObjectReference{ - Name: "github-creds", + Env: []corev1.EnvVar{ + {Name: "TEKTON_RESOURCE_NAME", Value: "creds"}, + { + Name: "AUTH_TOKEN", + ValueFrom: &corev1.EnvVarSource{ + SecretKeyRef: &corev1.SecretKeySelector{ + LocalObjectReference: corev1.LocalObjectReference{ + Name: "github-creds", + }, + Key: "token", }, - Key: "token", }, - }, - }}, + }}, }}}, }, { in: &pullrequest.Resource{ @@ -133,7 +135,7 @@ func containerTestCases(mode string) []testcase { WorkingDir: pipeline.WorkspaceDir, Command: []string{"/ko-app/pullrequest-init"}, Args: []string{"-url", "https://example.com", "-path", workspace, "-mode", mode, "-insecure-skip-tls-verify=true"}, - Env: []corev1.EnvVar{}, + Env: []corev1.EnvVar{{Name: "TEKTON_RESOURCE_NAME", Value: "nocreds"}}, }}}, }, { in: &pullrequest.Resource{ @@ -148,7 +150,7 @@ func containerTestCases(mode string) []testcase { WorkingDir: pipeline.WorkspaceDir, Command: []string{"/ko-app/pullrequest-init"}, Args: []string{"-url", "https://example.com", "-path", workspace, "-mode", mode, "-disable-strict-json-comments=true"}, - Env: []corev1.EnvVar{}, + Env: []corev1.EnvVar{{Name: "TEKTON_RESOURCE_NAME", Value: "strict-json-comments"}}, }}}, }} } diff --git a/pkg/reconciler/taskrun/resources/input_resource_test.go b/pkg/reconciler/taskrun/resources/input_resource_test.go index 2bf65730373..ee51b5c1cb1 100644 --- a/pkg/reconciler/taskrun/resources/input_resource_test.go +++ b/pkg/reconciler/taskrun/resources/input_resource_test.go @@ -848,6 +848,9 @@ gsutil cp gs://fake-bucket/rules.zip /workspace/gcs-dir Args: []string{ "-clusterConfig", `{"name":"cluster3","type":"cluster","url":"http://10.10.10.10","revision":"","username":"","password":"","namespace":"namespace1","token":"","Insecure":false,"cadata":"bXktY2EtY2VydAo=","clientKeyData":"Y2xpZW50LWtleS1kYXRh","clientCertificateData":"Y2xpZW50LWNlcnRpZmljYXRlLWRhdGE=","secrets":null}`, }, + Env: []corev1.EnvVar{ + {Name: "TEKTON_RESOURCE_NAME", Value: "cluster3"}, + }, }, }, }, @@ -900,17 +903,19 @@ gsutil cp gs://fake-bucket/rules.zip /workspace/gcs-dir Args: []string{ "-clusterConfig", `{"name":"cluster2","type":"cluster","url":"http://10.10.10.10","revision":"","username":"","password":"","namespace":"","token":"","Insecure":false,"cadata":null,"clientKeyData":null,"clientCertificateData":null,"secrets":[{"fieldName":"cadata","secretKey":"cadatakey","secretName":"secret1"}]}`, }, - Env: []corev1.EnvVar{{ - ValueFrom: &corev1.EnvVarSource{ - SecretKeyRef: &corev1.SecretKeySelector{ - LocalObjectReference: corev1.LocalObjectReference{ - Name: "secret1", + Env: []corev1.EnvVar{ + {Name: "TEKTON_RESOURCE_NAME", Value: "cluster2"}, + { + ValueFrom: &corev1.EnvVarSource{ + SecretKeyRef: &corev1.SecretKeySelector{ + LocalObjectReference: corev1.LocalObjectReference{ + Name: "secret1", + }, + Key: "cadatakey", }, - Key: "cadatakey", }, - }, - Name: "CADATA", - }}, + Name: "CADATA", + }}, }, }, },