Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

operator [N] sn-operator (0.3.0-rc.5) #3427

Merged
merged 7 commits into from
Oct 22, 2023

Conversation

ericsyh
Copy link
Contributor

@ericsyh ericsyh commented Oct 22, 2023

Thanks submitting your Operator. Please check below list before you create your Pull Request.

New Submissions

Updates to existing Operators

  • Did you create a ci.yaml file according to the update instructions?
  • Is your new CSV pointing to the previous version with the replaces property if you chose replaces-mode via the updateGraph property in ci.yaml?
  • Is your new CSV referenced in the appropriate channel defined in the package.yaml or annotations.yaml ?
  • Have you tested an update to your Operator when deployed via OLM?
  • Is your submission signed?

Your submission should not

  • Modify more than one operator
  • Modify an Operator you don't own
  • Rename an operator - please remove and add with a different name instead
  • Modify any files outside the above mentioned folders
  • Contain more than one commit. Please squash your commits.

Operator Description must contain (in order)

  1. Description about the managed Application and where to find more information
  2. Features and capabilities of your Operator and how to use it
  3. Any manual steps about potential pre-requisites for using your Operator

Operator Metadata should contain

  • Human readable name and 1-liner description about your Operator
  • Valid category name1
  • One of the pre-defined capability levels2
  • Links to the maintainer, source code and documentation
  • Example templates for all Custom Resource Definitions intended to be used
  • A quadratic logo

Remember that you can preview your CSV here.

--

1 If you feel your Operator does not fit any of the pre-defined categories, file an issue against this repo and explain your need

2 For more information see here

@openshift-ci openshift-ci bot requested review from haripate and tomasbakk October 22, 2023 05:53
@github-actions github-actions bot changed the title update sn-operator examples operator [N] sn-operator (0.3.0-rc.5) Oct 22, 2023
@github-actions
Copy link
Contributor

Dear @ericsyh,
Some errors and/or warnings were found while doing the check of your operator (sn-operator/0.3.0-rc.5) against the entire suite of validators for Operator Framework with Operator-SDK version v1.30.0 and the command $ operator-sdk bundle validate <bundle-path> --select-optional suite=operatorframework.

Errors (:bug:) must be fixed while warnings (:warning:) are informative, and fixing them might improve the quality of your solution.

Type Message
🐛 Value invalid character at 802
[
{
"apiVersion": "k8s.streamnative.io/v1alpha1",
"kind": "ApiKeys",
"metadata": {
  "labels": {
    "cloud.streamnative.io/app": "pulsar",
    "cloud.streamnative.io/cluster": "apikeys",
    "cloud.streamnative.io/component": "apikeys",
    "cloud.streamnative.io/location": "us-central1",
    "cloud.streamnative.io/poolmember-name": "gcp-shared-gcp-usce1-whale-snc",
    "cloud.streamnative.io/poolmember-namespace": "streamnative",
    "cloud.streamnative.io/pulsar-cluster": "apikeys",
    "cloud.streamnative.io/pulsar-instance": "apikeys",
    "cloud.streamnative.io/role": "apikeys",
    "istio.io/rev": "sn-stable",
    "k8s.streamnative.io/coordinator-name": "apikeys"
  },
  "name": "apikeys",
  "namespace": "pulsar

<--(see the invalid character): invalid example |
| ⚠️ | Value : (sn-operator.v0.3.0-rc.5) csv.Spec.minKubeVersion is not informed. It is recommended you provide this information. Otherwise, it would mean that your operator project can be distributed and installed in any cluster version available, which is not necessarily the case for all projects. |
| ⚠️ | Value sn-operator.v0.3.0-rc.5: this bundle is using APIs which were deprecated and removed in v1.25. More info: https://kubernetes.io/docs/reference/using-api/deprecation-guide/#v1-25. Migrate the API(s) for horizontalpodautoscalers: (["ClusterServiceVersion.Spec.InstallStrategy.StrategySpec.ClusterPermissions[0].Rules[4]"]),poddisruptionbudgets: (["ClusterServiceVersion.Spec.InstallStrategy.StrategySpec.ClusterPermissions[0].Rules[34]"]), |
| ⚠️ | Value sn-operator.v0.3.0-rc.5: unable to find the resource requests for the container: (kube-rbac-proxy). It is recommended to ensure the resource request for CPU and Memory. Be aware that for some clusters configurations it is required to specify requests or limits for those values. Otherwise, the system or quota may reject Pod creation. More info: https://master.sdk.operatorframework.io/docs/best-practices/managing-resources/ |
| ⚠️ | Value sn-operator.v0.3.0-rc.5: owned CRD "pulsarbrokers.pulsar.streamnative.io" has an empty description |

@ericsyh
Copy link
Contributor Author

ericsyh commented Oct 22, 2023

/retest

@openshift-ci
Copy link

openshift-ci bot commented Oct 22, 2023

@ericsyh: Cannot trigger testing until a trusted user reviews the PR and leaves an /ok-to-test message.

In response to this:

/retest

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@github-actions
Copy link
Contributor

/hold

@github-actions
Copy link
Contributor

/hold cancel

@github-actions
Copy link
Contributor

Dear @ericsyh,
Some errors and/or warnings were found while doing the check of your operator (sn-operator/0.3.0-rc.5) against the entire suite of validators for Operator Framework with Operator-SDK version v1.30.0 and the command $ operator-sdk bundle validate <bundle-path> --select-optional suite=operatorframework.

Errors (:bug:) must be fixed while warnings (:warning:) are informative, and fixing them might improve the quality of your solution.

Type Message
🐛 Value invalid character at 802
[
{
"apiVersion": "k8s.streamnative.io/v1alpha1",
"kind": "ApiKeys",
"metadata": {
  "labels": {
    "cloud.streamnative.io/app": "pulsar",
    "cloud.streamnative.io/cluster": "apikeys",
    "cloud.streamnative.io/component": "apikeys",
    "cloud.streamnative.io/location": "us-central1",
    "cloud.streamnative.io/poolmember-name": "gcp-shared-gcp-usce1-whale-snc",
    "cloud.streamnative.io/poolmember-namespace": "streamnative",
    "cloud.streamnative.io/pulsar-cluster": "apikeys",
    "cloud.streamnative.io/pulsar-instance": "apikeys",
    "cloud.streamnative.io/role": "apikeys",
    "istio.io/rev": "sn-stable",
    "k8s.streamnative.io/coordinator-name": "apikeys"
  },
  "name": "apikeys",
  "namespace": "pulsar

<--(see the invalid character): invalid example |
| ⚠️ | Value : (sn-operator.v0.3.0-rc.5) csv.Spec.minKubeVersion is not informed. It is recommended you provide this information. Otherwise, it would mean that your operator project can be distributed and installed in any cluster version available, which is not necessarily the case for all projects. |
| ⚠️ | Value sn-operator.v0.3.0-rc.5: this bundle is using APIs which were deprecated and removed in v1.25. More info: https://kubernetes.io/docs/reference/using-api/deprecation-guide/#v1-25. Migrate the API(s) for horizontalpodautoscalers: (["ClusterServiceVersion.Spec.InstallStrategy.StrategySpec.ClusterPermissions[0].Rules[4]"]),poddisruptionbudgets: (["ClusterServiceVersion.Spec.InstallStrategy.StrategySpec.ClusterPermissions[0].Rules[34]"]), |
| ⚠️ | Value sn-operator.v0.3.0-rc.5: unable to find the resource requests for the container: (kube-rbac-proxy). It is recommended to ensure the resource request for CPU and Memory. Be aware that for some clusters configurations it is required to specify requests or limits for those values. Otherwise, the system or quota may reject Pod creation. More info: https://master.sdk.operatorframework.io/docs/best-practices/managing-resources/ |
| ⚠️ | Value sn-operator.v0.3.0-rc.5: owned CRD "pulsarbrokers.pulsar.streamnative.io" has an empty description |

Signed-off-by: ericsyh <[email protected]>
@github-actions
Copy link
Contributor

Dear @ericsyh,
Some errors and/or warnings were found while doing the check of your operator (sn-operator/0.3.0-rc.5) against the entire suite of validators for Operator Framework with Operator-SDK version v1.30.0 and the command $ operator-sdk bundle validate <bundle-path> --select-optional suite=operatorframework.

Errors (:bug:) must be fixed while warnings (:warning:) are informative, and fixing them might improve the quality of your solution.

Type Message
🐛 Value invalid character at 4720
[
{
"apiVersion": "k8s.streamnative.io/v1alpha1",
"kind": "ApiKeys",
"metadata": {
  "labels": {
    "cloud.streamnative.io/app": "pulsar",
    "cloud.streamnative.io/cluster": "apikeys",
    "cloud.streamnative.io/component": "apikeys",
    "cloud.streamnative.io/location": "us-central1",
    "cloud.streamnative.io/poolmember-name": "gcp-shared-gcp-usce1-whale-snc",
    "cloud.streamnative.io/poolmember-namespace": "streamnative",
    "cloud.streamnative.io/pulsar-cluster": "apikeys",
    "cloud.streamnative.io/pulsar-instance": "apikeys",
    "cloud.streamnative.io/role": "apikeys",
    "istio.io/rev": "sn-stable",
    "k8s.streamnative.io/coordinator-name": "apikeys"
  },
  "name": "apikeys",
  "namespace": "pulsar"
},
"spec": {
  "brokerServiceUrl": "pulsar://apikeys-broker.guangning.svc.cluster.local:6650",
  "config": {
    "authenticator": {
      "acceptedAudience": "urn:sn:pulsar:guangning:apikeys",
      "enabled": true,
      "issuers": [
        "https://auth.streamnative.cloud/",
        "https://auth.sncloud-stg.dev/",
        "https://auth.test.cloud.gcp.streamnative.dev/"
      ]
    },
    "backend": {
      "pulsarTopic": "api_keys_api.example"
    },
    "server": {
      "audience": "urn:sn:pulsar:guangning:apikeys",
      "claimsToCopy": [
        "sub",
        "permissions",
        "aud",
        "scope",
        "https://streamnative.io/username"
      ],
      "currentKid": "7007ddf9-beac-4e74-8e32-f03453fea3e0"
    }
  },
  "hostname": "apikeys-49c084ec-dfaa-4aed-a879-68ae5c2d1b30.usce1-whale.test.g.sn2.dev",
  "image": "docker.cloudsmith.io/streamnative/sn-api-keys-svc/sn-api-keys-svc:latest",
  "istio": {
    "enabled": true,
    "gateway": {
      "gateways": [
        "apikeys-gateway"
      ]
    }
  },
  "replicas": 1
}

},
{
"apiVersion": "k8s.streamnative.io/v1alpha1",
"kind": "ConnectorCatalog",
"metadata": {
"labels": {
"app.kubernetes.io/created-by": "sn-operator",
"app.kubernetes.io/instance": "connectorcatalog-sample",
"app.kubernetes.io/managed-by": "kustomize",
"app.kubernetes.io/name": "connectorcatalog",
"app.kubernetes.io/part-of": "sn-operator"
},
"name": "connectorcatalog-sample"
},
"spec": {
"connectorDefinitions": [
{
"description": "Test data generator connector",
"id": "pulsar-io-data-generator",
"imageRepository": "streamnative/pulsar-io-data-generator",
"imageTag": "2.9.2.17",
"name": "data-generator",
"sinkClass": "org.apache.pulsar.io.datagenerator.DataGeneratorPrintSink",
"sourceClass": "org.apache.pulsar.io.datagenerator.DataGeneratorSource",
"sourceConfigClass": "org.apache.pulsar.io.datagenerator.DataGeneratorSourceConfig",
"sourceConfigFieldDefinitions": [
{
"attributes": {
"defaultValue": "50",
"help": "How long to sleep between emitting messages",
"required": "true",
"sensitive": "false"
},
"fieldName": "sleepBetweenMessages",
"typeName": "long"
}
],
"typeClassName": "org.apache.pulsar.io.datagenerator.Person",
"version": "2.9.2.17"
},
{
"description": "Kafka Source",
"id": "pulsar-io-kafka",
"imageRepository": "streamnative/pulsar-io-kafka",
"imageTag": "2.9.2.17",
"name": "kafka",
"sourceClass": "org.apache.pulsar.io.kafka.KafkaBytesSource",
"sourceConfigClass": "org.apache.pulsar.io.kafka.KafkaSourceConfig",
"sourceTypeClassName": "java.nio.ByteBuffer",
"version": "2.9.2.17"
},
{
"description": "Cloud storage Sink",
"id": "pulsar-io-cloud-storage",
"imageRepository": "streamnative/pulsar-io-cloud-storage",
"imageTag": "2.9.2.17",
"name": "cloud-storage",
"sinkClass": "org.apache.pulsar.io.jcloud.sink.CloudStorageGenericRecordSink",
"sinkConfigClass": "org.apache.pulsar.io.jcloud.sink.CloudStorageSinkConfig",
"typeClassName": "org.apache.pulsar.client.api.schema.GenericRecord",
"version": "2.9.2.17"
}
]
}
},
{
"apiVersion": "k8s.streamnative.io/v1alpha1",
"kind": "Console",
"metadata": {
"name": "console",
"namespace": "pulsar"
"<--(see the invalid character): invalid example |
| ⚠️ | Value : (sn-operator.v0.3.0-rc.5) csv.Spec.minKubeVersion is not informed. It is recommended you provide this information. Otherwise, it would mean that your operator project can be distributed and installed in any cluster version available, which is not necessarily the case for all projects. |
| ⚠️ | Value sn-operator.v0.3.0-rc.5: this bundle is using APIs which were deprecated and removed in v1.25. More info: https://kubernetes.io/docs/reference/using-api/deprecation-guide/#v1-25. Migrate the API(s) for horizontalpodautoscalers: (["ClusterServiceVersion.Spec.InstallStrategy.StrategySpec.ClusterPermissions[0].Rules[4]"]),poddisruptionbudgets: (["ClusterServiceVersion.Spec.InstallStrategy.StrategySpec.ClusterPermissions[0].Rules[34]"]), |
| ⚠️ | Value sn-operator.v0.3.0-rc.5: unable to find the resource requests for the container: (kube-rbac-proxy). It is recommended to ensure the resource request for CPU and Memory. Be aware that for some clusters configurations it is required to specify requests or limits for those values. Otherwise, the system or quota may reject Pod creation. More info: https://master.sdk.operatorframework.io/docs/best-practices/managing-resources/ |

Signed-off-by: ericsyh <[email protected]>
@github-actions
Copy link
Contributor

Dear @ericsyh,
Some errors and/or warnings were found while doing the check of your operator (sn-operator/0.3.0-rc.5) against the entire suite of validators for Operator Framework with Operator-SDK version v1.30.0 and the command $ operator-sdk bundle validate <bundle-path> --select-optional suite=operatorframework.

Errors (:bug:) must be fixed while warnings (:warning:) are informative, and fixing them might improve the quality of your solution.

Type Message
🐛 Value invalid character at 4722
[
{
"apiVersion": "k8s.streamnative.io/v1alpha1",
"kind": "ApiKeys",
"metadata": {
  "labels": {
    "cloud.streamnative.io/app": "pulsar",
    "cloud.streamnative.io/cluster": "apikeys",
    "cloud.streamnative.io/component": "apikeys",
    "cloud.streamnative.io/location": "us-central1",
    "cloud.streamnative.io/poolmember-name": "gcp-shared-gcp-usce1-whale-snc",
    "cloud.streamnative.io/poolmember-namespace": "streamnative",
    "cloud.streamnative.io/pulsar-cluster": "apikeys",
    "cloud.streamnative.io/pulsar-instance": "apikeys",
    "cloud.streamnative.io/role": "apikeys",
    "istio.io/rev": "sn-stable",
    "k8s.streamnative.io/coordinator-name": "apikeys"
  },
  "name": "apikeys",
  "namespace": "pulsar"
},
"spec": {
  "image": "docker.cloudsmith.io/streamnative/sn-api-keys-svc/sn-api-keys-svc:latest",
  "brokerServiceUrl": "pulsar://apikeys-broker.guangning.svc.cluster.local:6650",
  "replicas": "1",
  "config": {
    "authenticator": {
      "acceptedAudience": "urn:sn:pulsar:guangning:apikeys",
      "enabled": true,
      "issuers": [
        "https://auth.streamnative.cloud/",
        "https://auth.sncloud-stg.dev/",
        "https://auth.test.cloud.gcp.streamnative.dev/"
      ]
    },
    "backend": {
      "pulsarTopic": "api_keys_api.example"
    },
    "server": {
      "audience": "urn:sn:pulsar:guangning:apikeys",
      "claimsToCopy": [
        "sub",
        "permissions",
        "aud",
        "scope",
        "https://streamnative.io/username"
      ],
      "currentKid": "7007ddf9-beac-4e74-8e32-f03453fea3e0"
    }
  },
  "hostname": "apikeys-49c084ec-dfaa-4aed-a879-68ae5c2d1b30.usce1-whale.test.g.sn2.dev",
  "istio": {
    "enabled": true,
    "gateway": {
      "gateways": [
        "apikeys-gateway"
      ]
    }
  }
}

},
{
"apiVersion": "k8s.streamnative.io/v1alpha1",
"kind": "ConnectorCatalog",
"metadata": {
"labels": {
"app.kubernetes.io/created-by": "sn-operator",
"app.kubernetes.io/instance": "connectorcatalog-sample",
"app.kubernetes.io/managed-by": "kustomize",
"app.kubernetes.io/name": "connectorcatalog",
"app.kubernetes.io/part-of": "sn-operator"
},
"name": "connectorcatalog-sample"
},
"spec": {
"connectorDefinitions": [
{
"description": "Test data generator connector",
"id": "pulsar-io-data-generator",
"imageRepository": "streamnative/pulsar-io-data-generator",
"imageTag": "2.9.2.17",
"name": "data-generator",
"sinkClass": "org.apache.pulsar.io.datagenerator.DataGeneratorPrintSink",
"sourceClass": "org.apache.pulsar.io.datagenerator.DataGeneratorSource",
"sourceConfigClass": "org.apache.pulsar.io.datagenerator.DataGeneratorSourceConfig",
"sourceConfigFieldDefinitions": [
{
"attributes": {
"defaultValue": "50",
"help": "How long to sleep between emitting messages",
"required": "true",
"sensitive": "false"
},
"fieldName": "sleepBetweenMessages",
"typeName": "long"
}
],
"typeClassName": "org.apache.pulsar.io.datagenerator.Person",
"version": "2.9.2.17"
},
{
"description": "Kafka Source",
"id": "pulsar-io-kafka",
"imageRepository": "streamnative/pulsar-io-kafka",
"imageTag": "2.9.2.17",
"name": "kafka",
"sourceClass": "org.apache.pulsar.io.kafka.KafkaBytesSource",
"sourceConfigClass": "org.apache.pulsar.io.kafka.KafkaSourceConfig",
"sourceTypeClassName": "java.nio.ByteBuffer",
"version": "2.9.2.17"
},
{
"description": "Cloud storage Sink",
"id": "pulsar-io-cloud-storage",
"imageRepository": "streamnative/pulsar-io-cloud-storage",
"imageTag": "2.9.2.17",
"name": "cloud-storage",
"sinkClass": "org.apache.pulsar.io.jcloud.sink.CloudStorageGenericRecordSink",
"sinkConfigClass": "org.apache.pulsar.io.jcloud.sink.CloudStorageSinkConfig",
"typeClassName": "org.apache.pulsar.client.api.schema.GenericRecord",
"version": "2.9.2.17"
}
]
}
},
{
"apiVersion": "k8s.streamnative.io/v1alpha1",
"kind": "Console",
"metadata": {
"name": "console",
"namespace": "pulsar"
"<--(see the invalid character): invalid example |
| ⚠️ | Value : (sn-operator.v0.3.0-rc.5) csv.Spec.minKubeVersion is not informed. It is recommended you provide this information. Otherwise, it would mean that your operator project can be distributed and installed in any cluster version available, which is not necessarily the case for all projects. |
| ⚠️ | Value sn-operator.v0.3.0-rc.5: this bundle is using APIs which were deprecated and removed in v1.25. More info: https://kubernetes.io/docs/reference/using-api/deprecation-guide/#v1-25. Migrate the API(s) for horizontalpodautoscalers: (["ClusterServiceVersion.Spec.InstallStrategy.StrategySpec.ClusterPermissions[0].Rules[4]"]),poddisruptionbudgets: (["ClusterServiceVersion.Spec.InstallStrategy.StrategySpec.ClusterPermissions[0].Rules[34]"]), |
| ⚠️ | Value sn-operator.v0.3.0-rc.5: this bundle is using APIs which were deprecated and removed in v1.25. More info: https://kubernetes.io/docs/reference/using-api/deprecation-guide/#v1-25. Migrate the API(s) for poddisruptionbudgets: (["ClusterServiceVersion.Spec.InstallStrategy.StrategySpec.ClusterPermissions[0].Rules[34]"]),horizontalpodautoscalers: (["ClusterServiceVersion.Spec.InstallStrategy.StrategySpec.ClusterPermissions[0].Rules[4]"]), |
| ⚠️ | Value sn-operator.v0.3.0-rc.5: unable to find the resource requests for the container: (kube-rbac-proxy). It is recommended to ensure the resource request for CPU and Memory. Be aware that for some clusters configurations it is required to specify requests or limits for those values. Otherwise, the system or quota may reject Pod creation. More info: https://master.sdk.operatorframework.io/docs/best-practices/managing-resources/ |

Signed-off-by: ericsyh <[email protected]>
Signed-off-by: ericsyh <[email protected]>
@github-actions
Copy link
Contributor

Dear @ericsyh,
Some errors and/or warnings were found while doing the check of your operator (sn-operator/0.3.0-rc.5) against the entire suite of validators for Operator Framework with Operator-SDK version v1.30.0 and the command $ operator-sdk bundle validate <bundle-path> --select-optional suite=operatorframework.

Errors (:bug:) must be fixed while warnings (:warning:) are informative, and fixing them might improve the quality of your solution.

Type Message
🐛 Value invalid character at 4723
[
{
"apiVersion": "k8s.streamnative.io/v1alpha1",
"kind": "ApiKeys",
"metadata": {
  "labels": {
    "cloud.streamnative.io/app": "pulsar",
    "cloud.streamnative.io/cluster": "apikeys",
    "cloud.streamnative.io/component": "apikeys",
    "cloud.streamnative.io/location": "us-central1",
    "cloud.streamnative.io/poolmember-name": "gcp-shared-gcp-usce1-whale-snc",
    "cloud.streamnative.io/poolmember-namespace": "streamnative",
    "cloud.streamnative.io/pulsar-cluster": "apikeys",
    "cloud.streamnative.io/pulsar-instance": "apikeys",
    "cloud.streamnative.io/role": "apikeys",
    "istio.io/rev": "sn-stable",
    "k8s.streamnative.io/coordinator-name": "apikeys"
  },
  "name": "apikeys",
  "namespace": "guangning"
},
"spec": {
  "brokerServiceUrl": "pulsar://apikeys-broker.guangning.svc.cluster.local:6650",
  "config": {
    "authenticator": {
      "acceptedAudience": "urn:sn:pulsar:guangning:apikeys",
      "enabled": true,
      "issuers": [
        "https://auth.streamnative.cloud/",
        "https://auth.sncloud-stg.dev/",
        "https://auth.test.cloud.gcp.streamnative.dev/"
      ]
    },
    "backend": {
      "pulsarTopic": "api_keys_api.example"
    },
    "server": {
      "audience": "urn:sn:pulsar:guangning:apikeys",
      "claimsToCopy": [
        "sub",
        "permissions",
        "aud",
        "scope",
        "https://streamnative.io/username"
      ],
      "currentKid": "7007ddf9-beac-4e74-8e32-f03453fea3e0"
    }
  },
  "hostname": "apikeys-49c084ec-dfaa-4aed-a879-68ae5c2d1b30.usce1-whale.test.g.sn2.dev",
  "image": "docker.cloudsmith.io/streamnative/sn-api-keys-svc/sn-api-keys-svc:latest",
  "istio": {
    "enabled": true,
    "gateway": {
      "gateways": [
        "apikeys-gateway"
      ]
    }
  },
  "replicas": 1
}

},
{
"apiVersion": "k8s.streamnative.io/v1alpha1",
"kind": "ConnectorCatalog",
"metadata": {
"labels": {
"app.kubernetes.io/created-by": "sn-operator",
"app.kubernetes.io/instance": "connectorcatalog-sample",
"app.kubernetes.io/managed-by": "kustomize",
"app.kubernetes.io/name": "connectorcatalog",
"app.kubernetes.io/part-of": "sn-operator"
},
"name": "connectorcatalog-sample"
},
"spec": {
"connectorDefinitions": [
{
"description": "Test data generator connector",
"id": "pulsar-io-data-generator",
"imageRepository": "streamnative/pulsar-io-data-generator",
"imageTag": "2.9.2.17",
"name": "data-generator",
"sinkClass": "org.apache.pulsar.io.datagenerator.DataGeneratorPrintSink",
"sourceClass": "org.apache.pulsar.io.datagenerator.DataGeneratorSource",
"sourceConfigClass": "org.apache.pulsar.io.datagenerator.DataGeneratorSourceConfig",
"sourceConfigFieldDefinitions": [
{
"attributes": {
"defaultValue": "50",
"help": "How long to sleep between emitting messages",
"required": "true",
"sensitive": "false"
},
"fieldName": "sleepBetweenMessages",
"typeName": "long"
}
],
"typeClassName": "org.apache.pulsar.io.datagenerator.Person",
"version": "2.9.2.17"
},
{
"description": "Kafka Source",
"id": "pulsar-io-kafka",
"imageRepository": "streamnative/pulsar-io-kafka",
"imageTag": "2.9.2.17",
"name": "kafka",
"sourceClass": "org.apache.pulsar.io.kafka.KafkaBytesSource",
"sourceConfigClass": "org.apache.pulsar.io.kafka.KafkaSourceConfig",
"sourceTypeClassName": "java.nio.ByteBuffer",
"version": "2.9.2.17"
},
{
"description": "Cloud storage Sink",
"id": "pulsar-io-cloud-storage",
"imageRepository": "streamnative/pulsar-io-cloud-storage",
"imageTag": "2.9.2.17",
"name": "cloud-storage",
"sinkClass": "org.apache.pulsar.io.jcloud.sink.CloudStorageGenericRecordSink",
"sinkConfigClass": "org.apache.pulsar.io.jcloud.sink.CloudStorageSinkConfig",
"typeClassName": "org.apache.pulsar.client.api.schema.GenericRecord",
"version": "2.9.2.17"
}
]
}
},
{
"apiVersion": "k8s.streamnative.io/v1alpha1",
"kind": "Console",
"metadata": {
"name": "console",
"namespace": "pulsar"
"<--(see the invalid character): invalid example |
| ⚠️ | Value : (sn-operator.v0.3.0-rc.5) csv.Spec.minKubeVersion is not informed. It is recommended you provide this information. Otherwise, it would mean that your operator project can be distributed and installed in any cluster version available, which is not necessarily the case for all projects. |
| ⚠️ | Value sn-operator.v0.3.0-rc.5: this bundle is using APIs which were deprecated and removed in v1.25. More info: https://kubernetes.io/docs/reference/using-api/deprecation-guide/#v1-25. Migrate the API(s) for horizontalpodautoscalers: (["ClusterServiceVersion.Spec.InstallStrategy.StrategySpec.ClusterPermissions[0].Rules[4]"]),poddisruptionbudgets: (["ClusterServiceVersion.Spec.InstallStrategy.StrategySpec.ClusterPermissions[0].Rules[34]"]), |
| ⚠️ | Value sn-operator.v0.3.0-rc.5: unable to find the resource requests for the container: (kube-rbac-proxy). It is recommended to ensure the resource request for CPU and Memory. Be aware that for some clusters configurations it is required to specify requests or limits for those values. Otherwise, the system or quota may reject Pod creation. More info: https://master.sdk.operatorframework.io/docs/best-practices/managing-resources/ |

@github-actions
Copy link
Contributor

Dear @ericsyh,
Some errors and/or warnings were found while doing the check of your operator (sn-operator/0.3.0-rc.5) against the entire suite of validators for Operator Framework with Operator-SDK version v1.30.0 and the command $ operator-sdk bundle validate <bundle-path> --select-optional suite=operatorframework.

Errors (:bug:) must be fixed while warnings (:warning:) are informative, and fixing them might improve the quality of your solution.

Type Message
🐛 Value invalid character at 8305
[
{
"apiVersion": "k8s.streamnative.io/v1alpha1",
"kind": "ApiKeys",
"metadata": {
  "labels": {
    "cloud.streamnative.io/app": "pulsar",
    "cloud.streamnative.io/cluster": "apikeys",
    "cloud.streamnative.io/component": "apikeys",
    "cloud.streamnative.io/location": "us-central1",
    "cloud.streamnative.io/poolmember-name": "gcp-shared-gcp-usce1-whale-snc",
    "cloud.streamnative.io/poolmember-namespace": "streamnative",
    "cloud.streamnative.io/pulsar-cluster": "apikeys",
    "cloud.streamnative.io/pulsar-instance": "apikeys",
    "cloud.streamnative.io/role": "apikeys",
    "istio.io/rev": "sn-stable",
    "k8s.streamnative.io/coordinator-name": "apikeys"
  },
  "name": "apikeys",
  "namespace": "guangning"
},
"spec": {
  "brokerServiceUrl": "pulsar://apikeys-broker.guangning.svc.cluster.local:6650",
  "config": {
    "authenticator": {
      "acceptedAudience": "urn:sn:pulsar:guangning:apikeys",
      "enabled": true,
      "issuers": [
        "https://auth.streamnative.cloud/",
        "https://auth.sncloud-stg.dev/",
        "https://auth.test.cloud.gcp.streamnative.dev/"
      ]
    },
    "backend": {
      "pulsarTopic": "api_keys_api.example"
    },
    "server": {
      "audience": "urn:sn:pulsar:guangning:apikeys",
      "claimsToCopy": [
        "sub",
        "permissions",
        "aud",
        "scope",
        "https://streamnative.io/username"
      ],
      "currentKid": "7007ddf9-beac-4e74-8e32-f03453fea3e0"
    }
  },
  "hostname": "apikeys-49c084ec-dfaa-4aed-a879-68ae5c2d1b30.usce1-whale.test.g.sn2.dev",
  "image": "docker.cloudsmith.io/streamnative/sn-api-keys-svc/sn-api-keys-svc:latest",
  "istio": {
    "enabled": true,
    "gateway": {
      "gateways": [
        "apikeys-gateway"
      ]
    }
  },
  "replicas": 1
}

},
{
"apiVersion": "k8s.streamnative.io/v1alpha1",
"kind": "ConnectorCatalog",
"metadata": {
"labels": {
"app.kubernetes.io/created-by": "sn-operator",
"app.kubernetes.io/instance": "connectorcatalog-sample",
"app.kubernetes.io/managed-by": "kustomize",
"app.kubernetes.io/name": "connectorcatalog",
"app.kubernetes.io/part-of": "sn-operator"
},
"name": "connectorcatalog-sample"
},
"spec": {
"connectorDefinitions": [
{
"description": "Test data generator connector",
"id": "pulsar-io-data-generator",
"imageRepository": "streamnative/pulsar-io-data-generator",
"imageTag": "2.9.2.17",
"name": "data-generator",
"sinkClass": "org.apache.pulsar.io.datagenerator.DataGeneratorPrintSink",
"sourceClass": "org.apache.pulsar.io.datagenerator.DataGeneratorSource",
"sourceConfigClass": "org.apache.pulsar.io.datagenerator.DataGeneratorSourceConfig",
"sourceConfigFieldDefinitions": [
{
"attributes": {
"defaultValue": "50",
"help": "How long to sleep between emitting messages",
"required": "true",
"sensitive": "false"
},
"fieldName": "sleepBetweenMessages",
"typeName": "long"
}
],
"typeClassName": "org.apache.pulsar.io.datagenerator.Person",
"version": "2.9.2.17"
},
{
"description": "Kafka Source",
"id": "pulsar-io-kafka",
"imageRepository": "streamnative/pulsar-io-kafka",
"imageTag": "2.9.2.17",
"name": "kafka",
"sourceClass": "org.apache.pulsar.io.kafka.KafkaBytesSource",
"sourceConfigClass": "org.apache.pulsar.io.kafka.KafkaSourceConfig",
"sourceTypeClassName": "java.nio.ByteBuffer",
"version": "2.9.2.17"
},
{
"description": "Cloud storage Sink",
"id": "pulsar-io-cloud-storage",
"imageRepository": "streamnative/pulsar-io-cloud-storage",
"imageTag": "2.9.2.17",
"name": "cloud-storage",
"sinkClass": "org.apache.pulsar.io.jcloud.sink.CloudStorageGenericRecordSink",
"sinkConfigClass": "org.apache.pulsar.io.jcloud.sink.CloudStorageSinkConfig",
"typeClassName": "org.apache.pulsar.client.api.schema.GenericRecord",
"version": "2.9.2.17"
}
]
}
},
{
"apiVersion": "k8s.streamnative.io/v1alpha1",
"kind": "Console",
"metadata": {
"name": "console",
"namespace": "pulsar",
"labels": {
"k8s.streamnative.io/coordinator-name": "private-cloud"
}
},
"spec": {
"image": "streamnative/private-cloud-console:v2.3.3",
"webServiceUrl": "http://brokers-broker:8080"
}
},
{
"apiVersion": "k8s.streamnative.io/v1alpha1",
"kind": "OxiaCluster",
"metadata": {
"labels": {
"app.kubernetes.io/created-by": "sn-operator",
"app.kubernetes.io/instance": "oxiacluster-sample",
"app.kubernetes.io/managed-by": "kustomize",
"app.kubernetes.io/name": "oxiacluster",
"app.kubernetes.io/part-of": "sn-operator"
},
"name": "oxiacluster-sample"
},
"spec": null
},
{
"apiVersion": "zookeeper.streamnative.io/v1alpha1",
"kind": "ZooKeeperCluster",
"metadata": {
"labels": {
"k8s.streamnative.io/coordinator-name": "private-cloud"
},
"name": "zookeepers",
"namespace": "pulsar"
},
"spec": {
"image": "streamnative/private-cloud:3.0.1.4",
"replicas": 3,
"pod": {
"resources": {
"requests": {
"cpu": "50m",
"memory": "256Mi"
}
},
"securityContext": {
"runAsNonRoot": true
}
}
}
},
{
"apiVersion": "bookkeeper.streamnative.io/v1alpha1",
"kind": "BookKeeperCluster",
"metadata": {
"labels": {
"k8s.streamnative.io/coordinator-name": "private-cloud"
},
"name": "bookies",
"namespace": "pulsar"
},
"spec": {
"image": "streamnative/private-cloud:3.0.1.4",
"replicas": 3,
"zkServers": "zookeepers-zk:2181",
"pod": {
"resources": {
"requests": {
"cpu": "200m",
"memory": "512Mi"
}
},
"securityContext": {
"runAsNonRoot": true
}
},
"storage": {
"journal": {
"numDirsPerVolume": 1,
"numVolumes": 1,
"volumeClaimTemplate": {
"accessModes": [
"ReadWriteOnce"
],
"resources": {
"requests": {
"storage": "8Gi"
}
}
}
},
"ledger": {
"numDirsPerVolume": 1,
"numVolumes": 1,
"volumeClaimTemplate": {
"accessModes": [
"ReadWriteOnce"
],
"resources": {
"requests": {
"storage": "16Gi"
}
}
}
}
}
}
},
{
"apiVersion": "pulsar.streamnative.io/v1alpha1",
"kind": "PulsarBroker",
"metadata": {
"labels": {
"k8s.streamnative.io/coordinator-name": "private-cloud"
},
"name": "brokers",
"namespace": "pulsar"
},
"spec": {
"image": "streamnative/private-cloud:3.0.1.4",
"replicas": 2,
"zkServers": "zookeepers-zk:2181",
"pod": {
"resources": {
"requests": {
"cpu": "200m",
"memory": "512Mi"
}
},
"securityContext": {
"runAsNonRoot": true
}
}
}
},
{
"apiVersion": "pulsar.streamnative.io/v1alpha1",
"kind": "PulsarProxy",
"metadata": {
"labels": {
"k8s.streamnative.io/coordinator-name": "private-cloud"
},
"name": "proxys",
"namespace": "default"
},
"spec": {
"image": "streamnative/private-cloud:3.0.1.4",
"brokerAddress": "brokers-broker",
"replicas": 2
"<--(see the invalid character): invalid example |
| ⚠️ | Value : (sn-operator.v0.3.0-rc.5) csv.Spec.minKubeVersion is not informed. It is recommended you provide this information. Otherwise, it would mean that your operator project can be distributed and installed in any cluster version available, which is not necessarily the case for all projects. |
| ⚠️ | Value sn-operator.v0.3.0-rc.5: this bundle is using APIs which were deprecated and removed in v1.25. More info: https://kubernetes.io/docs/reference/using-api/deprecation-guide/#v1-25. Migrate the API(s) for horizontalpodautoscalers: (["ClusterServiceVersion.Spec.InstallStrategy.StrategySpec.ClusterPermissions[0].Rules[4]"]),poddisruptionbudgets: (["ClusterServiceVersion.Spec.InstallStrategy.StrategySpec.ClusterPermissions[0].Rules[34]"]), |
| ⚠️ | Value sn-operator.v0.3.0-rc.5: unable to find the resource requests for the container: (kube-rbac-proxy). It is recommended to ensure the resource request for CPU and Memory. Be aware that for some clusters configurations it is required to specify requests or limits for those values. Otherwise, the system or quota may reject Pod creation. More info: https://master.sdk.operatorframework.io/docs/best-practices/managing-resources/ |

Signed-off-by: ericsyh <[email protected]>
@github-actions
Copy link
Contributor

Dear @ericsyh,
Some errors and/or warnings were found while doing the check of your operator (sn-operator/0.3.0-rc.5) against the entire suite of validators for Operator Framework with Operator-SDK version v1.30.0 and the command $ operator-sdk bundle validate <bundle-path> --select-optional suite=operatorframework.

Errors (:bug:) must be fixed while warnings (:warning:) are informative, and fixing them might improve the quality of your solution.

Type Message
🐛 Value invalid character at 8700
[
{
"apiVersion": "k8s.streamnative.io/v1alpha1",
"kind": "ApiKeys",
"metadata": {
  "labels": {
    "cloud.streamnative.io/app": "pulsar",
    "cloud.streamnative.io/cluster": "apikeys",
    "cloud.streamnative.io/component": "apikeys",
    "cloud.streamnative.io/location": "us-central1",
    "cloud.streamnative.io/poolmember-name": "gcp-shared-gcp-usce1-whale-snc",
    "cloud.streamnative.io/poolmember-namespace": "streamnative",
    "cloud.streamnative.io/pulsar-cluster": "apikeys",
    "cloud.streamnative.io/pulsar-instance": "apikeys",
    "cloud.streamnative.io/role": "apikeys",
    "istio.io/rev": "sn-stable",
    "k8s.streamnative.io/coordinator-name": "apikeys"
  },
  "name": "apikeys",
  "namespace": "guangning"
},
"spec": {
  "brokerServiceUrl": "pulsar://apikeys-broker.guangning.svc.cluster.local:6650",
  "config": {
    "authenticator": {
      "acceptedAudience": "urn:sn:pulsar:guangning:apikeys",
      "enabled": true,
      "issuers": [
        "https://auth.streamnative.cloud/",
        "https://auth.sncloud-stg.dev/",
        "https://auth.test.cloud.gcp.streamnative.dev/"
      ]
    },
    "backend": {
      "pulsarTopic": "api_keys_api.example"
    },
    "server": {
      "audience": "urn:sn:pulsar:guangning:apikeys",
      "claimsToCopy": [
        "sub",
        "permissions",
        "aud",
        "scope",
        "https://streamnative.io/username"
      ],
      "currentKid": "7007ddf9-beac-4e74-8e32-f03453fea3e0"
    }
  },
  "hostname": "apikeys-49c084ec-dfaa-4aed-a879-68ae5c2d1b30.usce1-whale.test.g.sn2.dev",
  "image": "docker.cloudsmith.io/streamnative/sn-api-keys-svc/sn-api-keys-svc:latest",
  "istio": {
    "enabled": true,
    "gateway": {
      "gateways": [
        "apikeys-gateway"
      ]
    }
  },
  "replicas": 1
}

},
{
"apiVersion": "k8s.streamnative.io/v1alpha1",
"kind": "ConnectorCatalog",
"metadata": {
"labels": {
"app.kubernetes.io/created-by": "sn-operator",
"app.kubernetes.io/instance": "connectorcatalog-sample",
"app.kubernetes.io/managed-by": "kustomize",
"app.kubernetes.io/name": "connectorcatalog",
"app.kubernetes.io/part-of": "sn-operator"
},
"name": "connectorcatalog-sample"
},
"spec": {
"connectorDefinitions": [
{
"description": "Test data generator connector",
"id": "pulsar-io-data-generator",
"imageRepository": "streamnative/pulsar-io-data-generator",
"imageTag": "2.9.2.17",
"name": "data-generator",
"sinkClass": "org.apache.pulsar.io.datagenerator.DataGeneratorPrintSink",
"sourceClass": "org.apache.pulsar.io.datagenerator.DataGeneratorSource",
"sourceConfigClass": "org.apache.pulsar.io.datagenerator.DataGeneratorSourceConfig",
"sourceConfigFieldDefinitions": [
{
"attributes": {
"defaultValue": "50",
"help": "How long to sleep between emitting messages",
"required": "true",
"sensitive": "false"
},
"fieldName": "sleepBetweenMessages",
"typeName": "long"
}
],
"typeClassName": "org.apache.pulsar.io.datagenerator.Person",
"version": "2.9.2.17"
},
{
"description": "Kafka Source",
"id": "pulsar-io-kafka",
"imageRepository": "streamnative/pulsar-io-kafka",
"imageTag": "2.9.2.17",
"name": "kafka",
"sourceClass": "org.apache.pulsar.io.kafka.KafkaBytesSource",
"sourceConfigClass": "org.apache.pulsar.io.kafka.KafkaSourceConfig",
"sourceTypeClassName": "java.nio.ByteBuffer",
"version": "2.9.2.17"
},
{
"description": "Cloud storage Sink",
"id": "pulsar-io-cloud-storage",
"imageRepository": "streamnative/pulsar-io-cloud-storage",
"imageTag": "2.9.2.17",
"name": "cloud-storage",
"sinkClass": "org.apache.pulsar.io.jcloud.sink.CloudStorageGenericRecordSink",
"sinkConfigClass": "org.apache.pulsar.io.jcloud.sink.CloudStorageSinkConfig",
"typeClassName": "org.apache.pulsar.client.api.schema.GenericRecord",
"version": "2.9.2.17"
}
]
}
},
{
"apiVersion": "k8s.streamnative.io/v1alpha1",
"kind": "Console",
"metadata": {
"name": "console",
"namespace": "pulsar",
"labels": {
"k8s.streamnative.io/coordinator-name": "private-cloud"
}
},
"spec": {
"image": "streamnative/private-cloud-console:v2.3.3",
"webServiceUrl": "http://brokers-broker:8080"
}
},
{
"apiVersion": "k8s.streamnative.io/v1alpha1",
"kind": "OxiaCluster",
"metadata": {
"labels": {
"app.kubernetes.io/created-by": "sn-operator",
"app.kubernetes.io/instance": "oxiacluster-sample",
"app.kubernetes.io/managed-by": "kustomize",
"app.kubernetes.io/name": "oxiacluster",
"app.kubernetes.io/part-of": "sn-operator"
},
"name": "oxiacluster-sample"
},
"spec": null
},
{
"apiVersion": "zookeeper.streamnative.io/v1alpha1",
"kind": "ZooKeeperCluster",
"metadata": {
"labels": {
"k8s.streamnative.io/coordinator-name": "private-cloud"
},
"name": "zookeepers",
"namespace": "pulsar"
},
"spec": {
"image": "streamnative/private-cloud:3.0.1.4",
"replicas": 3,
"pod": {
"resources": {
"requests": {
"cpu": "50m",
"memory": "256Mi"
}
},
"securityContext": {
"runAsNonRoot": true
}
}
}
},
{
"apiVersion": "bookkeeper.streamnative.io/v1alpha1",
"kind": "BookKeeperCluster",
"metadata": {
"labels": {
"k8s.streamnative.io/coordinator-name": "private-cloud"
},
"name": "bookies",
"namespace": "pulsar"
},
"spec": {
"image": "streamnative/private-cloud:3.0.1.4",
"replicas": 3,
"zkServers": "zookeepers-zk:2181",
"pod": {
"resources": {
"requests": {
"cpu": "200m",
"memory": "512Mi"
}
},
"securityContext": {
"runAsNonRoot": true
}
},
"storage": {
"journal": {
"numDirsPerVolume": 1,
"numVolumes": 1,
"volumeClaimTemplate": {
"accessModes": [
"ReadWriteOnce"
],
"resources": {
"requests": {
"storage": "8Gi"
}
}
}
},
"ledger": {
"numDirsPerVolume": 1,
"numVolumes": 1,
"volumeClaimTemplate": {
"accessModes": [
"ReadWriteOnce"
],
"resources": {
"requests": {
"storage": "16Gi"
}
}
}
}
}
}
},
{
"apiVersion": "pulsar.streamnative.io/v1alpha1",
"kind": "PulsarBroker",
"metadata": {
"labels": {
"k8s.streamnative.io/coordinator-name": "private-cloud"
},
"name": "brokers",
"namespace": "pulsar"
},
"spec": {
"image": "streamnative/private-cloud:3.0.1.4",
"replicas": 2,
"zkServers": "zookeepers-zk:2181",
"pod": {
"resources": {
"requests": {
"cpu": "200m",
"memory": "512Mi"
}
},
"securityContext": {
"runAsNonRoot": true
}
}
}
},
{
"apiVersion": "pulsar.streamnative.io/v1alpha1",
"kind": "PulsarProxy",
"metadata": {
"labels": {
"k8s.streamnative.io/coordinator-name": "private-cloud"
},
"name": "proxys",
"namespace": "default"
},
"spec": {
"image": "streamnative/private-cloud:3.0.1.4",
"brokerAddress": "brokers-broker",
"replicas": 2,
"pod": {
"resources": {
"requests": {
"cpu": "200m",
"memory": "512Mi"
}
},
"securityContext": {
"runAsNonRoot": true
}
}
}
},
{
"apiVersion": "k8s.streamnative.io/v1alpha1",
"kind": "PulsarCoordinator",
"metadata": {
"name": "private-cloud",
"namespace": "pulsar",
}<--(see the invalid character): invalid example |
| ⚠️ | Value : (sn-operator.v0.3.0-rc.5) csv.Spec.minKubeVersion is not informed. It is recommended you provide this information. Otherwise, it would mean that your operator project can be distributed and installed in any cluster version available, which is not necessarily the case for all projects. |
| ⚠️ | Value sn-operator.v0.3.0-rc.5: this bundle is using APIs which were deprecated and removed in v1.25. More info: https://kubernetes.io/docs/reference/using-api/deprecation-guide/#v1-25. Migrate the API(s) for horizontalpodautoscalers: (["ClusterServiceVersion.Spec.InstallStrategy.StrategySpec.ClusterPermissions[0].Rules[4]"]),poddisruptionbudgets: (["ClusterServiceVersion.Spec.InstallStrategy.StrategySpec.ClusterPermissions[0].Rules[34]"]), |
| ⚠️ | Value sn-operator.v0.3.0-rc.5: unable to find the resource requests for the container: (kube-rbac-proxy). It is recommended to ensure the resource request for CPU and Memory. Be aware that for some clusters configurations it is required to specify requests or limits for those values. Otherwise, the system or quota may reject Pod creation. More info: https://master.sdk.operatorframework.io/docs/best-practices/managing-resources/ |

Signed-off-by: ericsyh <[email protected]>
@framework-automation
Copy link
Collaborator

/merge possible

@framework-automation
Copy link
Collaborator

/merge possible

@framework-automation framework-automation merged commit bea6f81 into k8s-operatorhub:main Oct 22, 2023
@ericsyh ericsyh deleted the update-example branch May 29, 2024 05:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

4 participants