From 017c609ec6ebb3ec04481be98c706f2ccb67671b Mon Sep 17 00:00:00 2001 From: barreiro Date: Tue, 11 Jun 2024 18:58:12 +0100 Subject: [PATCH] operator hyperfoil-bundle (0.26.0) Signed-off-by: barreiro --- ...er-manager-metrics-service_v1_service.yaml | 23 ++ ...c.authorization.k8s.io_v1_clusterrole.yaml | 17 + ...erfoil-operator.clusterserviceversion.yaml | 359 ++++++++++++++++++ .../manifests/hyperfoil.io_hyperfoils.yaml | 172 +++++++++ .../0.26.0/metadata/annotations.yaml | 14 + .../0.26.0/tests/scorecard/config.yaml | 70 ++++ 6 files changed, 655 insertions(+) create mode 100644 operators/hyperfoil-bundle/0.26.0/manifests/hyperfoil-operator-controller-manager-metrics-service_v1_service.yaml create mode 100644 operators/hyperfoil-bundle/0.26.0/manifests/hyperfoil-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml create mode 100644 operators/hyperfoil-bundle/0.26.0/manifests/hyperfoil-operator.clusterserviceversion.yaml create mode 100644 operators/hyperfoil-bundle/0.26.0/manifests/hyperfoil.io_hyperfoils.yaml create mode 100644 operators/hyperfoil-bundle/0.26.0/metadata/annotations.yaml create mode 100644 operators/hyperfoil-bundle/0.26.0/tests/scorecard/config.yaml diff --git a/operators/hyperfoil-bundle/0.26.0/manifests/hyperfoil-operator-controller-manager-metrics-service_v1_service.yaml b/operators/hyperfoil-bundle/0.26.0/manifests/hyperfoil-operator-controller-manager-metrics-service_v1_service.yaml new file mode 100644 index 00000000000..dcb98e77f51 --- /dev/null +++ b/operators/hyperfoil-bundle/0.26.0/manifests/hyperfoil-operator-controller-manager-metrics-service_v1_service.yaml @@ -0,0 +1,23 @@ +apiVersion: v1 +kind: Service +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/component: kube-rbac-proxy + app.kubernetes.io/created-by: hyperfoil-operator + app.kubernetes.io/instance: controller-manager-metrics-service + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: service + app.kubernetes.io/part-of: hyperfoil-operator + control-plane: controller-manager + name: hyperfoil-operator-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/hyperfoil-bundle/0.26.0/manifests/hyperfoil-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml b/operators/hyperfoil-bundle/0.26.0/manifests/hyperfoil-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml new file mode 100644 index 00000000000..4be999605a0 --- /dev/null +++ b/operators/hyperfoil-bundle/0.26.0/manifests/hyperfoil-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml @@ -0,0 +1,17 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/component: kube-rbac-proxy + app.kubernetes.io/created-by: hyperfoil-operator + app.kubernetes.io/instance: metrics-reader + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: clusterrole + app.kubernetes.io/part-of: hyperfoil-operator + name: hyperfoil-operator-metrics-reader +rules: +- nonResourceURLs: + - /metrics + verbs: + - get diff --git a/operators/hyperfoil-bundle/0.26.0/manifests/hyperfoil-operator.clusterserviceversion.yaml b/operators/hyperfoil-bundle/0.26.0/manifests/hyperfoil-operator.clusterserviceversion.yaml new file mode 100644 index 00000000000..a189110ae4c --- /dev/null +++ b/operators/hyperfoil-bundle/0.26.0/manifests/hyperfoil-operator.clusterserviceversion.yaml @@ -0,0 +1,359 @@ +apiVersion: operators.coreos.com/v1alpha1 +kind: ClusterServiceVersion +metadata: + annotations: + alm-examples: |- + [ + { + "apiVersion": "hyperfoil.io/v1alpha2", + "kind": "Hyperfoil", + "metadata": { + "labels": { + "app.kubernetes.io/created-by": "hyperfoil-operator", + "app.kubernetes.io/instance": "hyperfoil-sample", + "app.kubernetes.io/managed-by": "kustomize", + "app.kubernetes.io/name": "hyperfoil", + "app.kubernetes.io/part-of": "hyperfoil-operator" + }, + "name": "hyperfoil-sample" + }, + "spec": { + "version": "latest" + } + } + ] + capabilities: Basic Install + categories: Developer Tools + containerImage: quay.io/hyperfoil/hyperfoil-operator:0.26.0 + createdAt: "2024-06-11T17:39:20Z" + description: Microservice-oriented distributed benchmark framework. + operators.operatorframework.io/builder: operator-sdk-v1.34.2 + operators.operatorframework.io/project_layout: go.kubebuilder.io/v4 + repository: https://github.com/Hyperfoil/hyperfoil-operator + name: hyperfoil-operator.v0.26.0 + namespace: hyperfoil +spec: + apiservicedefinitions: {} + customresourcedefinitions: + owned: + - description: Hyperfoil is the Schema for the hyperfoils API + displayName: Hyperfoil + kind: Hyperfoil + name: hyperfoils.hyperfoil.io + version: v1alpha2 + description: | + Hyperfoil is a modern benchmark framework oriented promising + accurate results with more flexibility and distributed architecture. + + See more on [hyperfoil.io](http://hyperfoil.io). + + Hyperfoil is licensed under Apache License 2.0 + displayName: Hyperfoil + icon: + - base64data: |- + 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 + mediatype: image/png + install: + spec: + clusterPermissions: + - rules: + - apiGroups: + - apps + resourceNames: + - hyperfoil-operator + resources: + - deployments/finalizers + verbs: + - update + - apiGroups: + - "" + resources: + - configmaps + - persistentvolumeclaims + - pods + - pods/finalizer + - pods/log + - pods/status + - secrets + - serviceaccounts + - services + verbs: + - '*' + - apiGroups: + - hyperfoil.io + resources: + - hyperfoils + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - hyperfoil.io + resources: + - hyperfoils/finalizers + verbs: + - update + - apiGroups: + - hyperfoil.io + resources: + - hyperfoils/status + verbs: + - get + - patch + - update + - apiGroups: + - monitoring.coreos.com + resources: + - servicemonitors + verbs: + - create + - get + - apiGroups: + - rbac.authorization.k8s.io + resources: + - rolebindings + - roles + verbs: + - '*' + - apiGroups: + - route.openshift.io + resources: + - routes + - routes/custom-host + verbs: + - '*' + - apiGroups: + - authentication.k8s.io + resources: + - tokenreviews + verbs: + - create + - apiGroups: + - authorization.k8s.io + resources: + - subjectaccessreviews + verbs: + - create + serviceAccountName: hyperfoil-operator-controller-manager + deployments: + - label: + app.kubernetes.io/component: manager + app.kubernetes.io/created-by: hyperfoil-operator + app.kubernetes.io/instance: controller-manager + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: deployment + app.kubernetes.io/part-of: hyperfoil-operator + control-plane: controller-manager + name: hyperfoil-operator-controller-manager + spec: + replicas: 1 + selector: + matchLabels: + control-plane: controller-manager + strategy: {} + template: + metadata: + annotations: + kubectl.kubernetes.io/default-container: manager + 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=0 + image: gcr.io/kubebuilder/kube-rbac-proxy:v0.15.0 + name: kube-rbac-proxy + ports: + - containerPort: 8443 + name: https + protocol: TCP + resources: + limits: + cpu: 500m + memory: 128Mi + requests: + cpu: 5m + memory: 64Mi + securityContext: + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + - args: + - --health-probe-bind-address=:8081 + - --metrics-bind-address=127.0.0.1:8080 + - --leader-elect + command: + - /manager + image: quay.io/hyperfoil/hyperfoil-operator:0.26.0 + 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: 500m + memory: 128Mi + requests: + cpu: 10m + memory: 64Mi + securityContext: + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + securityContext: + runAsNonRoot: true + serviceAccountName: hyperfoil-operator-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: hyperfoil-operator-controller-manager + strategy: deployment + installModes: + - supported: true + type: OwnNamespace + - supported: true + type: SingleNamespace + - supported: false + type: MultiNamespace + - supported: true + type: AllNamespaces + keywords: + - hyperfoil + - benchmark + - test + - load + - driver + links: + - name: Website + url: http://hyperfoil.io + - name: GitHub + url: http://github.com/Hyperfoil + maintainers: + - email: rvansa@redhat.com + name: Radim Vansa + - email: spederse@redhat.com + name: Ståle W. Pedersen + maturity: alpha + provider: + name: Red Hat, Inc. + replaces: hyperfoil-operator.v0.24.2 + version: 0.26.0 diff --git a/operators/hyperfoil-bundle/0.26.0/manifests/hyperfoil.io_hyperfoils.yaml b/operators/hyperfoil-bundle/0.26.0/manifests/hyperfoil.io_hyperfoils.yaml new file mode 100644 index 00000000000..a45e5c38289 --- /dev/null +++ b/operators/hyperfoil-bundle/0.26.0/manifests/hyperfoil.io_hyperfoils.yaml @@ -0,0 +1,172 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.15.0 + creationTimestamp: null + name: hyperfoils.hyperfoil.io +spec: + group: hyperfoil.io + names: + categories: + - all + - hyperfoil + kind: Hyperfoil + listKind: HyperfoilList + plural: hyperfoils + shortNames: + - hf + singular: hyperfoil + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .spec.version + name: Version + type: string + - jsonPath: .spec.route.host + name: Route + type: string + - jsonPath: .spec.persistentVolumeClaim + name: PVC + type: string + - jsonPath: .status.status + name: Status + type: string + name: v1alpha2 + schema: + openAPIV3Schema: + description: Hyperfoil is the Schema for the hyperfoils 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: HyperfoilSpec defines the desired state of Hyperfoil.It Configures + Hyperfoil Controller and related resources. + properties: + additionalArgs: + description: AdditionalArgs specifies additional arguments to pass + to the Hyperfoil controller. + items: + type: string + type: array + agentDeployTimeout: + description: Deploy timeout for agents, in milliseconds. + type: integer + auth: + description: Authentication/authorization settings. + properties: + secret: + description: Optional; Name of secret used for basic authentication. + Must contain key 'password'. + type: string + type: object + image: + description: Controller image. If 'version' is defined, too, the tag + is replaced (or appended). Defaults to 'quay.io/hyperfoil/hyperfoil' + type: string + log: + description: 'Name of the config map and optionally its entry (separated + by ''/'': e.g myconfigmap/log4j2-superverbose.xml) storing Log4j2 + configuration file. By default the Controller uses its embedded + configuration.' + type: string + persistentVolumeClaim: + description: Name of the PVC hyperfoil should mount for its workdir. + type: string + postHooks: + description: Names of config maps and optionally keys (separated by + '/') holding hooks that run after the run finishes. + items: + type: string + type: array + preHooks: + description: Names of config maps and optionally keys (separated by + '/') holding hooks that run before the run starts. + items: + type: string + type: array + route: + description: Specification of the exposed route. This setting is ignored + when Openshift Routes are not available (on vanilla Kubernetes). + properties: + host: + description: 'Host for the route leading to Controller REST endpoint. + Example: hyperfoil.apps.cloud.example.com' + type: string + tls: + description: Optional for edge and reencrypt routes, required + for passthrough; Name of the secret hosting `tls.crt`, `tls.key` + and optionally `ca.crt` + type: string + type: + description: Either 'http' (for plain-text routes - not recommended), + 'edge', 'reencrypt' or 'passthrough' + type: string + type: object + secretEnvVars: + description: |- + List of secrets in this namespace; each entry from those secrets will be mapped + as environment variable, using the key as variable name. + items: + type: string + type: array + serviceType: + description: |- + Type of the service being exposed. By default this is ClusterIP if Openshift Route resource is available (the route will target this service). + If Openshift Routes are not available (on vanilla Kubernetes) the default is NodePort. + type: string + triggerUrl: + description: |- + If this is set the controller does not start benchmark run right away after hitting + /benchmark/my-benchmark/start ; instead it responds with status 301 and header Location + set to concatenation of this string and 'BENCHMARK=my-benchmark&RUN_ID=xxxx'. + CLI interprets that response as a request to hit CI instance on this URL, assuming that + CI will trigger a new job that will eventually call /benchmark/my-benchmark/start?runId=xxxx + with header 'x-trigger-job'. This is useful if the the CI has to synchronize Hyperfoil + to other benchmarks that don't use this controller instance. + type: string + version: + description: Tag for controller image. Defaults to version matching + the operator version. + type: string + type: object + status: + description: HyperfoilStatus defines the observed state of Hyperfoil + properties: + lastUpdate: + description: RFC 3339 date and time of the last update. + format: date-time + type: string + reason: + description: Human readable explanation for the status. + type: string + status: + description: '"One of: ''Ready'', ''Pending'' or ''Error''"' + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: null + storedVersions: null diff --git a/operators/hyperfoil-bundle/0.26.0/metadata/annotations.yaml b/operators/hyperfoil-bundle/0.26.0/metadata/annotations.yaml new file mode 100644 index 00000000000..84a774475a0 --- /dev/null +++ b/operators/hyperfoil-bundle/0.26.0/metadata/annotations.yaml @@ -0,0 +1,14 @@ +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: hyperfoil-bundle + operators.operatorframework.io.bundle.channels.v1: alpha + operators.operatorframework.io.metrics.builder: operator-sdk-v1.34.2 + operators.operatorframework.io.metrics.mediatype.v1: metrics+v1 + operators.operatorframework.io.metrics.project_layout: go.kubebuilder.io/v4 + + # Annotations for testing. + operators.operatorframework.io.test.mediatype.v1: scorecard+v1 + operators.operatorframework.io.test.config.v1: tests/scorecard/ diff --git a/operators/hyperfoil-bundle/0.26.0/tests/scorecard/config.yaml b/operators/hyperfoil-bundle/0.26.0/tests/scorecard/config.yaml new file mode 100644 index 00000000000..de2979f631a --- /dev/null +++ b/operators/hyperfoil-bundle/0.26.0/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.34.2 + 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.34.2 + 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.34.2 + 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.34.2 + 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.34.2 + 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.34.2 + labels: + suite: olm + test: olm-status-descriptors-test + storage: + spec: + mountPath: {} +storage: + spec: + mountPath: {}