diff --git a/backend/pom.xml b/backend/pom.xml index 77c7634..39a922b 100644 --- a/backend/pom.xml +++ b/backend/pom.xml @@ -179,6 +179,13 @@ 1.12.772 + + + com.h2database + h2 + test + + diff --git a/backend/src/main/resources/application.properties b/backend/src/main/resources/application.properties index caefdf6..dfaba74 100644 --- a/backend/src/main/resources/application.properties +++ b/backend/src/main/resources/application.properties @@ -42,12 +42,12 @@ jwt.expiration=${JWT_EXPIRATION:86400000} # ============================================ # Riot API Configuration # ============================================ -riot.api.key=${RIOT_API_KEY:RGAPI-7863c35a-a05f-4d60-a638-32376f1189ac} +riot.api.key=${RIOT_API_KEY:REPLACE_WITH_YOUR_RIOT_API_KEY} # ============================================ # Google AI Configuration (Gemini) # ============================================ -google.ai.api.key=${GOOGLE_AI_API_KEY:AIzaSyAambK9U6ps0QX41--9G3tC-xKN2Xk6Wiw} +google.ai.api.key=${GOOGLE_AI_API_KEY:REPLACE_WITH_YOUR_GOOGLE_AI_API_KEY} # ============================================ # Actuator Configuration diff --git a/backend/src/main/resources/keystore.jks b/backend/src/main/resources/keystore.jks deleted file mode 100644 index 1d904a9..0000000 Binary files a/backend/src/main/resources/keystore.jks and /dev/null differ diff --git a/backend/src/test/java/com/tfg/tfg/TfgApplicationTests.java b/backend/src/test/java/com/tfg/tfg/TfgApplicationTests.java index 50a6614..52e35e8 100644 --- a/backend/src/test/java/com/tfg/tfg/TfgApplicationTests.java +++ b/backend/src/test/java/com/tfg/tfg/TfgApplicationTests.java @@ -2,7 +2,9 @@ import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.ActiveProfiles; +@ActiveProfiles("test") @SpringBootTest class TfgApplicationTests { diff --git a/backend/src/test/java/com/tfg/tfg/e2e/AdminE2ETest.java b/backend/src/test/java/com/tfg/tfg/e2e/AdminE2ETest.java index a0cb2ef..7de6c2b 100644 --- a/backend/src/test/java/com/tfg/tfg/e2e/AdminE2ETest.java +++ b/backend/src/test/java/com/tfg/tfg/e2e/AdminE2ETest.java @@ -16,6 +16,7 @@ import org.slf4j.LoggerFactory; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.web.server.LocalServerPort; +import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.TestPropertySource; import java.time.Duration; @@ -26,6 +27,7 @@ /** * End-to-end tests for the admin interface and API endpoints. */ +@ActiveProfiles("test") @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @TestPropertySource(properties = { "jwt.secret=mySecretKeyForTesting123456789012345678901234567890" diff --git a/backend/src/test/java/com/tfg/tfg/e2e/DashboardE2ETest.java b/backend/src/test/java/com/tfg/tfg/e2e/DashboardE2ETest.java index d398243..d009053 100644 --- a/backend/src/test/java/com/tfg/tfg/e2e/DashboardE2ETest.java +++ b/backend/src/test/java/com/tfg/tfg/e2e/DashboardE2ETest.java @@ -16,6 +16,7 @@ import org.slf4j.LoggerFactory; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.web.server.LocalServerPort; +import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.TestPropertySource; import java.time.Duration; @@ -26,6 +27,7 @@ /** * End-to-end tests for the dashboard interface and API endpoints. */ +@ActiveProfiles("test") @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @TestPropertySource(properties = { "jwt.secret=mySecretKeyForTesting123456789012345678901234567890" diff --git a/backend/src/test/java/com/tfg/tfg/e2e/HomeNavigationE2ETest.java b/backend/src/test/java/com/tfg/tfg/e2e/HomeNavigationE2ETest.java index 8681d3e..d320ee2 100644 --- a/backend/src/test/java/com/tfg/tfg/e2e/HomeNavigationE2ETest.java +++ b/backend/src/test/java/com/tfg/tfg/e2e/HomeNavigationE2ETest.java @@ -16,6 +16,7 @@ import org.slf4j.LoggerFactory; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.web.server.LocalServerPort; +import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.TestPropertySource; import java.time.Duration; @@ -26,6 +27,7 @@ /** * End-to-end tests for the home navigation and main page. */ +@ActiveProfiles("test") @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @TestPropertySource(properties = { "jwt.secret=mySecretKeyForTesting123456789012345678901234567890" diff --git a/backend/src/test/java/com/tfg/tfg/e2e/LoginE2ETest.java b/backend/src/test/java/com/tfg/tfg/e2e/LoginE2ETest.java index 9003e12..221ecb1 100644 --- a/backend/src/test/java/com/tfg/tfg/e2e/LoginE2ETest.java +++ b/backend/src/test/java/com/tfg/tfg/e2e/LoginE2ETest.java @@ -16,6 +16,7 @@ import org.slf4j.LoggerFactory; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.web.server.LocalServerPort; +import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.TestPropertySource; import java.time.Duration; @@ -26,6 +27,7 @@ /** * End-to-end tests for the login interface and API endpoints. */ +@ActiveProfiles("test") @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @TestPropertySource(properties = { "jwt.secret=mySecretKeyForTesting123456789012345678901234567890" diff --git a/backend/src/test/java/com/tfg/tfg/integration/AdminControllerIntegrationTest.java b/backend/src/test/java/com/tfg/tfg/integration/AdminControllerIntegrationTest.java index 7dd0318..615be8e 100644 --- a/backend/src/test/java/com/tfg/tfg/integration/AdminControllerIntegrationTest.java +++ b/backend/src/test/java/com/tfg/tfg/integration/AdminControllerIntegrationTest.java @@ -9,6 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.http.MediaType; import org.springframework.security.test.context.support.WithMockUser; @@ -25,6 +26,7 @@ * Integration tests for AdminController * Tests admin-specific operations with real database interactions */ +@ActiveProfiles("test") @SpringBootTest @AutoConfigureMockMvc @Transactional diff --git a/backend/src/test/java/com/tfg/tfg/integration/DashboardControllerIntegrationTest.java b/backend/src/test/java/com/tfg/tfg/integration/DashboardControllerIntegrationTest.java index baef946..148a44f 100644 --- a/backend/src/test/java/com/tfg/tfg/integration/DashboardControllerIntegrationTest.java +++ b/backend/src/test/java/com/tfg/tfg/integration/DashboardControllerIntegrationTest.java @@ -13,6 +13,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.security.test.context.support.WithMockUser; import org.springframework.test.web.servlet.MockMvc; @@ -40,6 +41,7 @@ * Strategy: Use real database with @Transactional, mock only external API * (RiotService) */ +@ActiveProfiles("test") @SpringBootTest @AutoConfigureMockMvc @Transactional diff --git a/backend/src/test/java/com/tfg/tfg/integration/FileControllerIntegrationTest.java b/backend/src/test/java/com/tfg/tfg/integration/FileControllerIntegrationTest.java index 86508f6..e631d4a 100644 --- a/backend/src/test/java/com/tfg/tfg/integration/FileControllerIntegrationTest.java +++ b/backend/src/test/java/com/tfg/tfg/integration/FileControllerIntegrationTest.java @@ -11,6 +11,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.ActiveProfiles; import org.springframework.mock.web.MockMultipartFile; import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; @@ -27,6 +28,7 @@ * Integration tests for FileController * Tests file upload, download, and delete operations */ +@ActiveProfiles("test") @SpringBootTest @AutoConfigureMockMvc @Transactional diff --git a/backend/src/test/java/com/tfg/tfg/integration/RiotServiceIntegrationTest.java b/backend/src/test/java/com/tfg/tfg/integration/RiotServiceIntegrationTest.java index 7e79345..a1cee46 100644 --- a/backend/src/test/java/com/tfg/tfg/integration/RiotServiceIntegrationTest.java +++ b/backend/src/test/java/com/tfg/tfg/integration/RiotServiceIntegrationTest.java @@ -9,6 +9,7 @@ import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.transaction.annotation.Transactional; @@ -20,6 +21,7 @@ /** * Integration tests for RiotService and related repositories. */ +@ActiveProfiles("test") @SpringBootTest @Transactional class RiotServiceIntegrationTest { diff --git a/backend/src/test/java/com/tfg/tfg/integration/SummonerControllerIntegrationTest.java b/backend/src/test/java/com/tfg/tfg/integration/SummonerControllerIntegrationTest.java index 1a6a4e2..1a0c871 100644 --- a/backend/src/test/java/com/tfg/tfg/integration/SummonerControllerIntegrationTest.java +++ b/backend/src/test/java/com/tfg/tfg/integration/SummonerControllerIntegrationTest.java @@ -14,6 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.security.test.context.support.WithMockUser; import org.springframework.test.web.servlet.MockMvc; @@ -34,6 +35,7 @@ * Strategic Integration Tests for SummonerController * */ +@ActiveProfiles("test") @SpringBootTest @AutoConfigureMockMvc @Transactional diff --git a/backend/src/test/java/com/tfg/tfg/integration/UserControllerIntegrationTest.java b/backend/src/test/java/com/tfg/tfg/integration/UserControllerIntegrationTest.java index 0f58674..e0ac5a1 100644 --- a/backend/src/test/java/com/tfg/tfg/integration/UserControllerIntegrationTest.java +++ b/backend/src/test/java/com/tfg/tfg/integration/UserControllerIntegrationTest.java @@ -9,6 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.http.MediaType; import org.springframework.security.test.context.support.WithMockUser; @@ -25,6 +26,7 @@ * Integration tests for UserController * Tests real database interactions and full request/response cycles */ +@ActiveProfiles("test") @SpringBootTest @AutoConfigureMockMvc @Transactional diff --git a/backend/src/test/java/com/tfg/tfg/system/AdminSystemTest.java b/backend/src/test/java/com/tfg/tfg/system/AdminSystemTest.java index b50dd77..68c68d1 100644 --- a/backend/src/test/java/com/tfg/tfg/system/AdminSystemTest.java +++ b/backend/src/test/java/com/tfg/tfg/system/AdminSystemTest.java @@ -11,6 +11,7 @@ import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.web.server.LocalServerPort; import org.springframework.security.crypto.password.PasswordEncoder; +import org.springframework.test.context.ActiveProfiles; import static io.restassured.RestAssured.*; import static org.hamcrest.Matchers.*; @@ -18,6 +19,7 @@ /** * Comprehensive system tests for admin functionalities, including user management and access control. */ +@ActiveProfiles("test") @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) class AdminSystemTest { diff --git a/backend/src/test/java/com/tfg/tfg/system/AuthSystemTest.java b/backend/src/test/java/com/tfg/tfg/system/AuthSystemTest.java index 8edabf5..dd86ed2 100644 --- a/backend/src/test/java/com/tfg/tfg/system/AuthSystemTest.java +++ b/backend/src/test/java/com/tfg/tfg/system/AuthSystemTest.java @@ -11,6 +11,7 @@ import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.web.server.LocalServerPort; import org.springframework.security.crypto.password.PasswordEncoder; +import org.springframework.test.context.ActiveProfiles; import static io.restassured.RestAssured.*; import static org.hamcrest.Matchers.*; @@ -18,6 +19,7 @@ /** * Comprehensive system tests for authentication and session management. */ +@ActiveProfiles("test") @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) class AuthSystemTest { diff --git a/backend/src/test/java/com/tfg/tfg/system/DashboardSystemTest.java b/backend/src/test/java/com/tfg/tfg/system/DashboardSystemTest.java index 5e914c5..a9c84f4 100644 --- a/backend/src/test/java/com/tfg/tfg/system/DashboardSystemTest.java +++ b/backend/src/test/java/com/tfg/tfg/system/DashboardSystemTest.java @@ -11,6 +11,7 @@ import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.web.server.LocalServerPort; import org.springframework.security.crypto.password.PasswordEncoder; +import org.springframework.test.context.ActiveProfiles; import static io.restassured.RestAssured.*; import static org.hamcrest.Matchers.*; @@ -18,6 +19,7 @@ /** * Testing system for dashboard functionalities, including recent summoner activity and match history display. */ +@ActiveProfiles("test") @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) class DashboardSystemTest { diff --git a/backend/src/test/java/com/tfg/tfg/system/SearchSystemTest.java b/backend/src/test/java/com/tfg/tfg/system/SearchSystemTest.java index fe0e0fd..9e7f981 100644 --- a/backend/src/test/java/com/tfg/tfg/system/SearchSystemTest.java +++ b/backend/src/test/java/com/tfg/tfg/system/SearchSystemTest.java @@ -12,6 +12,7 @@ import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.boot.test.web.server.LocalServerPort; import org.springframework.security.crypto.password.PasswordEncoder; @@ -23,6 +24,7 @@ /** * Testing system for search functionalities, including summoner search and match history retrieval. */ +@ActiveProfiles("test") @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) class SearchSystemTest { diff --git a/backend/src/test/java/com/tfg/tfg/system/UserAccountSystemTest.java b/backend/src/test/java/com/tfg/tfg/system/UserAccountSystemTest.java index 0b1e378..004d6fd 100644 --- a/backend/src/test/java/com/tfg/tfg/system/UserAccountSystemTest.java +++ b/backend/src/test/java/com/tfg/tfg/system/UserAccountSystemTest.java @@ -11,6 +11,7 @@ import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.web.server.LocalServerPort; import org.springframework.security.crypto.password.PasswordEncoder; +import org.springframework.test.context.ActiveProfiles; import static io.restassured.RestAssured.*; import static org.hamcrest.Matchers.*; @@ -18,6 +19,7 @@ /** * Comprehensive system tests for user account functionalities, including profile management and summoner linking. */ +@ActiveProfiles("test") @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) class UserAccountSystemTest { diff --git a/backend/src/test/resources/application-test.properties b/backend/src/test/resources/application-test.properties new file mode 100644 index 0000000..562cc69 --- /dev/null +++ b/backend/src/test/resources/application-test.properties @@ -0,0 +1,26 @@ +# ============================================ +# SPIRITBLADE - Test Configuration +# ============================================ + +# SSL Configuration for Tests +server.ssl.key-store=classpath:keystore.jks +server.ssl.key-store-password=spiritblade +server.ssl.key-password=spiritblade +server.ssl.key-alias=spiritblade + +# JWT Configuration for Tests +jwt.secret=mySecretKeyForTesting123456789012345678901234567890 + +# Database Configuration for Tests (H2 in-memory) +spring.datasource.url=jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1;MODE=Oracle +spring.datasource.driver-class-name=org.h2.Driver +spring.datasource.username=sa +spring.datasource.password= +spring.jpa.database-platform=org.hibernate.dialect.H2Dialect +spring.jpa.hibernate.ddl-auto=create-drop + +# Riot API Configuration for Tests (Mocked) +riot.api.key=RGAPI-MOCK-KEY-FOR-TESTING + +# Google AI Configuration for Tests (Mocked) +google.ai.api.key=GEMINI-MOCK-KEY-FOR-TESTING diff --git a/backend/src/test/resources/keystore.jks b/backend/src/test/resources/keystore.jks new file mode 100644 index 0000000..1efc0bb Binary files /dev/null and b/backend/src/test/resources/keystore.jks differ diff --git a/iac/terraform/adb.tf b/iac/terraform/adb.tf index 35340ac..8f0af25 100644 --- a/iac/terraform/adb.tf +++ b/iac/terraform/adb.tf @@ -43,6 +43,7 @@ resource "oci_database_autonomous_database" "main" { lifecycle { prevent_destroy = true + ignore_changes = all } } diff --git a/iac/terraform/conv.py b/iac/terraform/conv.py deleted file mode 100644 index a11241e..0000000 --- a/iac/terraform/conv.py +++ /dev/null @@ -1,67 +0,0 @@ -content = b"""#!/bin/bash -# ============================================================================== -# Script de inicializacion para MySQL en Oracle Linux ARM64 -# ============================================================================== - -set -e - -# 1. Deshabilitar Firewall y SELinux inmediatamente -systemctl stop firewalld || true -systemctl disable firewalld || true -setenforce 0 || true -if [ -f /etc/selinux/config ]; then - sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config -fi - -# Flush iptables -iptables -F || true -iptables -X || true -iptables -t nat -F || true -iptables -t nat -X || true -iptables -P INPUT ACCEPT || true -iptables -P FORWARD ACCEPT || true -iptables -P OUTPUT ACCEPT || true - -# 2. Instalar MySQL -if ! rpm -q mysql-server; then - dnf install -y mysql-server -fi - -# 3. Configurar MySQL -mkdir -p /etc/my.cnf.d - -cat > /etc/my.cnf.d/z-remote.cnf <<-EOF -[mysqld] -bind-address = 0.0.0.0 -mysqlx-bind-address = 0.0.0.0 -port = 3306 -skip-networking = 0 -EOF - -# 4. Iniciar servicio -systemctl enable mysqld -systemctl start mysqld - -# 5. Esperar disponibilidad -echo 'Esperando a MySQL...' -RETRIES=0 -until mysqladmin ping -h localhost --silent; do - echo 'Waiting for MySQL...' - sleep 2 - RETRIES=$((RETRIES+1)) - if [ $RETRIES -gt 30 ]; then exit 1; fi -done - -# 6. Crear usuarios -mysql -u root <<-MYSQL_SCRIPT - CREATE DATABASE IF NOT EXISTS spiritblade; - CREATE USER IF NOT EXISTS 'root'@'%' IDENTIFIED BY 'SpiritBlade2024!'; - GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; - FLUSH PRIVILEGES; -MYSQL_SCRIPT - -echo 'DONE' -""" - -with open('d:\\tfg\\2025-SPIRITBLADE\\iac\\terraform\\mysql-init.sh', 'wb') as f: - f.write(content) diff --git a/iac/terraform/images.tf b/iac/terraform/images.tf index afed6e2..828be7c 100644 --- a/iac/terraform/images.tf +++ b/iac/terraform/images.tf @@ -10,10 +10,10 @@ data "oci_containerengine_node_pool_option" "oke_options" { # Buscar imágenes OKE que soporten ARM64 y K8s v1.31.1 locals { - # Filtrar imágenes OKE compatibles con ARM y v1.31.1 + # Filtrar imágenes OKE compatibles con ARM y la versión del cluster oke_arm_images = [ for source in data.oci_containerengine_node_pool_option.oke_options.sources : - source if can(regex("Oracle-Linux.*aarch64.*OKE-1\\.31\\.1", source.source_name)) + source if can(regex(format("Oracle-Linux.*aarch64.*OKE-%s", replace(oci_containerengine_cluster.k8s_cluster.kubernetes_version, "v", "")), source.source_name)) ] # Seleccionar la imagen más reciente diff --git a/iac/terraform/oke.tf b/iac/terraform/oke.tf index 48e2884..65fdc3f 100644 --- a/iac/terraform/oke.tf +++ b/iac/terraform/oke.tf @@ -4,7 +4,7 @@ resource "oci_containerengine_cluster" "k8s_cluster" { compartment_id = var.compartment_ocid - kubernetes_version = "v1.31.1" # Versión soportada en eu-madrid-1 + kubernetes_version = "v1.35.2" # Actualizado a la última name = "${var.project_name}-cluster" vcn_id = oci_core_vcn.main.id @@ -33,7 +33,7 @@ resource "oci_containerengine_cluster" "k8s_cluster" { resource "oci_containerengine_node_pool" "node_pool" { cluster_id = oci_containerengine_cluster.k8s_cluster.id compartment_id = var.compartment_ocid - kubernetes_version = "v1.31.1" + kubernetes_version = "v1.35.2" name = "${var.project_name}-node-pool" # VM.Standard.A1.Flex es ARM Ampere (Free Tier: 4 OCPUs y 24GB RAM total) diff --git a/k8s/dev/secrets.yaml b/k8s/dev/secrets.yaml deleted file mode 100644 index 645f348..0000000 --- a/k8s/dev/secrets.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: v1 -kind: Secret -metadata: - name: spiritblade-secrets -type: Opaque -stringData: - # MySQL - mysql-root-password: "root" - mysql-database: "spiritblade" - - # MinIO - minio-access-key: "minioadmin" - minio-secret-key: "minioadmin" - - # App - jwt-secret: "my-super-secret-jwt-key-change-me-in-prod-1234567890" - riot-api-key: "RGAPI-PLACEHOLDER" - google-ai-api-key: "GOOGLE-AI-PLACEHOLDER" - ssl-password: "changeit" diff --git a/k8s/prod/backend-deployment.yaml b/k8s/prod/backend-deployment.yaml index 8f22362..a2cfea0 100644 --- a/k8s/prod/backend-deployment.yaml +++ b/k8s/prod/backend-deployment.yaml @@ -21,13 +21,13 @@ spec: containers: - name: app # Multi-arch backend-only image supporting linux/amd64 and linux/arm64 - image: jae9104/spiritblade-backend:latest + image: docker.io/jae9104/spiritblade-backend:latest ports: - containerPort: 443 resources: requests: memory: "300Mi" - cpu: "250m" + cpu: "100m" limits: memory: "600Mi" cpu: "600m" diff --git a/k8s/prod/frontend-deployment.yaml b/k8s/prod/frontend-deployment.yaml index 6df1a22..5e814a2 100644 --- a/k8s/prod/frontend-deployment.yaml +++ b/k8s/prod/frontend-deployment.yaml @@ -19,13 +19,13 @@ spec: containers: - name: web # Multi-arch frontend-only image (Angular + nginx) supporting linux/amd64 and linux/arm64 - image: jae9104/spiritblade-frontend:latest + image: docker.io/jae9104/spiritblade-frontend:latest ports: - containerPort: 443 resources: requests: memory: "256Mi" - cpu: "150m" + cpu: "50m" limits: memory: "512Mi" cpu: "500m"