mirror of
https://github.com/grafana/grafana.git
synced 2024-11-25 18:30:41 -06:00
427db55204
fix goimports order
77 lines
1.7 KiB
Go
77 lines
1.7 KiB
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"log"
|
|
"os"
|
|
"path/filepath"
|
|
|
|
"github.com/urfave/cli/v2"
|
|
|
|
"github.com/grafana/grafana/pkg/build/config"
|
|
"github.com/grafana/grafana/pkg/build/gcloud/storage"
|
|
)
|
|
|
|
// UploadCDN implements the sub-command "upload-cdn".
|
|
func UploadCDN(c *cli.Context) error {
|
|
if c.NArg() > 0 {
|
|
if err := cli.ShowSubcommandHelp(c); err != nil {
|
|
return cli.Exit(err.Error(), 1)
|
|
}
|
|
return cli.Exit("", 1)
|
|
}
|
|
|
|
metadata, err := config.GenerateMetadata(c)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
version := metadata.GrafanaVersion
|
|
if err != nil {
|
|
return cli.Exit(err.Error(), 1)
|
|
}
|
|
|
|
buildConfig, err := config.GetBuildConfig(metadata.ReleaseMode.Mode)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
edition := os.Getenv("EDITION")
|
|
log.Printf("Uploading Grafana CDN Assets, version %s, %s edition...", version, edition)
|
|
|
|
editionPath := ""
|
|
|
|
switch config.Edition(edition) {
|
|
case config.EditionOSS:
|
|
editionPath = "grafana-oss"
|
|
case config.EditionEnterprise:
|
|
editionPath = "grafana"
|
|
case config.EditionEnterprise2:
|
|
editionPath = os.Getenv("ENTERPRISE2_CDN_PATH")
|
|
default:
|
|
panic(fmt.Sprintf("unrecognized edition %q", edition))
|
|
}
|
|
|
|
gcs, err := storage.New()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
bucket := gcs.Bucket(buildConfig.Buckets.CDNAssets)
|
|
srcPath := buildConfig.Buckets.CDNAssetsDir
|
|
srcPath = filepath.Join(srcPath, editionPath, version)
|
|
|
|
if err := gcs.DeleteDir(c.Context, bucket, srcPath); err != nil {
|
|
return err
|
|
}
|
|
log.Printf("Successfully cleaned source: %s/%s\n", buildConfig.Buckets.CDNAssets, srcPath)
|
|
|
|
if err := gcs.CopyLocalDir(c.Context, "./public", bucket, srcPath, false); err != nil {
|
|
return err
|
|
}
|
|
|
|
log.Printf("Successfully uploaded cdn static assets to: %s/%s!\n", buildConfig.Buckets.CDNAssets, srcPath)
|
|
|
|
return nil
|
|
}
|