Merge pull request #28 from giolekva/bazel

Buildify/format bazel build files

#7
diff --git a/.bazelrc b/.bazelrc
index e505d5c..34d0b43 100644
--- a/.bazelrc
+++ b/.bazelrc
@@ -1 +1,2 @@
 build --platforms=@io_bazel_rules_go//go/toolchain:linux_amd64
+# build --sandbox_block_path=
diff --git a/BUILD b/BUILD
index 9027e44..9f3900a 100644
--- a/BUILD
+++ b/BUILD
@@ -1,3 +1,10 @@
+load("@com_github_bazelbuild_buildtools//buildifier:def.bzl", "buildifier")
 load("@bazel_gazelle//:def.bzl", "gazelle")
 
-gazelle(name = "gazelle")
+buildifier(
+    name = "buildifier",
+)
+
+gazelle(
+    name = "gazelle",
+)
diff --git a/WORKSPACE b/WORKSPACE
index 43164c1..3bbc45f 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -3,15 +3,18 @@
 ## Packaging
 
 load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
+
 http_archive(
     name = "rules_pkg",
+    sha256 = "6b5969a7acd7b60c02f816773b06fcf32fbe8ba0c7919ccdc2df4f8fb923804a",
     urls = [
         "https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/releases/download/0.3.0/rules_pkg-0.3.0.tar.gz",
         "https://github.com/bazelbuild/rules_pkg/releases/download/0.3.0/rules_pkg-0.3.0.tar.gz",
     ],
-    sha256 = "6b5969a7acd7b60c02f816773b06fcf32fbe8ba0c7919ccdc2df4f8fb923804a",
 )
+
 load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies")
+
 rules_pkg_dependencies()
 
 ## Golang
@@ -38,7 +41,9 @@
 load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies", "go_repository")
 
 go_rules_dependencies()
+
 go_register_toolchains(version = "1.15.5")
+
 gazelle_dependencies()
 
 ## Docker
@@ -64,23 +69,41 @@
 
 _go_image_repos()
 
+## Buildifier
+
+http_archive(
+    name = "com_google_protobuf",
+    strip_prefix = "protobuf-master",
+    urls = ["https://github.com/protocolbuffers/protobuf/archive/master.zip"],
+)
+
+load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps")
+
+protobuf_deps()
+
+http_archive(
+    name = "com_github_bazelbuild_buildtools",
+    strip_prefix = "buildtools-master",
+    url = "https://github.com/bazelbuild/buildtools/archive/master.zip",
+)
+
 ## Containier Base Images
 
 load("@io_bazel_rules_docker//container:container.bzl", "container_pull")
 
 container_pull(
     name = "alpine_base",
+    digest = "sha256:4e01ddea8def856ba9fee17668fa0b2e45a8bc78127b7ab6cf921f6d6fd86ac9",
     registry = "docker.io",
     repository = "alpine",
-    digest = "sha256:4e01ddea8def856ba9fee17668fa0b2e45a8bc78127b7ab6cf921f6d6fd86ac9",
 )
 
 ## External Dependencies
 
 go_repository(
     name = "com_github_itaysk_regogo",
-    importpath = "github.com/itaysk/regogo",
     commit = "e9433c1fe5a7c871ce62509fd6376ee114de677a",
+    importpath = "github.com/itaysk/regogo",
 )
 
 go_repository(
@@ -91,6 +114,6 @@
 
 go_repository(
     name = "com_github_golang_glog",
-    importpath = "github.com/golang/glog",
     commit = "23def4e6c14b4da8ac2ed8007337bc5eb5007998",
+    importpath = "github.com/golang/glog",
 )
diff --git a/apps/face_detection/BUILD b/apps/face_detection/BUILD
index d59b2e6..ebeb5b5 100644
--- a/apps/face_detection/BUILD
+++ b/apps/face_detection/BUILD
@@ -4,19 +4,19 @@
 # TODO(lekva): figure out how to build py_binary with pip dependencies and
 # migrate off docker_image rule
 docker_image(
-	name = "push_to_dev",
-	registry = "localhost:30500",
-	image = "giolekva/face-detector",
-	tag = "latest",
-	dockerfile = "Dockerfile",
-	srcs = glob(["*.py"]) + [
-	     "haarcascade_frontalface_default.xml",
-	],
+    name = "push_to_dev",
+    srcs = glob(["*.py"]) + [
+        "haarcascade_frontalface_default.xml",
+    ],
+    dockerfile = "Dockerfile",
+    image = "giolekva/face-detector",
+    registry = "localhost:30500",
+    tag = "latest",
 )
 
 pkg_tar(
-	name = "chart",
-	srcs = glob(["chart/**"]),
-	extension = "tar.gz",
-	strip_prefix = "./chart",
+    name = "chart",
+    srcs = glob(["chart/**"]),
+    extension = "tar.gz",
+    strip_prefix = "./chart",
 )
diff --git a/apps/minio/BUILD b/apps/minio/BUILD
index 1fc1992..ad6af19 100644
--- a/apps/minio/BUILD
+++ b/apps/minio/BUILD
@@ -1,8 +1,8 @@
 load("@rules_pkg//:pkg.bzl", "pkg_tar")
 
 pkg_tar(
-	name = "chart",
-	srcs = glob(["chart/**"]),
-	extension = "tar.gz",
-	strip_prefix = "./chart",
+    name = "chart",
+    srcs = glob(["chart/**"]),
+    extension = "tar.gz",
+    strip_prefix = "./chart",
 )
diff --git a/apps/minio/importer/BUILD b/apps/minio/importer/BUILD
index b931f11..09d5da2 100644
--- a/apps/minio/importer/BUILD
+++ b/apps/minio/importer/BUILD
@@ -1,44 +1,44 @@
 load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
-load("@io_bazel_rules_docker//container:container.bzl", "container_push", "container_image")
+load("@io_bazel_rules_docker//container:container.bzl", "container_image", "container_push")
 load("@rules_pkg//:pkg.bzl", "pkg_tar")
 
 go_library(
-	name = "lib",
-	srcs = ["importer.go"],
-	importpath = "github.com/giolekva/pcloud/apps/minio/importer",
-	deps = [
-	     "@com_github_itaysk_regogo//:go_default_library",
-	     "@com_github_golang_glog//:go_default_library",
-	],
+    name = "lib",
+    srcs = ["importer.go"],
+    importpath = "github.com/giolekva/pcloud/apps/minio/importer",
+    deps = [
+        "@com_github_golang_glog//:go_default_library",
+        "@com_github_itaysk_regogo//:go_default_library",
+    ],
 )
 
 go_binary(
-	name = "importer",
-	srcs = ["main.go"],
-	deps = [
-	     ":lib",
-	],
+    name = "importer",
+    srcs = ["main.go"],
+    deps = [
+        ":lib",
+    ],
 )
 
 container_image(
     name = "container",
     base = "@alpine_base//image",
-    files = [":importer"],
     cmd = ["importer"],
+    files = [":importer"],
 )
 
 container_push(
-   name = "push_to_dev",
-   image = ":container",
-   format = "Docker",
-   registry = "localhost:30500",
-   repository = "giolekva/minio-importer",
-   tag = "latest",
+    name = "push_to_dev",
+    format = "Docker",
+    image = ":container",
+    registry = "localhost:30500",
+    repository = "giolekva/minio-importer",
+    tag = "latest",
 )
 
 pkg_tar(
-	name = "chart",
-	srcs = glob(["chart/**"]),
-	extension = "tar.gz",
-	strip_prefix = "./chart",
+    name = "chart",
+    srcs = glob(["chart/**"]),
+    extension = "tar.gz",
+    strip_prefix = "./chart",
 )
diff --git a/apps/photos-ui/BUILD b/apps/photos-ui/BUILD
index fa822db..1601870 100644
--- a/apps/photos-ui/BUILD
+++ b/apps/photos-ui/BUILD
@@ -1,55 +1,55 @@
 load("@io_bazel_rules_go//go:def.bzl", "go_binary")
-load("@io_bazel_rules_docker//container:container.bzl", "container_push", "container_image")
+load("@io_bazel_rules_docker//container:container.bzl", "container_image", "container_push")
 load("@rules_pkg//:pkg.bzl", "pkg_tar")
 
 filegroup(
     name = "data",
     srcs = glob([
-	     "static/**",
-	     "*.html",
-	]),
+        "static/**",
+        "*.html",
+    ]),
 )
 
 go_binary(
-	name = "photos_ui",
-	srcs = ["main.go"],
-	data = [":data"],
-	deps = [
-	     "@io_bazel_rules_go//go/tools/bazel:bazel",
-	],
+    name = "photos_ui",
+    srcs = ["main.go"],
+    data = [":data"],
+    deps = [
+        "@io_bazel_rules_go//go/tools/bazel",
+    ],
 )
 
 container_image(
     name = "container",
     base = "@alpine_base//image",
-    files = [
-    	  ":photos_ui",
-	  ":data",
-	  "photos_ui.runfiles_manifest",
-    ],
-    data_path = "/",
     cmd = ["/photos_ui"],
+    data_path = "/",
     env = {
-    	"RUNFILES_DIR": "/",
-    	"RUNFILES_MANIFEST_FILE": "/photos_ui.runfiles_manifest",
+        "RUNFILES_DIR": "/",
+        "RUNFILES_MANIFEST_FILE": "/photos_ui.runfiles_manifest",
     },
+    files = [
+        "photos_ui.runfiles_manifest",
+        ":data",
+        ":photos_ui",
+    ],
     symlinks = {
-    	     "/photos_ui": "/apps/photos-ui/photos_ui_/photos_ui",
+        "/photos_ui": "/apps/photos-ui/photos_ui_/photos_ui",
     },
 )
 
 container_push(
-   name = "push_to_dev",
-   image = ":container",
-   format = "Docker",
-   registry = "localhost:30500",
-   repository = "giolekva/photos-ui",
-   tag = "latest",
+    name = "push_to_dev",
+    format = "Docker",
+    image = ":container",
+    registry = "localhost:30500",
+    repository = "giolekva/photos-ui",
+    tag = "latest",
 )
 
 pkg_tar(
-	name = "chart",
-	srcs = glob(["chart/**"]),
-	extension = "tar.gz",
-	strip_prefix = "./chart",
+    name = "chart",
+    srcs = glob(["chart/**"]),
+    extension = "tar.gz",
+    strip_prefix = "./chart",
 )
diff --git a/apps/rpuppy/BUILD b/apps/rpuppy/BUILD
index 4d92193..2e29fc8 100644
--- a/apps/rpuppy/BUILD
+++ b/apps/rpuppy/BUILD
@@ -1,35 +1,35 @@
 load("@io_bazel_rules_go//go:def.bzl", "go_binary")
-load("@io_bazel_rules_docker//container:container.bzl", "container_push", "container_image")
+load("@io_bazel_rules_docker//container:container.bzl", "container_image", "container_push")
 load("@rules_pkg//:pkg.bzl", "pkg_tar")
 
 go_binary(
-	name = "rpuppy",
-	srcs = ["main.go"],
-	deps = [
-	     "@com_github_itaysk_regogo//:go_default_library",
-	],
+    name = "rpuppy",
+    srcs = ["main.go"],
+    deps = [
+        "@com_github_itaysk_regogo//:go_default_library",
+    ],
 )
 
 container_image(
     name = "container",
     # References container_pull from WORKSPACE (above)
     base = "@alpine_base//image",
-    files = [":rpuppy"],
     cmd = ["rpuppy"],
+    files = [":rpuppy"],
 )
 
 container_push(
-   name = "push_to_dev",
-   image = ":container",
-   format = "Docker",
-   registry = "localhost:30500",
-   repository = "giolekva/rpuppy",
-   tag = "latest",
+    name = "push_to_dev",
+    format = "Docker",
+    image = ":container",
+    registry = "localhost:30500",
+    repository = "giolekva/rpuppy",
+    tag = "latest",
 )
 
 pkg_tar(
-	name = "chart",
-	srcs = glob(["chart/**"]),
-	extension = "tar.gz",
-	strip_prefix = "./chart",
+    name = "chart",
+    srcs = glob(["chart/**"]),
+    extension = "tar.gz",
+    strip_prefix = "./chart",
 )
diff --git a/bazel_tools/docker.bzl b/bazel_tools/docker.bzl
index 1149497..b45c72c 100644
--- a/bazel_tools/docker.bzl
+++ b/bazel_tools/docker.bzl
@@ -32,24 +32,25 @@
 docker push \$$IMAGE
 """
 
-
 def docker_image(name, registry, image, tag, dockerfile, srcs, **kwargs):
     native.genrule(
-	name = "%s.sh" % name,
-	executable = False,
-	outs = ["build_and_push.sh",],
-	cmd = """cat > $@ <<EOM
+        name = "%s.sh" % name,
+        executable = False,
+        outs = ["build_and_push.sh"],
+        cmd = """cat > $@ <<EOM
 %s
 EOM
 """ % __PUSH_TO_DEV_TMPL.format(
-	    registry = registry,
-	    image = image,
-	    tag = tag,
-	    dockerfile = dockerfile,
-	    package = native.package_name(),
-	))
+            registry = registry,
+            image = image,
+            tag = tag,
+            dockerfile = dockerfile,
+            package = native.package_name(),
+        ),
+    )
     native.sh_binary(
-	name = name,
-	srcs = ["build_and_push.sh",],
-	data = srcs + [dockerfile,],
-	deps = ["@bazel_tools//tools/bash/runfiles",])
+        name = name,
+        srcs = ["build_and_push.sh"],
+        data = srcs + [dockerfile],
+        deps = ["@bazel_tools//tools/bash/runfiles"],
+    )
diff --git a/bazel_tools/helm.bzl b/bazel_tools/helm.bzl
index 6accf8b..8635257 100644
--- a/bazel_tools/helm.bzl
+++ b/bazel_tools/helm.bzl
@@ -35,43 +35,46 @@
     for arg, value in args.items():
         args_str += "--set %s=%s " % (arg, value)
     native.genrule(
-	name = "%s.sh" % name,
-	executable = False,
-	srcs = [chart,],
-	outs = ["helm_install.sh",],
-	cmd = """cat > $@ <<EOM
+        name = "%s.sh" % name,
+        executable = False,
+        srcs = [chart],
+        outs = ["helm_install.sh"],
+        cmd = """cat > $@ <<EOM
 %s
 EOM
 """ % __HELM_INSTALL_TMPL.format(
-		namespace = namespace,
-		release_name = release_name,
-		package = native.package_name(),
-		chart = "%s.tar.gz" % chart.split(":")[1],
-		args = args_str,
-    ))
+            namespace = namespace,
+            release_name = release_name,
+            package = native.package_name(),
+            chart = "%s.tar.gz" % chart.split(":")[1],
+            args = args_str,
+        ),
+    )
     native.sh_binary(
-	name = name,
-	srcs = ["helm_install.sh",],
-	data = [
-	     chart,
-	],
-	deps = [
-	     "@bazel_tools//tools/bash/runfiles",
-    ])
+        name = name,
+        srcs = ["helm_install.sh"],
+        data = [
+            chart,
+        ],
+        deps = [
+            "@bazel_tools//tools/bash/runfiles",
+        ],
+    )
 
 def helm_uninstall(name, namespace, release_name):
     native.genrule(
-	name = "%s.sh" % name,
-	executable = False,
-	outs = ["helm_uninstall.sh",],
-	cmd = """cat > $@ <<EOM
+        name = "%s.sh" % name,
+        executable = False,
+        outs = ["helm_uninstall.sh"],
+        cmd = """cat > $@ <<EOM
 %s
 EOM
 """ % __HELM_UNINSTALL_TMPL.format(
-		namespace = namespace,
-		release_name = release_name,
-    ))
+            namespace = namespace,
+            release_name = release_name,
+        ),
+    )
     native.sh_binary(
-	name = name,
-	srcs = ["helm_uninstall.sh",]
+        name = name,
+        srcs = ["helm_uninstall.sh"],
     )
diff --git a/core/api/BUILD b/core/api/BUILD
index 8ea877a..ff865ca 100644
--- a/core/api/BUILD
+++ b/core/api/BUILD
@@ -5,34 +5,37 @@
 # TODO(lekva): figure out how to build py_binary with pip dependencies and
 # migrate off docker_image rule
 docker_image(
-	name = "push_to_dev",
-	registry = "localhost:30500",
-	image = "giolekva/pcloud-api-server",
-	tag = "latest",
-	dockerfile = "Dockerfile",
-	srcs = glob(["**"], exclude=["Dockerfile"]),
+    name = "push_to_dev",
+    srcs = glob(
+        ["**"],
+        exclude = ["Dockerfile"],
+    ),
+    dockerfile = "Dockerfile",
+    image = "giolekva/pcloud-api-server",
+    registry = "localhost:30500",
+    tag = "latest",
 )
 
 pkg_tar(
-	name = "chart",
-	srcs = glob(["chart/**"]),
-	extension = "tar.gz",
-	strip_prefix = "./chart",
+    name = "chart",
+    srcs = glob(["chart/**"]),
+    extension = "tar.gz",
+    strip_prefix = "./chart",
 )
 
 helm_install(
-	name = "install",
-	namespace = "pcloud",
-	release_name = "init",
-	chart = ":chart",
-	args = {
-	     "image.name": "localhost:30500/giolekva/pcloud-api-server",
-     	     "image.pullPolicy": "Always",
-	},
+    name = "install",
+    args = {
+        "image.name": "localhost:30500/giolekva/pcloud-api-server",
+        "image.pullPolicy": "Always",
+    },
+    chart = ":chart",
+    namespace = "pcloud",
+    release_name = "init",
 )
 
 helm_uninstall(
-	name = "uninstall",
-	namespace = "pcloud",
-	release_name = "init",
+    name = "uninstall",
+    namespace = "pcloud",
+    release_name = "init",
 )
diff --git a/core/appmanager/BUILD b/core/appmanager/BUILD
index 3ba5e53..1cc903a 100644
--- a/core/appmanager/BUILD
+++ b/core/appmanager/BUILD
@@ -5,34 +5,37 @@
 # TODO(lekva): figure out how to build py_binary with pip dependencies and
 # migrate off docker_image rule
 docker_image(
-	name = "push_to_dev",
-	registry = "localhost:30500",
-	image = "giolekva/pcloud-app-manager",
-	tag = "latest",
-	dockerfile = "Dockerfile",
-	srcs = glob(["**"], exclude=["Dockerfile"]),
+    name = "push_to_dev",
+    srcs = glob(
+        ["**"],
+        exclude = ["Dockerfile"],
+    ),
+    dockerfile = "Dockerfile",
+    image = "giolekva/pcloud-app-manager",
+    registry = "localhost:30500",
+    tag = "latest",
 )
 
 pkg_tar(
-	name = "chart",
-	srcs = glob(["chart/**"]),
-	extension = "tar.gz",
-	strip_prefix = "./chart",
+    name = "chart",
+    srcs = glob(["chart/**"]),
+    extension = "tar.gz",
+    strip_prefix = "./chart",
 )
 
 helm_install(
-	name = "install",
-	namespace = "pcloud-app-manager",
-	release_name = "init",
-	chart = ":chart",
-	args = {
-	     "image.name": "localhost:30500/giolekva/pcloud-app-manager",
-     	     "image.pullPolicy": "Always",
-	},
+    name = "install",
+    args = {
+        "image.name": "localhost:30500/giolekva/pcloud-app-manager",
+        "image.pullPolicy": "Always",
+    },
+    chart = ":chart",
+    namespace = "pcloud-app-manager",
+    release_name = "init",
 )
 
 helm_uninstall(
-	name = "uninstall",
-	namespace = "pcloud-app-manager",
-	release_name = "init",
+    name = "uninstall",
+    namespace = "pcloud-app-manager",
+    release_name = "init",
 )
diff --git a/core/events/BUILD b/core/events/BUILD
index aaf0d51..78a9aee 100644
--- a/core/events/BUILD
+++ b/core/events/BUILD
@@ -5,34 +5,37 @@
 # TODO(lekva): figure out how to build py_binary with pip dependencies and
 # migrate off docker_image rule
 docker_image(
-	name = "push_to_dev",
-	registry = "localhost:30500",
-	image = "giolekva/pcloud-event-processor",
-	tag = "latest",
-	dockerfile = "Dockerfile",
-	srcs = glob(["**"], exclude=["Dockerfile"]),
+    name = "push_to_dev",
+    srcs = glob(
+        ["**"],
+        exclude = ["Dockerfile"],
+    ),
+    dockerfile = "Dockerfile",
+    image = "giolekva/pcloud-event-processor",
+    registry = "localhost:30500",
+    tag = "latest",
 )
 
 pkg_tar(
-	name = "chart",
-	srcs = glob(["chart/**"]),
-	extension = "tar.gz",
-	strip_prefix = "./chart",
+    name = "chart",
+    srcs = glob(["chart/**"]),
+    extension = "tar.gz",
+    strip_prefix = "./chart",
 )
 
 helm_install(
-	name = "install",
-	namespace = "pcloud-event-processor",
-	release_name = "init",
-	chart = ":chart",
-	args = {
-	     "image.name": "localhost:30500/giolekva/pcloud-event-processor",
-     	     "image.pullPolicy": "Always",
-	},
+    name = "install",
+    args = {
+        "image.name": "localhost:30500/giolekva/pcloud-event-processor",
+        "image.pullPolicy": "Always",
+    },
+    chart = ":chart",
+    namespace = "pcloud-event-processor",
+    release_name = "init",
 )
 
 helm_uninstall(
-	name = "uninstall",
-	namespace = "pcloud-event-processor",
-	release_name = "init",
+    name = "uninstall",
+    namespace = "pcloud-event-processor",
+    release_name = "init",
 )
diff --git a/docs/dev.md b/docs/dev.md
index c34b788..b858ebe 100644
--- a/docs/dev.md
+++ b/docs/dev.md
@@ -13,21 +13,29 @@
 
 ## Installing PCloud
 PCloud installation is two step process:
+```shell
 > ./dev/create_dev_cluster.sh  # creates local Kubernetes cluster
 > ./dev/install_core_services.sh  # installs PCloud core services
+```
 
 ## Installing applications
 Under apps/ directory one can find number of sample application for PCloud. Installing any of those requires building container image, creating Helm Chart tarball and uploading it to Application Manager.
 Let's see what that looks like for rpuppy application:
+```shell
 > bazel run //apps/rpuppy:push_to_dev  # builds and pushes container image to localhost:30500 container registry, which is running inside PCloud cluster
 > bazel build //apps/rpuppy:chart  # creates Helm Chart tartball which can be found at bazel-bin/apps/rpuppy/chart.tar.gz
+```
 
 ## Redeploying core services
 To redeploy one of the core services after making changes in it you have to rebuild container images and restart the running service. Let's see what that looks like for API Service:
+```shell
 > bazel run //core/api:push_to_dev  # builds and pushes container image to localhost:30500 container registry, which is running inside PCloud cluster
 > kubectl -n pcloud rollout restart deployment/api
+```
 
 Reflecting changes in the chart configuration requires reinstallation of the chart itself:
+```shell
 > bazel build //core/api:chart  # creates chart tarball
 > bazel run //core/api:uninstall  # uninstalls old Helm Chart from the cluster
 > bazel run //core/api:install  # installs new Helm Chart to the cluster
+```