{"id":21017076,"url":"https://github.com/cloudalchemy/ansible-cortex","last_synced_at":"2025-05-15T05:33:33.392Z","repository":{"id":41320802,"uuid":"295776331","full_name":"cloudalchemy/ansible-cortex","owner":"cloudalchemy","description":null,"archived":false,"fork":false,"pushed_at":"2024-10-29T14:22:27.000Z","size":43,"stargazers_count":4,"open_issues_count":2,"forks_count":7,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-10-29T17:33:01.117Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cloudalchemy.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","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,"publiccode":null,"codemeta":null}},"created_at":"2020-09-15T15:49:40.000Z","updated_at":"2022-01-10T15:01:58.000Z","dependencies_parsed_at":"2024-01-05T15:35:44.319Z","dependency_job_id":"bf002efd-7882-4f3e-9671-3c390ecf7fc2","html_url":"https://github.com/cloudalchemy/ansible-cortex","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":"cloudalchemy/skeleton","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudalchemy%2Fansible-cortex","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudalchemy%2Fansible-cortex/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudalchemy%2Fansible-cortex/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudalchemy%2Fansible-cortex/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cloudalchemy","download_url":"https://codeload.github.com/cloudalchemy/ansible-cortex/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225332349,"owners_count":17457710,"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":[],"created_at":"2024-11-19T10:17:47.016Z","updated_at":"2024-11-19T10:17:47.702Z","avatar_url":"https://github.com/cloudalchemy.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ansible Role: cortex\n\n[![Build Status](https://travis-ci.com/cloudalchemy/ansible-cortex.svg?branch=master)](https://travis-ci.com/cloudalchemy/ansible-cortex)\n[![License](https://img.shields.io/badge/license-MIT%20License-brightgreen.svg)](https://opensource.org/licenses/MIT)\n[![Ansible Role](https://img.shields.io/badge/ansible%20role-cloudalchemy.cortex-blue.svg)](https://galaxy.ansible.com/cloudalchemy/cortex/)\n[![GitHub tag](https://img.shields.io/github/tag/cloudalchemy/ansible-cortex.svg)](https://github.com/cloudalchemy/ansible-cortex/tags)\n\n## Description\n\nDeploy [cortex](https://github.com/cortexproject/cortex) using ansible.\n\n## Requirements\n\n- Ansible \u003e= 2.7 (It might work on previous versions, but we cannot guarantee it)\n\n## Role Variables\n\nAll variables which can be overridden are stored in [defaults/main.yml](defaults/main.yml) file as well as in table below.\n\n| Name           | Default Value | Description                        |\n| -------------- | ------------- | -----------------------------------|\n| `cortex_all_in_one` | true | Setup Cortex in all-in-one binary mode. |\n| `cortex_services` | `{}` | Cortex services configurations. |\n| `cortex_web_listen_address` | \"0.0.0.0:9009\" | Address on which cortex will listen |\n| `cortex_binary_local_dir` | \"\" | Allows to use local packages instead of ones distributed on github. As parameter it takes a directory where `cortex` binaries are stored on host on which ansible is ran. This overrides `cortex_version` parameter |\n| `cortex_interface` | \"{{ ansible_default_ipv4.interface }}\" | Network adapter that cortex will be using |\n| `cortex_config_dir` | \"/etc/cortex\" | Default directory for the cortex config |\n| `cortex_db_dir` | \"/var/lib/cortex\" | Path to the directory of the Cortex database |\n| `cortex_limit_nofile` | 10240 | Number of File Descriptors allowed for Cortex processes |\n| `cortex_system_user` | \"cortex\" | Default Cortex user |\n| `cortex_system_group` | \"cortex\" | Default Cortex group |\n| `cortex_version` | 1.7.0 | The cortex package version |\n| `cortex_auth_enabled` | \"false\" | Enables of disables the Cortex authentication |\n| `cortex_env_variables` | `{}` | Configure Cortex environment variables. |\n| `cortex_alertmanager` | `{}` | Cortex alertmanager. Compatible with [official configuration](https://cortexmetrics.io/docs/configuration/configuration-file/#alertmanager_config) |\n| `cortex_api` | `{}` | Cortex api. Compatible with [official configuration](https://cortexmetrics.io/docs/configuration/configuration-file/) |\n| `cortex_blocks_storage` | [From block storage example][bse] | Cortex blocks storage. Compatible with [official configuration](https://cortexmetrics.io/docs/configuration/configuration-file/#blocks_storage_config) |\n| `cortex_chunck_store` | `{}` | Cortex chunck store. Compatible with [official configuration](https://cortexmetrics.io/docs/configuration/configuration-file/#configstore_config) |\n| `cortex_compactor` | [From block storage example][bse] | Cortex compactor. Compatible with [official configuration](https://cortexmetrics.io/docs/configuration/configuration-file/#compactor_config) |\n| `cortex_configs` | `{}` | Cortex configs. Compatible with [official configuration](https://cortexmetrics.io/docs/configuration/configuration-file/#configs_config) |\n| `cortex_distributor` | [From block storage example][bse] | Cortex distributor. Compatible with [official configuration](https://cortexmetrics.io/docs/configuration/configuration-file/#distributor_config) |\n| `cortex_flusher` | `{}` | Cortex flusher. Compatible with [official configuration](https://cortexmetrics.io/docs/configuration/configuration-file/#flusher_config) |\n| `cortex_frontend_worker` | [From block storage example][bse] | Cortex frontend worker. Compatible with [official configuration](https://cortexmetrics.io/docs/configuration/configuration-file/#frontend_worker_config) |\n| `cortex_frontend` | `{}` | Cortex frontend. Compatible with [official configuration](https://cortexmetrics.io/docs/configuration/configuration-file/) |\n| `cortex_ingester_client` | [From block storage example][bse] | Cortex ingester client. Compatible with [official configuration](https://cortexmetrics.io/docs/configuration/configuration-file/#ingester_client_config) |\n| `cortex_ingester` | [From block storage example][bse] | Cortex ingester. Compatible with [official configuration](https://cortexmetrics.io/docs/configuration/configuration-file/#ingester_config) |\n| `cortex_limits` | `{}` | Cortex limits. Compatible with [official configuration](https://cortexmetrics.io/docs/configuration/configuration-file/#limits_config) |\n| `cortex_memberlist` | `{}` | Cortex memberlist. Compatible with [official configuration](https://cortexmetrics.io/docs/configuration/configuration-file/#memberlist_config) |\n| `cortex_prealloc` | `{}` | Cortex prealloc. Compatible with [official configuration](https://cortexmetrics.io/docs/configuration/configuration-file/) |\n| `cortex_purger` | `{}` | Cortex purger. Compatible with [official configuration](https://cortexmetrics.io/docs/configuration/configuration-file/#purger_config) |\n| `cortex_querier` | `{}` | Cortex querier. Compatible with [official configuration](https://cortexmetrics.io/docs/configuration/configuration-file/#querier_config) |\n| `cortex_query_range` | `{}` | Cortex query range. Compatible with [official configuration](https://cortexmetrics.io/docs/configuration/configuration-file/#query_range_config) |\n| `cortex_ruler` | [From block storage example][bse] | Cortex ruler. Compatible with [official configuration](https://cortexmetrics.io/docs/configuration/configuration-file/#ruler_config) |\n| `cortex_runtime_config` | `{}` | Cortex runtime config. Compatible with [official configuration](https://cortexmetrics.io/docs/configuration/configuration-file/) |\n| `cortex_schema` | `{}` | Cortex schema. Compatible with [official configuration](https://cortexmetrics.io/docs/configuration/configuration-file/) |\n| `cortex_server` | [From block storage example][bse] | Cortex server. Compatible with [official configuration](https://cortexmetrics.io/docs/configuration/configuration-file/#server_config) |\n| `cortex_storage` | [From block storage example][bse] | Cortex storage. Compatible with [official configuration](https://cortexmetrics.io/docs/configuration/configuration-file/#storage_config) |\n| `cortex_store_gateway` | `{}` | Cortex store gateway. Compatible with [official configuration](https://cortexmetrics.io/docs/configuration/configuration-file/#store_gateway_config) |\n| `cortex_table_manager` | `{}` | Cortex table manager. Compatible with [official configuration](https://cortexmetrics.io/docs/configuration/configuration-file/#table_manager_config) |\n\n[bse]:https://github.com/cortexproject/cortex/blob/master/docs/configuration/single-process-config-blocks.yaml\n\n## Example\n\n### Playbook\n\nUse it in a playbook as follows:\n```yaml\n- hosts: all\n  roles:\n    - cloudalchemy.cortex\n```\n\n### Services mode\n\nYou can run the different Cortex modules as separate services by setting\n`cortex_services` as a module:config map and `cortex_all_in_one` to `false`.\n```yaml\n- hosts: all\n  roles:\n    - cloudalchemy.cortex\n  vars:\n    cortex_all_in_one: false\n    cortex_services:\n      ingester:\n        server:\n            http_listen_port: 9009\n        ingester:\n            lifecycler:\n              join_after: 0\n              min_ready_duration: 0s\n              final_sleep: 0s\n              num_tokens: 512\n\n              ring:\n                kvstore:\n                  store: inmemory\n                  replication_factor: 1\n    cortex_env_variables:\n      ingester:\n        JAEGER_AGENT_HOST: localhost\n        JAEGER_SAMPLER_PARAM: 0\n        JAEGER_SAMPLER_TYPE: const\n```\n\n## Local Testing\n\nThe preferred way of locally testing the role is to use Docker and [molecule](https://github.com/ansible-community/molecule) (v3.x). You will have to install Docker on your system. See \"Get started\" for a Docker package suitable to for your system. Running your tests is as simple as executing `molecule test`.\n\n## Continuous Intergation\n\nCombining molecule and circle CI allows us to test how new PRs will behave when used with multiple ansible versions and multiple operating systems. This also allows use to create test scenarios for different role configurations. As a result we have a quite large test matrix which can take more time than local testing, so please be patient.\n\n## Contributing\n\nSee [contributor guideline](CONTRIBUTING.md).\n\n## Troubleshooting\n\nSee [troubleshooting](TROUBLESHOOTING.md).\n\n## License\n\nThis project is licensed under MIT License. See [LICENSE](/LICENSE) for more details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudalchemy%2Fansible-cortex","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcloudalchemy%2Fansible-cortex","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudalchemy%2Fansible-cortex/lists"}