{"id":13572825,"url":"https://github.com/janus-idp/operator","last_synced_at":"2025-04-04T11:30:50.040Z","repository":{"id":211923304,"uuid":"712887917","full_name":"janus-idp/operator","owner":"janus-idp","description":"Operator for Backstage, based on the Operator SDK framework","archived":false,"fork":false,"pushed_at":"2024-04-12T17:15:20.000Z","size":1920,"stargazers_count":9,"open_issues_count":38,"forks_count":11,"subscribers_count":7,"default_branch":"main","last_synced_at":"2024-04-12T20:20:53.780Z","etag":null,"topics":["backstage","backstage-operator","janus-idp","kubernetes","kubernetes-operator","kubernetes-operator-sdk","kubernetes-operators","openshift","operator","operator-sdk"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/janus-idp.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,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-11-01T12:11:45.000Z","updated_at":"2024-04-15T15:20:48.335Z","dependencies_parsed_at":"2023-12-18T13:46:58.115Z","dependency_job_id":"8de3115c-5723-43c4-a30d-049ee3f16e13","html_url":"https://github.com/janus-idp/operator","commit_stats":null,"previous_names":["janus-idp/operator"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/janus-idp%2Foperator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/janus-idp%2Foperator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/janus-idp%2Foperator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/janus-idp%2Foperator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/janus-idp","download_url":"https://codeload.github.com/janus-idp/operator/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247169966,"owners_count":20895386,"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":["backstage","backstage-operator","janus-idp","kubernetes","kubernetes-operator","kubernetes-operator-sdk","kubernetes-operators","openshift","operator","operator-sdk"],"created_at":"2024-08-01T15:00:21.370Z","updated_at":"2025-04-04T11:30:45.034Z","avatar_url":"https://github.com/janus-idp.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"# Backstage Operator\n\n## DEPRECATION WARNING\n\nAs of August 2024, this repo is deprecated and read-only.\n\nPlease continue to work on this project in the following places:\n\n* Code has moved to https://github.com/redhat-developer/rhdh-operator\n* Issues can be reported at https://issues.redhat.com/browse/RHIDP\n* CI images can be found at https://quay.io/repository/rhdh/rhdh-rhel9-operator?tab=info\n\n\n## The Goal\nThe Goal of [Backstage](https://backstage.io) Operator project is creating Kubernetes Operator for configuring, installing and synchronizing Backstage instance on Kubernetes/OpenShift. \nThe initial target is in support of Red Hat's assemblies of Backstage - specifically supporting [dynamic-plugins](https://github.com/janus-idp/backstage-showcase/blob/main/showcase-docs/dynamic-plugins.md) on OpenShift. This includes [Red Hat Developer Hub (RHDH)](https://developers.redhat.com/rhdh) but may be flexible enough to install any compatible Backstage instance on Kubernetes. See additional information under [Configuration](docs/configuration.md).\nThe Operator provides clear and flexible configuration options to satisfy a wide range of expectations, from \"no  configuration for default quick start\" to \"highly customized configuration for production\".\n\n[More documentation...](#more-documentation)\n\n## Getting Started\nYou’ll need a Kubernetes or OpenShift cluster. You can use [Minikube](https://minikube.sigs.k8s.io/docs/) or [KIND](https://sigs.k8s.io/kind) for local testing, or deploy to a remote cluster.\n**Note:** Your controller will automatically use the current context in your kubeconfig file (i.e. whatever cluster `kubectl cluster-info` shows).\n\nTo test it on minikube from the source code:\n\nBoth **kubectl** and **minikube** must be installed. See [tools](https://kubernetes.io/docs/tasks/tools/).\n\n1.  Get your copy of Operator from GitHub: \n```sh\ngit clone https://github.com/janus-idp/operator\n```\n2. Deploy Operator on the minikube cluster:\n```sh\ncd \u003cyour-rhdh-operator-project-dir\u003e\nmake deploy\n```\nyou can check if the Operator pod is up by running \n```sh\nkubectl get pods -n backstage-system\nIt should be something like:\nNAME                                           READY   STATUS    RESTARTS   AGE\nbackstage-controller-manager-cfc44bdfd-xzk8g   2/2     Running   0          32s\n```\n3. Create Backstage Custom resource on some namespace (make sure this namespace exists)\n```sh\nkubectl -n \u003cyour-namespace\u003e apply -f examples/bs1.yaml\n```\nyou can check if the Operand pods are up by running\n```sh\nkubectl get pods -n \u003cyour-namespace\u003e\nIt should be something like:\nNAME                         READY   STATUS    RESTARTS   AGE\nbackstage-85fc4657b5-lqk6r   1/1     Running   0          78s\nbackstage-psql-bs1-0         1/1     Running   0          79s\n\n```\n4. Tunnel Backstage Service and get URL for access Backstage\n```sh\nminikube service -n \u003cyour-namespace\u003e backstage --url\nOutput:\n\u003ehttp://127.0.0.1:53245\n```\n5. Access your Backstage instance in your browser using this URL. \n\n## More documentation\n\n- [Openshift deployment](docs/openshift.md)\n- [Configuration](docs/configuration.md)\n- [Developer Guide](docs/developer.md)\n- [Operator Design](docs/developer.md)\n\n## Telemetry data collection\n\nThe telemetry data collection feature is enabled by default. The default configuration uses image with backstage-plugin-analytics-provider-segment plugin enabled and configured. To disable this and to learn what data is being collected, see https://github.com/janus-idp/backstage-showcase/blob/main/showcase-docs/getting-started.md#telemetry-collection \n\n## License\n\nCopyright 2023 Red Hat Inc.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjanus-idp%2Foperator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjanus-idp%2Foperator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjanus-idp%2Foperator/lists"}