Skip to content

Commit 9586dd5

Browse files
committed
rook: add basic build of binaries and container
In order to manage our disk cluster, we need a build of rook. Our software supply chain standards mean that we have to build it ourselves. We also need to pull in numerous Rook dependencies, update the version of at least one dependency, build tini, and package up Rook in a usable OCI.
1 parent 4f08bbe commit 9586dd5

File tree

9 files changed

+217
-130
lines changed

9 files changed

+217
-130
lines changed

platform/WORKSPACE

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,10 @@ load("//oci-tools:deps.bzl", "oci_tools_dependencies")
105105

106106
oci_tools_dependencies()
107107

108+
load("//rook:deps.bzl", "rook_dependencies")
109+
110+
rook_dependencies()
111+
108112
load("//runc:deps.bzl", "runc_dependencies")
109113

110114
runc_dependencies()

platform/etcd/deps.bzl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
load("@bazel_gazelle//:deps.bzl", "go_repository")
22

33
def etcd_dependencies():
4+
# WARNING: etcd is pulled in twice! once here, and once as a dependency for Rook!
5+
# These are not necessarily the same version, and the other one doesn't use vendored deps!
46
go_repository(
57
name = "etcd",
68
commit = "d57e8b8d97adfc4a6c224fe116714bf1a1f3beb9", # 3.3.12

platform/go/helper.bzl

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
def importpath_to_repo_name(importpath):
2+
"""
3+
Takes in a path like "github.com/coreos/go-systemd" and produces a
4+
repository name like "com_github_coreos_go_systemd".
5+
"""
6+
parts = importpath.lower().replace("-", "_").split("/")
7+
hostname_parts = parts[0].split(".")
8+
return "_".join(hostname_parts[::-1] + parts[1:]).replace(".", "_")

platform/kubernetes/deps.bzl

Lines changed: 0 additions & 130 deletions
Original file line numberDiff line numberDiff line change
@@ -4,52 +4,6 @@ load("@bazel_gazelle//:deps.bzl", "go_repository")
44

55
# kubernetes client application (like flannel-monitor) dependencies
66
def kubernetes_client_dependencies():
7-
go_repository(
8-
name = "io_k8s_apimachinery",
9-
commit = "6a84e37a896db9780c75367af8d2ed2bb944022e", # 1.14.1
10-
importpath = "k8s.io/apimachinery",
11-
build_file_proto_mode = "disable_global",
12-
)
13-
14-
go_repository(
15-
name = "io_k8s_client_go",
16-
commit = "1a26190bd76a9017e289958b9fba936430aa3704", # 1.14.1
17-
importpath = "k8s.io/client-go",
18-
build_file_proto_mode = "disable_global",
19-
)
20-
21-
go_repository(
22-
name = "io_k8s_api",
23-
commit = "6e4e0e4f393bf5e8bbff570acd13217aa5a770cd", # 1.14.1
24-
importpath = "k8s.io/api",
25-
build_file_proto_mode = "disable_global",
26-
)
27-
28-
go_repository(
29-
name = "com_github_imdario_mergo",
30-
commit = "9316a62528ac99aaecb4e47eadd6dc8aa6533d58",
31-
importpath = "github.com/imdario/mergo",
32-
)
33-
34-
go_repository(
35-
name = "com_github_google_gofuzz",
36-
commit = "24818f796faf91cd76ec7bddd72458fbced7a6c1",
37-
importpath = "github.com/google/gofuzz",
38-
)
39-
40-
go_repository(
41-
name = "io_k8s_kube_openapi",
42-
commit = "b3a7cee44a305be0a69e1b9ac03018307287e1b0",
43-
importpath = "k8s.io/kube-openapi",
44-
)
45-
46-
go_repository(
47-
name = "com_github_googleapis_gnostic",
48-
commit = "0c5108395e2debce0d731cf0287ddf7242066aba",
49-
importpath = "github.com/googleapis/gnostic",
50-
build_file_proto_mode = "disable_global",
51-
)
52-
537
go_repository(
548
name = "com_github_gregjones_httpcache",
559
commit = "787624de3eb7bd915c329cba748687a3b22666a6",
@@ -62,90 +16,6 @@ def kubernetes_client_dependencies():
6216
importpath = "github.com/peterbourgon/diskv",
6317
)
6418

65-
go_repository(
66-
name = "com_github_json_iterator_go",
67-
commit = "ab8a2e0c74be9d3be70b3184d9acc634935ded82",
68-
importpath = "github.com/json-iterator/go",
69-
)
70-
71-
go_repository(
72-
name = "com_github_google_btree",
73-
commit = "7d79101e329e5a3adf994758c578dab82b90c017",
74-
importpath = "github.com/google/btree",
75-
)
76-
77-
go_repository(
78-
name = "in_gopkg_inf_v0",
79-
commit = "3887ee99ecf07df5b447e9b00d9c0b2adaa9f3e4",
80-
importpath = "gopkg.in/inf.v0",
81-
)
82-
83-
go_repository(
84-
name = "com_github_spf13_pflag",
85-
commit = "583c0c0531f06d5278b7d917446061adc344b5cd",
86-
importpath = "github.com/spf13/pflag",
87-
)
88-
89-
go_repository(
90-
name = "org_golang_x_time",
91-
commit = "f51c12702a4d776e4c1fa9b0fabab841babae631",
92-
importpath = "golang.org/x/time",
93-
)
94-
95-
go_repository(
96-
name = "com_github_modern_go_reflect2",
97-
commit = "94122c33edd36123c84d5368cfb2b69df93a0ec8",
98-
importpath = "github.com/modern-go/reflect2",
99-
)
100-
101-
go_repository(
102-
name = "com_github_modern_go_concurrent",
103-
commit = "bacd9c7ef1dd9b15be4a9909b8ac7a4e313eec94",
104-
importpath = "github.com/modern-go/concurrent",
105-
)
106-
107-
go_repository(
108-
name = "org_golang_x_net",
109-
commit = "da137c7871d730100384dbcf36e6f8fa493aef5b",
110-
importpath = "golang.org/x/net",
111-
)
112-
113-
go_repository(
114-
name = "org_golang_x_oauth2",
115-
commit = "a6bd8cefa1811bd24b86f8902872e4e8225f74c4",
116-
importpath = "golang.org/x/oauth2",
117-
)
118-
119-
go_repository(
120-
name = "org_golang_x_text",
121-
commit = "f21a4dfb5e38f5895301dc265a8def02365cc3d0", # 0.3.0
122-
importpath = "golang.org/x/text",
123-
)
124-
125-
go_repository(
126-
name = "io_k8s_klog",
127-
commit = "8e90cee79f823779174776412c13478955131846",
128-
importpath = "k8s.io/klog",
129-
)
130-
131-
go_repository(
132-
name = "io_k8s_sigs_yaml",
133-
commit = "fd68e9863619f6ec2fdd8625fe1f02e7c877e480",
134-
importpath = "sigs.k8s.io/yaml",
135-
)
136-
137-
go_repository(
138-
name = "io_k8s_utils",
139-
commit = "c2654d5206da6b7b6ace12841e8f359bb89b443c",
140-
importpath = "k8s.io/utils",
141-
)
142-
143-
go_repository(
144-
name = "com_github_davecgh_go_spew",
145-
commit = "782f4967f2dc4564575ca782fe2d04090b5faca8",
146-
importpath = "github.com/davecgh/go-spew",
147-
)
148-
14919
def kubernetes_dependencies():
15020
git_repository(
15121
name = "io_k8s_repo_infra",

platform/rook/BUILD.bazel

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
load("//bazel:package.bzl", "homeworld_oci")
2+
3+
homeworld_oci(
4+
name = "oci",
5+
bin = {
6+
"//rook/tini": "/tini",
7+
"@com_github_rook_rook//cmd/rook": "/usr/local/bin/rook",
8+
"@com_github_rook_rook//cmd/rookflex": "/usr/local/bin/rookflex",
9+
"@com_github_rook_rook//images/ceph:toolbox.sh": "/usr/local/bin/toolbox.sh",
10+
},
11+
data = {
12+
"@com_github_rook_rook//cluster/examples/kubernetes/ceph:csi/template": "/etc/ceph-csi",
13+
"@com_github_rook_rook//cluster/examples/kubernetes/ceph:monitoring": "/etc/ceph-monitoring",
14+
# note: /etc/ceph-csv-templates (which is included in upstream) is not included in this OCI.
15+
# this is because building it could be complicated, and it's not necessary if we aren't using
16+
# the Operator Lifecycle Manager.
17+
},
18+
exec = [
19+
"/tini",
20+
"--",
21+
"/usr/local/bin/rook",
22+
],
23+
oci_dep = "//ceph:oci",
24+
visibility = ["//visibility:public"],
25+
)

platform/rook/deps.bzl

Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,149 @@
1+
load("@bazel_gazelle//:deps.bzl", "go_repository")
2+
load("//go:helper.bzl", "importpath_to_repo_name")
3+
load("//rook/tini:deps.bzl", "tini_dependencies")
4+
5+
# WARNING: etcd is pulled in twice! once to build the etcd binaries, and once here!
6+
# These are not necessarily the same version, and the other one uses vendored dependencies!
7+
# The same applies to kubernetes!
8+
9+
# these versions are extracted from the Rook go.sum file
10+
ROOK_DEPS = """
11+
github.com/aws/aws-sdk-go v1.16.26 h1:GWkl3rkRO/JGRTWoLLIqwf7AWC4/W/1hMOUZqmX0js4=
12+
github.com/banzaicloud/k8s-objectmatcher v1.1.0 h1:KHWn9Oxh21xsaGKBHWElkaRrr4ypCDyrh15OB1zHtAw=
13+
github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ=
14+
github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e h1:Wf6HqHfScWJN9/ZjdUKyjop4mf3Qdd+1TvvltAvM3m8=
15+
github.com/coreos/pkg v0.0.0-20180108230652-97fdf19511ea h1:n2Ltr3SrfQlf/9nOna1DoGKxLx3qTSI8Ttl6Xrqp6mw=
16+
github.com/coreos/prometheus-operator v0.34.0 h1:TF9qaydNeUamLKs0hniaapa4FBz8U8TIlRRtJX987A4=
17+
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
18+
github.com/emicklei/go-restful v2.10.0+incompatible h1:l6Soi8WCOOVAeCo4W98iBFC6Og7/X8bpRt51oNLZ2C8=
19+
github.com/evanphx/json-patch v4.5.0+incompatible h1:ouOWdg56aJriqS0huScTkVXPC5IcNrDCXZ6OoTAWu7M=
20+
github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
21+
github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk=
22+
github.com/go-ini/ini v1.51.1 h1:/QG3cj23k5V8mOl4JnNzUNhc1kr/jzMiNsNuWKcx8gM=
23+
github.com/golang/groupcache v0.0.0-20191027212112-611e8accdfc9 h1:uHTyIjqVhYRhLbJ8nIiOJHkEZZ+5YoOsAbD3sk82NiE=
24+
github.com/go-logr/logr v0.1.0 h1:M1Tv3VzNlEHg6uyACnRdtrploV2P7wZqH8BoQMtz0cg=
25+
github.com/googleapis/gnostic v0.3.1 h1:WeAefnSUHlBb0iJKwxFDZdbfGwkd7xRNuV+IpXMJhYk=
26+
github.com/google/btree v1.0.0 h1:0udJVsspx3VBr5FwtLhQQtuAsVc79tTq0ocGIPAU6qo=
27+
github.com/google/go-cmp v0.3.1 h1:Xye71clBPdm5HgqGwUkwhbynsUJZhDbS20FvLhQ2izg=
28+
github.com/google/gofuzz v1.0.0 h1:A8PeW59pxE9IoFRqBp37U+mSNaQoZ46F1f0f863XSXw=
29+
github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY=
30+
github.com/go-openapi/jsonpointer v0.19.3 h1:gihV7YNZK1iK6Tgwwsxo2rJbD1GTbdm72325Bq8FI3w=
31+
github.com/go-openapi/jsonreference v0.19.3 h1:5cxNfTy0UVC3X8JL5ymxzyoUZmo8iZb+jeTWn7tUa8o=
32+
github.com/go-openapi/spec v0.19.3 h1:0XRyw8kguri6Yw4SxhsQA/atC88yqrk0+G4YhI2wabc=
33+
github.com/go-openapi/swag v0.19.5 h1:lTz6Ys4CmqqCQmZPBlbQENR1/GucA2bzYTE12Pw4tFY=
34+
github.com/goph/emperror v0.17.2 h1:yLapQcmEsO0ipe9p5TaN22djm3OFV/TfM/fcYP0/J18=
35+
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho=
36+
github.com/hashicorp/golang-lru v0.5.3 h1:YPkqC67at8FYaadspW/6uE0COsBxS2656RLEr8Bppgk=
37+
github.com/hashicorp/go-version v1.2.0 h1:3vNe/fWF5CBgRIguda1meWhsZHy3m8gCJ5wx+dIzX/E=
38+
github.com/imdario/mergo v0.3.7 h1:Y+UAYTZ7gDEuOfhxKWy+dvb5dRQ6rJjFSdX2HZY1/gI=
39+
github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af h1:pmfjZENx5imkbgOkpRUYLnmbU7UEFbjtDA2hxJ1ichM=
40+
github.com/json-iterator/go v1.1.8 h1:QiWkFLKq0T7mpzwOTu6BzNDbfTE8OLrYhVKYMLF46Ok=
41+
github.com/k8snetworkplumbingwg/network-attachment-definition-client v0.0.0-20200401090632-ee27f62faef8 h1:/+OIW+inkJRBJlIHQqMUXRbYHmQLZwj7lqIV/TUecsE=
42+
github.com/kube-object-storage/lib-bucket-provisioner v0.0.0-20200107223247-51020689f1fb h1:0tLk5jekrSwmQJqoyHW6oVAdfG7DbLAaobKcURwCRoY=
43+
github.com/mailru/easyjson v0.7.0 h1:aizVhC/NAAcKWb+5QsU1iNOZb4Yws5UO2I+aIprQITM=
44+
github.com/miekg/dns v1.1.4 h1:rCMZsU2ScVSYcAsOXgmC6+AKOK+6pmQTOcw03nfwYV0=
45+
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
46+
github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI=
47+
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
48+
github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46 h1:lsxEuwrXEAokXB9qhlbKWPpo3KMLZQ5WB5WLQRW1uq0=
49+
github.com/openshift/cluster-api v0.0.0-20191129101638-b09907ac6668 h1:IDZyg/Kye98ptqpc9j9rzPjZJlijjEDe8g7TZ67CmLU=
50+
github.com/openshift/machine-api-operator v0.2.1-0.20190903202259-474e14e4965a h1:mcl6pEpG0ZKeMnAMhtmcoy7jFY8PcMRHmxdRQmowxo4=
51+
github.com/pborman/uuid v1.2.0 h1:J7Q5mO4ysT1dv8hyrUGHb9+ooztCXu1D8MY8DZYsu3g=
52+
github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI=
53+
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M=
54+
github.com/spf13/afero v1.2.2 h1:5jhuqJyZCZf2JRofRvN/nIFgIWNzPa3/Vz8mYylgbWc=
55+
github.com/spf13/cobra v0.0.5 h1:f0B+LkLX6DtmRH1isoNA9VTtNUK9K8xYd28JNNfOv/s=
56+
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
57+
github.com/yanniszark/go-nodetool v0.0.0-20191206125106-cd8f91fa16be h1:e8XjnroTyruokenelQLRje3D3nbti3ol45daXg5iWUA=
58+
go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738 h1:VcrIfasaLFkyjk6KNlXQSzO+B0fZcnECiDrKJsfxka0=
59+
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b h1:0mm1VjtFUOIlE1SbDlwjYaDxZVDP2S5ou6y0gSgXHu8=
60+
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45 h1:SVwTIAaPC2U/AvvLNZ2a7OVsmBpC8L5BlwK1whH3hm0=
61+
golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
62+
golang.org/x/time v0.0.0-20191024005414-555d28b269f0 h1:/5xXl8Y5W96D+TtHSlonuFqGHIWVuyCkGJLwGh9JJFs=
63+
gomodules.xyz/jsonpatch/v2 v2.0.1 h1:xyiBuvkD2g5n7cYzx6u2sxQvsAy4QJsZFCzGVdzOXZ0=
64+
google.golang.org/grpc v1.23.1 h1:q4XQuHFC6I28BKZpo6IYyb3mNO+l7lSOxRuYTCiDfXk=
65+
gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4=
66+
gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=
67+
gopkg.in/square/go-jose.v2 v2.2.2 h1:orlkJ3myw8CN1nVQHBFfloD+L3egixIa4FvUP6RosSA=
68+
go.uber.org/atomic v1.4.0 h1:cxzIVoETapQEqDhQu3QfnvXAV4AlzcvUCxkVUFw3+EU=
69+
go.uber.org/multierr v1.1.0 h1:HoEmRHQPVSqub6w2z2d2EOVs2fjyFRGyofhKuyDq0QI=
70+
go.uber.org/zap v1.10.0 h1:ORx85nbTijNz8ljznvCMR1ZBIPKFn3jQrag10X2AsuM=
71+
k8s.io/apiextensions-apiserver v0.17.2 h1:cP579D2hSZNuO/rZj9XFRzwJNYb41DbNANJb6Kolpss=
72+
k8s.io/apimachinery v0.17.2 h1:hwDQQFbdRlpnnsR64Asdi55GyCaIP/3WQpMmbNBeWr4=
73+
k8s.io/apiserver v0.17.2 h1:NssVvPALll6SSeNgo1Wk1h2myU1UHNwmhxV0Oxbcl8Y=
74+
k8s.io/api v0.17.2 h1:NF1UFXcKN7/OOv1uxdRz3qfra8AHsPav5M93hlV9+Dc=
75+
k8s.io/client-go v0.17.2 h1:ndIfkfXEGrNhLIgkr0+qhRguSD3u6DCmonepn1O6NYc=
76+
k8s.io/cloud-provider v0.17.2 h1:5JVAaJ3JIlaXlOqAX/LkdnXPl1UlcjHMPbepo8LFcyo=
77+
k8s.io/component-base v0.17.2 h1:0XHf+cerTvL9I5Xwn9v+0jmqzGAZI7zNydv4tL6Cw6A=
78+
k8s.io/klog v1.0.0 h1:Pt+yjF5aB1xDSVbau4VsWe+dQNzA0qv1LlXdC2dF6Q8=
79+
k8s.io/kube-controller-manager v0.17.2 h1:YqE2AM6YzSppRHjmxHSZn6FiXNy6hTpRPEa2SYpHV5s=
80+
k8s.io/kube-openapi v0.0.0-20191107075043-30be4d16710a h1:UcxjrRMyNx/i/y8G7kPvLyy7rfbeuf1PYyBf973pgyU=
81+
k8s.io/kubernetes v1.17.2 h1:g1UFZqFQsYx88xMUks4PKC6tsNcekxe0v06fcVGRwVE=
82+
k8s.io/utils v0.0.0-20191114200735-6ca3b61696b6 h1:p0Ai3qVtkbCG/Af26dBmU0E1W58NID3hSSh7cMyylpM=
83+
sigs.k8s.io/controller-runtime v0.5.1 h1:TNidCfVoU/cs2i+9xoTcL/l7yhl0bDhYXU0NCG6wmiE=
84+
sigs.k8s.io/sig-storage-lib-external-provisioner v4.1.0+incompatible h1:pp7GUmQZKI57EjGnjkY88V4QbVuMpkw/ijKXqL67EsI=
85+
sigs.k8s.io/structured-merge-diff v1.0.1-0.20191108220359-b1b620dd3f06 h1:zD2IemQ4LmOcAumeiyDWXKUI2SO0NYDe3H6QGvPOVgU=
86+
sigs.k8s.io/structured-merge-diff v1.0.1-0.20191108220359-b1b620dd3f06 h1:zD2IemQ4LmOcAumeiyDWXKUI2SO0NYDe3H6QGvPOVgU=
87+
sigs.k8s.io/yaml v1.1.0 h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs=
88+
"""
89+
90+
# This is a set of workarounds that prevents the invocation of certain 'go list' commands by gazelle.
91+
# When the go list commands are run for packages within these modules, they fail for reasons like:
92+
# "things got renamed and now the master branch and the requested version have different package structures"
93+
# Since gazelle only needs to use 'go list' to determine module boundaries, we can just specify particular
94+
# module boundaries when we invoke go_repository, and avoid the whole problem.
95+
KNOWN_IMPORTS = [
96+
# needed because of the unusual things kubernetes does to handle splitting out one monorepo into a bunch of separate repositories
97+
"k8s.io/kubernetes",
98+
# needed because of https://github.com/bazelbuild/bazel-gazelle/issues/545 affecting github.com/googleapis/gnostic/OpenAPIv2
99+
"github.com/googleapis/gnostic",
100+
# needed because of https://github.com/kubernetes/client-go/issues/749
101+
"k8s.io/client-go",
102+
# these two are needed because something's broken in etcd w/r/t renaming modules
103+
"go.etcd.io/etcd",
104+
"github.com/coreos/go-systemd",
105+
# unclear why this is needed
106+
"golang.org/x/sys",
107+
# needed because of a repository rename
108+
"github.com/improbable-eng/thanos",
109+
]
110+
111+
def rook_dependencies():
112+
args = [
113+
"-exclude=vendor",
114+
]
115+
for importpath in KNOWN_IMPORTS:
116+
args += ["-known_import", importpath]
117+
118+
for line in ROOK_DEPS.split("\n"):
119+
if not line.strip():
120+
continue
121+
importpath, version, sum = line.split(" ")
122+
go_repository(
123+
name = importpath_to_repo_name(importpath),
124+
version = version,
125+
sum = sum,
126+
importpath = importpath,
127+
build_external = "external",
128+
build_extra_args = args,
129+
build_file_proto_mode = "disable_global",
130+
prepatch_cmds = [
131+
"find -name BUILD -delete",
132+
"find -name BUILD.bazel -delete",
133+
"rm -rf vendor",
134+
],
135+
)
136+
137+
tini_dependencies()
138+
139+
go_repository(
140+
name = "com_github_rook_rook",
141+
build_extra_args = args,
142+
version = "v1.3.3",
143+
sum = "h1:L28rGUcqexFOu72WrstS8K09PRumLBXVjArnWnAp8bU=",
144+
importpath = "github.com/rook/rook",
145+
patch_cmds = [
146+
"echo \"exports_files(['toolbox.sh'])\" >images/ceph/BUILD.bazel",
147+
"echo \"exports_files(['csi/template', 'monitoring'])\" >cluster/examples/kubernetes/ceph/BUILD.bazel",
148+
],
149+
)

platform/rook/tini/BUILD.bazel

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
load("@rules_foreign_cc//tools/build_defs:cmake.bzl", "cmake_external")
2+
load("//ceph:unpack.bzl", "unpack_filegroup")
3+
4+
cmake_external(
5+
name = "tini-cmake",
6+
binaries = [
7+
"tini",
8+
],
9+
lib_source = "@tini//:source",
10+
)
11+
12+
unpack_filegroup(
13+
src = ":tini-cmake",
14+
names = [
15+
"tini",
16+
],
17+
visibility = ["//visibility:public"],
18+
)

platform/rook/tini/deps.bzl

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
load("@bazel_tools//tools/build_defs/repo:git.bzl", "new_git_repository")
2+
3+
def tini_dependencies():
4+
new_git_repository(
5+
name = "tini",
6+
commit = "fec3683b971d9c3ef73f284f176672c44b448662",
7+
remote = "https://github.com/krallin/tini",
8+
shallow_since = "1524295900 +0200",
9+
build_file_content = """filegroup(name = "source", srcs = glob(["**"]), visibility = ["//visibility:public"])""",
10+
)

platform/upload/BUILD.bazel

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ ocis = {
1313
"kube-dns-sidecar": "//kube-dns:kube-dns-sidecar",
1414
"pause": "//cri-o/pause:oci",
1515
"pullcheck": "//pull-monitor/pullcheck:oci",
16+
"rook": "//rook:oci",
1617
"user-grant": "//user-grant:oci",
1718
}
1819

0 commit comments

Comments
 (0)