{"id":26256498,"url":"https://github.com/netcracker/qubership-opensearch","last_synced_at":"2026-05-16T20:06:02.685Z","repository":{"id":269388965,"uuid":"890313504","full_name":"Netcracker/qubership-opensearch","owner":"Netcracker","description":null,"archived":false,"fork":false,"pushed_at":"2026-01-19T11:41:42.000Z","size":7177,"stargazers_count":4,"open_issues_count":47,"forks_count":9,"subscribers_count":7,"default_branch":"main","last_synced_at":"2026-01-19T17:51:16.369Z","etag":null,"topics":["opensearch","qubership-infra","saqs"],"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/Netcracker.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE-OF-CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-11-18T11:07:53.000Z","updated_at":"2025-12-23T10:10:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"ccf2ac18-0588-4f6b-95d1-0fc968bd00d8","html_url":"https://github.com/Netcracker/qubership-opensearch","commit_stats":null,"previous_names":["netcracker/qubership-opensearch","netcracker/opensearch-service"],"tags_count":25,"template":false,"template_full_name":null,"purl":"pkg:github/Netcracker/qubership-opensearch","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Netcracker%2Fqubership-opensearch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Netcracker%2Fqubership-opensearch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Netcracker%2Fqubership-opensearch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Netcracker%2Fqubership-opensearch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Netcracker","download_url":"https://codeload.github.com/Netcracker/qubership-opensearch/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Netcracker%2Fqubership-opensearch/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28771524,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-26T08:38:24.014Z","status":"ssl_error","status_checked_at":"2026-01-26T08:38:22.080Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["opensearch","qubership-infra","saqs"],"created_at":"2025-03-13T20:18:19.356Z","updated_at":"2026-05-16T20:06:02.678Z","avatar_url":"https://github.com/Netcracker.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Qubership OpenSearch\n\nQubership OpenSearch is a comprehensive solution for deploying OpenSearch in Kubernetes with High Availability (HA), Disaster Recovery (DR), and Multi-AZ setups.\nIncludes tools for backup management, monitoring, database as a service API and integration testing to ensure reliable operation and security.\nDesigned for creating resilient and secure OpenSearch clusters in a cloud-native environment.\n\n![Application Overview](/docs/public/images/opensearch_components_overview.drawio.png)\n\n## Documentation\n\n* [Architecture guide](/docs/public/architecture.md).\n* [Installation guide](/docs/public/installation.md).\n* [Monitoring guide](/docs/public/monitoring.md)\n* [Troubleshooting guide](/docs/public/troubleshooting.md).\n* [Internal Developer Guide](/docs/internal/developing.md).\n* [Guides](/docs/public).\n* [Quick Start](/operator/charts/helm/opensearch-service/README.md).\n\n## Repository structure\n\n* `./operator/charts` - directory with main HELM chart for OpenSearch and integration tests.\n* `./operator/config` - directory with YAML resources for operator framework.\n* `./operator/controllers` - directory with operator's Golang source code which implements controller functionality.\n* `./operator/dev-kit` - directory with scripts for working with Golang Operator Framework.\n* `./operator/disasterrecovery` - directory with operator's Golang source code which implements disaster recovery functionality.\n* `./docs` - directory with actual documentation for OpenSearch service component.\n* `./integration-tests` - directory with Robot Framework test cases for OpenSearch.\n* `./tls-init` - directory with source code, Dockerfile and CI/CD config files for `tls-init` job.\n* `./operator/utils` - directory with operator's Golang source code which implements common functions.\n\n## How to start\n\n### Deploy to k8s\n\n#### Pure helm\n\n1. Build operator and integration tests, if you need non-main versions.\n2. Prepare kubeconfig on you host machine to work with target cluster.\n3. Prepare `sample.yaml` file with deployment parameters, which should contains custom docker images if it is needed.\n4. Store `sample.yaml` file in `/charts/helm/opensearch-service` directory.\n5. Go to `/charts/helm/opensearch-service` directory.\n6. Run the following command:\n\n  ```sh\n  helm install opensearch-service ./ -f sample.yaml -n \u003cTARGET_NAMESPACE\u003e\n  ```\n\n### Integration tests and ATP Storage (S3)\n\nIntegration tests can optionally upload results to an S3-compatible storage (ATP Storage).\n\nThe defaults are defined in `operator/charts/helm/opensearch-service/values.yaml` under `integrationTests`:\n\n- `integrationTests.atpReport.enabled`: `false` - when `false`, ATP S3-related environment variables are not passed to the pod\n- `integrationTests.atpReport.atpStorage.bucket`: `\"\"` - when empty, S3 upload is disabled and results stay local\n- `integrationTests.atpReport.atpStorage.serverUrl`: `\"https://s3.amazonaws.com\"`\n- `integrationTests.atpReport.atpStorage.serverUiUrl`: `\"\"`\n- `integrationTests.atpReport.atpStorage.region`: `\"us-east-1\"`\n- `integrationTests.environmentName`: `\"opensearch\"`\n- `integrationTests.atpReportViewUiUrl`: `\"\"`\n\nTo enable upload, set `integrationTests.atpReport.enabled` to `true` and configure at least `integrationTests.atpReport.atpStorage.bucket` and credentials:\n\n- `integrationTests.atpReport.atpStorage.username`\n- `integrationTests.atpReport.atpStorage.password`\n\n### Smoke tests\n\nThere is no smoke tests.\n\n### How to debug\n\n#### VSCode\n\nTo debug Operator in VSCode you can use `Launch operator` configuration which is already defined in \n`.vscode/launch.json` file.\n\nThe developer should configure environment variables: \n\n* `KUBECONFIG` - developer should **need to define** `KUBECONFIG` environment variable\n  which should contains path to the kube-config file. It can be defined on configuration level\n  or on the level of user's environment variables.\n* `OPENSEARCH_USERNAME` - username for REST API access.\n* `OPENSEARCH_PASSWORD` - password for REST API access.\n* `OPENSEARCH_HOST` - OpenSearch's Ingress.\n* `OPENSEARCH_NAME`, `WATCH_NAMESPACE`.\n\n### How to troubleshoot\n\nThere are no well-defined rules for troubleshooting, as each task is unique, but there are some tips that can do:\n\n* Deploy parameters.\n* Application manifest.\n* Logs from all OpenSearch service pods: operator, OpenSearch, monitoring and others.\n\nAlso, developer can take a look on [Troubleshooting guide](/docs/public/troubleshooting.md).\n\n## Evergreen strategy\n\nTo keep the component up to date, the following activities should be performed regularly:\n\n* Vulnerabilities fixing.\n* OpenSearch upgrade.\n* Bug-fixing, improvement and feature implementation for operator and other related supplementary services.\n\n## Useful links\n\n* [OpenSearch Doc Portal](https://opensearch.org/docs/latest/)\n* [Internal Developer Guide](/docs/internal/developing.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetcracker%2Fqubership-opensearch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnetcracker%2Fqubership-opensearch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetcracker%2Fqubership-opensearch/lists"}