Repository files navigation

Ansible Role: cortex

Build StatusLicenseAnsible RoleGitHub tag

Description

Deploy cortex using ansible.

Requirements

  • Ansible >= 2.7 (It might work on previous versions, but we cannot guarantee it)

Role Variables

All variables which can be overridden are stored in defaults/main.yml file as well as in table below.

NameDefault ValueDescription
cortex_all_in_onetrueSetup Cortex in all-in-one binary mode.
cortex_services{}Cortex services configurations.
cortex_web_listen_address"0.0.0.0:9009"Address on which cortex will listen
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
cortex_interface"{{ ansible_default_ipv4.interface }}"Network adapter that cortex will be using
cortex_config_dir"/etc/cortex"Default directory for the cortex config
cortex_db_dir"/var/lib/cortex"Path to the directory of the Cortex database
cortex_limit_nofile10240Number of File Descriptors allowed for Cortex processes
cortex_system_user"cortex"Default Cortex user
cortex_system_group"cortex"Default Cortex group
cortex_version1.7.0The cortex package version
cortex_auth_enabled"false"Enables of disables the Cortex authentication
cortex_env_variables{}Configure Cortex environment variables.
cortex_alertmanager{}Cortex alertmanager. Compatible with official configuration
cortex_api{}Cortex api. Compatible with official configuration
cortex_blocks_storageFrom block storage exampleCortex blocks storage. Compatible with official configuration
cortex_chunck_store{}Cortex chunck store. Compatible with official configuration
cortex_compactorFrom block storage exampleCortex compactor. Compatible with official configuration
cortex_configs{}Cortex configs. Compatible with official configuration
cortex_distributorFrom block storage exampleCortex distributor. Compatible with official configuration
cortex_flusher{}Cortex flusher. Compatible with official configuration
cortex_frontend_workerFrom block storage exampleCortex frontend worker. Compatible with official configuration
cortex_frontend{}Cortex frontend. Compatible with official configuration
cortex_ingester_clientFrom block storage exampleCortex ingester client. Compatible with official configuration
cortex_ingesterFrom block storage exampleCortex ingester. Compatible with official configuration
cortex_limits{}Cortex limits. Compatible with official configuration
cortex_memberlist{}Cortex memberlist. Compatible with official configuration
cortex_prealloc{}Cortex prealloc. Compatible with official configuration
cortex_purger{}Cortex purger. Compatible with official configuration
cortex_querier{}Cortex querier. Compatible with official configuration
cortex_query_range{}Cortex query range. Compatible with official configuration
cortex_rulerFrom block storage exampleCortex ruler. Compatible with official configuration
cortex_runtime_config{}Cortex runtime config. Compatible with official configuration
cortex_schema{}Cortex schema. Compatible with official configuration
cortex_serverFrom block storage exampleCortex server. Compatible with official configuration
cortex_storageFrom block storage exampleCortex storage. Compatible with official configuration
cortex_store_gateway{}Cortex store gateway. Compatible with official configuration
cortex_table_manager{}Cortex table manager. Compatible with official configuration

Example

Playbook

Use it in a playbook as follows:

- hosts: allroles:
- cloudalchemy.cortex

Services mode

You can run the different Cortex modules as separate services by setting cortex_services as a module:config map and cortex_all_in_one to false.

- hosts: allroles:
- cloudalchemy.cortexvars:
cortex_all_in_one: falsecortex_services:
ingester:
server:
http_listen_port: 9009ingester:
lifecycler:
join_after: 0min_ready_duration: 0sfinal_sleep: 0snum_tokens: 512ring:
kvstore:
store: inmemoryreplication_factor: 1cortex_env_variables:
ingester:
JAEGER_AGENT_HOST: localhostJAEGER_SAMPLER_PARAM: 0JAEGER_SAMPLER_TYPE: const

Local Testing

The preferred way of locally testing the role is to use Docker and 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.

Continuous Intergation

Combining 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.

Contributing

See contributor guideline.

Troubleshooting

See troubleshooting.

License

This project is licensed under MIT License. See LICENSE for more details.

About

No description, website, or topics provided.

Resources

Contributing

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

Generated from cloudalchemy/skeleton
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

Ansible Role: cortex

Build StatusLicenseAnsible RoleGitHub tag

Description

Deploy cortex using ansible.

Requirements

  • Ansible >= 2.7 (It might work on previous versions, but we cannot guarantee it)

Role Variables

All variables which can be overridden are stored in defaults/main.yml file as well as in table below.

NameDefault ValueDescription
cortex_all_in_onetrueSetup Cortex in all-in-one binary mode.
cortex_services{}Cortex services configurations.
cortex_web_listen_address"0.0.0.0:9009"Address on which cortex will listen
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
cortex_interface"{{ ansible_default_ipv4.interface }}"Network adapter that cortex will be using
cortex_config_dir"/etc/cortex"Default directory for the cortex config
cortex_db_dir"/var/lib/cortex"Path to the directory of the Cortex database
cortex_limit_nofile10240Number of File Descriptors allowed for Cortex processes
cortex_system_user"cortex"Default Cortex user
cortex_system_group"cortex"Default Cortex group
cortex_version1.7.0The cortex package version
cortex_auth_enabled"false"Enables of disables the Cortex authentication
cortex_env_variables{}Configure Cortex environment variables.
cortex_alertmanager{}Cortex alertmanager. Compatible with official configuration
cortex_api{}Cortex api. Compatible with official configuration
cortex_blocks_storageFrom block storage exampleCortex blocks storage. Compatible with official configuration
cortex_chunck_store{}Cortex chunck store. Compatible with official configuration
cortex_compactorFrom block storage exampleCortex compactor. Compatible with official configuration
cortex_configs{}Cortex configs. Compatible with official configuration
cortex_distributorFrom block storage exampleCortex distributor. Compatible with official configuration
cortex_flusher{}Cortex flusher. Compatible with official configuration
cortex_frontend_workerFrom block storage exampleCortex frontend worker. Compatible with official configuration
cortex_frontend{}Cortex frontend. Compatible with official configuration
cortex_ingester_clientFrom block storage exampleCortex ingester client. Compatible with official configuration
cortex_ingesterFrom block storage exampleCortex ingester. Compatible with official configuration
cortex_limits{}Cortex limits. Compatible with official configuration
cortex_memberlist{}Cortex memberlist. Compatible with official configuration
cortex_prealloc{}Cortex prealloc. Compatible with official configuration
cortex_purger{}Cortex purger. Compatible with official configuration
cortex_querier{}Cortex querier. Compatible with official configuration
cortex_query_range{}Cortex query range. Compatible with official configuration
cortex_rulerFrom block storage exampleCortex ruler. Compatible with official configuration
cortex_runtime_config{}Cortex runtime config. Compatible with official configuration
cortex_schema{}Cortex schema. Compatible with official configuration
cortex_serverFrom block storage exampleCortex server. Compatible with official configuration
cortex_storageFrom block storage exampleCortex storage. Compatible with official configuration
cortex_store_gateway{}Cortex store gateway. Compatible with official configuration
cortex_table_manager{}Cortex table manager. Compatible with official configuration

Example

Playbook

Use it in a playbook as follows:

- hosts: allroles:
- cloudalchemy.cortex

Services mode

You can run the different Cortex modules as separate services by setting cortex_services as a module:config map and cortex_all_in_one to false.

- hosts: allroles:
- cloudalchemy.cortexvars:
cortex_all_in_one: falsecortex_services:
ingester:
server:
http_listen_port: 9009ingester:
lifecycler:
join_after: 0min_ready_duration: 0sfinal_sleep: 0snum_tokens: 512ring:
kvstore:
store: inmemoryreplication_factor: 1cortex_env_variables:
ingester:
JAEGER_AGENT_HOST: localhostJAEGER_SAMPLER_PARAM: 0JAEGER_SAMPLER_TYPE: const

Local Testing

The preferred way of locally testing the role is to use Docker and 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.

Continuous Intergation

Combining 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.

Contributing

See contributor guideline.

Troubleshooting

See troubleshooting.

License

This project is licensed under MIT License. See LICENSE for more details.

About

No description, website, or topics provided.

Resources

Contributing

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

Generated from cloudalchemy/skeleton
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Ansible Role: cortex

Build StatusLicenseAnsible RoleGitHub tag

Description

Deploy cortex using ansible.

Requirements

  • Ansible >= 2.7 (It might work on previous versions, but we cannot guarantee it)

Role Variables

All variables which can be overridden are stored in defaults/main.yml file as well as in table below.

NameDefault ValueDescription
cortex_all_in_onetrueSetup Cortex in all-in-one binary mode.
cortex_services{}Cortex services configurations.
cortex_web_listen_address"0.0.0.0:9009"Address on which cortex will listen
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
cortex_interface"{{ ansible_default_ipv4.interface }}"Network adapter that cortex will be using
cortex_config_dir"/etc/cortex"Default directory for the cortex config
cortex_db_dir"/var/lib/cortex"Path to the directory of the Cortex database
cortex_limit_nofile10240Number of File Descriptors allowed for Cortex processes
cortex_system_user"cortex"Default Cortex user
cortex_system_group"cortex"Default Cortex group
cortex_version1.7.0The cortex package version
cortex_auth_enabled"false"Enables of disables the Cortex authentication
cortex_env_variables{}Configure Cortex environment variables.
cortex_alertmanager{}Cortex alertmanager. Compatible with official configuration
cortex_api{}Cortex api. Compatible with official configuration
cortex_blocks_storageFrom block storage exampleCortex blocks storage. Compatible with official configuration
cortex_chunck_store{}Cortex chunck store. Compatible with official configuration
cortex_compactorFrom block storage exampleCortex compactor. Compatible with official configuration
cortex_configs{}Cortex configs. Compatible with official configuration
cortex_distributorFrom block storage exampleCortex distributor. Compatible with official configuration
cortex_flusher{}Cortex flusher. Compatible with official configuration
cortex_frontend_workerFrom block storage exampleCortex frontend worker. Compatible with official configuration
cortex_frontend{}Cortex frontend. Compatible with official configuration
cortex_ingester_clientFrom block storage exampleCortex ingester client. Compatible with official configuration
cortex_ingesterFrom block storage exampleCortex ingester. Compatible with official configuration
cortex_limits{}Cortex limits. Compatible with official configuration
cortex_memberlist{}Cortex memberlist. Compatible with official configuration
cortex_prealloc{}Cortex prealloc. Compatible with official configuration
cortex_purger{}Cortex purger. Compatible with official configuration
cortex_querier{}Cortex querier. Compatible with official configuration
cortex_query_range{}Cortex query range. Compatible with official configuration
cortex_rulerFrom block storage exampleCortex ruler. Compatible with official configuration
cortex_runtime_config{}Cortex runtime config. Compatible with official configuration
cortex_schema{}Cortex schema. Compatible with official configuration
cortex_serverFrom block storage exampleCortex server. Compatible with official configuration
cortex_storageFrom block storage exampleCortex storage. Compatible with official configuration
cortex_store_gateway{}Cortex store gateway. Compatible with official configuration
cortex_table_manager{}Cortex table manager. Compatible with official configuration

Example

Playbook

Use it in a playbook as follows:

- hosts: allroles:
- cloudalchemy.cortex

Services mode

You can run the different Cortex modules as separate services by setting cortex_services as a module:config map and cortex_all_in_one to false.

- hosts: allroles:
- cloudalchemy.cortexvars:
cortex_all_in_one: falsecortex_services:
ingester:
server:
http_listen_port: 9009ingester:
lifecycler:
join_after: 0min_ready_duration: 0sfinal_sleep: 0snum_tokens: 512ring:
kvstore:
store: inmemoryreplication_factor: 1cortex_env_variables:
ingester:
JAEGER_AGENT_HOST: localhostJAEGER_SAMPLER_PARAM: 0JAEGER_SAMPLER_TYPE: const

Local Testing

The preferred way of locally testing the role is to use Docker and 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.

Continuous Intergation

Combining 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.

Contributing

See contributor guideline.

Troubleshooting

See troubleshooting.

License

This project is licensed under MIT License. See LICENSE for more details.

About

No description, website, or topics provided.

Resources

Contributing

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

Generated from cloudalchemy/skeleton
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Ansible Role: cortex

Build StatusLicenseAnsible RoleGitHub tag

Description

Deploy cortex using ansible.

Requirements

  • Ansible >= 2.7 (It might work on previous versions, but we cannot guarantee it)

Role Variables

All variables which can be overridden are stored in defaults/main.yml file as well as in table below.

NameDefault ValueDescription
cortex_all_in_onetrueSetup Cortex in all-in-one binary mode.
cortex_services{}Cortex services configurations.
cortex_web_listen_address"0.0.0.0:9009"Address on which cortex will listen
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
cortex_interface"{{ ansible_default_ipv4.interface }}"Network adapter that cortex will be using
cortex_config_dir"/etc/cortex"Default directory for the cortex config
cortex_db_dir"/var/lib/cortex"Path to the directory of the Cortex database
cortex_limit_nofile10240Number of File Descriptors allowed for Cortex processes
cortex_system_user"cortex"Default Cortex user
cortex_system_group"cortex"Default Cortex group
cortex_version1.7.0The cortex package version
cortex_auth_enabled"false"Enables of disables the Cortex authentication
cortex_env_variables{}Configure Cortex environment variables.
cortex_alertmanager{}Cortex alertmanager. Compatible with official configuration
cortex_api{}Cortex api. Compatible with official configuration
cortex_blocks_storageFrom block storage exampleCortex blocks storage. Compatible with official configuration
cortex_chunck_store{}Cortex chunck store. Compatible with official configuration
cortex_compactorFrom block storage exampleCortex compactor. Compatible with official configuration
cortex_configs{}Cortex configs. Compatible with official configuration
cortex_distributorFrom block storage exampleCortex distributor. Compatible with official configuration
cortex_flusher{}Cortex flusher. Compatible with official configuration
cortex_frontend_workerFrom block storage exampleCortex frontend worker. Compatible with official configuration
cortex_frontend{}Cortex frontend. Compatible with official configuration
cortex_ingester_clientFrom block storage exampleCortex ingester client. Compatible with official configuration
cortex_ingesterFrom block storage exampleCortex ingester. Compatible with official configuration
cortex_limits{}Cortex limits. Compatible with official configuration
cortex_memberlist{}Cortex memberlist. Compatible with official configuration
cortex_prealloc{}Cortex prealloc. Compatible with official configuration
cortex_purger{}Cortex purger. Compatible with official configuration
cortex_querier{}Cortex querier. Compatible with official configuration
cortex_query_range{}Cortex query range. Compatible with official configuration
cortex_rulerFrom block storage exampleCortex ruler. Compatible with official configuration
cortex_runtime_config{}Cortex runtime config. Compatible with official configuration
cortex_schema{}Cortex schema. Compatible with official configuration
cortex_serverFrom block storage exampleCortex server. Compatible with official configuration
cortex_storageFrom block storage exampleCortex storage. Compatible with official configuration
cortex_store_gateway{}Cortex store gateway. Compatible with official configuration
cortex_table_manager{}Cortex table manager. Compatible with official configuration

Example

Playbook

Use it in a playbook as follows:

- hosts: allroles:
- cloudalchemy.cortex

Services mode

You can run the different Cortex modules as separate services by setting cortex_services as a module:config map and cortex_all_in_one to false.

- hosts: allroles:
- cloudalchemy.cortexvars:
cortex_all_in_one: falsecortex_services:
ingester:
server:
http_listen_port: 9009ingester:
lifecycler:
join_after: 0min_ready_duration: 0sfinal_sleep: 0snum_tokens: 512ring:
kvstore:
store: inmemoryreplication_factor: 1cortex_env_variables:
ingester:
JAEGER_AGENT_HOST: localhostJAEGER_SAMPLER_PARAM: 0JAEGER_SAMPLER_TYPE: const

Local Testing

The preferred way of locally testing the role is to use Docker and 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.

Continuous Intergation

Combining 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.

Contributing

See contributor guideline.

Troubleshooting

See troubleshooting.

License

This project is licensed under MIT License. See LICENSE for more details.

About

No description, website, or topics provided.

Resources

Contributing

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

Generated from cloudalchemy/skeleton
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

Ansible Role: cortex

Build StatusLicenseAnsible RoleGitHub tag

Description

Deploy cortex using ansible.

Requirements

  • Ansible >= 2.7 (It might work on previous versions, but we cannot guarantee it)

Role Variables

All variables which can be overridden are stored in defaults/main.yml file as well as in table below.

NameDefault ValueDescription
cortex_all_in_onetrueSetup Cortex in all-in-one binary mode.
cortex_services{}Cortex services configurations.
cortex_web_listen_address"0.0.0.0:9009"Address on which cortex will listen
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
cortex_interface"{{ ansible_default_ipv4.interface }}"Network adapter that cortex will be using
cortex_config_dir"/etc/cortex"Default directory for the cortex config
cortex_db_dir"/var/lib/cortex"Path to the directory of the Cortex database
cortex_limit_nofile10240Number of File Descriptors allowed for Cortex processes
cortex_system_user"cortex"Default Cortex user
cortex_system_group"cortex"Default Cortex group
cortex_version1.7.0The cortex package version
cortex_auth_enabled"false"Enables of disables the Cortex authentication
cortex_env_variables{}Configure Cortex environment variables.
cortex_alertmanager{}Cortex alertmanager. Compatible with official configuration
cortex_api{}Cortex api. Compatible with official configuration
cortex_blocks_storageFrom block storage exampleCortex blocks storage. Compatible with official configuration
cortex_chunck_store{}Cortex chunck store. Compatible with official configuration
cortex_compactorFrom block storage exampleCortex compactor. Compatible with official configuration
cortex_configs{}Cortex configs. Compatible with official configuration
cortex_distributorFrom block storage exampleCortex distributor. Compatible with official configuration
cortex_flusher{}Cortex flusher. Compatible with official configuration
cortex_frontend_workerFrom block storage exampleCortex frontend worker. Compatible with official configuration
cortex_frontend{}Cortex frontend. Compatible with official configuration
cortex_ingester_clientFrom block storage exampleCortex ingester client. Compatible with official configuration
cortex_ingesterFrom block storage exampleCortex ingester. Compatible with official configuration
cortex_limits{}Cortex limits. Compatible with official configuration
cortex_memberlist{}Cortex memberlist. Compatible with official configuration
cortex_prealloc{}Cortex prealloc. Compatible with official configuration
cortex_purger{}Cortex purger. Compatible with official configuration
cortex_querier{}Cortex querier. Compatible with official configuration
cortex_query_range{}Cortex query range. Compatible with official configuration
cortex_rulerFrom block storage exampleCortex ruler. Compatible with official configuration
cortex_runtime_config{}Cortex runtime config. Compatible with official configuration
cortex_schema{}Cortex schema. Compatible with official configuration
cortex_serverFrom block storage exampleCortex server. Compatible with official configuration
cortex_storageFrom block storage exampleCortex storage. Compatible with official configuration
cortex_store_gateway{}Cortex store gateway. Compatible with official configuration
cortex_table_manager{}Cortex table manager. Compatible with official configuration

Example

Playbook

Use it in a playbook as follows:

- hosts: allroles:
- cloudalchemy.cortex

Services mode

You can run the different Cortex modules as separate services by setting cortex_services as a module:config map and cortex_all_in_one to false.

- hosts: allroles:
- cloudalchemy.cortexvars:
cortex_all_in_one: falsecortex_services:
ingester:
server:
http_listen_port: 9009ingester:
lifecycler:
join_after: 0min_ready_duration: 0sfinal_sleep: 0snum_tokens: 512ring:
kvstore:
store: inmemoryreplication_factor: 1cortex_env_variables:
ingester:
JAEGER_AGENT_HOST: localhostJAEGER_SAMPLER_PARAM: 0JAEGER_SAMPLER_TYPE: const

Local Testing

The preferred way of locally testing the role is to use Docker and 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.

Continuous Intergation

Combining 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.

Contributing

See contributor guideline.

Troubleshooting

See troubleshooting.

License

This project is licensed under MIT License. See LICENSE for more details.

About

No description, website, or topics provided.

Resources

Contributing

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

Generated from cloudalchemy/skeleton
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Ansible Role: cortex

Build StatusLicenseAnsible RoleGitHub tag

Description

Deploy cortex using ansible.

Requirements

  • Ansible >= 2.7 (It might work on previous versions, but we cannot guarantee it)

Role Variables

All variables which can be overridden are stored in defaults/main.yml file as well as in table below.

NameDefault ValueDescription
cortex_all_in_onetrueSetup Cortex in all-in-one binary mode.
cortex_services{}Cortex services configurations.
cortex_web_listen_address"0.0.0.0:9009"Address on which cortex will listen
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
cortex_interface"{{ ansible_default_ipv4.interface }}"Network adapter that cortex will be using
cortex_config_dir"/etc/cortex"Default directory for the cortex config
cortex_db_dir"/var/lib/cortex"Path to the directory of the Cortex database
cortex_limit_nofile10240Number of File Descriptors allowed for Cortex processes
cortex_system_user"cortex"Default Cortex user
cortex_system_group"cortex"Default Cortex group
cortex_version1.7.0The cortex package version
cortex_auth_enabled"false"Enables of disables the Cortex authentication
cortex_env_variables{}Configure Cortex environment variables.
cortex_alertmanager{}Cortex alertmanager. Compatible with official configuration
cortex_api{}Cortex api. Compatible with official configuration
cortex_blocks_storageFrom block storage exampleCortex blocks storage. Compatible with official configuration
cortex_chunck_store{}Cortex chunck store. Compatible with official configuration
cortex_compactorFrom block storage exampleCortex compactor. Compatible with official configuration
cortex_configs{}Cortex configs. Compatible with official configuration
cortex_distributorFrom block storage exampleCortex distributor. Compatible with official configuration
cortex_flusher{}Cortex flusher. Compatible with official configuration
cortex_frontend_workerFrom block storage exampleCortex frontend worker. Compatible with official configuration
cortex_frontend{}Cortex frontend. Compatible with official configuration
cortex_ingester_clientFrom block storage exampleCortex ingester client. Compatible with official configuration
cortex_ingesterFrom block storage exampleCortex ingester. Compatible with official configuration
cortex_limits{}Cortex limits. Compatible with official configuration
cortex_memberlist{}Cortex memberlist. Compatible with official configuration
cortex_prealloc{}Cortex prealloc. Compatible with official configuration
cortex_purger{}Cortex purger. Compatible with official configuration
cortex_querier{}Cortex querier. Compatible with official configuration
cortex_query_range{}Cortex query range. Compatible with official configuration
cortex_rulerFrom block storage exampleCortex ruler. Compatible with official configuration
cortex_runtime_config{}Cortex runtime config. Compatible with official configuration
cortex_schema{}Cortex schema. Compatible with official configuration
cortex_serverFrom block storage exampleCortex server. Compatible with official configuration
cortex_storageFrom block storage exampleCortex storage. Compatible with official configuration
cortex_store_gateway{}Cortex store gateway. Compatible with official configuration
cortex_table_manager{}Cortex table manager. Compatible with official configuration

Example

Playbook

Use it in a playbook as follows:

- hosts: allroles:
- cloudalchemy.cortex

Services mode

You can run the different Cortex modules as separate services by setting cortex_services as a module:config map and cortex_all_in_one to false.

- hosts: allroles:
- cloudalchemy.cortexvars:
cortex_all_in_one: falsecortex_services:
ingester:
server:
http_listen_port: 9009ingester:
lifecycler:
join_after: 0min_ready_duration: 0sfinal_sleep: 0snum_tokens: 512ring:
kvstore:
store: inmemoryreplication_factor: 1cortex_env_variables:
ingester:
JAEGER_AGENT_HOST: localhostJAEGER_SAMPLER_PARAM: 0JAEGER_SAMPLER_TYPE: const

Local Testing

The preferred way of locally testing the role is to use Docker and 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.

Continuous Intergation

Combining 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.

Contributing

See contributor guideline.

Troubleshooting

See troubleshooting.

License

This project is licensed under MIT License. See LICENSE for more details.

About

No description, website, or topics provided.

Resources

Contributing

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

Generated from cloudalchemy/skeleton
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Ansible Role: cortex

Build StatusLicenseAnsible RoleGitHub tag

Description

Deploy cortex using ansible.

Requirements

  • Ansible >= 2.7 (It might work on previous versions, but we cannot guarantee it)

Role Variables

All variables which can be overridden are stored in defaults/main.yml file as well as in table below.

NameDefault ValueDescription
cortex_all_in_onetrueSetup Cortex in all-in-one binary mode.
cortex_services{}Cortex services configurations.
cortex_web_listen_address"0.0.0.0:9009"Address on which cortex will listen
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
cortex_interface"{{ ansible_default_ipv4.interface }}"Network adapter that cortex will be using
cortex_config_dir"/etc/cortex"Default directory for the cortex config
cortex_db_dir"/var/lib/cortex"Path to the directory of the Cortex database
cortex_limit_nofile10240Number of File Descriptors allowed for Cortex processes
cortex_system_user"cortex"Default Cortex user
cortex_system_group"cortex"Default Cortex group
cortex_version1.7.0The cortex package version
cortex_auth_enabled"false"Enables of disables the Cortex authentication
cortex_env_variables{}Configure Cortex environment variables.
cortex_alertmanager{}Cortex alertmanager. Compatible with official configuration
cortex_api{}Cortex api. Compatible with official configuration
cortex_blocks_storageFrom block storage exampleCortex blocks storage. Compatible with official configuration
cortex_chunck_store{}Cortex chunck store. Compatible with official configuration
cortex_compactorFrom block storage exampleCortex compactor. Compatible with official configuration
cortex_configs{}Cortex configs. Compatible with official configuration
cortex_distributorFrom block storage exampleCortex distributor. Compatible with official configuration
cortex_flusher{}Cortex flusher. Compatible with official configuration
cortex_frontend_workerFrom block storage exampleCortex frontend worker. Compatible with official configuration
cortex_frontend{}Cortex frontend. Compatible with official configuration
cortex_ingester_clientFrom block storage exampleCortex ingester client. Compatible with official configuration
cortex_ingesterFrom block storage exampleCortex ingester. Compatible with official configuration
cortex_limits{}Cortex limits. Compatible with official configuration
cortex_memberlist{}Cortex memberlist. Compatible with official configuration
cortex_prealloc{}Cortex prealloc. Compatible with official configuration
cortex_purger{}Cortex purger. Compatible with official configuration
cortex_querier{}Cortex querier. Compatible with official configuration
cortex_query_range{}Cortex query range. Compatible with official configuration
cortex_rulerFrom block storage exampleCortex ruler. Compatible with official configuration
cortex_runtime_config{}Cortex runtime config. Compatible with official configuration
cortex_schema{}Cortex schema. Compatible with official configuration
cortex_serverFrom block storage exampleCortex server. Compatible with official configuration
cortex_storageFrom block storage exampleCortex storage. Compatible with official configuration
cortex_store_gateway{}Cortex store gateway. Compatible with official configuration
cortex_table_manager{}Cortex table manager. Compatible with official configuration

Example

Playbook

Use it in a playbook as follows:

- hosts: allroles:
- cloudalchemy.cortex

Services mode

You can run the different Cortex modules as separate services by setting cortex_services as a module:config map and cortex_all_in_one to false.

- hosts: allroles:
- cloudalchemy.cortexvars:
cortex_all_in_one: falsecortex_services:
ingester:
server:
http_listen_port: 9009ingester:
lifecycler:
join_after: 0min_ready_duration: 0sfinal_sleep: 0snum_tokens: 512ring:
kvstore:
store: inmemoryreplication_factor: 1cortex_env_variables:
ingester:
JAEGER_AGENT_HOST: localhostJAEGER_SAMPLER_PARAM: 0JAEGER_SAMPLER_TYPE: const

Local Testing

The preferred way of locally testing the role is to use Docker and 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.

Continuous Intergation

Combining 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.

Contributing

See contributor guideline.

Troubleshooting

See troubleshooting.

License

This project is licensed under MIT License. See LICENSE for more details.

About

No description, website, or topics provided.

Resources

Contributing

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

Generated from cloudalchemy/skeleton
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

Ansible Role: cortex

Build StatusLicenseAnsible RoleGitHub tag

Description

Deploy cortex using ansible.

Requirements

  • Ansible >= 2.7 (It might work on previous versions, but we cannot guarantee it)

Role Variables

All variables which can be overridden are stored in defaults/main.yml file as well as in table below.

NameDefault ValueDescription
cortex_all_in_onetrueSetup Cortex in all-in-one binary mode.
cortex_services{}Cortex services configurations.
cortex_web_listen_address"0.0.0.0:9009"Address on which cortex will listen
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
cortex_interface"{{ ansible_default_ipv4.interface }}"Network adapter that cortex will be using
cortex_config_dir"/etc/cortex"Default directory for the cortex config
cortex_db_dir"/var/lib/cortex"Path to the directory of the Cortex database
cortex_limit_nofile10240Number of File Descriptors allowed for Cortex processes
cortex_system_user"cortex"Default Cortex user
cortex_system_group"cortex"Default Cortex group
cortex_version1.7.0The cortex package version
cortex_auth_enabled"false"Enables of disables the Cortex authentication
cortex_env_variables{}Configure Cortex environment variables.
cortex_alertmanager{}Cortex alertmanager. Compatible with official configuration
cortex_api{}Cortex api. Compatible with official configuration
cortex_blocks_storageFrom block storage exampleCortex blocks storage. Compatible with official configuration
cortex_chunck_store{}Cortex chunck store. Compatible with official configuration
cortex_compactorFrom block storage exampleCortex compactor. Compatible with official configuration
cortex_configs{}Cortex configs. Compatible with official configuration
cortex_distributorFrom block storage exampleCortex distributor. Compatible with official configuration
cortex_flusher{}Cortex flusher. Compatible with official configuration
cortex_frontend_workerFrom block storage exampleCortex frontend worker. Compatible with official configuration
cortex_frontend{}Cortex frontend. Compatible with official configuration
cortex_ingester_clientFrom block storage exampleCortex ingester client. Compatible with official configuration
cortex_ingesterFrom block storage exampleCortex ingester. Compatible with official configuration
cortex_limits{}Cortex limits. Compatible with official configuration
cortex_memberlist{}Cortex memberlist. Compatible with official configuration
cortex_prealloc{}Cortex prealloc. Compatible with official configuration
cortex_purger{}Cortex purger. Compatible with official configuration
cortex_querier{}Cortex querier. Compatible with official configuration
cortex_query_range{}Cortex query range. Compatible with official configuration
cortex_rulerFrom block storage exampleCortex ruler. Compatible with official configuration
cortex_runtime_config{}Cortex runtime config. Compatible with official configuration
cortex_schema{}Cortex schema. Compatible with official configuration
cortex_serverFrom block storage exampleCortex server. Compatible with official configuration
cortex_storageFrom block storage exampleCortex storage. Compatible with official configuration
cortex_store_gateway{}Cortex store gateway. Compatible with official configuration
cortex_table_manager{}Cortex table manager. Compatible with official configuration

Example

Playbook

Use it in a playbook as follows:

- hosts: allroles:
- cloudalchemy.cortex

Services mode

You can run the different Cortex modules as separate services by setting cortex_services as a module:config map and cortex_all_in_one to false.

- hosts: allroles:
- cloudalchemy.cortexvars:
cortex_all_in_one: falsecortex_services:
ingester:
server:
http_listen_port: 9009ingester:
lifecycler:
join_after: 0min_ready_duration: 0sfinal_sleep: 0snum_tokens: 512ring:
kvstore:
store: inmemoryreplication_factor: 1cortex_env_variables:
ingester:
JAEGER_AGENT_HOST: localhostJAEGER_SAMPLER_PARAM: 0JAEGER_SAMPLER_TYPE: const

Local Testing

The preferred way of locally testing the role is to use Docker and 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.

Continuous Intergation

Combining 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.

Contributing

See contributor guideline.

Troubleshooting

See troubleshooting.

License

This project is licensed under MIT License. See LICENSE for more details.

About

No description, website, or topics provided.

Resources

Contributing

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

Generated from cloudalchemy/skeleton