{"id":19230527,"url":"https://github.com/ctron/iot-simulator-operator","last_synced_at":"2025-10-23T02:29:43.827Z","repository":{"id":41178056,"uuid":"169086300","full_name":"ctron/iot-simulator-operator","owner":"ctron","description":"Kubernetes operator for the IoT simulator","archived":false,"fork":false,"pushed_at":"2020-01-27T09:49:11.000Z","size":24232,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"develop","last_synced_at":"2025-04-01T08:11:56.271Z","etag":null,"topics":["iot","kubernetes","operator"],"latest_commit_sha":null,"homepage":"https://dentrassi.de/iot-simulator","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"epl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ctron.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-02-04T13:57:40.000Z","updated_at":"2023-09-23T14:29:36.000Z","dependencies_parsed_at":"2022-08-18T23:10:40.229Z","dependency_job_id":null,"html_url":"https://github.com/ctron/iot-simulator-operator","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctron%2Fiot-simulator-operator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctron%2Fiot-simulator-operator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctron%2Fiot-simulator-operator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctron%2Fiot-simulator-operator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ctron","download_url":"https://codeload.github.com/ctron/iot-simulator-operator/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249990905,"owners_count":21357168,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["iot","kubernetes","operator"],"created_at":"2024-11-09T15:39:43.055Z","updated_at":"2025-10-23T02:29:38.773Z","avatar_url":"https://github.com/ctron.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# IoT Simulator Operator\n\nThis is the Kubernetes operator repository for the IoT simulator.\n\nSee https://github.com/ctron/hono-simulator for more information.\n\n## Creating a simulator\n\nFirst you need to create a simulator base, assuming that your cluster\napps base domain is `apps.your.cluster` and the project you\ndeployed EnMasse to the project `enmasse-infra` and the IoT simulator\nto the project `iot-simulator`:\n\n~~~yaml\nkind: Simulator\napiVersion: iot.dentrassi.de/v1alpha1\nmetadata:\n  name: hono1\nspec:\n  endpoint:\n    adapters:\n      http:\n        url: https://iot-http-adapter-enmasse-infra.apps.your.cluster\n      mqtt:\n        host: iot-mqtt-adapter-enmasse-infra.apps.your.cluster\n        port: 443\n    messaging:\n      caCertificate: \u003cbase64 encoded PKCS#1/PEM cert\u003e\n      host: messaging-\u003cinfraUUID\u003e.enmasse-infra.svc\n      port: 5671\n      user: consumer\n      password: foobar\n    registry:\n      url: https://device-registry.apps.your.cluster\n~~~\n\nNext you need a consumer, created for the IoT tenant `iot-simulator.iot`:\n\n~~~yaml\nkind: SimulatorConsumer\napiVersion: iot.dentrassi.de/v1alpha1\nmetadata:\n  name: consumer1\nspec:\n  replicas: 1\n  simulator: hono1\n  tenant: iot-simulator.iot\n  type: telemetry\n~~~\n\nThen you can create a producer:\n\n~~~yaml\nkind: SimulatorProducer\napiVersion: iot.dentrassi.de/v1alpha1\nmetadata:\n  name: producer1\nspec:\n  numberOfDevices: 10\n  protocol: http\n  replicas: 1\n  simulator: hono1\n  tenant: iot-simulator.iot\n  type: telemetry\n~~~\n\n## OpenShift\n\nWhen running in OpenShift, the operator will automatically set up ImageStreams,\nBuilds and Routes.\n\n### Routes\n\nYou should be able to see statistics on the Web UI\n\u003chttps://iot-simulator-console-iot-simulator.apps.your.cluster/\u003e, as soon as\nyou created producers and consumers.\n\n### Builds\n\nBy default it will build the matching version from the original repository.\n\nHowever you can use the `Simulator` custom resource, to let the operator\ntweak the build. You may use this to try you own variations of the simulator.\n\n~~~yaml\nkind: Simulator\napiVersion: iot.dentrassi.de/v1alpha1\nmetadata:\n  name: hono1\nspec:\n  simulator:\n    builds:\n      hono-simulator:\n        git:\n          # Full configuration\n          uri: https://github.com/ctron/hono-simulator\n          ref: develop\n      iot-simulator-console:\n        git:\n          # Only change branch\n          ref: develop\n~~~\n\n## Building for OLM\n\n~~~\ndocker build -t docker.io/ctron/iot-simulator-source:latest -f catalog.Dockerfile .\n~~~\n\nLoad with `oc apply -f`:\n\n~~~yaml\napiVersion: operators.coreos.com/v1alpha1\nkind: CatalogSource\nmetadata:\n  name: iot-simulator-source\n  namespace: default\nspec:\n  sourceType: grpc\n  image: docker.io/ctron/iot-simulator-source:latest\n~~~\n\nAlso see:\n\n* https://github.com/operator-framework/operator-registry#building-a-catalog-of-operators-using-operator-registry\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fctron%2Fiot-simulator-operator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fctron%2Fiot-simulator-operator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fctron%2Fiot-simulator-operator/lists"}