## Kubernetes: Load config files dinamically (conf.yml)
export KUBECONFIG=$(find $HOME/.kube -name "*.conf.yml" -print0 | tr '\0' ':' | sed 's/:$//')
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ▒▓ | |
| ▒█████████████████████████▓░ | |
| ████████████████████████████▒ | |
| ▓████████████████████████████░ | |
| ░██░█░▒█ ░▒████████░ | |
| ▒██▒ ▒█ ▒█ ░██████▓ | |
| ███▓ █▒ ▒█ ▒█████░ | |
| ░████▒ ░█░ ▒█ █████▓ | |
| █████▒ ░█ ▒█ ▓█████░ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| version: 0.2 | |
| phases: | |
| pre_build: | |
| commands: | |
| - echo Logging in to Amazon ECR... | |
| - aws --version | |
| - aws ecr get-login-password --region $AWS_DEFAULT_REGION | docker login --username AWS --password-stdin $AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com | |
| - REPOSITORY_URI=$AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com/$IMAGE_REPO_NAME | |
| - COMMIT_HASH=$(echo $CODEBUILD_RESOLVED_SOURCE_VERSION | cut -c 1-7) |
- The location is the path where the snapshots will be stored, this path need to be set in the elasticsearch.yml file in the path.repo property
- example: path.repo: ["/usr/share/elasticsearch/backup"]
- After setting the path.repo property in the elasticsearch.yml file, restart the elasticsearch service
curl -XPUT -k -u elastic:changeme "https://localhost:9200/_snapshot/repository_backups" -H 'Content-Type: application/json' -d '{
"type": "fs",
"settings": {
"location": "/usr/share/elasticsearch/backup"
}Setting Up a Monitoring Stack with Grafana, Prometheus (Mimir), Node Exporter, cAdvisor and Loki in Docker Compose, Exposed via NGINX
This guide provides instructions on setting up a comprehensive monitoring stack using Grafana, Prometheus, Node Exporter, cAdvisor and Loki. These components are orchestrated with Docker Compose and exposed via an NGINX reverse proxy, making them accessible through a single domain.
- Grafana: The analytics and monitoring solution with support for multiple data sources, including Prometheus.
- Prometheus: The monitoring and alerting toolkit, collecting metrics from configured targets at specified intervals.
- Mimir: A horizontally-scalable, highly-available, multi-tenant log aggregation system.
- Node Exporter: A Prometheus exporter for hardware and OS metrics exposed by *NIX kernels.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| # Constants | |
| S3_BUCKET="<YOUR_BUCKET_NAME>" | |
| HOST_NAME="$(hostname)" | |
| DATE=$(date +%F-%H%M%S) # Format as 'YYYY-MM-DD-HHMMSS' | |
| MAX_BACKUPS=5 | |
| AWS_PROFILE="<YOUR_AWS_PROFILE>" | |
| R2_ACCOUNT_ID="<YOUR_R2_ACCOUNT_ID>" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| const cassandra = require('cassandra-driver'); | |
| const CASSANDRA_HOST = process.env.CASSANDRA_HOST || 'localhost'; | |
| const CASSANDRA_NODES = [`${CASSANDRA_HOST}:9042`, `${CASSANDRA_HOST}:9043`, `${CASSANDRA_HOST}:9044`] | |
| const CASSANDRA_USER = process.env.CASSANDRA_USER || 'cassandra'; | |
| const CASSANDRA_PASSWORD = process.env.CASSANDRA_PASSWORD || 'cassandra'; | |
| const CASSANDRA_DATA_CENTER = process.env.CASSANDRA_DATA_CENTER || 'datacenter1'; | |
| const KEYSPACE = 'mykeyspace'; | |
| const TABLE = 'event'; | |
| const QUERY_LIMIT = 50000; | |
| const FETCH_SIZE = 5000; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| use scylla::{SessionBuilder, IntoTypedRows}; | |
| use std::error::Error; | |
| use std::env; | |
| use std::time::Instant; | |
| use dotenv::dotenv; | |
| const QUERY_LIMIT: i32 = 5000; | |
| #[tokio::main] | |
| async fn main() -> Result<(), Box<dyn Error>> { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| # Constants | |
| HOST_NAME="$(hostname)" | |
| DATE=$(date +%F-%H%M%S) # Format as 'YYYY-MM-DD-HHMMSS' | |
| AWS_PROFILE="<YOUR_AWS_PROFILE>" | |
| R2_ACCOUNT_ID="<YOUR_R2_ACCOUNT_ID>" | |
| R2_BUCKET="<YOUR_BUCKET_NAME>" | |
| R2_ENDPOINT="https://${R2_ACCOUNT_ID}.r2.cloudflarestorage.com" | |
| REDIS_HOST="<YOUR_REDIS_HOST>" |