github.com/redhat-appstudio/e2e-tests@v0.0.0-20240520140907-9709f6f59323/pkg/clients/jvmbuildservice/jbs_configs.go (about)

     1  package jvmbuildservice
     2  
     3  import (
     4  	"context"
     5  	"github.com/redhat-appstudio/jvm-build-service/pkg/apis/jvmbuildservice/v1alpha1"
     6  	"github.com/redhat-appstudio/jvm-build-service/pkg/reconciler/jbsconfig"
     7  	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
     8  )
     9  
    10  // CreateJBSConfig creates a JBSConfig object.
    11  func (j *JvmbuildserviceController) CreateJBSConfig(name, namespace string) (*v1alpha1.JBSConfig, error) {
    12  	config := &v1alpha1.JBSConfig{
    13  		ObjectMeta: metav1.ObjectMeta{Name: name, Annotations: map[string]string{jbsconfig.DeleteImageRepositoryAnnotationName: "true"}},
    14  		Spec: v1alpha1.JBSConfigSpec{
    15  			EnableRebuilds:              true,
    16  			RequireArtifactVerification: true,
    17  			MavenBaseLocations: map[string]string{
    18  				"maven-repository-300-jboss":                      "https://repository.jboss.org/nexus/content/groups/public/",
    19  				"maven-repository-301-gradleplugins":              "https://plugins.gradle.org/m2",
    20  				"maven-repository-302-confluent":                  "https://packages.confluent.io/maven",
    21  				"maven-repository-303-gradle":                     "https://repo.gradle.org/artifactory/libs-releases",
    22  				"maven-repository-304-eclipselink":                "https://download.eclipse.org/rt/eclipselink/maven.repo",
    23  				"maven-repository-305-redhat":                     "https://maven.repository.redhat.com/ga",
    24  				"maven-repository-306-jitpack":                    "https://jitpack.io",
    25  				"maven-repository-307-jsweet":                     "https://repository.jsweet.org/artifactory/libs-release-local",
    26  				"maven-repository-308-jenkins":                    "https://repo.jenkins-ci.org/public/",
    27  				"maven-repository-309-spring-plugins":             "https://repo.springsource.org/plugins-release",
    28  				"maven-repository-310-dokkadev":                   "https://maven.pkg.jetbrains.space/kotlin/p/dokka/dev",
    29  				"maven-repository-311-ajoberstar":                 "https://ajoberstar.org/bintray-backup",
    30  				"maven-repository-312-googleandroid":              "https://dl.google.com/dl/android/maven2/",
    31  				"maven-repository-313-kotlinnative14linux":        "https://download.jetbrains.com/kotlin/native/builds/releases/1.4/linux",
    32  				"maven-repository-314-jcs":                        "https://packages.jetbrains.team/maven/p/jcs/maven",
    33  				"maven-repository-315-kotlin-bootstrap":           "https://maven.pkg.jetbrains.space/kotlin/p/kotlin/bootstrap/",
    34  				"maven-repository-315-kotlin-kotlin-dependencies": "https://maven.pkg.jetbrains.space/kotlin/p/kotlin/kotlin-dependencies"},
    35  			CacheSettings: v1alpha1.CacheSettings{
    36  				RequestMemory: "256Mi",
    37  				RequestCPU:    "100m",
    38  				Storage:       "1Gi",
    39  			},
    40  			BuildSettings: v1alpha1.BuildSettings{},
    41  			RelocationPatterns: []v1alpha1.RelocationPatternElement{
    42  				{
    43  					RelocationPattern: v1alpha1.RelocationPattern{
    44  						BuildPolicy: "default",
    45  						Patterns: []v1alpha1.PatternElement{
    46  							{
    47  								Pattern: v1alpha1.Pattern{
    48  									From: "(io.github.stuartwdouglas.hacbs-test.simple):(simple-jdk17):(99-does-not-exist)",
    49  									To:   "io.github.stuartwdouglas.hacbs-test.simple:simple-jdk17:0.1.2",
    50  								},
    51  							},
    52  							{
    53  								Pattern: v1alpha1.Pattern{
    54  									From: "org.graalvm.sdk:graal-sdk:21.3.2",
    55  									To:   "org.graalvm.sdk:graal-sdk:21.3.2.0-1-redhat-00001",
    56  								},
    57  							},
    58  						},
    59  					},
    60  				},
    61  			},
    62  		},
    63  	}
    64  	return j.JvmbuildserviceClient().JvmbuildserviceV1alpha1().JBSConfigs(namespace).Create(context.Background(), config, metav1.CreateOptions{})
    65  }
    66  
    67  // DeleteJBSConfig removes a JBSConfig from a given namespace.
    68  func (j *JvmbuildserviceController) DeleteJBSConfig(name string, namespace string) error {
    69  	return j.JvmbuildserviceClient().JvmbuildserviceV1alpha1().JBSConfigs(namespace).Delete(context.Background(), name, metav1.DeleteOptions{})
    70  }