Skip to content

Commit

Permalink
fix path in GHA workflow
Browse files Browse the repository at this point in the history
  • Loading branch information
sv3ndk committed Sep 1, 2024
1 parent eea1fd2 commit 8a9aa71
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 27 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/dev.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ jobs:
- name: run integration test
env:
PYTHONPATH: functions/get_index:functions/get_restaurants:functions/search_restaurants
PYTHONPATH: src/functions/get_index:src/functions/get_restaurants:src/functions/search_restaurants
run: |
pytest tests/integration \
-s \
Expand Down
55 changes: 29 additions & 26 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,10 @@ Status: Week 3 in progress
* CDK deployment: [cdk/app.py](cdk/app.py)

* REST API:
* lambda functions with lambda-power-tools handling and pydantic data models, exposed via a REST API Gateway
* implementation:
* lambda functions exposed via a REST API Gateway
* handled by lambda-power-tools handling
* pydantic data models
* endpoints:
* `/restaurants`:
* internal API listing all restaurants from DynamoDB
Expand All @@ -38,9 +41,33 @@ source .venv-box/bin/activate
pip install -r cdk/requirements.txt
```

# Shared SSM parameters

In this project, SSM is used for the configuration shared across different deployments, following the convention:

```
/{SERVICE_NAME}/shared_context/{MATURITY_LEVEL}/..."
```

where:

* `SERVICE_NAME` is the name of the service, e.g. `production-ready-serverless`
* `MATURITY_LEVEL` is linked to the release life cycle, e.g. `dev`, `test`, `acc`, `prod`

Those parameters are expected to be created before the deployment and their value is shared across all deployments
having the same maturity level. This allows to share contextual information, like the URL of 3rd API,...

For dynamic configuration that should not be shared across deployments, e.g. feature flags, we could use a
convention similar to the following instead:

```
# (not currently implemented in this demo project)
/{SERVICE_NAME}/{FEATURE_NAME}/..."
```

# How to use

The `STAGE_NAME` env variable is used to prefix the stack and API names.
The `FEATURE_NAME` env variable is used to prefix the stack and API names.

Build and deploy:

Expand Down Expand Up @@ -115,27 +142,3 @@ FEATURE_NAME=feature-foo \
--gherkin-terminal-reporter -v
```

# Shared SSM parameters

In this project, SSM is used for the configuration shared across different deployments, following the convention:

```
/{SERVICE_NAME}/shared_context/{MATURITY_LEVEL}/..."
```
where:
* `SERVICE_NAME` is the name of the service, e.g. `production-ready-serverless`
* `MATURITY_LEVEL` is linked to the release life cycle, e.g. `dev`, `test`, `acc`, `prod`
Those parameters are expected to be created before the deployment.
This allows to share contextual information, like the URL of 3rd API, across all environments of a given maturity level.
For dynamic configuration that should not be shared across deployments, e.g. feature flags,
we could use a convention similar to the following instead:
```
# (not currently implemented in this demo project)
/{SERVICE_NAME}/{FEATURE_NAME}/..."
```

0 comments on commit 8a9aa71

Please sign in to comment.