https://github.com/liquibase/liquibase-aws-license-service
Extension which validates licenses using AWS License Manager
https://github.com/liquibase/liquibase-aws-license-service
extension pro
Last synced: 4 months ago
JSON representation
Extension which validates licenses using AWS License Manager
- Host: GitHub
- URL: https://github.com/liquibase/liquibase-aws-license-service
- Owner: liquibase
- License: other
- Created: 2024-07-03T17:29:07.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-11T12:47:12.000Z (4 months ago)
- Last Synced: 2025-06-11T13:54:00.669Z (4 months ago)
- Topics: extension, pro
- Language: Java
- Homepage:
- Size: 1.18 MB
- Stars: 0
- Watchers: 8
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Liquibase AWS License Service Extension
Extension which validates licenses using AWS License Manager
# :outbox_tray: Deploying the extension to Liquibase AWS Marketplace
1. The `extension-update-pom.yml` file updates the Liquibase version of the extension in the `pom.xml` file whenever there is a **new Liquibase Release**. It listens to the `repository_dispatch` event called `oss-released-version` from the `liquibase/liquibase` repository and then runs the workflow specified in the `extension-update-pom.yml` file.
2. Make sure both the dependabot PR's for changes in `pom.xml` and `Dockerfile` are merged before you **manually test** the workflow following the doc mentioned below under ":crystal_ball: Testing Marketplace listing" [deploy-extension-to-marketplace.yml](https://github.com/liquibase/liquibase-aws-license-service/blob/main/.github/workflows/deploy-extension-to-marketplace.yml)
3. The below steps run on every OSS release.
- **a.** The `dependabot.yml` file checks for new versions of dependencies for `package-ecosystem: "docker"` and creates a pull request to update the dependencies, specifically for new version of liquibase docker .
- **b.** The workflow file `dependabot-pr-merge-docker-changes.yml` auto merges the dependabot PR containing the new Docker OSS version,
- **c.** The `deploy-extension-to-marketplace.yml` file runs and publishes the extension to the `Liquibase AWS Marketplace`.# :crystal_ball: Testing Marketplace listing
1. Run `Docker Build and Push to AWS Marketplace` https://github.com/liquibase/liquibase-aws-license-service/actions/workflows/deploy-extension-to-marketplace.yml with the `dry_run` and add `OSS-version-number-test_tag_number`. eg. 4.31.0-test1

2. NOTE: it is going to take a while for the new version to be approved. Approximate 30mins.
3. After the workflow is run, navigate to AWS account `LiquibaseAWSMP` https://aws.amazon.com/marketplace/management/products/prod-l2panlvbozc5e@23/overview/versions
4. Click on the `OSS-version-number-test_tag_number` version you want to restrict and wait for the approval. NOTE: it is going to take a while for the version to be restricted. Approximate 15mins.
5. Begin your testing from the task definitions you have https://us-east-1.console.aws.amazon.com/ecs/v2/task-definitions?region=us-east-1, after modifying your docker image to point to 709825985650.dkr.ecr.us-east-1.amazonaws.com/liquibase/liquibase/liquibasepro:{test_tag_number}# :hammer: How to test the liquibase commands with the Marketplace listing
1. We have a `LiquibaseAWSMP` AWS account where we have listed the extension in the AWS Marketplace.
2. All the QA's and Dev's should have access to this account.
3. We have AWS Fargate Cluster called `aws-mp-test-cluster` setup in this account where we can run the Liquibase commands.
4. Most of the liquibase commands should already be defined under `Task Definitions` section in the ECS Cluster.
5. All you do is navigate to `Tasks` tab, `Run New Task`, under `Family` select the task definition you want to run, and then click on `Create`.

6. You can also run the task using the `aws-cli` command.
```bash
aws ecs run-task --cluster aws-mp-test-cluster --task-definition update-liquibase
```
7. To check logs of the task, click on the task you just ran under `Tasks` tab. And then navigate to `Logs` tab.

8. To add more commands to test in the `aws-mp-test-cluster`, you can add them in the `Task Definitions` section.
9. Contact the DevOps team to get access to the `LiquibaseAWSMP` AWS account or any other help required.# :ship: Deploy th actual listing after testing
1.**After testing** run the workflow [deploy-extension-to-marketplace.yml](https://github.com/liquibase/liquibase-aws-license-service/blob/main/.github/workflows/deploy-extension-to-marketplace.yml) with actual value eg: `4.31.0` with **disabled** "Run this as dry run"
# :sparkles: New version of `liquibase-aws-license-service`
1. We release a new version of `liquibase-aws-license-service` only when it is required, as this is a PRO extension.
2. When there is a new `liquibase-aws-license-service` version release, the dependabot in LPM(liquibase package manager) repository creates a PR: example : https://github.com/liquibase/liquibase-package-manager/pull/430/files#diff-0b0a9d274bd84c7dbfff4680de10599cd0d96458b06b74a925b2bcd3e3fc2fadR15. We need to **manually** merge the PR. Make sure to review and merge the PR before proceeding.