From 195e4e61169faaeeb449adba1d983bf924d8bc2f Mon Sep 17 00:00:00 2001 From: LimpidCrypto Date: Thu, 7 Mar 2024 18:47:53 +0000 Subject: [PATCH] rename lc --- .devcontainer/devcontainer.json | 8 +++++++- Dockerfile | 5 +++-- bin/apply_all.sh | 27 ++++++++++++++------------- docker-secret.yaml | 0 k8s/app/deployment.yaml | 28 ++++++++++++++++------------ k8s/app/pullSecret.yaml | 8 ++++++++ k8s/app/service.yaml | 6 ++++-- k8s/db/deployment.yaml | 24 ++++++++++++------------ k8s/db/pv.yaml | 15 ++++++--------- k8s/db/pvc.yaml | 5 ++--- k8s/db/secret.yaml | 2 +- k8s/db/service.yaml | 4 ++-- k8s/ingress.yaml | 18 ++++++++++++++++++ k8s/mailer/deployment.yaml | 14 +++++++------- k8s/mailer/secret.yaml | 2 +- k8s/mailer/service.yaml | 4 ++-- k8s/redis/deployment.yaml | 20 ++++++++++---------- k8s/redis/service.yaml | 4 ++-- 18 files changed, 115 insertions(+), 79 deletions(-) create mode 100644 docker-secret.yaml create mode 100644 k8s/app/pullSecret.yaml create mode 100644 k8s/ingress.yaml diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 4d070ef..a9d561c 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -8,9 +8,15 @@ 3011, 3012 ], - "postStartCommand": "cargo install loco-cli && brew install k9s && chmod a+x /workspaces/${localWorkspaceFolderBasename}/bin/*", + "postStartCommand": "cargo install loco-cli && brew install k9s && minikube addons enable ingress && chmod a+x /workspaces/${localWorkspaceFolderBasename}/bin/*", "customizations": { "vscode": { + "settings": { + "editor.formatOnSave": true, + "[yaml]": { + "editor.formatOnSave": false + } + }, "extensions": [ // general "usernamehw.errorlens", diff --git a/Dockerfile b/Dockerfile index 1c0ef51..329a545 100644 --- a/Dockerfile +++ b/Dockerfile @@ -29,7 +29,8 @@ WORKDIR /usr/app COPY --from=builder /usr/src/frontend/dist/frontend/browser /usr/app/frontend/dist/frontend/browser COPY --from=builder /usr/src/frontend/dist/frontend/browser/index.html /usr/app/frontend/dist/frontend/browser/index.html +COPY --from=builder /usr/src/assets /usr/app/assets COPY --from=builder /usr/src/config /usr/app/config -COPY --from=builder /usr/src/target/release/${APP_NAME}-cli /usr/app/${APP_NAME}-cli +COPY --from=builder /usr/src/target/release/lc_saas-cli /usr/app/lc_saas-cli -ENTRYPOINT ["/usr/app/${APP_NAME}-cli", "start", "-e", "production"] \ No newline at end of file +ENTRYPOINT ["/usr/app/lc_saas-cli", "start", "-e", "production"] \ No newline at end of file diff --git a/bin/apply_all.sh b/bin/apply_all.sh index 711fbf1..fe24c0a 100755 --- a/bin/apply_all.sh +++ b/bin/apply_all.sh @@ -1,28 +1,29 @@ #!/bin/bash # apply namespaces -kubectl apply -f ../k8s/namespace.yaml +kubectl apply -f $(pwd)/k8s/namespace.yaml # apply secrets -kubectl apply -f ../k8s/db/secret.yaml -kubectl apply -f ../k8s/mailer/secret.yaml +# kubectl apply -f $(pwd)/k8s/app/pullSecret.yaml +kubectl apply -f $(pwd)/k8s/db/secret.yaml +kubectl apply -f $(pwd)/k8s/mailer/secret.yaml # apply configmaps # apply pv -kubectl apply -f ../k8s/db/pv.yaml +kubectl apply -f $(pwd)/k8s/db/pv.yaml # apply pvc -kubectl apply -f ../k8s/db/pvc.yaml +kubectl apply -f $(pwd)/k8s/db/pvc.yaml # apply deployments -kubectl apply -f ../k8s/app/deployment.yaml -kubectl apply -f ../k8s/db/deployment.yaml -kubectl apply -f ../k8s/mailer/deployment.yaml -kubectl apply -f ../k8s/redis/deployment.yaml +kubectl apply -f $(pwd)/k8s/app/deployment.yaml +kubectl apply -f $(pwd)/k8s/db/deployment.yaml +kubectl apply -f $(pwd)/k8s/mailer/deployment.yaml +kubectl apply -f $(pwd)/k8s/redis/deployment.yaml # apply services -kubectl apply -f ../k8s/app/service.yaml -kubectl apply -f ../k8s/db/service.yaml -kubectl apply -f ../k8s/mailer/service.yaml -kubectl apply -f ../k8s/redis/service.yaml +kubectl apply -f $(pwd)/k8s/app/service.yaml +kubectl apply -f $(pwd)/k8s/db/service.yaml +kubectl apply -f $(pwd)/k8s/mailer/service.yaml +kubectl apply -f $(pwd)/k8s/redis/service.yaml diff --git a/docker-secret.yaml b/docker-secret.yaml new file mode 100644 index 0000000..e69de29 diff --git a/k8s/app/deployment.yaml b/k8s/app/deployment.yaml index 9228d07..1a21a2d 100644 --- a/k8s/app/deployment.yaml +++ b/k8s/app/deployment.yaml @@ -1,23 +1,25 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: lc-app-deployment + name: lc-saas-app-deployment labels: - app: lc-app + app: lc-saas-app namespace: lc-saas-ns spec: replicas: 2 selector: matchLabels: - app: lc-app + app: lc-saas-app template: metadata: labels: - app: lc-app + app: lc-saas-app spec: + # imagePullSecrets: + # - name: lc-saas-app-pull-secret containers: - - name: lc-app - image: limpidcrypto/lc:latest + - name: lc-saas-app + image: limidcrypto/lc-saas:latest ports: - containerPort: 80 resources: @@ -28,23 +30,25 @@ spec: - name: POSTGRES_DB valueFrom: secretKeyRef: - name: lc-db-secret + name: lc-saas-db-secret key: postgres-db - name: POSTGRES_USER valueFrom: secretKeyRef: - name: lc-db-secret + name: lc-saas-db-secret key: postgres-user - name: POSTGRES_PASSWORD valueFrom: secretKeyRef: - name: lc-db-secret + name: lc-saas-db-secret key: postgres-password - name: DATABASE_URL - value: postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@lc-db-service:5432/${POSTGRES_DB} + value: postgres://limpid:limpid@lc-saas-db-service:5432/limpid - name: REDIS_URL - value: redis://lc-redis-service:6379 + value: redis://lc-saas-redis-service:6379 - name: MAILER_HOST - value: lc-mailer-service + value: lc-saas-mailer-service + - name: SERVER_PORT + value: "80" # - name: USER_DATABASE_URL # value: "" diff --git a/k8s/app/pullSecret.yaml b/k8s/app/pullSecret.yaml new file mode 100644 index 0000000..fbd9e27 --- /dev/null +++ b/k8s/app/pullSecret.yaml @@ -0,0 +1,8 @@ +apiVersion: v1 +kind: Secret +metadata: + name: lc-saas-app-pull-secret +data: + # kubectl create secret docker-registry --dry-run regsecret --docker-username= --docker-password= --docker-email= --namespace=lc-saas-ns -o yaml + .dockerconfigjson: | +type: kubernetes.io/dockerconfigjson diff --git a/k8s/app/service.yaml b/k8s/app/service.yaml index 86bc5d0..c693028 100644 --- a/k8s/app/service.yaml +++ b/k8s/app/service.yaml @@ -1,11 +1,13 @@ apiVersion: v1 kind: Service metadata: - name: lc-app-service + name: lc-saas-app-service namespace: lc-saas-ns spec: selector: - app: lc-app + app: lc-saas-app + type: ExternalName + externalName: lc-saas-app-service.namespacename.svc.cluster.local ports: - port: 80 targetPort: 80 diff --git a/k8s/db/deployment.yaml b/k8s/db/deployment.yaml index f9e29d1..8a3b69a 100644 --- a/k8s/db/deployment.yaml +++ b/k8s/db/deployment.yaml @@ -1,49 +1,49 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: lc-db-deployment + name: lc-saas-db-deployment labels: - app: lc-db + app: lc-saas-db namespace: lc-saas-ns spec: - replicas: 1 + replicas: 2 selector: matchLabels: - app: lc-db + app: lc-saas-db template: metadata: labels: - app: lc-db + app: lc-saas-db spec: containers: - - name: lc-db + - name: lc-saas-db image: postgres:15.3-alpine ports: - containerPort: 5432 volumeMounts: - mountPath: /var/lib/postgresql/data - name: lc-db-pv + name: postgres-data env: - name: POSTGRES_DB valueFrom: secretKeyRef: - name: lc-db-secret + name: lc-saas-db-secret key: postgres-db - name: POSTGRES_USER valueFrom: secretKeyRef: - name: lc-db-secret + name: lc-saas-db-secret key: postgres-user - name: POSTGRES_PASSWORD valueFrom: secretKeyRef: - name: lc-db-secret + name: lc-saas-db-secret key: postgres-password resources: limits: memory: "128Mi" cpu: "500m" volumes: - - name: lc-db-pv + - name: postgres-data persistentVolumeClaim: - claimName: lc-db-pvc + claimName: lc-saas-db-pvc diff --git a/k8s/db/pv.yaml b/k8s/db/pv.yaml index d0222ee..8dc16bb 100644 --- a/k8s/db/pv.yaml +++ b/k8s/db/pv.yaml @@ -1,18 +1,15 @@ apiVersion: v1 kind: PersistentVolume metadata: - name: lc-db-pv + name: lc-saas-db-pv + labels: + app: postgres spec: capacity: storage: 5Gi - volumeMode: Filesystem accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain - storageClassName: lc-db-sc - mountOptions: - - hard - - nfsvers=4.1 - nfs: - path: /tmp - server: 172.17.0.2 + storageClassName: lc-saas-db-sc + hostPath: + path: /data/postgres diff --git a/k8s/db/pvc.yaml b/k8s/db/pvc.yaml index 7a1ff2a..c25270a 100644 --- a/k8s/db/pvc.yaml +++ b/k8s/db/pvc.yaml @@ -1,13 +1,12 @@ apiVersion: v1 kind: PersistentVolumeClaim metadata: - name: lc-db-pvc + name: lc-saas-db-pvc namespace: lc-saas-ns spec: + storageClassName: lc-saas-db-sc resources: requests: storage: 5Gi - volumeMode: Filesystem accessModes: - ReadWriteOnce - storageClassName: lc-db-sc diff --git a/k8s/db/secret.yaml b/k8s/db/secret.yaml index 294e8f8..3ab9de9 100644 --- a/k8s/db/secret.yaml +++ b/k8s/db/secret.yaml @@ -1,7 +1,7 @@ apiVersion: v1 kind: Secret metadata: - name: lc-db-secret + name: lc-saas-db-secret namespace: lc-saas-ns type: Opaque data: diff --git a/k8s/db/service.yaml b/k8s/db/service.yaml index 3af7599..ec25bff 100644 --- a/k8s/db/service.yaml +++ b/k8s/db/service.yaml @@ -1,11 +1,11 @@ apiVersion: v1 kind: Service metadata: - name: lc-db-service + name: lc-saas-db-service namespace: lc-saas-ns spec: selector: - app: lc-db + app: lc-saas-db ports: - protocol: TCP port: 5432 diff --git a/k8s/ingress.yaml b/k8s/ingress.yaml new file mode 100644 index 0000000..2fd5109 --- /dev/null +++ b/k8s/ingress.yaml @@ -0,0 +1,18 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: lc-saas-ingress + labels: + name: lc-saas-ingress +spec: + rules: + - host: localhost + http: + paths: + - pathType: Prefix + path: "/" + backend: + service: + name: lc-saas-app-service + port: + number: 80 diff --git a/k8s/mailer/deployment.yaml b/k8s/mailer/deployment.yaml index c4b80fc..4c6c2c4 100644 --- a/k8s/mailer/deployment.yaml +++ b/k8s/mailer/deployment.yaml @@ -1,22 +1,22 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: lc-mailer-deployment + name: lc-saas-mailer-deployment labels: - app: lc-mailer + app: lc-saas-mailer namespace: lc-saas-ns spec: replicas: 1 selector: matchLabels: - app: lc-mailer + app: lc-saas-mailer template: metadata: labels: - app: lc-mailer + app: lc-saas-mailer spec: containers: - - name: lc-mailer + - name: lc-saas-mailer image: mailtutan/mailtutan:latest ports: - containerPort: 1080 @@ -28,10 +28,10 @@ spec: - name: MAILTUTAN_HTTP_USERNAME valueFrom: secretKeyRef: - name: lc-mailer-secret + name: lc-saas-mailer-secret key: user - name: MAILTUTAN_HTTP_PASSWORD valueFrom: secretKeyRef: - name: lc-mailer-secret + name: lc-saas-mailer-secret key: password diff --git a/k8s/mailer/secret.yaml b/k8s/mailer/secret.yaml index 3aaad4d..9c53dc2 100644 --- a/k8s/mailer/secret.yaml +++ b/k8s/mailer/secret.yaml @@ -1,7 +1,7 @@ apiVersion: v1 kind: Secret metadata: - name: lc-mailer-secret + name: lc-saas-mailer-secret namespace: lc-saas-ns type: Opaque data: diff --git a/k8s/mailer/service.yaml b/k8s/mailer/service.yaml index afeaad7..db30467 100644 --- a/k8s/mailer/service.yaml +++ b/k8s/mailer/service.yaml @@ -1,11 +1,11 @@ apiVersion: v1 kind: Service metadata: - name: lc-mailer-service + name: lc-saas-mailer-service namespace: lc-saas-ns spec: selector: - app: lc-mailer + app: lc-saas-mailer ports: - port: 1080 targetPort: 1080 diff --git a/k8s/redis/deployment.yaml b/k8s/redis/deployment.yaml index 00015e6..2910224 100644 --- a/k8s/redis/deployment.yaml +++ b/k8s/redis/deployment.yaml @@ -1,22 +1,22 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: lc-redis-deployment + name: lc-saas-redis-deployment labels: - app: lc-redis + app: lc-saas-redis namespace: lc-saas-ns spec: replicas: 1 selector: matchLabels: - app: lc-redis + app: lc-saas-redis template: metadata: labels: - app: lc-redis + app: lc-saas-redis spec: containers: - - name: lc-redis + - name: lc-saas-redis image: redis:latest ports: - containerPort: 6379 @@ -28,23 +28,23 @@ spec: - name: POSTGRES_DB valueFrom: secretKeyRef: - name: lc-db-secret + name: lc-saas-db-secret key: postgres-db - name: POSTGRES_USER valueFrom: secretKeyRef: - name: lc-db-secret + name: lc-saas-db-secret key: postgres-user - name: POSTGRES_PASSWORD valueFrom: secretKeyRef: - name: lc-db-secret + name: lc-saas-db-secret key: postgres-password - name: DATABASE_URL value: postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB} - name: REDIS_URL - value: redis://lc-redis:6379 + value: redis://lc-saas-redis:6379 - name: MAILER_HOST - value: lc-mailer + value: lc-saas-mailer # - name: USER_DATABASE_URL # value: "" diff --git a/k8s/redis/service.yaml b/k8s/redis/service.yaml index 7ef9564..484a3d2 100644 --- a/k8s/redis/service.yaml +++ b/k8s/redis/service.yaml @@ -1,11 +1,11 @@ apiVersion: v1 kind: Service metadata: - name: lc-app-service + name: lc-saas-app-service namespace: lc-saas-ns spec: selector: - app: lc-app + app: lc-saas-app ports: - port: 6379 targetPort: 6379