diff --git a/operators/silicom-sts-operator/0.0.2/bundle.Dockerfile b/operators/silicom-sts-operator/0.0.2/bundle.Dockerfile new file mode 100644 index 00000000000..f44e060d546 --- /dev/null +++ b/operators/silicom-sts-operator/0.0.2/bundle.Dockerfile @@ -0,0 +1,21 @@ +FROM scratch + +# Core bundle labels. +LABEL operators.operatorframework.io.bundle.mediatype.v1=registry+v1 +LABEL operators.operatorframework.io.bundle.manifests.v1=manifests/ +LABEL operators.operatorframework.io.bundle.metadata.v1=metadata/ +LABEL operators.operatorframework.io.bundle.package.v1=silicom-sts-operator +LABEL operators.operatorframework.io.bundle.channels.v1=alpha,beta +LABEL operators.operatorframework.io.bundle.channel.default.v1=alpha +LABEL operators.operatorframework.io.metrics.builder=operator-sdk-v1.15.0+git +LABEL operators.operatorframework.io.metrics.mediatype.v1=metrics+v1 +LABEL operators.operatorframework.io.metrics.project_layout=go.kubebuilder.io/v3 + +# Labels for testing. +LABEL operators.operatorframework.io.test.mediatype.v1=scorecard+v1 +LABEL operators.operatorframework.io.test.config.v1=tests/scorecard/ + +# Copy files to locations specified by labels. +COPY bundle/manifests /manifests/ +COPY bundle/metadata /metadata/ +COPY bundle/tests/scorecard /tests/scorecard/ diff --git a/operators/silicom-sts-operator/0.0.2/manifests/silicom-sts-operator.clusterserviceversion.yaml b/operators/silicom-sts-operator/0.0.2/manifests/silicom-sts-operator.clusterserviceversion.yaml new file mode 100644 index 00000000000..02a1e17fe45 --- /dev/null +++ b/operators/silicom-sts-operator/0.0.2/manifests/silicom-sts-operator.clusterserviceversion.yaml @@ -0,0 +1,577 @@ +apiVersion: operators.coreos.com/v1alpha1 +kind: ClusterServiceVersion +metadata: + annotations: + alm-examples: |- + [ + { + "apiVersion": "sts.silicom.com/v1alpha1", + "kind": "StsConfig", + "metadata": { + "name": "gm-1", + "namespace": "sts-silicom" + }, + "spec": { + "imageRegistry": "quay.io/silicom", + "interfaces": [ + { + "ethName": "enp2s0f0", + "ethPort": 0, + "holdoff": 500, + "mode": "Master", + "synce": 1 + }, + { + "ethName": "enp2s0f1", + "ethPort": 1, + "holdoff": 500, + "mode": "Master", + "synce": 1 + } + ], + "mode": "T-GM.8275.1", + "namespace": "sts-silicom", + "nodeSelector": { + "sts.silicom.com/config": "gm-1" + }, + "stsVersion": "2.0.1.1" + } + }, + { + "apiVersion": "sts.silicom.com/v1alpha1", + "kind": "StsConfig", + "metadata": { + "name": "bc-1" + }, + "spec": { + "aprLevel": 0, + "domainNumber": 24, + "esmcMode": 1, + "forwardable": 0, + "interfaces": [ + { + "ethName": "enp2s0f0", + "ethPort": 0, + "holdoff": 500, + "ipv4": 1, + "ipv6": 1, + "mode": "Slave", + "ql": 4, + "qlEnable": 1, + "synce": 1 + }, + { + "ethName": "enp2s0f1", + "ethPort": 1, + "holdoff": 500, + "ipv4": 1, + "ipv6": 1, + "mode": "Master", + "ql": 4, + "qlEnable": 1, + "synce": 1 + }, + { + "ethName": "enp2s0f2", + "ethPort": 2, + "holdoff": 500, + "ipv4": 1, + "mode": "Master", + "ql": 4, + "qlEnable": 1, + "synce": 1 + } + ], + "mode": "T-TBC.8275.1", + "mode10MHz": 2, + "modePPS": 2, + "namespace": "sts-silicom", + "nodeSelector": { + "sts.silicom.com/config": "bc-1" + }, + "phyLedsCtl": 0, + "priority2": 128, + "src10MHz": 1, + "srcPPS": 1, + "syncOption": 1, + "synceCpu": 10, + "synceRecClkPort": 0, + "tracePtpMsg": -1, + "twoStep": 0 + } + }, + { + "apiVersion": "sts.silicom.com/v1alpha1", + "kind": "StsNode", + "metadata": { + "name": "worker2" + }, + "spec": null, + "status": { + "ethInterfaces": [ + { + "ethName": "enp2s0f0", + "ethPort": 0, + "pciAddr": "02:00.0", + "status": "down" + }, + { + "ethName": "enp2s0f1", + "ethPort": 1, + "pciAddr": "02:00.1", + "status": "down" + }, + { + "ethName": "enp2s0f2", + "ethPort": 2, + "pciAddr": "02:00.2", + "status": "down" + }, + { + "ethName": "enp2s0f3", + "ethPort": 3, + "pciAddr": "02:00.3", + "status": "down" + }, + { + "ethName": "enp2s0f4", + "ethPort": 4, + "pciAddr": "02:00.4", + "status": "down" + }, + { + "ethName": "enp2s0f5", + "ethPort": 5, + "pciAddr": "02:00.5", + "status": "down" + }, + { + "ethName": "enp2s0f6", + "ethPort": 6, + "pciAddr": "02:00.6", + "status": "down" + }, + { + "ethName": "enp2s0f7", + "ethPort": 7, + "pciAddr": "02:00.7", + "status": "down" + } + ], + "gpsStatus": { + "active": 0, + "device": "", + "lat": "", + "lon": "", + "mode": 0, + "time": "2021-12-01T09:57:10.968Z" + }, + "tsyncStatus": { + "mode": "PTP Master Mode", + "status": "Normal Status", + "time": "Wed, 01 Dec 2021 09:57:10 UTC" + } + } + }, + { + "apiVersion": "sts.silicom.com/v1alpha1", + "kind": "StsOperatorConfig", + "metadata": { + "name": "sts-operator-config" + }, + "spec": { + "gpsSvcPort": 2947, + "grpcSvcPort": 50051, + "images": { + "gpsd": "quay.io/silicom/gpsd:3.23.1", + "grpcTsyncd": "quay.io/silicom/grpc-tsyncd:2.0.1.1", + "phcs2Sys": "quay.io/silicom/phcs2sys:3.1.1", + "stsPlugin": "quay.io/silicom/sts-plugin:0.0.1", + "ts2Phcs": "quay.io/silicom/ts2phcs:1.0.0", + "tsyncd": "quay.io/silicom/tsyncd:2.0.1.1" + }, + "namespace": "sts-silicom", + "sro": { + "chart": { + "name": "ice-special-resource", + "repository": { + "name": "ice-special-resource", + "url": "http://ice-driver-src" + }, + "version": "0.0.1" + }, + "iceVersion": "1.7.16", + "namespace": "openshift-operators", + "srcImage": "quay.io/silicom/ice-driver-src:1.7.16", + "srcSvcPort": 3000 + } + } + } + ] + capabilities: Basic Install + categories: Drivers and plugins + certified: "false" + containerImage: quay.io/silicom/sts-operator:0.0.1 + createdAt: 2021-11-17T10:21:24 CET + description: This Operator is a Kubernetes custom controller whose goal is to + serve the installation and lifecycle management of Silicom STS device plugins + for Kubernetes. + operators.operatorframework.io.bundle.channels.v1: stable,development + operators.operatorframework.io/builder: operator-sdk-v1.15.0+git + operators.operatorframework.io/project_layout: go.kubebuilder.io/v3 + repository: github.com/silicomdk/sts-operator + name: silicom-sts-operator.v0.0.2 + namespace: placeholder +spec: + apiservicedefinitions: {} + customresourcedefinitions: + owned: + - description: StsConfig is the Schema for the stsconfigs API + displayName: Sts Config + kind: StsConfig + name: stsconfigs.sts.silicom.com + version: v1alpha1 + - description: StsNode is the Schema for the stsnodes API + displayName: Sts Node + kind: StsNode + name: stsnodes.sts.silicom.com + version: v1alpha1 + - description: StsOperatorConfig is the Schema for the stsoperatorconfigs API + displayName: Sts Operator Config + kind: StsOperatorConfig + name: stsoperatorconfigs.sts.silicom.com + version: v1alpha1 + description: | + Silicom STS line card for 4G and 5G NIC enable real-time data transmission + with high timing accuracy at the lowest cost to power 5G DRAN and CRAN edge + deployments. + + * Support 1588/PTP over IPv4 / IPV6, IEEE1588v2 + * Support SyncE /ITU-T G.8262 + * T-BC/T-TSC Boundary Clock and TSC Slave Clock /G.8273.2 + * T-GM Grand Master /G.8273.1 per G.8275.1 PTP Profile + * PRTC Primary Reference Time Clock Class B/G.8272 + * T-TC Transparent Clock /G.8273.3 + * 1588 Software Stack and Servo Software in x86 + * [Silicom STS2 Card](https://www.silicom-usa.com/pr/server-adapters/networking-adapters/10-gigabit-ethernet-networking-adapters/p410g8ts81-timesync-server-adapter) + + ### Prequisites: + * [NFD Operator](https://operatorhub.io/operator/nfd-operator "NFD operator needed for the discovery of STS cards"). + * [SRO Operator](https://github.com/openshift/special-resource-operator) + displayName: Silicom STS Operator + icon: + - base64data: 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Ij8+Cjx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDQuNC4wLUV4aXYyIj4KIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgIHhtbG5zOkdJTVA9Imh0dHA6Ly93d3cuZ2ltcC5vcmcveG1wLyIKICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIgogICAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIgogICB4bXBNTTpEb2N1bWVudElEPSJnaW1wOmRvY2lkOmdpbXA6MzhiYjE1NGQtY2M4OS00MGFkLWJjZmEtNTViYWNkMGQ2OGNiIgogICB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOmEyMDljZmI2LWJlMTEtNDMwNi1iNTM0LWIyZDkyZjUzNThkMiIKICAgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOmNjMTJiNGNmLTIxNjktNGI5Yi04ZjU1LWEyMDhjYThkNzFmOCIKICAgZGM6Rm9ybWF0PSJpbWFnZS9wbmciCiAgIEdJTVA6QVBJPSIyLjAiCiAgIEdJTVA6UGxhdGZvcm09IkxpbnV4IgogICBHSU1QOlRpbWVTdGFtcD0iMTYyNzkwOTg4MzU3MzU0MSIKICAgR0lNUDpWZXJzaW9uPSIyLjEwLjI0IgogICB0aWZmOk9yaWVudGF0aW9uPSIxIgogICB4bXA6Q3JlYXRvclRvb2w9IkdJTVAgMi4xMCI+CiAgIDx4bXBNTTpIaXN0b3J5PgogICAgPHJkZjpCYWc+CiAgICAgPHJkZjpsaQogICAgICBzdEV2dDphY3Rpb249InNhdmVkIgogICAgICBzdEV2dDpjaGFuZ2VkPSIvIgogICAgICBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjM3MWYyZDZhLThmMzMtNDcxNy1hMzNmLWM4MDNjYjU4NjYzOSIKICAgICAgc3RFdnQ6c29mdHdhcmVBZ2VudD0iR2ltcCAyLjEwIChMaW51eCkiCiAgICAgIHN0RXZ0OndoZW49IjIwMjEtMDgtMDJUMTU6MTE6MjMrMDI6MDAiLz4KICAgIDwvcmRmOkJhZz4KICAgPC94bXBNTTpIaXN0b3J5PgogIDwvcmRmOkRlc2NyaXB0aW9uPgogPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+ZM3LwwAAAYNpQ0NQSUNDIHByb2ZpbGUAACiRfZE9SMNAHMVfU6VFWhzsIOKQoTpZEBVx1CoUoUKoFVp1MLn0C5o0JCkujoJrwcGPxaqDi7OuDq6CIPgB4ubmpOgiJf4vKbSI8eC4H+/uPe7eAUKzyjSrZxzQdNvMpJJiLr8qhl4RhoAoQoDMLGNOktLwHV/3CPD1LsGz/M/9OaJqwWJAQCSeZYZpE28QT2/aBud94hgryyrxOfGYSRckfuS64vEb55LLAs+MmdnMPHGMWCx1sdLFrGxqxFPEcVXTKV/Ieaxy3uKsVeusfU/+wkhBX1nmOs1hpLCIJUgQoaCOCqqwkaBVJ8VChvaTPv4h1y+RSyFXBYwcC6hBg+z6wf/gd7dWcXLCS4okgd4Xx/kYAUK7QKvhON/HjtM6AYLPwJXe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 + mediatype: image/png + install: + spec: + clusterPermissions: + - rules: + - apiGroups: + - "" + resources: + - configmaps + - namespaces + - nodes + - serviceaccounts + - services + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - apps + resources: + - daemonsets + - deployments + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - nfd.openshift.io + resources: + - nodefeaturediscoveries + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - rbac.authorization.k8s.io + resources: + - clusterrolebindings + - clusterroles + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - rbac.authorization.k8s.io + resources: + - rolebindings + - roles + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - security.openshift.io + resourceNames: + - privileged + resources: + - securitycontextconstraints + verbs: + - use + - apiGroups: + - sro.openshift.io + resources: + - specialresources + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - sts.silicom.com + resources: + - '*' + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - sts.silicom.com + resources: + - stsconfigs + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - sts.silicom.com + resources: + - stsconfigs/finalizers + verbs: + - update + - apiGroups: + - sts.silicom.com + resources: + - stsconfigs/status + verbs: + - get + - patch + - update + - apiGroups: + - sts.silicom.com + resources: + - stsnodes + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - sts.silicom.com + resources: + - stsoperatorconfigs + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - sts.silicom.com + resources: + - stsoperatorconfigs/finalizers + verbs: + - update + - apiGroups: + - sts.silicom.com + resources: + - stsoperatorconfigs/status + verbs: + - get + - patch + - update + - apiGroups: + - authentication.k8s.io + resources: + - tokenreviews + verbs: + - create + - apiGroups: + - authorization.k8s.io + resources: + - subjectaccessreviews + verbs: + - create + serviceAccountName: sts-controller-manager + deployments: + - name: sts-controller-manager + spec: + replicas: 1 + selector: + matchLabels: + control-plane: controller-manager + strategy: {} + template: + metadata: + labels: + control-plane: controller-manager + spec: + containers: + - args: + - --secure-listen-address=0.0.0.0:8443 + - --upstream=http://127.0.0.1:8080/ + - --logtostderr=true + - --v=10 + image: gcr.io/kubebuilder/kube-rbac-proxy:v0.8.0 + name: kube-rbac-proxy + ports: + - containerPort: 8443 + name: https + protocol: TCP + resources: {} + - args: + - --health-probe-bind-address=:8081 + - --metrics-bind-address=127.0.0.1:8080 + - --leader-elect + command: + - /manager + env: + - name: GPS_SVC_PORT + value: "2947" + - name: GRPC_SVC_PORT + value: "50051" + - name: NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + image: quay.io/silicom/sts-operator:0.0.2 + imagePullPolicy: Always + livenessProbe: + httpGet: + path: /healthz + port: 8081 + initialDelaySeconds: 15 + periodSeconds: 20 + name: manager + readinessProbe: + httpGet: + path: /readyz + port: 8081 + initialDelaySeconds: 5 + periodSeconds: 10 + resources: + limits: + cpu: 200m + memory: 100Mi + requests: + cpu: 100m + memory: 20Mi + securityContext: + allowPrivilegeEscalation: true + securityContext: + runAsNonRoot: false + serviceAccountName: sts-controller-manager + terminationGracePeriodSeconds: 10 + permissions: + - rules: + - apiGroups: + - "" + resources: + - configmaps + verbs: + - get + - list + - watch + - create + - update + - patch + - delete + - apiGroups: + - coordination.k8s.io + resources: + - leases + verbs: + - get + - list + - watch + - create + - update + - patch + - delete + - apiGroups: + - "" + resources: + - events + verbs: + - create + - patch + serviceAccountName: sts-controller-manager + strategy: deployment + installModes: + - supported: false + type: OwnNamespace + - supported: false + type: SingleNamespace + - supported: false + type: MultiNamespace + - supported: true + type: AllNamespaces + keywords: + - sts + - silicom + - ptp + links: + - name: GitHub Repository + url: https://github.com/silicomDK/sts-operator + - name: Github SRO Helm Charts + url: https://github.com/silicomDK/sts2-charts + - name: Silicom Ltd. + url: http://www.silicom-usa.com + maintainers: + - email: rmr@silicom.dk + name: Ryan M. Raasch + maturity: beta + provider: + name: Silicom Ltd. + url: http://www.silicom-usa.com + replaces: silicom-sts-operator.v0.0.1 + version: 0.0.2 diff --git a/operators/silicom-sts-operator/0.0.2/manifests/sts-controller-manager-metrics-service_v1_service.yaml b/operators/silicom-sts-operator/0.0.2/manifests/sts-controller-manager-metrics-service_v1_service.yaml new file mode 100644 index 00000000000..68cd0f2f8ca --- /dev/null +++ b/operators/silicom-sts-operator/0.0.2/manifests/sts-controller-manager-metrics-service_v1_service.yaml @@ -0,0 +1,17 @@ +apiVersion: v1 +kind: Service +metadata: + creationTimestamp: null + labels: + control-plane: controller-manager + name: sts-controller-manager-metrics-service +spec: + ports: + - name: https + port: 8443 + protocol: TCP + targetPort: https + selector: + control-plane: controller-manager +status: + loadBalancer: {} diff --git a/operators/silicom-sts-operator/0.0.2/manifests/sts-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml b/operators/silicom-sts-operator/0.0.2/manifests/sts-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml new file mode 100644 index 00000000000..49813045a67 --- /dev/null +++ b/operators/silicom-sts-operator/0.0.2/manifests/sts-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml @@ -0,0 +1,10 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + creationTimestamp: null + name: sts-metrics-reader +rules: +- nonResourceURLs: + - /metrics + verbs: + - get diff --git a/operators/silicom-sts-operator/0.0.2/manifests/sts-plugin_rbac.authorization.k8s.io_v1_clusterrole.yaml b/operators/silicom-sts-operator/0.0.2/manifests/sts-plugin_rbac.authorization.k8s.io_v1_clusterrole.yaml new file mode 100644 index 00000000000..9dfb2435c6a --- /dev/null +++ b/operators/silicom-sts-operator/0.0.2/manifests/sts-plugin_rbac.authorization.k8s.io_v1_clusterrole.yaml @@ -0,0 +1,14 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + creationTimestamp: null + name: sts-plugin +rules: +- apiGroups: + - "" + resources: + - nodes + verbs: + - get + - list + - update diff --git a/operators/silicom-sts-operator/0.0.2/manifests/sts-plugin_rbac.authorization.k8s.io_v1_clusterrolebinding.yaml b/operators/silicom-sts-operator/0.0.2/manifests/sts-plugin_rbac.authorization.k8s.io_v1_clusterrolebinding.yaml new file mode 100644 index 00000000000..b53e1629cc0 --- /dev/null +++ b/operators/silicom-sts-operator/0.0.2/manifests/sts-plugin_rbac.authorization.k8s.io_v1_clusterrolebinding.yaml @@ -0,0 +1,13 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + creationTimestamp: null + name: sts-plugin +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: sts-plugin +subjects: +- kind: ServiceAccount + name: sts-plugin + namespace: sts-silicom diff --git a/operators/silicom-sts-operator/0.0.2/manifests/sts-plugin_rbac.authorization.k8s.io_v1_role.yaml b/operators/silicom-sts-operator/0.0.2/manifests/sts-plugin_rbac.authorization.k8s.io_v1_role.yaml new file mode 100644 index 00000000000..ffa0b343672 --- /dev/null +++ b/operators/silicom-sts-operator/0.0.2/manifests/sts-plugin_rbac.authorization.k8s.io_v1_role.yaml @@ -0,0 +1,25 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + creationTimestamp: null + name: sts-plugin +rules: +- apiGroups: + - sts.silicom.com + resources: + - stsnodes + - stsnodes/status + verbs: + - get + - list + - update + - create + - delete +- apiGroups: + - security.openshift.io + resourceNames: + - privileged + resources: + - securitycontextconstraints + verbs: + - use diff --git a/operators/silicom-sts-operator/0.0.2/manifests/sts-plugin_rbac.authorization.k8s.io_v1_rolebinding.yaml b/operators/silicom-sts-operator/0.0.2/manifests/sts-plugin_rbac.authorization.k8s.io_v1_rolebinding.yaml new file mode 100644 index 00000000000..2e0c7ec8d2f --- /dev/null +++ b/operators/silicom-sts-operator/0.0.2/manifests/sts-plugin_rbac.authorization.k8s.io_v1_rolebinding.yaml @@ -0,0 +1,13 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + creationTimestamp: null + name: sts-plugin +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: sts-plugin +subjects: +- kind: ServiceAccount + name: sts-plugin + namespace: sts-silicom diff --git a/operators/silicom-sts-operator/0.0.2/manifests/sts-plugin_v1_serviceaccount.yaml b/operators/silicom-sts-operator/0.0.2/manifests/sts-plugin_v1_serviceaccount.yaml new file mode 100644 index 00000000000..b3cf45fb177 --- /dev/null +++ b/operators/silicom-sts-operator/0.0.2/manifests/sts-plugin_v1_serviceaccount.yaml @@ -0,0 +1,5 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + creationTimestamp: null + name: sts-plugin diff --git a/operators/silicom-sts-operator/0.0.2/manifests/sts-tsync_rbac.authorization.k8s.io_v1_role.yaml b/operators/silicom-sts-operator/0.0.2/manifests/sts-tsync_rbac.authorization.k8s.io_v1_role.yaml new file mode 100644 index 00000000000..984730fe0a0 --- /dev/null +++ b/operators/silicom-sts-operator/0.0.2/manifests/sts-tsync_rbac.authorization.k8s.io_v1_role.yaml @@ -0,0 +1,24 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + creationTimestamp: null + name: sts-tsync +rules: +- apiGroups: + - sts.silicom.com + resources: + - '*' + verbs: + - get + - list + - watch + - patch + - update +- apiGroups: + - security.openshift.io + resourceNames: + - privileged + resources: + - securitycontextconstraints + verbs: + - use diff --git a/operators/silicom-sts-operator/0.0.2/manifests/sts-tsync_rbac.authorization.k8s.io_v1_rolebinding.yaml b/operators/silicom-sts-operator/0.0.2/manifests/sts-tsync_rbac.authorization.k8s.io_v1_rolebinding.yaml new file mode 100644 index 00000000000..9ea044cf28d --- /dev/null +++ b/operators/silicom-sts-operator/0.0.2/manifests/sts-tsync_rbac.authorization.k8s.io_v1_rolebinding.yaml @@ -0,0 +1,13 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + creationTimestamp: null + name: sts-tsync +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: sts-tsync +subjects: +- kind: ServiceAccount + name: sts-tsync + namespace: sts-silicom diff --git a/operators/silicom-sts-operator/0.0.2/manifests/sts-tsync_v1_serviceaccount.yaml b/operators/silicom-sts-operator/0.0.2/manifests/sts-tsync_v1_serviceaccount.yaml new file mode 100644 index 00000000000..b3910aa7d9b --- /dev/null +++ b/operators/silicom-sts-operator/0.0.2/manifests/sts-tsync_v1_serviceaccount.yaml @@ -0,0 +1,5 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + creationTimestamp: null + name: sts-tsync diff --git a/operators/silicom-sts-operator/0.0.2/manifests/sts.silicom.com_stsconfigs.yaml b/operators/silicom-sts-operator/0.0.2/manifests/sts.silicom.com_stsconfigs.yaml new file mode 100644 index 00000000000..ca5d0695d64 --- /dev/null +++ b/operators/silicom-sts-operator/0.0.2/manifests/sts.silicom.com_stsconfigs.yaml @@ -0,0 +1,253 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.1 + creationTimestamp: null + name: stsconfigs.sts.silicom.com +spec: + group: sts.silicom.com + names: + kind: StsConfig + listKind: StsConfigList + plural: stsconfigs + singular: stsconfig + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: StsConfig is the Schema for the stsconfigs API + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: StsConfigSpec defines the desired state of StsConfig + properties: + aprLevel: + default: 0 + maximum: 8 + minimum: 0 + type: integer + domainNumber: + default: 24 + description: PTP domain number + maximum: 48 + minimum: 24 + type: integer + esmcMode: + default: 2 + description: "Configures the ESMC Mode \n 1 - Manual \n 2 - Auto (default)" + maximum: 2 + minimum: 1 + type: integer + forwardable: + default: 0 + description: "Forwardable/Non-Forwardable Multicast Address \n 0 - + Non-Forwardable (default) \n 1 - Forwardable" + maximum: 1 + minimum: 0 + type: integer + interfaces: + items: + properties: + ethName: + type: string + ethPort: + type: integer + holdoff: + default: 500 + maximum: 1800 + minimum: 300 + type: integer + ipv4: + default: 0 + maximum: 1 + minimum: 0 + type: integer + ipv6: + default: 0 + maximum: 1 + minimum: 0 + type: integer + mode: + default: Master + enum: + - Master + - Slave + type: string + ql: + default: 4 + description: "Configures QL value for the interface \n if syncOption + is 1 (Europe) \n =========================== \n 1 - QL-PRC + \n 2 - QL-PRTC \n 3 - QL-EEC1 \n 4 - QL-DNU (default) \n if + syncOption is 2 (United States) \n ================================== + \n 5 - QL-PRS \n 2 - QL-PRTC \n 6 - QL-EEC2 \n 7 - QL-DUS + (default)" + maximum: 7 + minimum: 1 + type: integer + qlEnable: + default: 0 + description: Configures QL enable for the interface 0 - Disable + QL 1 - Enable QL (default) + maximum: 1 + minimum: 0 + type: integer + synce: + default: 0 + maximum: 1 + minimum: 0 + type: integer + required: + - ethName + - ethPort + type: object + type: array + mode: + default: T-GM.8275.1 + description: "Telecom G8275 Profile \n T-BC-8275.1 (default) \n T-GM.8275.1 + \n T-TSC.8275.1" + enum: + - T-GM.8275.1 + - T-BC-8275.1 + - T-TSC.8275.1 + - T-GM.8275.2 + - T-BC-P-8275.2 + type: string + mode10MHz: + default: 2 + description: "Set 10MHz Connector Mode \n 1 - 10MHz IN \n 2 - 10MHz + OUT (default) \n 3 - PPS OUT" + maximum: 3 + minimum: 1 + type: integer + modePPS: + default: 2 + description: "Set 1PPS Connector Mode \n 1 - PPS IN \n 2 - PPS OUT + (default)" + maximum: 2 + minimum: 1 + type: integer + namespace: + default: sts-silicom + type: string + nodeSelector: + additionalProperties: + type: string + type: object + phyLedsCtl: + default: 0 + description: "Enable/disable Phy Leds Control Switch \n 0 - disable + Phy Leds Control Switch (default) \n 1 - enable Phy Leds Control + Switch" + maximum: 1 + minimum: 0 + type: integer + priority2: + default: 128 + description: "Set Priority 2 for GM PTP Clock \n Valid range 0-255, + smaller values indicate higher priority" + maximum: 255 + minimum: 0 + type: integer + src10MHz: + default: 1 + description: "Set 10MHz OUT Source \n 1 - PLL (default) \n 2 - GPS + \n 3 - IN" + maximum: 3 + minimum: 1 + type: integer + srcPPS: + default: 1 + description: "Set PPS OUT Source \n 1 - PLL (default) \n 2 - GPS \n + 3 - IN" + maximum: 3 + minimum: 1 + type: integer + ssmMode: + default: 1 + description: "Configures the SSM Mode \n 1 - SSM Code (default) \n + 2 - ESSM Code" + maximum: 2 + minimum: 1 + type: integer + syncOption: + default: 1 + description: "Configures the synchronization network \n 1 - Option + 1 refers to synchronization networks designed for Europe \n 2 - + Option 2 refers to synchronization networks designed for United + States" + maximum: 2 + minimum: 1 + type: integer + synceCpu: + default: 10 + description: Set CPU Pin for SyncE ESMC thread + maximum: 40 + minimum: 1 + type: integer + synceRecClkPort: + default: 0 + description: Set SyncE Recovery Clock Port + maximum: 7 + minimum: 0 + type: integer + traceLevel: + default: 0 + maximum: 8 + minimum: 0 + type: integer + tracePtpMsg: + default: -1 + description: "Trace PTP Message \n Valid range -1-10 \n -1 - Disable + Trace log for PTP Messages (default) \n 0 - Enable Trace for all + types of PTP Messages \n 1 - Enable Trace for SYNC Messages \n 2 + - Enable Trace for DELAY_REQ Messages \n 3 - Enable Trace for PEER_DELAY_REQ + Messages \n 4 - Enable Trace for PEER_DELAY_RESP Messages \n 5 - + Enable Trace for FOLLOW_UP Messages \n 6 - Enable Trace for DELAY_RESP + Messages \n 7 - Enable Trace for PEER_DELAY_FOLLOW_UP Messages \n + 8 - Enable Trace for ANNOUNCE Messages \n 9 - Enable Trace for SIGNAL + Messages \n 10 - Enable Trace for MANAGEMENT Messages" + maximum: 10 + minimum: -1 + type: integer + twoStep: + default: 0 + description: "Enable/disable two-step PTP Clock \n 0 - Disable two-step + clock, (set one-step clock) (default) \n 1 - Enable two-step clock" + maximum: 1 + minimum: 0 + type: integer + required: + - interfaces + type: object + status: + description: StsConfigStatus defines the observed state of StsConfig + properties: + nodes: + items: + type: string + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/operators/silicom-sts-operator/0.0.2/manifests/sts.silicom.com_stsnodes.yaml b/operators/silicom-sts-operator/0.0.2/manifests/sts.silicom.com_stsnodes.yaml new file mode 100644 index 00000000000..ad2f740035a --- /dev/null +++ b/operators/silicom-sts-operator/0.0.2/manifests/sts.silicom.com_stsnodes.yaml @@ -0,0 +1,107 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.1 + creationTimestamp: null + name: stsnodes.sts.silicom.com +spec: + group: sts.silicom.com + names: + kind: StsNode + listKind: StsNodeList + plural: stsnodes + singular: stsnode + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: StsNode is the Schema for the stsnodes API + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: StsNodeSpec defines the desired state of StsNode + type: object + status: + description: StsNodeStatus defines the observed state of StsNode + properties: + driverAvailable: + type: boolean + ethInterfaces: + items: + properties: + ethName: + type: string + ethPort: + type: integer + mode: + type: string + pciAddr: + type: string + status: + type: string + required: + - ethName + - ethPort + - pciAddr + type: object + type: array + gpsStatus: + properties: + active: + type: integer + device: + type: string + lat: + type: string + lon: + type: string + mode: + type: integer + time: + type: string + required: + - active + - device + - lat + - lon + - mode + - time + type: object + tsyncStatus: + properties: + mode: + type: string + status: + type: string + time: + type: string + required: + - mode + - status + - time + type: object + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/operators/silicom-sts-operator/0.0.2/manifests/sts.silicom.com_stsoperatorconfigs.yaml b/operators/silicom-sts-operator/0.0.2/manifests/sts.silicom.com_stsoperatorconfigs.yaml new file mode 100644 index 00000000000..100b70cf30e --- /dev/null +++ b/operators/silicom-sts-operator/0.0.2/manifests/sts.silicom.com_stsoperatorconfigs.yaml @@ -0,0 +1,137 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.1 + creationTimestamp: null + name: stsoperatorconfigs.sts.silicom.com +spec: + group: sts.silicom.com + names: + kind: StsOperatorConfig + listKind: StsOperatorConfigList + plural: stsoperatorconfigs + singular: stsoperatorconfig + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: StsOperatorConfig is the Schema for the stsoperatorconfigs API + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: StsOperatorConfigSpec defines the desired state of StsOperatorConfig + properties: + gpsSvcPort: + default: 2947 + type: integer + grpcSvcPort: + default: 50051 + type: integer + images: + properties: + gpsd: + default: quay.io/silicom/gpsd:3.23.1 + type: string + grpcTsyncd: + default: quay.io/silicom/grpc-tsyncd:2.1.0.0 + type: string + phc2sys: + default: quay.io/silicom/phc2sys:3.1.1 + type: string + stsPlugin: + default: quay.io/silicom/sts-plugin:0.0.2 + type: string + tsyncExtts: + default: quay.io/silicom/tsync_extts:1.0.0 + type: string + tsyncd: + default: quay.io/silicom/tsyncd:2.1.0.0 + type: string + type: object + sro: + properties: + build: + default: true + type: boolean + chart: + properties: + name: + type: string + repository: + properties: + caFile: + type: string + certFile: + type: string + insecure_skip_tls_verify: + default: false + type: boolean + keyFile: + type: string + name: + type: string + password: + type: string + url: + type: string + username: + type: string + required: + - name + - url + type: object + tags: + items: + type: string + type: array + version: + type: string + required: + - name + - repository + - version + type: object + driverRegistry: + default: image-registry.openshift-image-registry.svc:5000 + type: string + iceVersion: + default: 1.7.16 + type: string + namespace: + default: openshift-operators + type: string + srcImage: + default: quay.io/silicom/ice-driver-src:1.7.16 + type: string + srcSvcPort: + default: 3000 + type: integer + type: object + type: object + status: + description: StsOperatorConfigStatus defines the observed state of StsOperatorConfig + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/operators/silicom-sts-operator/0.0.2/metadata/annotations.yaml b/operators/silicom-sts-operator/0.0.2/metadata/annotations.yaml new file mode 100644 index 00000000000..8a2b246ed78 --- /dev/null +++ b/operators/silicom-sts-operator/0.0.2/metadata/annotations.yaml @@ -0,0 +1,16 @@ +annotations: + # Core bundle annotations. + operators.operatorframework.io.bundle.mediatype.v1: registry+v1 + operators.operatorframework.io.bundle.manifests.v1: manifests/ + operators.operatorframework.io.bundle.metadata.v1: metadata/ + operators.operatorframework.io.bundle.package.v1: silicom-sts-operator + operators.operatorframework.io.bundle.channels.v1: alpha,beta + operators.operatorframework.io.bundle.channel.default.v1: alpha + operators.operatorframework.io.metrics.builder: operator-sdk-v1.15.0+git + operators.operatorframework.io.metrics.mediatype.v1: metrics+v1 + operators.operatorframework.io.metrics.project_layout: go.kubebuilder.io/v3 + + # Annotations for testing. + operators.operatorframework.io.test.mediatype.v1: scorecard+v1 + operators.operatorframework.io.test.config.v1: tests/scorecard/ + com.redhat.openshift.versions: v4.8 diff --git a/operators/silicom-sts-operator/0.0.2/tests/scorecard/config.yaml b/operators/silicom-sts-operator/0.0.2/tests/scorecard/config.yaml new file mode 100644 index 00000000000..7b281f6abd8 --- /dev/null +++ b/operators/silicom-sts-operator/0.0.2/tests/scorecard/config.yaml @@ -0,0 +1,70 @@ +apiVersion: scorecard.operatorframework.io/v1alpha3 +kind: Configuration +metadata: + name: config +stages: +- parallel: true + tests: + - entrypoint: + - scorecard-test + - basic-check-spec + image: quay.io/operator-framework/scorecard-test:v1.11.0 + labels: + suite: basic + test: basic-check-spec-test + storage: + spec: + mountPath: {} + - entrypoint: + - scorecard-test + - olm-bundle-validation + image: quay.io/operator-framework/scorecard-test:v1.11.0 + labels: + suite: olm + test: olm-bundle-validation-test + storage: + spec: + mountPath: {} + - entrypoint: + - scorecard-test + - olm-crds-have-validation + image: quay.io/operator-framework/scorecard-test:v1.11.0 + labels: + suite: olm + test: olm-crds-have-validation-test + storage: + spec: + mountPath: {} + - entrypoint: + - scorecard-test + - olm-crds-have-resources + image: quay.io/operator-framework/scorecard-test:v1.11.0 + labels: + suite: olm + test: olm-crds-have-resources-test + storage: + spec: + mountPath: {} + - entrypoint: + - scorecard-test + - olm-spec-descriptors + image: quay.io/operator-framework/scorecard-test:v1.11.0 + labels: + suite: olm + test: olm-spec-descriptors-test + storage: + spec: + mountPath: {} + - entrypoint: + - scorecard-test + - olm-status-descriptors + image: quay.io/operator-framework/scorecard-test:v1.11.0 + labels: + suite: olm + test: olm-status-descriptors-test + storage: + spec: + mountPath: {} +storage: + spec: + mountPath: {}