diff --git a/infra/kubernetes/manifest/deployment.yml b/infra/kubernetes/manifest/deployment.yml index 4c2202e..bbf0ebc 100644 --- a/infra/kubernetes/manifest/deployment.yml +++ b/infra/kubernetes/manifest/deployment.yml @@ -4,20 +4,24 @@ metadata: name: leaderboards-deployment labels: app: leaderboards + tier: deployment spec: replicas: 1 selector: matchLabels: app: leaderboards + tier: container template: metadata: labels: app: leaderboards + tier: container spec: + imagePullSecrets: + - name: github-image-pull-token containers: - name: leaderboards - image: 'lunatech-leaderboards:latest' - imagePullPolicy: Never + image: 'ghcr.io/lunatech-labs/lunatech-leaderboards:latest' ports: - containerPort: 8080 name: http-web-svc diff --git a/infra/kubernetes/manifest/ingress.yml b/infra/kubernetes/manifest/ingress.yml new file mode 100644 index 0000000..0acdbb4 --- /dev/null +++ b/infra/kubernetes/manifest/ingress.yml @@ -0,0 +1,30 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: leaderboards-ingress + namespace: leaderboards + annotations: + cert-manager.io/cluster-issuer: letsencrypt-production + external-dns.alpha.kubernetes.io/hostname: api.lunatech.cloud + ingress.kubernetes.io/proxy-body-size: 100M + ingress.kubernetes.io/app-root: "/leaderboard" + nginx.ingress.kubernetes.io/auth-url: "http://auth-provider.lunacloud.svc.cluster.local:8080/verify" + nginx.ingress.kubernetes.io/auth-signin: "https://lunatech.cloud/oauth2/start?rd=https://api.lunatech.cloud$escaped_request_uri" + nginx.ingress.kubernetes.io/auth-response-headers: Authorization +spec: + ingressClassName: nginx + tls: + - hosts: + - api.lunatech.cloud + secretName: api-tls + rules: + - host: api.lunatech.cloud + - http: + paths: + - path: /leaderboards + pathType: Prefix + backend: + service: + name: leaderboards-service + port: + name: http-web-svc \ No newline at end of file diff --git a/infra/kubernetes/manifest/kustomization.yml b/infra/kubernetes/manifest/kustomization.yml index 481be86..e469c3c 100644 --- a/infra/kubernetes/manifest/kustomization.yml +++ b/infra/kubernetes/manifest/kustomization.yml @@ -4,3 +4,4 @@ resources: - database.yml - deployment.yml - service.yml + - ingress.yml diff --git a/infra/kubernetes/manifest/service.yml b/infra/kubernetes/manifest/service.yml index 005d812..e0548cb 100644 --- a/infra/kubernetes/manifest/service.yml +++ b/infra/kubernetes/manifest/service.yml @@ -3,14 +3,13 @@ kind: Service metadata: name: leaderboards-service namespace: leaderboards - labels: - app: leaderboards spec: selector: app: leaderboards + tier: container ports: - name: http protocol: TCP port: 80 - targetPort: http-web-svc + targetPort: 8080 type: ClusterIP \ No newline at end of file diff --git a/leaderboards-app/src/main/resources/application.yml b/leaderboards-app/src/main/resources/application.yml index 91e5c66..5f490a7 100644 --- a/leaderboards-app/src/main/resources/application.yml +++ b/leaderboards-app/src/main/resources/application.yml @@ -36,6 +36,6 @@ quarkus: # Building container-image: group: lunatech-labs - name: lunacloud-leaderboards + name: lunatech-leaderboards registry: ghcr.io additional-tags: latest \ No newline at end of file