diff --git a/components/hydra-sql/files/sql_login.yaml b/components/hydra-sql/files/sql_login.yaml new file mode 100644 index 0000000..a69ef96 --- /dev/null +++ b/components/hydra-sql/files/sql_login.yaml @@ -0,0 +1,7 @@ +sql_login: + login_column_name: mail + password_column_name: password + salt_column_name: salt + table_name: user + data_to_fetch: + - mail diff --git a/components/hydra-sql/kustomization.yaml b/components/hydra-sql/kustomization.yaml new file mode 100644 index 0000000..f305b11 --- /dev/null +++ b/components/hydra-sql/kustomization.yaml @@ -0,0 +1,23 @@ +apiVersion: kustomize.config.k8s.io/v1alpha1 +kind: Component + +resources: +- ./resources/hydra-sql-service.yaml +- ./resources/hydra-sql-deployment.yaml + +configMapGenerator: +- name: hydra-sql-env + literals: + - ISSUER_URL="http://localhost:8000" + - BASE_URL='http://localhost:8080' + - HYDRA_ADMIN_BASE_URL='http://hydra:4445/admin' + - APP_LOCALES="fr,en" + - HASH_ALGO_LEGACY="sha256, bcrypt" + - SECURITY_PATTERN="password,salt,pepper" + - DSN_REMOTE_DATABASE="pgsql:host='postgres';port=5432;dbname=lasql" + - DB_USER="makeMeASecret" + - DB_PASSWORD="makeMeASecret" + - PEPPER="MakeMeABigSecret" +- name: sql-login-config + files: + - ./files/sql_login.yaml diff --git a/components/hydra-sql/resources/hydra-sql-deployment.yaml b/components/hydra-sql/resources/hydra-sql-deployment.yaml new file mode 100644 index 0000000..fa270a7 --- /dev/null +++ b/components/hydra-sql/resources/hydra-sql-deployment.yaml @@ -0,0 +1,71 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + io.kompose.service: hydra-sql + name: hydra-sql +spec: + replicas: 1 + selector: + matchLabels: + io.kompose.service: hydra-sql + strategy: + type: Recreate + template: + metadata: + labels: + io.kompose.service: hydra-sql + spec: + containers: + - name: hydra-sql-fpm + image: reg.cadoles.com/rmasson/hydra-sql-kube:0.0.3-dev-issue-14-20230615 + # - image: reg.cadoles.com/cadoles/hydra-sql:latest + imagePullPolicy: Always + args: ["/usr/sbin/php-fpm81", "-F", "-e"] + resources: {} + envFrom: + - configMapRef: + name: hydra-sql-env + env: + - name: PHP_FPM_LISTEN + value: 127.0.0.1:9000 + - name: PHP_MEMORY_LIMIT + value: 128m + - name: PHP_FPM_MEMORY_LIMIT + value: 128m + - name: PHP_FPM_LOG_LEVEL + value: warning + volumeMounts: + - name: sql-login-config + mountPath: "/app/config/sql_login_configuration/sql_login.yaml" + subPath: "sql_login.yaml" + - name: hydra-sql-nginx + image: reg.cadoles.com/rmasson/hydra-sql-kube:0.0.3-dev-issue-14-20230615 + imagePullPolicy: Always + args: ["/usr/sbin/nginx"] + envFrom: + - configMapRef: + name: hydra-sql-env + env: + - name: NGINX_APP_UPSTREAM_BACKEND_SERVER + value: 127.0.0.1:9000 + - name: NGINX_APP_ROOT + value: "/public" + - name: NGINX_APP_PHP_INDEX + value: "/index.php" + - name: NGINX_ERROR_LOG_LEVEL + value: "warn" + - name: NGINX_APP_PHP_NON_FILE_PATTERN + value: "^/index\\.php(/|$)" + ports: + - containerPort: 8080 + volumeMounts: + - name: sql-login-config + mountPath: "/app/config/sql_login_configuration/sql_login.yaml" + subPath: "sql_login.yaml" + volumes: + - name: sql-login-config + configMap: + name: sql-login-config + + restartPolicy: Always diff --git a/components/hydra-sql/resources/hydra-sql-service.yaml b/components/hydra-sql/resources/hydra-sql-service.yaml new file mode 100644 index 0000000..2941999 --- /dev/null +++ b/components/hydra-sql/resources/hydra-sql-service.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: Service +metadata: + labels: + io.kompose.service: hydra-sql + name: hydra-sql +spec: + ports: + - name: hydra-sql + port: 8080 + selector: + io.kompose.service: hydra-sql +status: + loadBalancer: {} diff --git a/kustomization.yaml b/kustomization.yaml index 38c75b0..60bbd7a 100644 --- a/kustomization.yaml +++ b/kustomization.yaml @@ -9,3 +9,4 @@ components: - ./components/hydra-cnpg-database - ./components/hydra-oidc - ./components/hydra-saml +- ./components/hydra-sql