Challenge Overview
For this challenge, we'd like to update identity service by removing the tokenization process and using config file and environment variables.
2. maven replacer plugin in pom.xml will replace the tokens in source code and configuration file.
2. All default value should be configured in place in the corresponding configuration files, the default value should be for local environments.
3. There should be ENV variables defined in order to override the default value, which makes us easily to change for different environment.
like in src/main/resources/config.yml file, you can use like
eventBusServiceClient:
endpoint: "${EVENT_BUS_SERVICE_ENDPOINT:-https://api.topcoder-dev.com/v5/bus/events}"
configuration:
topic: "${EVENT_BUS_TOPIC:-notifications.kafka.queue.java.test}"
originator: "${EVENT_BUS_ORIGINATOR:-app.challenge.service}"
for other config files, figure out the best way to support override from environment variables.
4. Define run.sh file under docker directory and update the README.md file, which describe the simplified process. the run.sh can be like
# Please update this field by asking in forum
export TC_JWT_KEY="secret"
export VALID_ISSUERS="https://topcoder-dev.auth0.com/,https://api.topcoder-dev.com,https://auth.topcoder-dev.com/"
java -jar ../target/identity-microservice-*.jar server ../src/main/resources/config.yaml
5. Remove the useless tokenization files
- Useless Token related files should be updated or removed.
- Verification Steps
Old Build Process
1. you have to define the token.properties file2. maven replacer plugin in pom.xml will replace the tokens in source code and configuration file.
New Build Process To Have
1. Please use the dev branch for development.2. All default value should be configured in place in the corresponding configuration files, the default value should be for local environments.
3. There should be ENV variables defined in order to override the default value, which makes us easily to change for different environment.
like in src/main/resources/config.yml file, you can use like
eventBusServiceClient:
endpoint: "${EVENT_BUS_SERVICE_ENDPOINT:-https://api.topcoder-dev.com/v5/bus/events}"
configuration:
topic: "${EVENT_BUS_TOPIC:-notifications.kafka.queue.java.test}"
originator: "${EVENT_BUS_ORIGINATOR:-app.challenge.service}"
for other config files, figure out the best way to support override from environment variables.
4. Define run.sh file under docker directory and update the README.md file, which describe the simplified process. the run.sh can be like
# Please update this field by asking in forum
export TC_JWT_KEY="secret"
export VALID_ISSUERS="https://topcoder-dev.auth0.com/,https://api.topcoder-dev.com,https://auth.topcoder-dev.com/"
java -jar ../target/identity-microservice-*.jar server ../src/main/resources/config.yaml
5. Remove the useless tokenization files
Final Submission Guidelines
- Code Change For Identify Service, for git patch file- Useless Token related files should be updated or removed.
- Verification Steps