Skip to content

Commit 88fc248

Browse files
committed
Add support for Equinix Metal
1 parent e0ae005 commit 88fc248

637 files changed

Lines changed: 57121 additions & 17397 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

README.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,18 @@ data:
5959
azure_region: Base64encodeRegion
6060
```
6161
62+
### Equinix Metal
63+
64+
```yaml
65+
apiVersion: v1
66+
kind: Secret
67+
metadata:
68+
namespace: kube-system
69+
name: equinix-metal-credentials
70+
data:
71+
EQUINIX_METAL_API_KEY: EquinixMetalAPIKey
72+
```
73+
6274
### GCP
6375
6476
```yaml
@@ -212,6 +224,7 @@ Cloud | Mint | Mint + Remove Admin Cred | Passthrough | Manual | Token
212224
--- | --- | --- | --- | --- | ---
213225
AWS | Y | 4.4+ | Y | 4.3+ | 4.6+ (expected)
214226
Azure | Y | N | Y | unknown | N
227+
EquinixMetal | N | N | 4.x+ (expected) | N | N
215228
GCP | Y | 4.7+ | Y | unknown | N
216229
KubeVirt | N | N | Y | N | N
217230
OpenStack | N | N | Y | N | N

bindata/bootstrap/cloudcredential_v1_operator_config_custresdef.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ metadata:
44
name: cloudcredentials.operator.openshift.io
55
annotations:
66
include.release.openshift.io/self-managed-high-availability: "true"
7+
include.release.openshift.io/single-node-developer: "true"
78
spec:
89
scope: Cluster
910
group: operator.openshift.io

go.mod

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ go 1.13
55
require (
66
cloud.google.com/go v0.56.0
77
github.com/Azure/azure-sdk-for-go v31.1.0+incompatible
8-
github.com/Azure/go-autorest/autorest v0.10.0
9-
github.com/Azure/go-autorest/autorest/adal v0.8.3
8+
github.com/Azure/go-autorest/autorest v0.11.1
9+
github.com/Azure/go-autorest/autorest/adal v0.9.5
1010
github.com/Azure/go-autorest/autorest/azure/auth v0.4.2
11-
github.com/Azure/go-autorest/autorest/date v0.2.0
11+
github.com/Azure/go-autorest/autorest/date v0.3.0
1212
github.com/Azure/go-autorest/autorest/to v0.3.0
1313
github.com/Azure/go-autorest/autorest/validation v0.2.0 // indirect
1414
github.com/aws/aws-sdk-go v1.30.5
@@ -18,8 +18,7 @@ require (
1818
github.com/go-logr/zapr v0.2.0 // indirect
1919
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b
2020
github.com/golang/mock v1.4.3
21-
github.com/google/go-cmp v0.5.1 // indirect
22-
github.com/google/uuid v1.1.1
21+
github.com/google/uuid v1.1.2
2322
github.com/googleapis/gnostic v0.5.1 // indirect
2423
github.com/imdario/mergo v0.3.10 // indirect
2524
github.com/onsi/ginkgo v1.14.0 // indirect
@@ -32,7 +31,7 @@ require (
3231
github.com/sirupsen/logrus v1.6.0
3332
github.com/spf13/cobra v1.0.0
3433
github.com/spf13/pflag v1.0.5
35-
github.com/stretchr/testify v1.5.1
34+
github.com/stretchr/testify v1.6.1
3635
go.uber.org/zap v1.15.0 // indirect
3736
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d
3837
golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e
@@ -41,9 +40,11 @@ require (
4140
google.golang.org/appengine v1.6.6 // indirect
4241
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013
4342
google.golang.org/grpc v1.28.0
44-
k8s.io/api v0.19.2
45-
k8s.io/apimachinery v0.19.2
46-
k8s.io/client-go v0.19.2
47-
k8s.io/code-generator v0.19.2
43+
k8s.io/api v0.20.0
44+
k8s.io/apimachinery v0.20.0
45+
k8s.io/client-go v0.20.0
46+
k8s.io/code-generator v0.20.0
4847
sigs.k8s.io/controller-runtime v0.6.2
4948
)
49+
50+
replace github.com/openshift/api => github.com/detiber/api v0.0.0-20210113181726-19e9a251beff

go.sum

Lines changed: 69 additions & 17 deletions
Large diffs are not rendered by default.

manifests/00-config-custresdef.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ metadata:
44
name: cloudcredentials.operator.openshift.io
55
annotations:
66
include.release.openshift.io/self-managed-high-availability: "true"
7+
include.release.openshift.io/single-node-developer: "true"
78
spec:
89
scope: Cluster
910
group: operator.openshift.io

pkg/apis/cloudcredential/v1/register.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ func addKnownTypes(scheme *runtime.Scheme) error {
5959
&GCPProviderStatus{}, &GCPProviderSpec{},
6060
&VSphereProviderStatus{}, &VSphereProviderSpec{},
6161
&KubevirtProviderStatus{}, &KubevirtProviderSpec{},
62+
&EquinixMetalProviderStatus{}, &EquinixMetalProviderSpec{},
6263
)
6364

6465
return nil
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
/*
2+
Copyright 2020 The OpenShift Authors.
3+
4+
Licensed under the Apache License, Version 2.0 (the "License");
5+
you may not use this file except in compliance with the License.
6+
You may obtain a copy of the License at
7+
8+
http://www.apache.org/licenses/LICENSE-2.0
9+
10+
Unless required by applicable law or agreed to in writing, software
11+
distributed under the License is distributed on an "AS IS" BASIS,
12+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
See the License for the specific language governing permissions and
14+
limitations under the License.
15+
*/
16+
17+
package v1
18+
19+
import (
20+
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
21+
)
22+
23+
// TODO: these types should eventually be broken out, along with the actuator,
24+
// to a separate repo.
25+
26+
// EquinixMetalProviderSpec contains the required information to create RBAC role
27+
// bindings for EquinixMetal.
28+
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
29+
type EquinixMetalProviderSpec struct {
30+
metav1.TypeMeta `json:",inline"`
31+
}
32+
33+
// EquinixMetalProviderStatus contains the status of the credentials request in EquinixMetal.
34+
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
35+
type EquinixMetalProviderStatus struct {
36+
metav1.TypeMeta `json:",inline"`
37+
}

pkg/apis/cloudcredential/v1/zz_generated.deepcopy.go

Lines changed: 50 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/assets/bootstrap/bindata.go

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)