Dashboard for managing Kong API Gateway.
Development stack:
CI/CT stack:
Deployment stack:
$ docker run -p 3000:3000 ghcr.io/vinayakkulkarni/v-kong-dashboard:latest
$ git clone [email protected]:vinayakkulkarni/v-kong-dashboard.git
$ cd v-kong-dashboard
$ npm install
$ npm run dev
- Once all features/bugfixes are deployed on
dev
, create a PR fromdev
totest
- Once the PR is merged from
dev
->test
, runnpm run release
& ship.js will trigger a build with updated CHANGELOG & proper git tags - Follow the guide from the automated PR from Ship.js
- Once you Squash & Merge the automated PR, wait for the Ship.js trigger workflow to run successfully.
- Rebase your
dev
withtest
to ensure the correct release is also displayed ondev
env - Once the QA gives a sign off on
test
env, rebasestage
withtest
to update the UAT environment - Once UAT is ready, rebase
main
withstage
to update the Production environment
- Create your feature branch from
dev
branch, eg.feat/add-web-worker-JIRA-123
- Create a new PR from
feat/add-web-worker-JIRA-123
todev
- Once the PR is merged into
dev
, create a new PR fromdev
totest
- Once the PR is merged into
test
, rebasedev
withtest
, eg.git fetch --all && git checkout dev && git rebase origin/test && git push
- Checkout on
test
& then run a new ship.js release workflow by runningnpm run release:prepare
(Ensure you have a valid GitHub PAT in .env [GITHUB_TOKEN=PAT]) - Ship.js will automatically update the CHANGELOG & once you review and Sqaush Merge the PR
- Inform on Teams about the new release so that QA team can test on the newer version
- Once the QA passes all the tests, rebase the
stage
branch withtest
- Once the PR is merged, you HAVE to rebase
dev
& all your other branches/PRs which haven't gone in the previous release.
$ git fetch --all && git checkout dev && git rebase origin/test && git push
Once ship.js automatically prepares the Pull Request, kindly merge it and rest is done automatically by GitHub action and is driven by deploy-{env}.yml
file.
Since we'll be using Jira to log time, we have to follow the Smart Commits to ensure the time is correctly logged against each ticket. For that, you have to follow some steps.
Once you've cloned the repository, there are few steps before you can start using the Smart Commits syntax
$ cd v-kong-dashboard
$ git config --local --add user.email <your-email-address>
Next, create a bug-fix/feature branch from origin/dev
(or the default branch).
$ git fetch --all
$ git checkout -b feat/add-web-worker-JIRA-123 origin/dev
# Branch 'feat/add-web-worker-JIRA-123' set up to track remote branch 'dev' from 'origin'.
# Switched to a new branch 'feat/add-web-worker-JIRA-123'
Next, once you've done the changes, perform a Smart Commit
$ git add .
$ git commit -m 'feat: integrate web worker JIRA-123 #time 2h'
$ git push
Done. Now goto Jira board, and check for the Time Tracking section on the Jira ticket JIRA-123
Note: Each commit should have atleast the Jira ticket & time associated with it.
- Create your feature branch from
dev
(git checkout -b feat/new-feature
) - Commit your changes (
git commit -Sam 'feat: add feature'
) - Push to the branch (
git push origin feat/new-feature
) - Create a new Pull Request
Note:
- Please contribute using GitHub Flow
- Commits & PRs will be allowed only if the commit messages & PR titles follow the conventional commit standard, read more about it here
- PS. Ensure your commits are signed. Read why