Skip to content

liquibase/liquibase-aws-license-service

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Liquibase AWS License Service Extension

Extension which validates licenses using AWS License Manager

📤 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. We release a new version of liquibase-aws-license-service only when it is required, as this is a PRO extension.
  3. 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.
  4. 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.

🔮 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 "test_tag_number".
  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 "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}

🔨 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.

    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.