Skip to content

Commit 961a5ed

Browse files
authored
Merge pull request kubernetes#90380 from spiffxp/import-boss-test-files
Update import-boss files to yaml, include test files in CI job
2 parents 4099ad6 + 64c0c47 commit 961a5ed

File tree

16 files changed

+409
-534
lines changed

16 files changed

+409
-534
lines changed

cmd/kubeadm/.import-restrictions

Lines changed: 18 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,18 @@
1-
{
2-
"Rules": [
3-
{
4-
"SelectorRegexp": "k8s[.]io/(api/|apimachinery/|apiextensions-apiserver/|apiserver/)",
5-
"AllowedPrefixes": [
6-
""
7-
]
8-
},
9-
{
10-
"SelectorRegexp": "k8s[.]io/client-go/",
11-
"AllowedPrefixes": [
12-
""
13-
]
14-
},
15-
{
16-
"SelectorRegexp": "k8s[.]io/kubelet/",
17-
"AllowedPrefixes": [
18-
"k8s.io/kubelet/config/v1beta1"
19-
]
20-
},
21-
{
22-
"SelectorRegexp": "k8s[.]io/kube-openapi/",
23-
"AllowedPrefixes": [
24-
"k8s.io/kube-openapi/pkg/util/proto"
25-
]
26-
},
27-
{
28-
"SelectorRegexp": "k8s[.]io/kube-proxy/",
29-
"AllowedPrefixes": [
30-
"k8s.io/kube-proxy/config/v1alpha1"
31-
]
32-
},
33-
{
34-
"SelectorRegexp": "k8s[.]io/kubernetes",
35-
"AllowedPrefixes": [
36-
"k8s.io/kubernetes/cmd/kubeadm"
37-
]
38-
},
39-
{
40-
"SelectorRegexp": "gopkg[.]in",
41-
"AllowedPrefixes": [
42-
"gopkg.in/inf.v0",
43-
"gopkg.in/square/go-jose.v2",
44-
"gopkg.in/yaml.v2"
45-
]
46-
}
47-
]
48-
}
1+
rules:
2+
- selectorRegexp: k8s[.]io/kubelet/
3+
allowedPrefixes:
4+
- k8s.io/kubelet/config/v1beta1
5+
- selectorRegexp: k8s[.]io/kube-openapi/
6+
allowedPrefixes:
7+
- k8s.io/kube-openapi/pkg/util/proto
8+
- selectorRegexp: k8s[.]io/kube-proxy/
9+
allowedPrefixes:
10+
- k8s.io/kube-proxy/config/v1alpha1
11+
- selectorRegexp: k8s[.]io/kubernetes
12+
allowedPrefixes:
13+
- k8s.io/kubernetes/cmd/kubeadm
14+
- selectorRegexp: gopkg[.]in
15+
allowedPrefixes:
16+
- gopkg.in/inf.v0
17+
- gopkg.in/square/go-jose.v2
18+
- gopkg.in/yaml.v2

hack/verify-import-boss.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,4 +43,4 @@ for d in staging/src/k8s.io/*/; do
4343
fi
4444
done
4545

46-
$(kube::util::find-binary "import-boss") --verify-only "$@" --input-dirs "$(IFS=, ; echo "${packages[*]}")"
46+
$(kube::util::find-binary "import-boss") --include-test-files=true --verify-only --input-dirs "$(IFS=, ; echo "${packages[*]}")"

pkg/.import-restrictions

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,12 @@
1-
{
2-
"Rules": [
3-
{
4-
"SelectorRegexp": "k8s[.]io/kubernetes",
5-
"AllowedPrefixes": [
6-
""
7-
],
8-
"ForbiddenPrefixes": [
9-
"k8s.io/kubernetes/cmd",
10-
"github.com/ghodss/yaml",
11-
"github.com/ishidawataru/sctp"
12-
]
13-
}
14-
]
15-
}
1+
rules:
2+
- selectorRegexp: k8s[.]io/kubernetes
3+
allowedPrefixes:
4+
- ''
5+
forbiddenPrefixes:
6+
# prevent pkg/ from depending on cmd/
7+
# note: pkg/kubemark overrides this
8+
- k8s.io/kubernetes/cmd
9+
# use sigs.k8s.io/yaml instead
10+
- github.com/ghodss/yaml
11+
# prevent kubernetes from opening sctp sockets (ref: https://github.com/kubernetes/kubernetes/pull/87926#discussion_r376642015)
12+
- github.com/ishidawataru/sctp
Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,5 @@
1-
{
2-
"Rules": [
3-
{
4-
"SelectorRegexp": "k8s[.]io/kubernetes",
5-
"AllowedPrefixes": [
6-
"k8s.io/kubernetes/pkg/cloudprovider/providers"
7-
],
8-
"ForbiddenPrefixes": []
9-
}
10-
]
11-
}
1+
rules:
2+
# prevent any k8s.io/kubernetes imports outside of this package
3+
- selectorRegexp: k8s[.]io/kubernetes
4+
allowedPrefixes:
5+
- k8s.io/kubernetes/pkg/cloudprovider/providers

pkg/controller/.import-restrictions

Lines changed: 0 additions & 16 deletions
This file was deleted.

pkg/kubectl/.import-restrictions

Lines changed: 68 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -1,71 +1,68 @@
1-
{
2-
"Rules": [{
3-
"SelectorRegexp": "k8s[.]io/kubernetes/pkg",
4-
"AllowedPrefixes": [
5-
"k8s.io/kubernetes/pkg/api",
6-
"k8s.io/kubernetes/pkg/api/legacyscheme",
7-
"k8s.io/kubernetes/pkg/apis/apps",
8-
"k8s.io/kubernetes/pkg/apis/apps/install",
9-
"k8s.io/kubernetes/pkg/apis/apps/v1",
10-
"k8s.io/kubernetes/pkg/apis/apps/v1beta1",
11-
"k8s.io/kubernetes/pkg/apis/apps/v1beta2",
12-
"k8s.io/kubernetes/pkg/apis/authentication",
13-
"k8s.io/kubernetes/pkg/apis/authentication/install",
14-
"k8s.io/kubernetes/pkg/apis/authentication/v1",
15-
"k8s.io/kubernetes/pkg/apis/authentication/v1beta1",
16-
"k8s.io/kubernetes/pkg/apis/authorization",
17-
"k8s.io/kubernetes/pkg/apis/authorization/install",
18-
"k8s.io/kubernetes/pkg/apis/authorization/v1",
19-
"k8s.io/kubernetes/pkg/apis/authorization/v1beta1",
20-
"k8s.io/kubernetes/pkg/apis/autoscaling",
21-
"k8s.io/kubernetes/pkg/apis/autoscaling/install",
22-
"k8s.io/kubernetes/pkg/apis/autoscaling/v1",
23-
"k8s.io/kubernetes/pkg/apis/autoscaling/v2beta1",
24-
"k8s.io/kubernetes/pkg/apis/batch",
25-
"k8s.io/kubernetes/pkg/apis/batch/install",
26-
"k8s.io/kubernetes/pkg/apis/batch/v1",
27-
"k8s.io/kubernetes/pkg/apis/batch/v1beta1",
28-
"k8s.io/kubernetes/pkg/apis/batch/v2alpha1",
29-
"k8s.io/kubernetes/pkg/apis/certificates",
30-
"k8s.io/kubernetes/pkg/apis/certificates/install",
31-
"k8s.io/kubernetes/pkg/apis/certificates/v1beta1",
32-
"k8s.io/kubernetes/pkg/apis/core",
33-
"k8s.io/kubernetes/pkg/apis/core/helper",
34-
"k8s.io/kubernetes/pkg/apis/core/install",
35-
"k8s.io/kubernetes/pkg/apis/core/v1",
36-
"k8s.io/kubernetes/pkg/apis/extensions",
37-
"k8s.io/kubernetes/pkg/apis/extensions/install",
38-
"k8s.io/kubernetes/pkg/apis/extensions/v1beta1",
39-
"k8s.io/kubernetes/pkg/apis/networking",
40-
"k8s.io/kubernetes/pkg/apis/policy",
41-
"k8s.io/kubernetes/pkg/apis/policy/install",
42-
"k8s.io/kubernetes/pkg/apis/policy/v1beta1",
43-
"k8s.io/kubernetes/pkg/apis/rbac",
44-
"k8s.io/kubernetes/pkg/apis/rbac/install",
45-
"k8s.io/kubernetes/pkg/apis/rbac/v1",
46-
"k8s.io/kubernetes/pkg/apis/rbac/v1alpha1",
47-
"k8s.io/kubernetes/pkg/apis/rbac/v1beta1",
48-
"k8s.io/kubernetes/pkg/apis/scheduling",
49-
"k8s.io/kubernetes/pkg/apis/scheduling/install",
50-
"k8s.io/kubernetes/pkg/apis/scheduling/v1alpha1",
51-
"k8s.io/kubernetes/pkg/apis/settings",
52-
"k8s.io/kubernetes/pkg/apis/settings/install",
53-
"k8s.io/kubernetes/pkg/apis/settings/v1alpha1",
54-
"k8s.io/kubernetes/pkg/apis/storage",
55-
"k8s.io/kubernetes/pkg/apis/storage/install",
56-
"k8s.io/kubernetes/pkg/apis/storage/util",
57-
"k8s.io/kubernetes/pkg/apis/storage/v1",
58-
"k8s.io/kubernetes/pkg/apis/storage/v1beta1",
59-
"k8s.io/kubernetes/pkg/features",
60-
"k8s.io/kubernetes/pkg/kubectl",
61-
"k8s.io/kubernetes/pkg/printers",
62-
"k8s.io/kubernetes/pkg/registry/rbac/reconciliation",
63-
"k8s.io/kubernetes/pkg/registry/rbac/validation",
64-
"k8s.io/kubernetes/pkg/util/interrupt",
65-
"k8s.io/kubernetes/pkg/util/node",
66-
"k8s.io/kubernetes/pkg/util/parsers",
67-
"k8s.io/utils/pointer"
68-
],
69-
"ForbiddenPrefixes": []
70-
}]
71-
}
1+
rules:
2+
- selectorRegexp: k8s[.]io/kubernetes/pkg
3+
allowedPrefixes:
4+
- k8s.io/kubernetes/pkg/api/legacyscheme
5+
- k8s.io/kubernetes/pkg/apis/apps
6+
- k8s.io/kubernetes/pkg/apis/apps/install
7+
- k8s.io/kubernetes/pkg/apis/apps/v1
8+
- k8s.io/kubernetes/pkg/apis/apps/v1beta1
9+
- k8s.io/kubernetes/pkg/apis/apps/v1beta2
10+
- k8s.io/kubernetes/pkg/apis/authentication
11+
- k8s.io/kubernetes/pkg/apis/authentication/install
12+
- k8s.io/kubernetes/pkg/apis/authentication/v1
13+
- k8s.io/kubernetes/pkg/apis/authentication/v1beta1
14+
- k8s.io/kubernetes/pkg/apis/authorization
15+
- k8s.io/kubernetes/pkg/apis/authorization/install
16+
- k8s.io/kubernetes/pkg/apis/authorization/v1
17+
- k8s.io/kubernetes/pkg/apis/authorization/v1beta1
18+
- k8s.io/kubernetes/pkg/apis/autoscaling
19+
- k8s.io/kubernetes/pkg/apis/autoscaling/install
20+
- k8s.io/kubernetes/pkg/apis/autoscaling/v1
21+
- k8s.io/kubernetes/pkg/apis/autoscaling/v2beta1
22+
- k8s.io/kubernetes/pkg/apis/batch
23+
- k8s.io/kubernetes/pkg/apis/batch/install
24+
- k8s.io/kubernetes/pkg/apis/batch/v1
25+
- k8s.io/kubernetes/pkg/apis/batch/v1beta1
26+
- k8s.io/kubernetes/pkg/apis/batch/v2alpha1
27+
- k8s.io/kubernetes/pkg/apis/certificates
28+
- k8s.io/kubernetes/pkg/apis/certificates/install
29+
- k8s.io/kubernetes/pkg/apis/certificates/v1beta1
30+
- k8s.io/kubernetes/pkg/apis/coordination
31+
- k8s.io/kubernetes/pkg/apis/coordination/install
32+
- k8s.io/kubernetes/pkg/apis/coordination/v1
33+
- k8s.io/kubernetes/pkg/apis/coordination/v1beta1
34+
- k8s.io/kubernetes/pkg/apis/core
35+
- k8s.io/kubernetes/pkg/apis/core/helper
36+
- k8s.io/kubernetes/pkg/apis/core/install
37+
- k8s.io/kubernetes/pkg/apis/core/v1
38+
- k8s.io/kubernetes/pkg/apis/events
39+
- k8s.io/kubernetes/pkg/apis/events/install
40+
- k8s.io/kubernetes/pkg/apis/events/v1beta1
41+
- k8s.io/kubernetes/pkg/apis/extensions
42+
- k8s.io/kubernetes/pkg/apis/extensions/install
43+
- k8s.io/kubernetes/pkg/apis/extensions/v1beta1
44+
- k8s.io/kubernetes/pkg/apis/networking
45+
- k8s.io/kubernetes/pkg/apis/policy
46+
- k8s.io/kubernetes/pkg/apis/policy/install
47+
- k8s.io/kubernetes/pkg/apis/policy/v1beta1
48+
- k8s.io/kubernetes/pkg/apis/rbac
49+
- k8s.io/kubernetes/pkg/apis/rbac/install
50+
- k8s.io/kubernetes/pkg/apis/rbac/v1
51+
- k8s.io/kubernetes/pkg/apis/rbac/v1alpha1
52+
- k8s.io/kubernetes/pkg/apis/rbac/v1beta1
53+
- k8s.io/kubernetes/pkg/apis/scheduling
54+
- k8s.io/kubernetes/pkg/apis/scheduling/install
55+
- k8s.io/kubernetes/pkg/apis/scheduling/v1alpha1
56+
- k8s.io/kubernetes/pkg/apis/settings
57+
- k8s.io/kubernetes/pkg/apis/settings/install
58+
- k8s.io/kubernetes/pkg/apis/settings/v1alpha1
59+
- k8s.io/kubernetes/pkg/apis/storage
60+
- k8s.io/kubernetes/pkg/apis/storage/install
61+
- k8s.io/kubernetes/pkg/apis/storage/util
62+
- k8s.io/kubernetes/pkg/apis/storage/v1
63+
- k8s.io/kubernetes/pkg/apis/storage/v1beta1
64+
- k8s.io/kubernetes/pkg/features
65+
- k8s.io/kubernetes/pkg/kubectl
66+
- k8s.io/kubernetes/pkg/registry/rbac/reconciliation
67+
- k8s.io/kubernetes/pkg/registry/rbac/validation
68+
- k8s.io/kubernetes/pkg/util/parsers
Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
1-
{
2-
"Rules": [
3-
{
4-
"SelectorRegexp": "k8s[.]io/kubernetes",
5-
"AllowedPrefixes": [
6-
]
7-
}
8-
]
9-
}
1+
rules:
2+
# prevent exposing internal api in streaming packages
3+
- selectorRegexp: k8s[.]io/kubernetes
4+
forbiddenPrefixes:
5+
- ''
Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
1-
{
2-
"Rules": [
3-
{
4-
"SelectorRegexp": "k8s[.]io/kubernetes",
5-
"AllowedPrefixes": [
6-
]
7-
}
8-
]
9-
}
1+
rules:
2+
# prevent exposing internal api in streaming packages
3+
- selectorRegexp: k8s[.]io/kubernetes
4+
forbiddenPrefixes:
5+
- ''
Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
1-
{
2-
"Rules": [
3-
{
4-
"SelectorRegexp": "k8s[.]io/kubernetes",
5-
"AllowedPrefixes": [
6-
"k8s.io/kubernetes/pkg/kubelet/server/portforward",
7-
"k8s.io/kubernetes/pkg/kubelet/server/remotecommand"
8-
]
9-
}
10-
]
11-
}
1+
rules:
2+
# prevent exposing internal api in streaming packages
3+
- selectorRegexp: k8s[.]io/kubernetes
4+
allowedPrefixes:
5+
- k8s.io/kubernetes/pkg/kubelet/server/portforward
6+
- k8s.io/kubernetes/pkg/kubelet/server/remotecommand

pkg/kubemark/.import-restrictions

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,6 @@
1-
{
2-
"Rules": [
3-
{
4-
"SelectorRegexp": "k8s[.]io/kubernetes/cmd",
5-
"AllowedPrefixes": [
6-
"k8s.io/kubernetes/cmd/kube-proxy/app",
7-
"k8s.io/kubernetes/cmd/kubelet/app"
8-
],
9-
"ForbiddenPrefixes": [
10-
]
11-
}
12-
]
13-
}
1+
rules:
2+
# override pkg/ import restriction on cmd/ for kubemark
3+
- selectorRegexp: k8s[.]io/kubernetes/cmd
4+
allowedPrefixes:
5+
- k8s.io/kubernetes/cmd/kube-proxy/app
6+
- k8s.io/kubernetes/cmd/kubelet/app

0 commit comments

Comments
 (0)