Skip to content

Commit 60f1b7b

Browse files
committed
Change the check for ENVIRONMENT in the orysdk lib to check whether Ory Cloud is enabled or not
1 parent a32ba91 commit 60f1b7b

File tree

4 files changed

+147
-144
lines changed

4 files changed

+147
-144
lines changed

.github/workflows/aws.yml

Lines changed: 139 additions & 137 deletions
Original file line numberDiff line numberDiff line change
@@ -1,154 +1,156 @@
11
name: Deploy to AWS EKS
22

33
on:
4-
push:
5-
branches:
6-
- master
7-
- stage
8-
- ufpb-labcheck
9-
# For future
10-
# release:
11-
# types: [created]
4+
push:
5+
branches:
6+
- master
7+
- stage
8+
- ufpb-labcheck
9+
# For future
10+
# release:
11+
# types: [created]
1212
env:
13-
ECR_REGISTRY: ${{ secrets.ECR_REGISTRY }}
14-
KUBE_CONFIG: ${{ secrets.KUBE_CONFIG }}
15-
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY }}
16-
AWS_DEFAULT_REGION: us-east-1
17-
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
13+
ECR_REGISTRY: ${{ secrets.ECR_REGISTRY }}
14+
KUBE_CONFIG: ${{ secrets.KUBE_CONFIG }}
15+
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY }}
16+
AWS_DEFAULT_REGION: us-east-1
17+
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
1818
jobs:
19-
setup-build-publish:
20-
name: Build & Publish
21-
runs-on: ubuntu-latest
22-
environment: ${{ github.ref_name == 'stage' && 'development' || github.ref_name == 'master' && 'production' || github.ref_name }}
23-
env:
24-
ENVIRONMENT: ${{ github.ref_name == 'stage' && 'development' || github.ref_name == 'master' && 'production' || github.ref_name }}
25-
AWS_SDK_BUCKET: ${{ secrets.AWS_SDK_BUCKET }}
26-
API_URL: ${{ secrets.API_URL }}
27-
GITHUB_SHA: ${{ github.sha }}
28-
IMAGE: aletheiafact-production
29-
ENV: ${{ github.ref_name == 'stage' && 'development' || github.ref_name == 'master' && 'production' || github.ref_name }}
30-
NEW_RELIC_LICENSE_KEY: ${{ secrets.NEW_RELIC_LICENSE_KEY }}
31-
UMAMI_SITE_ID: ${{ secrets.UMAMI_SITE_ID }}
32-
MONGODB_URI: ${{ secrets.MONGODB_URI }}
33-
MONGODB_NAME: ${{ secrets.MONGODB_NAME }}
34-
ORY_SDK_URL: ${{ secrets.ORY_SDK_URL }}
35-
ORY_ACCESS_TOKEN: ${{ secrets.ORY_ACCESS_TOKEN }}
36-
ALETHEIA_SCHEMA_ID: ${{ secrets.ALETHEIA_SCHEMA_ID }}
37-
RECAPTCHA_SITEKEY: ${{ secrets.RECAPTCHA_SITEKEY }}
38-
NOVU_API_KEY: ${{ secrets.NOVU_API_KEY }}
39-
NOVU_APPLICATION_IDENTIFIER: ${{ secrets.NOVU_APPLICATION_IDENTIFIER }}
40-
NEW_RELIC_APP_NAME: ${{ secrets.NEW_RELIC_APP_NAME }}
41-
GITLAB_FEATURE_FLAG_URL: ${{ secrets.GITLAB_FEATURE_FLAG_URL }}
42-
GITLAB_FEATURE_FLAG_INSTANCE_ID: ${{ secrets.GITLAB_FEATURE_FLAG_INSTANCE_ID }}
43-
# Needed env variables for first build on next
44-
NEXT_PUBLIC_UMAMI_SITE_ID: ${{ secrets.UMAMI_SITE_ID }}
45-
NEXT_PUBLIC_RECAPTCHA_SITEKEY: ${{ secrets.RECAPTCHA_SITEKEY }}
46-
AGENTS_API_URL: ${{ secrets.AGENTS_API_URL }}
47-
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
48-
ZENVIA_API_URL: ${{ secrets.ZENVIA_API_URL }}
49-
ZENVIA_API_TOKEN: ${{ secrets.ZENVIA_API_URL }}
50-
AGENCIA_ACCESS_TOKEN: ${{ secrets.AGENCIA_ACCESS_TOKEN }}
51-
RECAPTCHA_SECRET: ${{ secrets.RECAPTCHA_SECRETKEY }}
52-
TAG: ${{ github.sha}}
53-
steps:
54-
- name: Checkout
55-
uses: actions/checkout@v2
19+
setup-build-publish:
20+
name: Build & Publish
21+
runs-on: ubuntu-latest
22+
environment: ${{ github.ref_name == 'stage' && 'development' || github.ref_name == 'master' && 'production' || github.ref_name }}
23+
env:
24+
ENVIRONMENT: ${{ github.ref_name == 'stage' && 'development' || github.ref_name == 'master' && 'production' || github.ref_name }}
25+
AWS_SDK_BUCKET: ${{ secrets.AWS_SDK_BUCKET }}
26+
API_URL: ${{ secrets.API_URL }}
27+
GITHUB_SHA: ${{ github.sha }}
28+
IMAGE: aletheiafact-production
29+
ENV: ${{ github.ref_name == 'stage' && 'development' || github.ref_name == 'master' && 'production' || github.ref_name }}
30+
NEW_RELIC_LICENSE_KEY: ${{ secrets.NEW_RELIC_LICENSE_KEY }}
31+
UMAMI_SITE_ID: ${{ secrets.UMAMI_SITE_ID }}
32+
MONGODB_URI: ${{ secrets.MONGODB_URI }}
33+
MONGODB_NAME: ${{ secrets.MONGODB_NAME }}
34+
ORY_SDK_URL: ${{ secrets.ORY_SDK_URL }}
35+
ORY_ACCESS_TOKEN: ${{ secrets.ORY_ACCESS_TOKEN }}
36+
ORYCLOUD: true
37+
ALETHEIA_SCHEMA_ID: ${{ secrets.ALETHEIA_SCHEMA_ID }}
38+
RECAPTCHA_SITEKEY: ${{ secrets.RECAPTCHA_SITEKEY }}
39+
NOVU_API_KEY: ${{ secrets.NOVU_API_KEY }}
40+
NOVU_APPLICATION_IDENTIFIER: ${{ secrets.NOVU_APPLICATION_IDENTIFIER }}
41+
NEW_RELIC_APP_NAME: ${{ secrets.NEW_RELIC_APP_NAME }}
42+
GITLAB_FEATURE_FLAG_URL: ${{ secrets.GITLAB_FEATURE_FLAG_URL }}
43+
GITLAB_FEATURE_FLAG_INSTANCE_ID: ${{ secrets.GITLAB_FEATURE_FLAG_INSTANCE_ID }}
44+
# Needed env variables for first build on next
45+
NEXT_PUBLIC_UMAMI_SITE_ID: ${{ secrets.UMAMI_SITE_ID }}
46+
NEXT_PUBLIC_RECAPTCHA_SITEKEY: ${{ secrets.RECAPTCHA_SITEKEY }}
47+
AGENTS_API_URL: ${{ secrets.AGENTS_API_URL }}
48+
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
49+
ZENVIA_API_URL: ${{ secrets.ZENVIA_API_URL }}
50+
ZENVIA_API_TOKEN: ${{ secrets.ZENVIA_API_URL }}
51+
AGENCIA_ACCESS_TOKEN: ${{ secrets.AGENCIA_ACCESS_TOKEN }}
52+
RECAPTCHA_SECRET: ${{ secrets.RECAPTCHA_SECRETKEY }}
53+
TAG: ${{ github.sha}}
54+
steps:
55+
- name: Checkout
56+
uses: actions/checkout@v2
5657

57-
- name: Configure AWS credentials
58-
uses: aws-actions/configure-aws-credentials@v1
59-
with:
60-
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }}
61-
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
62-
aws-region: us-east-1
58+
- name: Configure AWS credentials
59+
uses: aws-actions/configure-aws-credentials@v1
60+
with:
61+
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }}
62+
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
63+
aws-region: us-east-1
6364

64-
- name: Login to Amazon ECR
65-
id: login-ecr
66-
uses: aws-actions/amazon-ecr-login@v1
65+
- name: Login to Amazon ECR
66+
id: login-ecr
67+
uses: aws-actions/amazon-ecr-login@v1
6768

68-
- name: Install pkl
69-
uses: pkl-community/setup-pkl@v0
70-
with:
71-
pkl-version: 0.25.2
72-
# Setting up config.yaml based on environment
73-
- name: Set config.yaml
74-
run: |
75-
pkl eval -f yaml ./deployment/config/config-file/$ENVIRONMENT.pkl > config.$ENVIRONMENT.yaml
69+
- name: Install pkl
70+
uses: pkl-community/setup-pkl@v0
71+
with:
72+
pkl-version: 0.25.2
73+
# Setting up config.yaml based on environment
74+
- name: Set config.yaml
75+
run: |
76+
pkl eval -f yaml ./deployment/config/config-file/$ENVIRONMENT.pkl > config.$ENVIRONMENT.yaml
7677
77-
- name: Set migrate-mongo-config.ts
78-
run: |
79-
sed -i "s%MONGODB_URI%$MONGODB_URI%g" migrate-mongo-config-example.ts
80-
sed -i "s%MONGODB_NAME%$MONGODB_NAME%g" migrate-mongo-config-example.ts
78+
- name: Set migrate-mongo-config.ts
79+
run: |
80+
sed -i "s%MONGODB_URI%$MONGODB_URI%g" migrate-mongo-config-example.ts
81+
sed -i "s%MONGODB_NAME%$MONGODB_NAME%g" migrate-mongo-config-example.ts
8182
82-
# Build the Docker image
83-
- name: Build
84-
run: |
85-
docker build --build-arg ENVIRONMENT=$ENVIRONMENT \
86-
--build-arg NEXT_PUBLIC_UMAMI_SITE_ID=$NEXT_PUBLIC_UMAMI_SITE_ID \
87-
--build-arg NEXT_PUBLIC_ENVIRONMENT=$ENVIRONMENT \
88-
--build-arg NEXT_PUBLIC_ORY_SDK_URL=$ORY_SDK_URL \
89-
--build-arg NEXT_PUBLIC_RECAPTCHA_SITEKEY=${{ secrets.NEXT_PUBLIC_RECAPTCHA_SITEKEY }} \
90-
-t "$ECR_REGISTRY"/"$IMAGE":"$GITHUB_SHA" .
91-
docker tag "$ECR_REGISTRY"/"$IMAGE":"$GITHUB_SHA" "$ECR_REGISTRY"/"$IMAGE":latest
83+
# Build the Docker image
84+
- name: Build
85+
run: |
86+
docker build --build-arg ENVIRONMENT=$ENVIRONMENT \
87+
--build-arg NEXT_PUBLIC_UMAMI_SITE_ID=$NEXT_PUBLIC_UMAMI_SITE_ID \
88+
--build-arg NEXT_PUBLIC_ENVIRONMENT=$ENVIRONMENT \
89+
--build-arg NEXT_PUBLIC_ORY_SDK_URL=$ORY_SDK_URL \
90+
--build-arg NEXT_PUBLIC_ORYCLOUD=$ORYCLOUD \
91+
--build-arg NEXT_PUBLIC_RECAPTCHA_SITEKEY=${{ secrets.NEXT_PUBLIC_RECAPTCHA_SITEKEY }} \
92+
-t "$ECR_REGISTRY"/"$IMAGE":"$GITHUB_SHA" .
93+
docker tag "$ECR_REGISTRY"/"$IMAGE":"$GITHUB_SHA" "$ECR_REGISTRY"/"$IMAGE":latest
9294
93-
# Push the Docker image to Google Container Registry
94-
- name: Publish
95-
run: |
96-
docker push $ECR_REGISTRY/$IMAGE:$GITHUB_SHA
97-
if [[ "$ENVIRONMENT" == "production" ]]; then docker push "$ECR_REGISTRY"/"$IMAGE":latest; fi
95+
# Push the Docker image to Google Container Registry
96+
- name: Publish
97+
run: |
98+
docker push $ECR_REGISTRY/$IMAGE:$GITHUB_SHA
99+
if [[ "$ENVIRONMENT" == "production" ]]; then docker push "$ECR_REGISTRY"/"$IMAGE":latest; fi
98100
99-
deploy:
100-
name: Deploy
101-
needs: setup-build-publish
102-
runs-on: ubuntu-latest
103-
environment: ${{ github.ref_name == 'stage' && 'development' || github.ref_name == 'master' && 'production' || github.ref_name }}
104-
env:
105-
ENVIRONMENT: ${{ github.ref_name == 'stage' && 'development' || github.ref_name == 'master' && 'production' || github.ref_name }}
106-
KUBE_CONFIG: ${{ secrets.KUBE_CONFIG }}
107-
NEW_RELIC_LICENSE_KEY: ${{ secrets.NEW_RELIC_LICENSE_KEY }}
108-
UMAMI_SITE_ID: ${{ secrets.UMAMI_SITE_ID }}
109-
ORY_SDK_URL: ${{ secrets.ORY_SDK_URL }}
110-
ORY_ACCESS_TOKEN: ${{ secrets.ORY_ACCESS_TOKEN }}
111-
RECAPTCHA_SITEKEY: ${{ secrets.RECAPTCHA_SITEKEY }}
112-
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
113-
TAG: ${{ github.sha}}
114-
steps:
115-
- name: Checkout
116-
uses: actions/checkout@v2
101+
deploy:
102+
name: Deploy
103+
needs: setup-build-publish
104+
runs-on: ubuntu-latest
105+
environment: ${{ github.ref_name == 'stage' && 'development' || github.ref_name == 'master' && 'production' || github.ref_name }}
106+
env:
107+
ENVIRONMENT: ${{ github.ref_name == 'stage' && 'development' || github.ref_name == 'master' && 'production' || github.ref_name }}
108+
KUBE_CONFIG: ${{ secrets.KUBE_CONFIG }}
109+
NEW_RELIC_LICENSE_KEY: ${{ secrets.NEW_RELIC_LICENSE_KEY }}
110+
UMAMI_SITE_ID: ${{ secrets.UMAMI_SITE_ID }}
111+
ORY_SDK_URL: ${{ secrets.ORY_SDK_URL }}
112+
ORY_ACCESS_TOKEN: ${{ secrets.ORY_ACCESS_TOKEN }}
113+
RECAPTCHA_SITEKEY: ${{ secrets.RECAPTCHA_SITEKEY }}
114+
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
115+
TAG: ${{ github.sha}}
116+
steps:
117+
- name: Checkout
118+
uses: actions/checkout@v2
117119

118-
- name: Install pkl
119-
uses: pkl-community/setup-pkl@v0
120-
with:
121-
pkl-version: 0.25.2
120+
- name: Install pkl
121+
uses: pkl-community/setup-pkl@v0
122+
with:
123+
pkl-version: 0.25.2
122124

123-
- name: Set deployment/app.yml
124-
run: |
125-
pkl eval -f yaml ./deployment/k8s/$ENVIRONMENT.pkl > deployment/app.yml
125+
- name: Set deployment/app.yml
126+
run: |
127+
pkl eval -f yaml ./deployment/k8s/$ENVIRONMENT.pkl > deployment/app.yml
126128
127-
- name: Applying Kubernetes Deployment
128-
uses: giovannirossini/aws-eks@v1.0.1
129-
with:
130-
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }}
131-
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
132-
aws-region: "us-east-1"
133-
cluster-name: "production"
134-
command: kubectl apply -f ./deployment/
129+
- name: Applying Kubernetes Deployment
130+
uses: giovannirossini/aws-eks@v1.0.1
131+
with:
132+
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }}
133+
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
134+
aws-region: "us-east-1"
135+
cluster-name: "production"
136+
command: kubectl apply -f ./deployment/
135137

136-
- name: Validation
137-
uses: giovannirossini/aws-eks@v1.0.1
138-
with:
139-
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }}
140-
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
141-
aws-region: "us-east-1"
142-
cluster-name: "production"
143-
command: kubectl rollout status deployments/aletheia -n ${{ env.ENVIRONMENT }} --timeout=360s
144-
if: success()
138+
- name: Validation
139+
uses: giovannirossini/aws-eks@v1.0.1
140+
with:
141+
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }}
142+
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
143+
aws-region: "us-east-1"
144+
cluster-name: "production"
145+
command: kubectl rollout status deployments/aletheia -n ${{ env.ENVIRONMENT }} --timeout=360s
146+
if: success()
145147

146-
- name: Rollback
147-
uses: giovannirossini/aws-eks@v1.0.1
148-
with:
149-
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }}
150-
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
151-
aws-region: "us-east-1"
152-
cluster-name: "production"
153-
command: kubectl rollout undo deployments/aletheia -n ${{ env.ENVIRONMENT }}
154-
if: failure()
148+
- name: Rollback
149+
uses: giovannirossini/aws-eks@v1.0.1
150+
with:
151+
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }}
152+
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
153+
aws-region: "us-east-1"
154+
cluster-name: "production"
155+
command: kubectl rollout undo deployments/aletheia -n ${{ env.ENVIRONMENT }}
156+
if: failure()

Dockerfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ RUN NEXT_PUBLIC_UMAMI_SITE_ID=$NEXT_PUBLIC_UMAMI_SITE_ID \
4040
NEXT_PUBLIC_RECAPTCHA_SITEKEY=$NEXT_PUBLIC_RECAPTCHA_SITEKEY \
4141
NEXT_PUBLIC_ENVIRONMENT=$NEXT_PUBLIC_ENVIRONMENT \
4242
NEXT_PUBLIC_ORY_SDK_URL=$NEXT_PUBLIC_ORY_SDK_URL \
43+
NEXT_PUBLIC_ORYCLOUD=$NEXT_PUBLIC_ORYCLOUD \
4344
yarn build
4445

4546
FROM node:18.19.1-alpine

deployment/k8s/modules/container.pkl

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import "package://pkg.pkl-lang.org/pkl-k8s/k8s@1.0.1#/api/core/v1/PodSpec.pkl"
55
hidden namespace = ""
66
hidden imagePath = ""
77
hidden podPort = ""
8+
hidden oryCloud = "true"
89

910
container: PodSpec.Container = new {
1011
name = ""
@@ -47,6 +48,10 @@ container: PodSpec.Container = new {
4748
name = "ENV_NAME"
4849
value = namespace
4950
}
51+
new {
52+
name = "NEXT_PUBLIC_ORYCLOUD"
53+
value = oryCloud
54+
}
5055
}
5156

5257
readinessProbe {

src/lib/orysdk/index.ts

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,9 @@
1-
import {
2-
Configuration,
3-
FrontendApi,
4-
IdentityApi,
5-
OAuth2Api,
6-
} from "@ory/client";
1+
import { Configuration, FrontendApi, IdentityApi } from "@ory/client";
72
import { edgeConfig } from "@ory/integrations/next";
83

94
let oryConfig = new Configuration(edgeConfig);
105

11-
if (process.env.NEXT_PUBLIC_ENVIRONMENT === "production") {
6+
if (process.env.NEXT_PUBLIC_ORYCLOUD === "true") {
127
oryConfig = new Configuration({
138
basePath: process.env.NEXT_PUBLIC_ORY_SDK_URL,
149
baseOptions: {

0 commit comments

Comments
 (0)