Merge branch 'master' of github.com:sirius0xdev/gcloud-lab
fuck me#
This commit is contained in:
commit
f49e3c9037
21 changed files with 174 additions and 222 deletions
|
|
@ -9,38 +9,6 @@ spec:
|
|||
spec:
|
||||
template:
|
||||
spec:
|
||||
volumes:
|
||||
- name: ollama-storage
|
||||
persistentVolumeClaim:
|
||||
claimName: ollama-storage
|
||||
|
||||
|
||||
initContainers:
|
||||
- name: model-puller
|
||||
image: ollama/ollama:latest
|
||||
volumeMounts:
|
||||
- name: ollama-storage
|
||||
mountPath: /root/.ollama
|
||||
command: ["/bin/sh", "-c"]
|
||||
args: ["ollama serve & sleep 5 && ollama pull mistral-small"]
|
||||
|
||||
|
||||
- name: ollama-sidecar
|
||||
image: ollama/ollama:latest
|
||||
restartPolicy: Always
|
||||
env:
|
||||
- name: OLLAMA_DEBUG
|
||||
value: "2"
|
||||
- name: OLLAMA_LOG_LEVEL
|
||||
value: "DEBUG"
|
||||
ports:
|
||||
- containerPort: 11434
|
||||
volumeMounts:
|
||||
- name: ollama-storage
|
||||
mountPath: /root/.ollama
|
||||
resources:
|
||||
limits:
|
||||
nvidia.com/gpu: 1
|
||||
containers:
|
||||
- name: analyst
|
||||
image: siriussec/summarizerlocal:3.5
|
||||
|
|
@ -57,4 +25,3 @@ spec:
|
|||
|
||||
restartPolicy: OnFailure
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -8,8 +8,9 @@ data:
|
|||
DB_NAME: "news_app_db"
|
||||
DB_USER: "news_app"
|
||||
DB_PORT: "5432"
|
||||
LLM_URL: "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent"
|
||||
MODEL_NAME: ""
|
||||
LLM_BASE_URL: "http://rtx6000-brain-service.customer1.svc.cluster.local:8000/v1"
|
||||
MODEL_NAME: "edp1096/Huihui-Qwen3.6-27B-abliterated-FP8"
|
||||
LLM_API_KEY: "sk-dummy"
|
||||
SUMMARY_PROMPT: |
|
||||
You are an expert news analyst working for DARPA. Your task is to deliver thorough, insightful analysis of the provided news articles.
|
||||
|
||||
|
|
|
|||
|
|
@ -8,8 +8,9 @@ data:
|
|||
DB_NAME: "news_app_db"
|
||||
DB_USER: "news_app"
|
||||
DB_PORT: "5432"
|
||||
LLM_BASE_URL: "http://a100-brain-vllm:8000/v1"
|
||||
MODEL_NAME: "deepseek-r1:70b"
|
||||
LLM_BASE_URL: "http://rtx6000-brain-service.customer1.svc.cluster.local:8000/v1"
|
||||
MODEL_NAME: "edp1096/Huihui-Qwen3.6-27B-abliterated-FP8"
|
||||
LLM_API_KEY: "sk-dummy"
|
||||
|
||||
MAP_PROMPT: |
|
||||
|
||||
|
|
@ -21,8 +22,7 @@ data:
|
|||
Translate every non-English article into flawless, natural English.
|
||||
Compress the batch into dense, structured, machine-readable summaries that preserve every tradable signal while slashing token count.
|
||||
|
||||
# REASONING PROTOCOL (MANDATORY <think> PHASE — FULL ACTIVATION)
|
||||
<think>
|
||||
# REASONING PROTOCOL (MANDATORY THINKING PHASE — FULL ACTIVATION)
|
||||
Execute the following 9-step protocol for the whole batch. Show every step internally before producing the final output.
|
||||
|
||||
1. PER-ARTICLE DECONSTRUCTION
|
||||
|
|
@ -43,7 +43,6 @@ data:
|
|||
- Ensure every bullet is dense, factual, and zero-fluff.
|
||||
9. BATCH-LEVEL SUMMARY
|
||||
- Identify the 2-3 strongest overarching signals in the entire batch.
|
||||
</think>
|
||||
|
||||
# TASK
|
||||
For EVERY article in the batch, output the exact block below.
|
||||
|
|
@ -78,13 +77,12 @@ data:
|
|||
SUMMARY_PROMPT: |
|
||||
|
||||
# ROLE
|
||||
Lead Futures Strategist & Macro-Economist with Elite Reasoning + Technical Integration Engine (DeepSeek-R1 mode).
|
||||
Lead Futures Strategist & Macro-Economist with Elite Reasoning + Technical Integration Engine.
|
||||
|
||||
# OBJECTIVE
|
||||
Synthesize the news batch + all supplied price/volume data into a high-conviction "Trading Edge" report. Extract precise, actionable trade setups with exact entry triggers, layered price targets, TP levels, and SL placements. Use the technical data to anchor every level in current market structure.
|
||||
|
||||
# REASONING PROTOCOL (MANDATORY <think> PHASE — FULL ACTIVATION)
|
||||
<think>
|
||||
# REASONING PROTOCOL (MANDATORY THINKING PHASE — FULL ACTIVATION)
|
||||
Execute the following 10-step protocol in sequence. Show every logical step before outputting the final report.
|
||||
|
||||
1. ARTICLE DECONSTRUCTION → Core facts, symbols impacted, time horizon, credibility.
|
||||
|
|
@ -113,7 +111,6 @@ data:
|
|||
- Rank only the top 5-7 highest-edge setups by (conviction × magnitude × R:R).
|
||||
10. FINAL CONVCTION CHECK
|
||||
- Overall report conviction after critique.
|
||||
</think>
|
||||
|
||||
TASK
|
||||
Produce only high-signal, fully actionable futures setups. Every level must be justified by either:
|
||||
|
|
@ -145,7 +142,7 @@ data:
|
|||
|
||||
CONSTRAINTS
|
||||
- Every price level, TP, and SL must be traceable to the supplied price/volume data or explicit news+history.
|
||||
- No vague language. No “around here” or “watch this area.”
|
||||
- No vague language. No "around here" or "watch this area."
|
||||
- Use exact futures notation (/CL, /NG, /ES, /NQ, /GC, /SI, /HG, etc.).
|
||||
- Keep bullets dense but scannable (Telegram-ready).
|
||||
- Zero hype. If evidence is marginal, state confidence honestly.
|
||||
|
|
|
|||
|
|
@ -10,59 +10,6 @@ spec:
|
|||
spec:
|
||||
template:
|
||||
spec:
|
||||
nodeSelector:
|
||||
accelerator: "a100-80gb"
|
||||
|
||||
# 2. ACCEPT THE GPU TAINT
|
||||
tolerations:
|
||||
- key: "nvidia.com/gpu-a100-80gb"
|
||||
operator: "Equal"
|
||||
value: "present"
|
||||
effect: "NoSchedule"
|
||||
# Standard GPU toleration for GKE system
|
||||
- key: "nvidia.com/gpu"
|
||||
operator: "Exists"
|
||||
effect: "NoSchedule"
|
||||
|
||||
volumes:
|
||||
- name: deepseek-storage
|
||||
persistentVolumeClaim:
|
||||
claimName: deepseek-storage
|
||||
|
||||
|
||||
initContainers:
|
||||
- name: model-puller
|
||||
image: ollama/ollama:latest
|
||||
volumeMounts:
|
||||
- name: deepseek-storage
|
||||
mountPath: /root/.ollama
|
||||
command: ["/bin/sh", "-c"]
|
||||
args: ["ollama serve & sleep 5 && ollama pull deepseek-r1:70b"]
|
||||
|
||||
|
||||
- name: ollama-sidecar
|
||||
image: ollama/ollama:latest
|
||||
restartPolicy: Always
|
||||
env:
|
||||
- name: OLLAMA_DEBUG
|
||||
value: "2"
|
||||
- name: OLLAMA_LOG_LEVEL
|
||||
value: "DEBUG"
|
||||
ports:
|
||||
- containerPort: 11434
|
||||
volumeMounts:
|
||||
- name: deepseek-storage
|
||||
mountPath: /root/.ollama
|
||||
|
||||
resources:
|
||||
limits:
|
||||
nvidia.com/gpu: "1"
|
||||
memory: "90Gi"
|
||||
requests:
|
||||
nvidia.com/gpu: "1"
|
||||
memory: "80Gi"
|
||||
cpu: "4"
|
||||
|
||||
containers:
|
||||
- name: analyst
|
||||
image: siriussec/summarizerlocal:3.6
|
||||
|
|
|
|||
|
|
@ -8,8 +8,9 @@ data:
|
|||
DB_NAME: "news_app_db"
|
||||
DB_USER: "news_app"
|
||||
DB_PORT: "5432"
|
||||
LLM_BASE_URL: "http://a100-brain-vllm:8000/v1"
|
||||
MODEL_NAME: "mistral-small"
|
||||
LLM_BASE_URL: "http://rtx6000-brain-service.customer1.svc.cluster.local:8000/v1"
|
||||
MODEL_NAME: "edp1096/Huihui-Qwen3.6-27B-abliterated-FP8"
|
||||
LLM_API_KEY: "sk-dummy"
|
||||
|
||||
MAP_PROMPT: |
|
||||
You are a state of the art AI News analysis
|
||||
|
|
|
|||
|
|
@ -4,18 +4,15 @@ kind: Kustomization
|
|||
namespace: customer1
|
||||
resources:
|
||||
- configmap.yaml
|
||||
- gemini-apikey.yaml
|
||||
- scraper-cronjob.yaml
|
||||
- scrapy-urls-configmap.yaml
|
||||
- scrapy-configmap.yaml
|
||||
- telebot-cronjob.yaml
|
||||
- telebot-secret.yaml
|
||||
# - gemma-configmap.yaml
|
||||
- gemma-configmap.yaml
|
||||
# - analyst-cronjob.yaml
|
||||
- ollama-storage.yaml
|
||||
- news-app-password.yaml
|
||||
- news-app-db.yaml
|
||||
#- deepseek-summarizer.yaml
|
||||
- deepseek-configmap.yaml
|
||||
- deepseek-storage.yaml
|
||||
#- new_deepseek.yaml
|
||||
#- deepseek-summarizer.yaml
|
||||
#- new_deepseek.yaml
|
||||
|
|
|
|||
|
|
@ -11,59 +11,6 @@ spec:
|
|||
spec:
|
||||
template:
|
||||
spec:
|
||||
nodeSelector:
|
||||
accelerator: "a100-80gb"
|
||||
|
||||
# 2. ACCEPT THE GPU TAINT
|
||||
tolerations:
|
||||
- key: "nvidia.com/gpu-a100-80gb"
|
||||
operator: "Equal"
|
||||
value: "present"
|
||||
effect: "NoSchedule"
|
||||
# Standard GPU toleration for GKE system
|
||||
- key: "nvidia.com/gpu"
|
||||
operator: "Exists"
|
||||
effect: "NoSchedule"
|
||||
|
||||
volumes:
|
||||
- name: deepseek-storage
|
||||
persistentVolumeClaim:
|
||||
claimName: deepseek-storage
|
||||
|
||||
|
||||
initContainers:
|
||||
- name: model-puller
|
||||
image: ollama/ollama:latest
|
||||
volumeMounts:
|
||||
- name: deepseek-storage
|
||||
mountPath: /root/.ollama
|
||||
command: ["/bin/sh", "-c"]
|
||||
args: ["ollama serve & sleep 5 && ollama pull deepseek-r1:70b"]
|
||||
|
||||
|
||||
- name: ollama-sidecar
|
||||
image: ollama/ollama:latest
|
||||
restartPolicy: Always
|
||||
env:
|
||||
- name: OLLAMA_DEBUG
|
||||
value: "2"
|
||||
- name: OLLAMA_LOG_LEVEL
|
||||
value: "DEBUG"
|
||||
ports:
|
||||
- containerPort: 11434
|
||||
volumeMounts:
|
||||
- name: deepseek-storage
|
||||
mountPath: /root/.ollama
|
||||
|
||||
resources:
|
||||
limits:
|
||||
nvidia.com/gpu: "1"
|
||||
memory: "90Gi"
|
||||
requests:
|
||||
nvidia.com/gpu: "1"
|
||||
memory: "80Gi"
|
||||
cpu: "4"
|
||||
|
||||
containers:
|
||||
- name: analyst
|
||||
image: siriussec/summarizerlocal:3.8
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ spec:
|
|||
spec:
|
||||
containers:
|
||||
- name: news-scraper
|
||||
image: siriussec/newsscraper:0.5.4
|
||||
image: ghcr.io/sirius0xdev/newsscraper:latest
|
||||
imagePullPolicy: "Always"
|
||||
|
||||
resources:
|
||||
|
|
|
|||
|
|
@ -38,19 +38,17 @@ data:
|
|||
https://feeds.nytimes.com/nyt/rss/HomePage
|
||||
https://www.thecity.nyc/rss/index.xml
|
||||
https://brooklyneagle.com/feed/
|
||||
https://www.reutersagency.com/feed/,Hard
|
||||
https://newsatme.com/api/v1/rss/ap/world,Global
|
||||
https://feeds.bbci.co.uk/news/world/rss.xml,International
|
||||
https://www.aljazeera.com/xml/rss/all.xml,Global
|
||||
https://rss.dw.com/rdf/rss-en-all,European
|
||||
https://www.france24.com/en/rss,Global
|
||||
https://www3.nhk.or.jp/rss/news/shakaitokushu.xml,Asia-Pacific
|
||||
https://www.reutersagency.com/feed/
|
||||
https://newsatme.com/api/v1/rss/ap/world
|
||||
https://feeds.bbci.co.uk/news/world/rss.xml
|
||||
https://rss.dw.com/rdf/rss-en-all
|
||||
https://www.france24.com/en/rss
|
||||
https://www3.nhk.or.jp/rss/news/shakaitokushu.xml
|
||||
https://www.cbc.ca/cctoc/rss/topstories.north
|
||||
https://www.defensenews.com/arc/outboundfeeds/rss/
|
||||
https://therecord.media/feed
|
||||
https://www.cfr.org/rss/newsletters/daily-news-brief
|
||||
https://warontherocks.com/feed/
|
||||
https://www.reutersagency.com/feed/
|
||||
https://www.thecipherbrief.com/feed
|
||||
https://www.foreignaffairs.com/rss.xml
|
||||
https://geopoliticalfutures.com/feed
|
||||
|
|
@ -66,7 +64,6 @@ data:
|
|||
https://www.securityweek.com/feed/
|
||||
|
||||
# --- REGIONAL THREAT LANDSCAPE ---
|
||||
https://www.aljazeera.com/xml/rss/all.xml
|
||||
https://www.thenationalnews.com/rss/
|
||||
https://www.scmp.com/rss/91/feed
|
||||
https://www.batimes.com.ar/rss
|
||||
|
|
@ -139,7 +136,6 @@ data:
|
|||
https://www.easternnewmexiconews.com/rss
|
||||
https://www.koat.com/topstories-rss
|
||||
https://rss.nytimes.com/services/xml/rss/nyt/HomePage.xml
|
||||
https://nypost.com/feed/
|
||||
https://www.thecity.nyc/feed/
|
||||
https://www.nbcnewyork.com/?rss=y
|
||||
https://www.wral.com/news/rss/48/
|
||||
|
|
@ -178,8 +174,6 @@ data:
|
|||
https://wyofile.com/feed/
|
||||
https://www.wyomingnews.com/search/?f=rss&t=article&c=news&l=50&s=start_time&sd=desc
|
||||
https://www.wyodaily.com/rss
|
||||
https://www.cbs17.com/news/north-carolina-news/feed/
|
||||
https://abc11.com/feed/
|
||||
https://www.wnct.com/news/north-carolina/feed/
|
||||
https://www.usnews.com/rss/news/north-carolina
|
||||
https://indyweek.com/feed/
|
||||
|
|
@ -192,9 +186,7 @@ data:
|
|||
https://www.larepublica.it/rss/homepage/rss2.xml
|
||||
https://www.sueddeutsche.de/rss
|
||||
https://www.welt.de/feeds/top-news.rss
|
||||
https://rss.dw.com/rdf/rss-en-all
|
||||
https://www.rfi.fr/en/rss
|
||||
https://www.scmp.com/rss/91/feed
|
||||
https://www.bangkokpost.com/rss
|
||||
https://thephnompenhpost.com/rss
|
||||
https://www.thejakartapost.com/rss
|
||||
|
|
@ -257,16 +249,13 @@ data:
|
|||
https://www.investing.com/rss/news_14.rss
|
||||
https://feeds.bbci.co.uk/news/business/rss.xml
|
||||
https://feeds.feedburner.com/TheHackersNews
|
||||
https://krebsonsecurity.com/feed/
|
||||
https://www.darkreading.com/rss/all.xml
|
||||
https://www.bleepingcomputer.com/feed/
|
||||
https://isc.sans.edu/rssfeed_full.xml
|
||||
https://securelist.com/feed/
|
||||
https://feeds.feedburner.com/eset/blog
|
||||
https://news.sophos.com/en-us/feed/
|
||||
https://www.schneier.com/feed/atom/
|
||||
https://www.securitymagazine.com/rss/topic/2236-cybersecurity-news
|
||||
https://www.ft.com/rss/home
|
||||
https://www.reuters.com/arc/outboundfeeds/rss/?outputType=xml
|
||||
https://www.investing.com/rss/news_462.rss
|
||||
https://www.investing.com/rss/news_1.rss
|
||||
|
|
@ -286,7 +275,6 @@ data:
|
|||
https://newsquawk.com/blog/feed.rss
|
||||
https://www.coindesk.com/arc/outboundfeeds/rss/
|
||||
https://ishookfinance.com/feed/
|
||||
https://www.scmp.com/rss/91/feed
|
||||
https://www.scmp.com/rss/92/feed
|
||||
https://www.scmp.com/rss/93/feed
|
||||
https://www.scmp.com/rss/94/feed
|
||||
|
|
@ -299,7 +287,6 @@ data:
|
|||
https://www.straitstimes.com/news/asia/rss.xml
|
||||
https://www.straitstimes.com/business/rss.xml
|
||||
|
||||
https://www.channelnewsasia.com/rss
|
||||
|
||||
https://www.reuters.com/arc/outboundfeeds/rss/?outputType=xml§ion=asia
|
||||
https://www.reuters.com/arc/outboundfeeds/rss/?outputType=xml§ion=china
|
||||
|
|
@ -327,7 +314,8 @@ data:
|
|||
https://www.rigzone.com/news/europe_russia/production/rss/
|
||||
https://www.argusmedia.com/en/news-and-insights/latest-market-news/rss
|
||||
https://www.eia.gov/rss/
|
||||
https://www.opec.org/opec_web/en/pressreleases.rss (or check https://www.opec.org for updated press releases feed)
|
||||
https://www.opec.org/opec_web/en/pressreleases.rss
|
||||
https://www.opec.org
|
||||
https://www.rosneft.com/press/news/rss/
|
||||
https://feeds.content.dowjones.io/public/rss/RSSMarketsMain
|
||||
https://feeds.content.dowjones.io/public/rss/socialeconomyfeed
|
||||
|
|
@ -343,9 +331,8 @@ data:
|
|||
https://feeds.content.dowjones.io/public/rss/mw_realtimeheadlines
|
||||
http://feeds.marketwatch.com/marketwatch/bulletins
|
||||
https://feeds.content.dowjones.io/public/rss/mw_marketpulse
|
||||
https://www.nasdaqtrader.com/rss.aspx?feed=currentheadlines&categorylist=51,52,53
|
||||
https://www.nasdaqtrader.com/rss.aspx?feed=currentheadlines&categorylist=11,12,13
|
||||
https://www.investing.com/rss/stock_Futures.rss
|
||||
https://www.nasdaqtrader.com/rss.aspx?feed=currentheadlines&categorylist=51
|
||||
https://www.nasdaqtrader.com/rss.aspx?feed=currentheadlines&categorylist=11
|
||||
https://www.investing.com/rss/stock_Options.rss
|
||||
https://www.investing.com/rss/news_11.rss
|
||||
https://www.investing.com/rss/news_25.rss
|
||||
|
|
@ -369,3 +356,4 @@ data:
|
|||
https://www.worldoil.com/rss?feed=topic:offshore
|
||||
https://oilandgas.einnews.com/rss/north-sea-offshore
|
||||
https://www.energyvoice.com/feed/
|
||||
|
||||
|
|
|
|||
|
|
@ -29,6 +29,12 @@ spec:
|
|||
login: true
|
||||
passwordSecret:
|
||||
name: trading-db-credentials
|
||||
# News app role (news_bot scraper + analyst + messenger)
|
||||
- name: news_app
|
||||
ensure: present
|
||||
login: true
|
||||
passwordSecret:
|
||||
name: news-app-password
|
||||
|
||||
bootstrap:
|
||||
initdb:
|
||||
|
|
|
|||
|
|
@ -9,5 +9,10 @@ data:
|
|||
DB_NAME: "trading_data"
|
||||
REDIS_HOST: "trading-redis.customer1.svc.cluster.local"
|
||||
REDIS_PORT: "6379"
|
||||
KAFKA_BROKER: "trading-kafka-kafka-bootstrap.customer1.svc.cluster.local:9092"
|
||||
KAFKA_BOOTSTRAP_SERVERS: "trading-kafka-kafka-bootstrap.customer1.svc.cluster.local:9092"
|
||||
KAFKA_GROUP_ID: "data-service-consumer"
|
||||
KAFKA_AUTO_OFFSET_RESET: "latest"
|
||||
HELIUS_RPC_ENDPOINT: "https://mainnet.helius-rpc.com"
|
||||
JUPITER_API_URL: "https://quote-api.jup.ag/v6"
|
||||
LOG_LEVEL: "info"
|
||||
|
|
|
|||
|
|
@ -11,3 +11,4 @@ data:
|
|||
EXECUTE_REDIS_PORT: "6379"
|
||||
KAFKA_BOOTSTRAP_SERVERS: "trading-kafka-kafka-bootstrap.customer1.svc.cluster.local:9092"
|
||||
EXECUTE_LOG_LEVEL: "info"
|
||||
EXECUTE_DB_AUTO_CREATE_TABLES: "true"
|
||||
|
|
|
|||
|
|
@ -7,6 +7,10 @@ data:
|
|||
DB_HOST: "siriusdevops-pgdb-rw.customer1.svc.cluster.local"
|
||||
DB_PORT: "5432"
|
||||
DB_NAME: "trading_data"
|
||||
NEWS_DB_HOST: "siriusdevops-pgdb-rw.customer1.svc.cluster.local"
|
||||
NEWS_DB_PORT: "5432"
|
||||
NEWS_DB_NAME: "news_app_db"
|
||||
NEWS_DB_USER: "news_app"
|
||||
REDIS_HOST: "trading-redis.customer1.svc.cluster.local"
|
||||
REDIS_PORT: "6379"
|
||||
NEWS_FETCH_INTERVAL: "300"
|
||||
|
|
|
|||
|
|
@ -60,6 +60,16 @@ spec:
|
|||
secretKeyRef:
|
||||
name: trading-db-credentials
|
||||
key: password
|
||||
- name: HELIUS_API_KEY
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: solana-api-keys
|
||||
key: helius-api-key
|
||||
- name: JUPITER_API_KEY
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: solana-api-keys
|
||||
key: jupiter-api-key
|
||||
startupProbe:
|
||||
httpGet:
|
||||
path: /health/ready
|
||||
|
|
|
|||
|
|
@ -99,11 +99,19 @@ spec:
|
|||
ports:
|
||||
- port: 6379
|
||||
protocol: TCP
|
||||
# Allow Kafka access
|
||||
# Allow Kafka access (Strimzi labels)
|
||||
- to:
|
||||
- podSelector:
|
||||
matchLabels:
|
||||
app: trading-kafka
|
||||
strimzi.io/name: trading-kafka
|
||||
ports:
|
||||
- port: 9092
|
||||
protocol: TCP
|
||||
# Allow Kafka bootstrap service (fallback)
|
||||
- to:
|
||||
- podSelector:
|
||||
matchLabels:
|
||||
strimzi.io/cluster: trading-kafka
|
||||
ports:
|
||||
- port: 9092
|
||||
protocol: TCP
|
||||
|
|
@ -127,3 +135,10 @@ spec:
|
|||
protocol: TCP
|
||||
- port: 8003
|
||||
protocol: TCP
|
||||
# Allow external HTTPS/WSS (Helius, Solana, Jupiter, Hyperliquid APIs)
|
||||
- to: []
|
||||
ports:
|
||||
- port: 443
|
||||
protocol: TCP
|
||||
- port: 80
|
||||
protocol: TCP
|
||||
|
|
|
|||
|
|
@ -58,6 +58,11 @@ spec:
|
|||
secretKeyRef:
|
||||
name: trading-db-credentials
|
||||
key: password
|
||||
- name: NEWS_DB_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: news-app-password
|
||||
key: password
|
||||
startupProbe:
|
||||
httpGet:
|
||||
path: /health
|
||||
|
|
|
|||
|
|
@ -1,4 +1,18 @@
|
|||
# Redis single-instance for trading platform caching
|
||||
# Redis Stack with RediSearch for vector similarity search (HNSW, 768-dim)
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: trading-redis-pvc
|
||||
namespace: customer1
|
||||
labels:
|
||||
app: trading-redis
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 10Gi
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
|
|
@ -20,16 +34,25 @@ kind: ConfigMap
|
|||
metadata:
|
||||
name: trading-redis-config
|
||||
namespace: customer1
|
||||
labels:
|
||||
app: trading-redis
|
||||
data:
|
||||
redis.conf: |
|
||||
maxmemory 256mb
|
||||
# Memory - increased for RediSearch vector indexes
|
||||
maxmemory 1gb
|
||||
maxmemory-policy allkeys-lru
|
||||
|
||||
# Persistence
|
||||
save 900 1
|
||||
save 300 10
|
||||
save 60 10000
|
||||
appendonly yes
|
||||
appendfsync everysec
|
||||
dir /data
|
||||
|
||||
# RediSearch module loaded automatically by redis-stack image
|
||||
# HNSW index config tuned for 768-dim vectors (e.g. nomic-embed-text)
|
||||
# HNSWARGB: initial_cap=2048, M=16, EF_CONSTRUCTION=200, EF_RUNTIME=40
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
|
|
@ -56,20 +79,22 @@ spec:
|
|||
fsGroup: 999
|
||||
containers:
|
||||
- name: redis
|
||||
image: redis:7.4-alpine
|
||||
image: redis/redis-stack:7.4.0-v8
|
||||
ports:
|
||||
- containerPort: 6379
|
||||
name: redis
|
||||
- containerPort: 8001
|
||||
name: redis-insight
|
||||
args:
|
||||
- redis-server
|
||||
- /etc/redis/redis.conf
|
||||
resources:
|
||||
requests:
|
||||
cpu: 100m
|
||||
memory: 128Mi
|
||||
limits:
|
||||
cpu: 500m
|
||||
cpu: 200m
|
||||
memory: 512Mi
|
||||
limits:
|
||||
cpu: "1"
|
||||
memory: 2Gi
|
||||
securityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
readOnlyRootFilesystem: true
|
||||
|
|
@ -86,18 +111,19 @@ spec:
|
|||
command:
|
||||
- redis-cli
|
||||
- ping
|
||||
initialDelaySeconds: 5
|
||||
initialDelaySeconds: 10
|
||||
periodSeconds: 5
|
||||
livenessProbe:
|
||||
exec:
|
||||
command:
|
||||
- redis-cli
|
||||
- ping
|
||||
initialDelaySeconds: 10
|
||||
initialDelaySeconds: 15
|
||||
periodSeconds: 10
|
||||
volumes:
|
||||
- name: config
|
||||
configMap:
|
||||
name: trading-redis-config
|
||||
- name: data
|
||||
emptyDir: {}
|
||||
persistentVolumeClaim:
|
||||
claimName: trading-redis-pvc
|
||||
|
|
|
|||
|
|
@ -4,3 +4,4 @@ kind: Kustomization
|
|||
resources:
|
||||
- trading-secrets.yaml
|
||||
- execute-service-jwt-secret.yaml
|
||||
- solana-api-keys.yaml
|
||||
|
|
|
|||
|
|
@ -0,0 +1,29 @@
|
|||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: solana-api-keys
|
||||
namespace: customer1
|
||||
type: Opaque
|
||||
stringData:
|
||||
helius-api-key: ENC[AES256_GCM,data:wuh0QeBFM7hNYxstHVy9usIKkY1KQein94ukEiPPI+6vtfZ2,iv:Jftq9HpvhjHEAqW/0h01i6qYr7g8baj3BbbGYrOq3hM=,tag:iOvqY6Ghde7Y3ur6FNR8LQ==,type:str]
|
||||
jupiter-api-key: ENC[AES256_GCM,data:nBQm47bEKb8jY8+IBgTAUK0pTUz8frZ+qw==,iv:OFr/6wuKvuXL7jvr2jdlJpWYaU8vciHn5fiIQ5vNCCI=,tag:kykbpOmUg91Miv3Rf/ufsw==,type:str]
|
||||
sops:
|
||||
kms: []
|
||||
gcp_kms: []
|
||||
azure_kv: []
|
||||
hc_vault: []
|
||||
age:
|
||||
- recipient: age1uuxf066xuuqgvjppxfcmqkwfcufnwp3wcwnl9h20g9k4l8nkw9jsaungf7
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYSVFNbC9kcEExbis3VFE1
|
||||
d2NPT3lCL2VQbnRnVlNNc3VTanBMZ3ZTbkVBCnNXUCtwUUlxcW94VGxkZ2ZYOTJQ
|
||||
YlFHelA1Zzl2U0RtRmtCaTFiWE9VNzQKLS0tIFI3T0g5d0dtWStSOFRobzlTeU1M
|
||||
bWdRTk9ib2dkMjU2eDZMZzRaTHFSUzQKRnlFkdQudt9iTKzoGvCAgumKSub9Twko
|
||||
cCc5JQcY4oFOR6huvdppGjsOt8X5jOX/PZrSh1cNikS1XkuD6MijEw==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2026-05-27T05:52:32Z"
|
||||
mac: ENC[AES256_GCM,data:PSb/+gby8U2JqIQBESGMz7/SKyvWTrc6ej3V5diLweWzsFofqlI0kN//VmYsB5Z+H19cTnnXVicZVXQtbNNv4I7Qgl1TCvuDzcgR37t6jPdv5iIlilCw8cFKw4gUB8c73L7bvHAKp0SI+nL1L6YJi5Wn5f2CTxpFE5RD5HL14pA=,iv:aVjd9KUvcfFYKO11i9jIJUVbllxeul84xjowBej1B3g=,tag:KKRTlWsyzoHs7+dLs/oMdA==,type:str]
|
||||
pgp: []
|
||||
encrypted_regex: ^(data|stringData)$
|
||||
version: 3.9.0
|
||||
|
|
@ -5,23 +5,28 @@ metadata:
|
|||
namespace: customer1
|
||||
type: Opaque
|
||||
stringData:
|
||||
#ENC[AES256_GCM,data:X6HnX4CXbHydreDklg2LsCfBN1i1dp7HFifHR4rN2A581dEbYw==,iv:5MocUK+2zYn1qxhayaVnwVR+5FLLdJRKo9uBvW6RiTE=,tag:v13dWH9t/K8Whbs9EXcgnQ==,type:comment]
|
||||
news-api-key: ENC[AES256_GCM,data:Ren1WNxCGBcaV49M+W5Gl3FjfZJh3o/X,iv:Ly1v+YdGodfeQHLkYIJra+2+qqa06wAcu2RGv6cueRE=,tag:IuWIJB1mzipgmnP5rD2c1A==,type:str]
|
||||
market-data-api-key: ENC[AES256_GCM,data:2x2vPbOu/T+4albtkeRrktBffX1i06vXQmnn31685g==,iv:LqfpNmK6d9tt2MeaaozI+PVim8KUK8TflEalSxptfjM=,tag:Tan91JSeh5aUhGiExns4PQ==,type:str]
|
||||
#ENC[AES256_GCM,data:jVRQi+JQNlDUQ+bCe189YrOcsXjYYTGF,iv:SnCbB2w1jnPnXqWGPEivK/b9bWnYA6qL1Xkx6n8XzQ8=,tag:SYJbW0Aea/evPgvGNCqw9Q==,type:comment]
|
||||
service-auth-token: ENC[AES256_GCM,data:Xrqq82eI5obC86s+FJpi4DbX9+hDdTlYdmfL6DlW,iv:lDhfIuT+On7W6Xk36FKw7fE7zBheRPaMZwQBn7DF5qc=,tag:CdE0OWzQ9OLkSsDL8gq9gA==,type:str]
|
||||
#ENC[AES256_GCM,data:dyXLfea8iq2yHlZep1eNdTLJ32FJ1njYaZFgwHTGSSpGpBu+mg==,iv:Ag6MtzvQH71KIBO0EXYDXYIlzi9Tkrzbv5yAnGeTWzI=,tag:5CbRxFAJhz3ygqHkYfQ3aA==,type:comment]
|
||||
news-api-key: ENC[AES256_GCM,data:oPEYLf8a8qGHcOqpJf4nNEJ0thnC92je,iv:L5h71TK3+bCzEfG+mWJWtAJElUAYax8j1wufPRJwz98=,tag:jhcLILef6NI0NaHYnVIDcA==,type:str]
|
||||
market-data-api-key: ENC[AES256_GCM,data:dIiQPEBaBVNrxSu15WL3+eq56NKmhjxN9VfIBeXyqw==,iv:QTzb0Ivyg1pZxp5lEW+Qf1+If8M8Qof2BfSwZq/O8AU=,tag:K5Do7SXs0gpaJPqakntoSg==,type:str]
|
||||
#ENC[AES256_GCM,data:yimW2HNmOjOVEBNcfLZNl+TDx+mmTd7c,iv:wb5QUD9X3+m/phr4x/TGqnTG02Fl1jqJuPdp0YW9Jcw=,tag:fXpKSc0X3ZyMBGwEvUBnMw==,type:comment]
|
||||
service-auth-token: ENC[AES256_GCM,data:JunmMQGPSWD0PRVN4PbGcCKaTTeZfl5US3LsS12L,iv:+qJjWstEiqarjVArzIcu1fUpp8ySXMf84pHepyK4XWI=,tag:hb+CSxl8j4zwxFrqn1TlPQ==,type:str]
|
||||
sops:
|
||||
kms: []
|
||||
gcp_kms: []
|
||||
azure_kv: []
|
||||
hc_vault: []
|
||||
age:
|
||||
- recipient: age1uuxf066xuuqgvjppxfcmqkwfcufnwp3wcwnl9h20g9k4l8nkw9jsaungf7
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBOWHFUcm9aNFlzRXk3bmtY
|
||||
b3hMRC85a2x3R1lIVmZoTk4xT1JtMDF0MEZFCmhjRGdUYWJpVnFkMTZpTVg4U01Z
|
||||
c0trekthejd6QUk3REZ2Rms0Y2hyOFUKLS0tIExseng1M0RNU3E2d1NXNlJQVGdh
|
||||
andDeDdxM2pjU05GL0pKdXIwUzc2M00KBfnTHcj5QMYGlQLRVO34sbtPsjRz37ZJ
|
||||
LO1q7fngycQGm0oNgZAZnxQNMArlNIUduH3Y8M365XushwPc9BHuQw==
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA2Mmt5alJSa1Z4dWF3anpU
|
||||
RktDZTdQcExCeTV4THcwWUFDbmlKaWxqTGp3CmNIQVlmMENNem9leHJZdGJNbys0
|
||||
RG1aR0w4aExtYStXU0YwRmVoRDhib0UKLS0tIHBGK0phRXpGNXF4OVM5TTlxcnRE
|
||||
VXY5R3M4aVp2RnRqS25abThBdWJxZUUKRh/BANhV9to++utXiIVnh7KavNfwwhTs
|
||||
rSyLXlRVHAUMghQTPB91RAk7QmozpRUWLlf09TZVRtdyNTwlCzSwYQ==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2026-05-22T02:10:53Z"
|
||||
mac: ENC[AES256_GCM,data:xpMKA/p5pEtYSjOZFwznuKO2eUE+xXNzV8Yggxt0IgzLiNSiGuHvFRaLihrgdT6/HVVEYxAbYjtnDHBY0+mVulk+p9TRUO7Z3CtlzEKfW23lpkExeN0CblWwEIh+xL86ip++BAGsI7n2LSgjVUgqInmYgi3oYAyv9wwc0+ajZzo=,iv:noqbjzz0nEUPQ/3p0rK3dHyKthz4Hm3w0GLRlya3zag=,tag:rFvLcn7QBApQs+qPrjRvKw==,type:str]
|
||||
lastmodified: "2026-05-27T04:35:21Z"
|
||||
mac: ENC[AES256_GCM,data:ClIlomZn/x9hILztsNtlxKb4sIYHDTL0gXJ6d7Yed7BUrIy5sUZCzaE4cB40sq3hxS2p3XCNQ4wr2hzEl549r4zUn0gC69U/lJcSQkIzI6qD4DlksCweFLmsPbU9XiActkmw9MKFRN6GVufCepCXnWqZOKGAps8br3wWConqv8w=,iv:KpldaQ4K6LMmLr1WpZci96VzYACMZwuKopomHXr7EsM=,tag:BL2Fl0le7axNYwa/F5odJw==,type:str]
|
||||
pgp: []
|
||||
encrypted_regex: ^(data|stringData)$
|
||||
version: 3.11.0
|
||||
version: 3.9.0
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
# - ../base/vllm-servers/
|
||||
- ../base/vllm-servers/
|
||||
# - ../base/keda-gpu-scaling/
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue