{"id":21475146,"url":"https://github.com/snapp-incubator/snappcloud-hub","last_synced_at":"2025-07-15T09:32:17.978Z","repository":{"id":195716917,"uuid":"693069585","full_name":"snapp-incubator/snappcloud-hub","owner":"snapp-incubator","description":null,"archived":false,"fork":false,"pushed_at":"2024-01-07T09:08:39.000Z","size":109,"stargazers_count":13,"open_issues_count":0,"forks_count":0,"subscribers_count":6,"default_branch":"main","last_synced_at":"2024-01-07T10:29:29.111Z","etag":null,"topics":["k8s","olm","operator","snappcloud"],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/snapp-incubator.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-09-18T09:32:53.000Z","updated_at":"2023-12-19T16:31:43.000Z","dependencies_parsed_at":null,"dependency_job_id":"76eb56d1-ebc1-48fc-a2c5-8aeeaf5d5080","html_url":"https://github.com/snapp-incubator/snappcloud-hub","commit_stats":null,"previous_names":["snapp-incubator/snappcloud-hub"],"tags_count":1,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snapp-incubator%2Fsnappcloud-hub","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snapp-incubator%2Fsnappcloud-hub/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snapp-incubator%2Fsnappcloud-hub/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snapp-incubator%2Fsnappcloud-hub/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/snapp-incubator","download_url":"https://codeload.github.com/snapp-incubator/snappcloud-hub/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":226033302,"owners_count":17563125,"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":["k8s","olm","operator","snappcloud"],"created_at":"2024-11-23T10:37:51.193Z","updated_at":"2024-11-23T10:37:51.749Z","avatar_url":"https://github.com/snapp-incubator.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Snappcloud-hub\n\nThis repostiroy provides needed configurations for the Snappcloud-hub catalog source and its subscriptions. This catalog is generated and maintained using the [catalog tamplate](https://olm.operatorframework.io/docs/tasks/creating-a-catalog/#catalog-creation-using-catalog-templates) method.\n\n## Usage\n\n### Prerequisites\n\n- opm v1.23.1+\n\n### Preparing the index\n\nFirst you should prepare the index of the catalog source regarding your operator either it's new or already cataloged.\n\n#### Add a new operator\n\nIn order to add a new operator to the catalog source, first make sure that the latest operator docker image and its bundle are pushed to a docker registry. Then follow these steps:\n\n1. Consider your operator name as `\u003cOPERATOR-NAME\u003e`\n2. Create a template file in `templates/\u003cOPERATOR-NAME\u003e.yaml` directory\n3. Fulfill it with data like this and modify it regarding the operator docker registry uri and its bundled versions.\n\n    ```yaml\n    GenerateMajorChannels: true\n    GenerateMinorChannels: false\n    Stable:\n    Bundles:\n    - Image: repository-uri/\u003cOPERATOR-NAME\u003e-bundle:v0.8.9\n    - Image: repository-uri/\u003cOPERATOR-NAME\u003e-bundle:v0.9.0\n    ```\n\n4. Render the template:\n\n    ```bash\n    $ opm alpha render-veneer semver -o yaml \u003c templates/\u003cOPERATOR-NAME\u003e.yaml \u003e catalog/\u003cOPERATOR-NAME\u003e/index.yaml\n    ```\n\n5. Validate the catalog:\n\n    ```bash\n    $ opm validate catalog\n    ```\n\n## Upgrade an operator\n\nTo upgrade an already-cataloged operator, follow these steps:\n\n1. Modify the operator template file in `templates/\u003cOPERATOR-NAME\u003e.yaml` directory and add the new bundle version to your desired channel in the template. (i.e. candidate, fast, stable)\n\n2. Render the template:\n\n    ```bash\n    $ opm alpha render-veneer semver -o yaml \u003c templates/\u003cOPERATOR-NAME\u003e.yaml \u003e catalog/\u003cOPERATOR-NAME\u003e/index.yaml\n    ```\n\n3. Validate the catalog:\n\n    ```bash\n    $ opm validate catalog\n    ```\n\n### Catalog Docker image\n\nNow build the catalog docker image:\n\n```bash\n$ docker build -t \u003cregistry-uri\u003e/snappcloud-hub-catalog:latest\n```\n\nAnd push it:\n\n```bash\n$ docker push \u003cregistry-uri\u003e/snappcloud-hub-catalog:latest\n```\n\n### Apply the catalog source\n\nThe catalog source must be applied on the Kubernetes cluster if haven't been done already:\n\n```bash\nkubectl apply -f catalog-source.yaml\n```\n\n### Subscription\n\nCreate a subscription file for your operator and apply it on the cluster:\n\n```bash\nkubectl apply -f s3-operator-subcscription.yaml\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnapp-incubator%2Fsnappcloud-hub","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsnapp-incubator%2Fsnappcloud-hub","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnapp-incubator%2Fsnappcloud-hub/lists"}