diff --git a/appdynamics.yml b/appdynamics.yml index 8bd4fc0..8641daf 100644 --- a/appdynamics.yml +++ b/appdynamics.yml @@ -4,10 +4,8 @@ platform: linux image_resource: type: registry-image source: - repository: cfje/java-buildpack-dependency-builder + repository: mirror.gcr.io/cfje/java-buildpack-dependency-builder tag: latest - username: ((docker-username)) - password: ((docker-password)) inputs: - name: java-buildpack-dependency-builder diff --git a/auto-reconfiguration.yml b/auto-reconfiguration.yml index cbfba20..4962db7 100644 --- a/auto-reconfiguration.yml +++ b/auto-reconfiguration.yml @@ -4,10 +4,8 @@ platform: linux image_resource: type: registry-image source: - repository: cfje/java-buildpack-dependency-builder + repository: mirror.gcr.io/cfje/java-buildpack-dependency-builder tag: latest - username: ((docker-username)) - password: ((docker-password)) inputs: diff --git a/azure-application-insights.yml b/azure-application-insights.yml index 4fce44b..252e8ff 100644 --- a/azure-application-insights.yml +++ b/azure-application-insights.yml @@ -4,10 +4,8 @@ platform: linux image_resource: type: registry-image source: - repository: cfje/java-buildpack-dependency-builder + repository: mirror.gcr.io/cfje/java-buildpack-dependency-builder tag: latest - username: ((docker-username)) - password: ((docker-password)) inputs: diff --git a/cacerts.yml b/cacerts.yml index b631f04..3f32ab2 100644 --- a/cacerts.yml +++ b/cacerts.yml @@ -4,10 +4,8 @@ platform: linux image_resource: type: registry-image source: - repository: cfje/openjdk + repository: mirror.gcr.io/cfje/openjdk tag: cflinuxfs3 - username: ((docker-username)) - password: ((docker-password)) inputs: diff --git a/client-certificate-mapper-v2.yml b/client-certificate-mapper-v2.yml index 07244d2..2639cf4 100644 --- a/client-certificate-mapper-v2.yml +++ b/client-certificate-mapper-v2.yml @@ -4,10 +4,8 @@ platform: linux image_resource: type: registry-image source: - repository: cfje/java-buildpack-dependency-builder + repository: mirror.gcr.io/cfje/java-buildpack-dependency-builder tag: latest - username: ((docker-username)) - password: ((docker-password)) inputs: diff --git a/client-certificate-mapper.yml b/client-certificate-mapper.yml index 4e8cfc3..8cc5845 100644 --- a/client-certificate-mapper.yml +++ b/client-certificate-mapper.yml @@ -4,10 +4,8 @@ platform: linux image_resource: type: registry-image source: - repository: cfje/java-buildpack-dependency-builder + repository: mirror.gcr.io/cfje/java-buildpack-dependency-builder tag: latest - username: ((docker-username)) - password: ((docker-password)) inputs: diff --git a/container-customizer.yml b/container-customizer.yml index b84fafd..137dfe9 100644 --- a/container-customizer.yml +++ b/container-customizer.yml @@ -4,10 +4,8 @@ platform: linux image_resource: type: registry-image source: - repository: cfje/java-buildpack-dependency-builder + repository: mirror.gcr.io/cfje/java-buildpack-dependency-builder tag: latest - username: ((docker-username)) - password: ((docker-password)) inputs: diff --git a/container-security-provider.yml b/container-security-provider.yml index 718189a..e35871f 100644 --- a/container-security-provider.yml +++ b/container-security-provider.yml @@ -4,10 +4,8 @@ platform: linux image_resource: type: registry-image source: - repository: cfje/java-buildpack-dependency-builder + repository: mirror.gcr.io/cfje/java-buildpack-dependency-builder tag: latest - username: ((docker-username)) - password: ((docker-password)) inputs: diff --git a/contrast-security.yml b/contrast-security.yml index e55e299..071b4b3 100644 --- a/contrast-security.yml +++ b/contrast-security.yml @@ -4,10 +4,8 @@ platform: linux image_resource: type: registry-image source: - repository: cfje/java-buildpack-dependency-builder + repository: mirror.gcr.io/cfje/java-buildpack-dependency-builder tag: latest - username: ((docker-username)) - password: ((docker-password)) inputs: diff --git a/groovy.yml b/groovy.yml index 1acd934..a478cbb 100644 --- a/groovy.yml +++ b/groovy.yml @@ -4,10 +4,8 @@ platform: linux image_resource: type: registry-image source: - repository: cfje/java-buildpack-dependency-builder + repository: mirror.gcr.io/cfje/java-buildpack-dependency-builder tag: latest - username: ((docker-username)) - password: ((docker-password)) inputs: diff --git a/jacoco.yml b/jacoco.yml index 243c450..a05ff64 100644 --- a/jacoco.yml +++ b/jacoco.yml @@ -4,10 +4,8 @@ platform: linux image_resource: type: registry-image source: - repository: cfje/java-buildpack-dependency-builder + repository: mirror.gcr.io/cfje/java-buildpack-dependency-builder tag: latest - username: ((docker-username)) - password: ((docker-password)) inputs: diff --git a/java-cfenv.yml b/java-cfenv.yml index e40372c..0a736d5 100644 --- a/java-cfenv.yml +++ b/java-cfenv.yml @@ -4,10 +4,8 @@ platform: linux image_resource: type: registry-image source: - repository: cfje/java-buildpack-dependency-builder + repository: mirror.gcr.io/cfje/java-buildpack-dependency-builder tag: latest - username: ((docker-username)) - password: ((docker-password)) inputs: diff --git a/jprofiler.yml b/jprofiler.yml index 3f98bc3..d42bfc8 100644 --- a/jprofiler.yml +++ b/jprofiler.yml @@ -4,10 +4,8 @@ platform: linux image_resource: type: registry-image source: - repository: cfje/java-buildpack-dependency-builder + repository: mirror.gcr.io/cfje/java-buildpack-dependency-builder tag: latest - username: ((docker-username)) - password: ((docker-password)) inputs: - name: java-buildpack-dependency-builder diff --git a/jvmkill.yml b/jvmkill.yml index 4fbeb48..c045c6d 100644 --- a/jvmkill.yml +++ b/jvmkill.yml @@ -4,10 +4,8 @@ platform: linux image_resource: type: registry-image source: - repository: cfje/java-buildpack-dependency-builder + repository: mirror.gcr.io/cfje/java-buildpack-dependency-builder tag: latest - username: ((docker-username)) - password: ((docker-password)) inputs: - name: java-buildpack-dependency-builder diff --git a/mariadb-jdbc.yml b/mariadb-jdbc.yml index 4cda8af..7fa90e1 100644 --- a/mariadb-jdbc.yml +++ b/mariadb-jdbc.yml @@ -4,10 +4,8 @@ platform: linux image_resource: type: registry-image source: - repository: cfje/java-buildpack-dependency-builder + repository: mirror.gcr.io/cfje/java-buildpack-dependency-builder tag: latest - username: ((docker-username)) - password: ((docker-password)) inputs: - name: java-buildpack-dependency-builder diff --git a/memory-calculator.yml b/memory-calculator.yml index 830960d..bea32f0 100644 --- a/memory-calculator.yml +++ b/memory-calculator.yml @@ -4,10 +4,8 @@ platform: linux image_resource: type: registry-image source: - repository: cfje/java-buildpack-dependency-builder + repository: mirror.gcr.io/cfje/java-buildpack-dependency-builder tag: latest - username: ((docker-username)) - password: ((docker-password)) inputs: - name: java-buildpack-dependency-builder diff --git a/metric-writer.yml b/metric-writer.yml index 6a5486a..8f4684f 100644 --- a/metric-writer.yml +++ b/metric-writer.yml @@ -4,10 +4,8 @@ platform: linux image_resource: type: registry-image source: - repository: cfje/java-buildpack-dependency-builder + repository: mirror.gcr.io/cfje/java-buildpack-dependency-builder tag: latest - username: ((docker-username)) - password: ((docker-password)) inputs: - name: java-buildpack-dependency-builder diff --git a/new-relic.yml b/new-relic.yml index 7d4c3b5..675cd48 100644 --- a/new-relic.yml +++ b/new-relic.yml @@ -4,10 +4,8 @@ platform: linux image_resource: type: registry-image source: - repository: cfje/java-buildpack-dependency-builder + repository: mirror.gcr.io/cfje/java-buildpack-dependency-builder tag: latest - username: ((docker-username)) - password: ((docker-password)) inputs: - name: java-buildpack-dependency-builder diff --git a/postgresql-jdbc.yml b/postgresql-jdbc.yml index 803cba1..848359f 100644 --- a/postgresql-jdbc.yml +++ b/postgresql-jdbc.yml @@ -4,10 +4,8 @@ platform: linux image_resource: type: registry-image source: - repository: cfje/java-buildpack-dependency-builder + repository: mirror.gcr.io/cfje/java-buildpack-dependency-builder tag: latest - username: ((docker-username)) - password: ((docker-password)) inputs: - name: java-buildpack-dependency-builder diff --git a/replicate.sh b/replicate.sh index e9d82b4..c458398 100755 --- a/replicate.sh +++ b/replicate.sh @@ -14,7 +14,7 @@ fi mkdir -p "$DESTINATION" -aws s3 sync "s3://download.pivotal.io" "$DESTINATION" --no-sign-request --exclude "*" \ +aws s3 sync "s3://java-buildpack.cloudfoundry.org" "$DESTINATION" --no-sign-request --exclude "*" \ --include "auto-reconfiguration/*" \ --include "client-certificate-mapper/*" \ --include "container-customizer/*" \ diff --git a/replicate.yml b/replicate.yml index 7aca80b..28a4223 100644 --- a/replicate.yml +++ b/replicate.yml @@ -4,10 +4,8 @@ platform: linux image_resource: type: registry-image source: - repository: cfje/java-buildpack-dependency-builder + repository: mirror.gcr.io/cfje/java-buildpack-dependency-builder tag: latest - username: ((docker-username)) - password: ((docker-password)) inputs: - name: java-buildpack-dependency-builder diff --git a/resources/gcs-repository/artifact.go b/resources/gcs-repository/artifact.go index 970871f..0fbad20 100644 --- a/resources/gcs-repository/artifact.go +++ b/resources/gcs-repository/artifact.go @@ -49,8 +49,7 @@ func (a artifact) Upload() (string, error) { _, _ = fmt.Fprintf(os.Stderr, "Uploading gcs://%s/%s\n", a.bucketHandle, key) obj := bucket.Object(key) - // Write something to obj. - // w implements io.Writer. + w := obj.NewWriter(ctx) in, err := os.Open(a.file) @@ -63,7 +62,6 @@ func (a artifact) Upload() (string, error) { return "", fmt.Errorf("error copying file: %w", err) } - // Close, just like writing a file. if err := w.Close(); err != nil { return "", fmt.Errorf("error closing file: %w", err) } diff --git a/resources/gcs-repository/index.go b/resources/gcs-repository/index.go index 7612efd..6959d09 100644 --- a/resources/gcs-repository/index.go +++ b/resources/gcs-repository/index.go @@ -44,7 +44,7 @@ func (i *index) Key() string { return path.Join(i.path, "/index.yml") } -func (i *index) load() error { +func (i *index) load(version string) error { if output, ok, err := i.loadGCS(); err != nil { return err } else if ok { @@ -54,6 +54,13 @@ func (i *index) load() error { case io.EOF: i.contents = make(map[string]string) return nil + case nil: + if version == "" { + return err + } + if _, ok := i.contents[version]; !ok { + break + } else { return err } default: return err } @@ -72,6 +79,7 @@ func (i *index) load() error { return err } } + return fmt.Errorf("either bucket and path or uri must be specified") } @@ -90,7 +98,6 @@ func (i index) loadGCS() (io.ReadCloser, bool, error) { } return nil, false, fmt.Errorf("error reading object: %s\n%w", i.Key(), err) } - defer rc.Close() return rc, true, nil } @@ -107,10 +114,11 @@ func (i index) loadURI() (io.ReadCloser, bool, error) { u.Path = path.Join(u.Path, "/index.yml") r, err := http.Get(u.String()) + if err != nil { return nil, false, err } - + return r.Body, true, nil } @@ -139,8 +147,7 @@ func (i index) save() error { _, _ = fmt.Fprintf(os.Stderr, "Uploading gcs://%s/%s\n", i.bucketHandle, key) obj := bucket.Object(key) - // Write something to obj. - // w implements io.Writer. + w := obj.NewWriter(ctx) if _, err := io.Copy(w, in); err != nil { @@ -152,5 +159,10 @@ func (i index) save() error { return fmt.Errorf("error closing file: %w", err) } + obj.Update(ctx, storage.ObjectAttrsToUpdate{ + ContentType: "application/yaml", + CacheControl: "no-cache, no-store, max-age=0, must-revalidate", + }) + return nil } diff --git a/resources/gcs-repository/repository.go b/resources/gcs-repository/repository.go index 0e4ee90..aa4ce6e 100644 --- a/resources/gcs-repository/repository.go +++ b/resources/gcs-repository/repository.go @@ -77,7 +77,7 @@ func (r Repository) Check() (check.Result, error) { path: r.Source.Path, uri: r.Source.URI, } - if err := i.load(); err != nil { + if err := i.load(""); err != nil { return check.Result{}, err } @@ -114,13 +114,23 @@ func (r Repository) In(destination string) (in.Result, error) { return in.Result{}, err } + if r.Source.URI == "" { + r.Source.URI = fmt.Sprintf("https://%s/%s", r.Parameters.DownloadDomain, r.Source.Path) + } + i := index{ client: c, bucketHandle: r.Source.Bucket, path: r.Source.Path, uri: r.Source.URI, } - if err := i.load(); err != nil { + + semver, err := verAsSemver(r.Version) + if err != nil { + return in.Result{}, err + } + + if err := i.load(r.version(semver)); err != nil { return in.Result{}, err } @@ -152,7 +162,6 @@ func (r Repository) Out(source string) (out.Result, error) { if err := r.setAuthCreds(r.Parameters.GcsCreds); err != nil{ return out.Result{}, err } - c, err := r.client() if err != nil { return out.Result{}, err @@ -179,7 +188,7 @@ func (r Repository) Out(source string) (out.Result, error) { bucketHandle: r.Source.Bucket, path: r.Source.Path, } - if err := i.load(); err != nil { + if err := i.load(""); err != nil { return out.Result{}, err } @@ -187,10 +196,12 @@ func (r Repository) Out(source string) (out.Result, error) { if err != nil { return out.Result{}, err } - semver, err := v.AsSemver() + + semver, err := verAsSemver(v) if err != nil { - return out.Result{}, fmt.Errorf("error parsing version %s\n%w", v, err) + return out.Result{}, err } + uri, err := r.createUri(file) if err != nil { return out.Result{}, err @@ -222,6 +233,14 @@ func (r Repository) createUri(file string) (string, error) { return fmt.Sprintf("https://%s/%s/%s", r.Parameters.DownloadDomain, r.Source.Path, url.QueryEscape(path.Base(file))), nil } +func verAsSemver(v internal.Version) (*semver.Version, error) { + semver, err := v.AsSemver() + if err != nil { + return nil, fmt.Errorf("error parsing version %s\n%w", v, err) + } + return semver, nil +} + func (r Repository) file(source string) (string, error) { files, err := filepath.Glob(filepath.Join(source, r.Parameters.File)) if err != nil { diff --git a/sky-walking.yml b/sky-walking.yml index 28bb9bd..f156f3b 100644 --- a/sky-walking.yml +++ b/sky-walking.yml @@ -4,10 +4,8 @@ platform: linux image_resource: type: registry-image source: - repository: cfje/java-buildpack-dependency-builder + repository: mirror.gcr.io/cfje/java-buildpack-dependency-builder tag: latest - username: ((docker-username)) - password: ((docker-password)) inputs: - name: java-buildpack-dependency-builder diff --git a/spring-boot-cli.yml b/spring-boot-cli.yml index 01ca969..541c2ca 100644 --- a/spring-boot-cli.yml +++ b/spring-boot-cli.yml @@ -4,10 +4,8 @@ platform: linux image_resource: type: registry-image source: - repository: cfje/java-buildpack-dependency-builder + repository: mirror.gcr.io/cfje/java-buildpack-dependency-builder tag: latest - username: ((docker-username)) - password: ((docker-password)) inputs: - name: java-buildpack-dependency-builder diff --git a/tc-server.yml b/tc-server.yml index 9403723..01587d3 100644 --- a/tc-server.yml +++ b/tc-server.yml @@ -4,10 +4,8 @@ platform: linux image_resource: type: registry-image source: - repository: cfje/java-buildpack-dependency-builder + repository: mirror.gcr.io/cfje/java-buildpack-dependency-builder tag: latest - username: ((docker-username)) - password: ((docker-password)) inputs: - name: java-buildpack-dependency-builder diff --git a/tomcat-access-logging-support.yml b/tomcat-access-logging-support.yml index cb549ce..71cb4ec 100644 --- a/tomcat-access-logging-support.yml +++ b/tomcat-access-logging-support.yml @@ -4,10 +4,8 @@ platform: linux image_resource: type: registry-image source: - repository: cfje/java-buildpack-dependency-builder + repository: mirror.gcr.io/cfje/java-buildpack-dependency-builder tag: latest - username: ((docker-username)) - password: ((docker-password)) inputs: - name: java-buildpack-dependency-builder diff --git a/tomcat-lifecycle-support.yml b/tomcat-lifecycle-support.yml index 3a71bb0..a98c1cf 100644 --- a/tomcat-lifecycle-support.yml +++ b/tomcat-lifecycle-support.yml @@ -4,10 +4,8 @@ platform: linux image_resource: type: registry-image source: - repository: cfje/java-buildpack-dependency-builder + repository: mirror.gcr.io/cfje/java-buildpack-dependency-builder tag: latest - username: ((docker-username)) - password: ((docker-password)) inputs: - name: java-buildpack-dependency-builder diff --git a/tomcat-logging-support.yml b/tomcat-logging-support.yml index 5a2af69..81ae700 100644 --- a/tomcat-logging-support.yml +++ b/tomcat-logging-support.yml @@ -4,10 +4,8 @@ platform: linux image_resource: type: registry-image source: - repository: cfje/java-buildpack-dependency-builder + repository: mirror.gcr.io/cfje/java-buildpack-dependency-builder tag: latest - username: ((docker-username)) - password: ((docker-password)) inputs: - name: java-buildpack-dependency-builder diff --git a/tomcat.yml b/tomcat.yml index 87b2afc..e0b5697 100644 --- a/tomcat.yml +++ b/tomcat.yml @@ -4,10 +4,8 @@ platform: linux image_resource: type: registry-image source: - repository: cfje/java-buildpack-dependency-builder + repository: mirror.gcr.io/cfje/java-buildpack-dependency-builder tag: latest - username: ((docker-username)) - password: ((docker-password)) inputs: - name: java-buildpack-dependency-builder diff --git a/tomee-resource-configuration.yml b/tomee-resource-configuration.yml index d1b7822..9623bd0 100644 --- a/tomee-resource-configuration.yml +++ b/tomee-resource-configuration.yml @@ -4,10 +4,8 @@ platform: linux image_resource: type: registry-image source: - repository: cfje/java-buildpack-dependency-builder + repository: mirror.gcr.io/cfje/java-buildpack-dependency-builder tag: latest - username: ((docker-username)) - password: ((docker-password)) inputs: - name: java-buildpack-dependency-builder diff --git a/tomee.yml b/tomee.yml index d8bd0f3..a00a2df 100644 --- a/tomee.yml +++ b/tomee.yml @@ -4,10 +4,8 @@ platform: linux image_resource: type: registry-image source: - repository: cfje/java-buildpack-dependency-builder + repository: mirror.gcr.io/cfje/java-buildpack-dependency-builder tag: latest - username: ((docker-username)) - password: ((docker-password)) inputs: - name: java-buildpack-dependency-builder diff --git a/wildfly.yml b/wildfly.yml index 5aebbff..bdb9dee 100644 --- a/wildfly.yml +++ b/wildfly.yml @@ -4,10 +4,8 @@ platform: linux image_resource: type: registry-image source: - repository: cfje/java-buildpack-dependency-builder + repository: mirror.gcr.io/cfje/java-buildpack-dependency-builder tag: latest - username: ((docker-username)) - password: ((docker-password)) inputs: - name: java-buildpack-dependency-builder diff --git a/wso2-microgateway.yml b/wso2-microgateway.yml index 29828d8..2ea674f 100644 --- a/wso2-microgateway.yml +++ b/wso2-microgateway.yml @@ -4,10 +4,8 @@ platform: linux image_resource: type: registry-image source: - repository: cfje/wso2-microgateway + repository: mirror.gcr.io/cfje/wso2-microgateway tag: latest - username: ((docker-username)) - password: ((docker-password)) inputs: - name: java-buildpack-dependency-builder diff --git a/your-kit.yml b/your-kit.yml index 172ef48..5d2012d 100644 --- a/your-kit.yml +++ b/your-kit.yml @@ -4,10 +4,8 @@ platform: linux image_resource: type: registry-image source: - repository: cfje/java-buildpack-dependency-builder + repository: mirror.gcr.io/cfje/java-buildpack-dependency-builder tag: latest - username: ((docker-username)) - password: ((docker-password)) inputs: - name: java-buildpack-dependency-builder