mirror of https://github.com/knative/func.git
74 lines
2.0 KiB
Go
74 lines
2.0 KiB
Go
package tekton
|
|
|
|
import (
|
|
"context"
|
|
"errors"
|
|
"fmt"
|
|
|
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
|
|
|
"knative.dev/func/pkg/builders"
|
|
"knative.dev/func/pkg/builders/buildpacks"
|
|
"knative.dev/func/pkg/builders/s2i"
|
|
fn "knative.dev/func/pkg/functions"
|
|
)
|
|
|
|
func deletePipelines(ctx context.Context, namespace string, listOptions metav1.ListOptions) (err error) {
|
|
if namespace == "" {
|
|
return errors.New("delete pipeline: namespace required")
|
|
}
|
|
client, err := NewTektonClient(namespace)
|
|
if err != nil {
|
|
return
|
|
}
|
|
|
|
return client.Pipelines(namespace).DeleteCollection(ctx, metav1.DeleteOptions{}, listOptions)
|
|
}
|
|
|
|
func deletePipelineRuns(ctx context.Context, namespace string, listOptions metav1.ListOptions) (err error) {
|
|
if namespace == "" {
|
|
return errors.New("delete pipeline run: namespace required")
|
|
}
|
|
client, err := NewTektonClient(namespace)
|
|
if err != nil {
|
|
return
|
|
}
|
|
|
|
return client.PipelineRuns(namespace).DeleteCollection(ctx, metav1.DeleteOptions{}, listOptions)
|
|
}
|
|
|
|
// guilderImage returns the builder image to use when building the Function
|
|
// with the Pack strategy if it can be calculated (the Function has a defined
|
|
// language runtime. Errors are checked elsewhere, so at this level they
|
|
// manifest as an inability to get a builder image = empty string.
|
|
func getBuilderImage(f fn.Function) (name string) {
|
|
if f.Build.Builder == builders.S2I {
|
|
name, _ = s2i.BuilderImage(f, builders.S2I)
|
|
} else {
|
|
name, _ = buildpacks.BuilderImage(f, builders.Pack)
|
|
}
|
|
return
|
|
}
|
|
|
|
func getPipelineName(f fn.Function) string {
|
|
var source string
|
|
if f.Build.Git.URL == "" {
|
|
source = "upload"
|
|
} else {
|
|
source = "git"
|
|
}
|
|
return fmt.Sprintf("%s-%s-%s-pipeline", f.Name, f.Build.Builder, source)
|
|
}
|
|
|
|
func getPipelineRunGenerateName(f fn.Function) string {
|
|
return fmt.Sprintf("%s-run-", getPipelineName(f))
|
|
}
|
|
|
|
func getPipelineSecretName(f fn.Function) string {
|
|
return fmt.Sprintf("%s-secret", getPipelineName(f))
|
|
}
|
|
|
|
func getPipelinePvcName(f fn.Function) string {
|
|
return fmt.Sprintf("%s-pvc", getPipelineName(f))
|
|
}
|