Skip to content

Commit

Permalink
WIP Hack to use the bucket proxy
Browse files Browse the repository at this point in the history
  • Loading branch information
pothos committed Nov 22, 2021
1 parent 4359ce0 commit e234bb2
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 4 deletions.
3 changes: 3 additions & 0 deletions cmd/plume/containerlinux.go
Original file line number Diff line number Diff line change
Expand Up @@ -309,6 +309,9 @@ func (cs channelSpec) SourceURL() string {
if specPrivateBucket {
baseURL = cs.BasePrivateURL
}
if gceJSONKeyFile == "none" {
baseURL = strings.Replace(baseURL, "gs://", "https://bucket.release.flatcar-linux.net/", 1)
}

u, err := url.Parse(baseURL)
if err != nil {
Expand Down
2 changes: 1 addition & 1 deletion cmd/plume/prerelease.go
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ func runCLPreRelease(cmd *cobra.Command) error {
plog.Fatal(err)
}

if err := src.Fetch(ctx); err != nil {
if err := src.Fetch(ctx); err != nil && !strings.HasPrefix(spec.SourceURL(), "http") {
plog.Fatal(err)
}

Expand Down
11 changes: 8 additions & 3 deletions storage/bucket.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,14 +30,15 @@ import (
)

var (
UnknownScheme = errors.New("storage: URL missing gs:// scheme")
UnknownScheme = errors.New("storage: URL missing gs:// or http(s):// scheme")
UnknownBucket = errors.New("storage: URL missing bucket name")
)

type Bucket struct {
service *storage.Service
name string
prefix string
scheme string

mu sync.RWMutex
prefixes map[string]struct{}
Expand All @@ -59,7 +60,7 @@ func NewBucket(client *http.Client, bucketURL string) (*Bucket, error) {
if err != nil {
return nil, err
}
if parsedURL.Scheme != "gs" {
if parsedURL.Scheme != "gs" && parsedURL.Scheme != "http" && parsedURL.Scheme != "https" {
return nil, UnknownScheme
}
if parsedURL.Host == "" {
Expand All @@ -70,6 +71,7 @@ func NewBucket(client *http.Client, bucketURL string) (*Bucket, error) {
service: service,
name: parsedURL.Host,
prefix: FixPrefix(parsedURL.Path),
scheme: parsedURL.Scheme,
prefixes: make(map[string]struct{}),
objects: make(map[string]*storage.Object),
}, nil
Expand All @@ -84,7 +86,7 @@ func (b *Bucket) Prefix() string {
}

func (b *Bucket) URL() *url.URL {
return &url.URL{Scheme: "gs", Host: b.name, Path: b.prefix}
return &url.URL{Scheme: b.scheme, Host: b.name, Path: b.prefix}
}

func (b *Bucket) WriteAlways(always bool) {
Expand All @@ -96,6 +98,9 @@ func (b *Bucket) WriteDryRun(dryrun bool) {
}

func (b *Bucket) Object(objName string) *storage.Object {
if b.scheme == "http" || b.scheme == "https" {
return &storage.Object{}
}
b.mu.RLock()
defer b.mu.RUnlock()
return b.objects[objName]
Expand Down

0 comments on commit e234bb2

Please sign in to comment.