{"_id":"@claranet-ch/konveyor-eks-blueprint-addon","_rev":"9-2bae2e993c62c92c0d0dca237512b2d5","time":{"created":"2023-08-03T13:13:03.072Z","0.0.2":"2023-08-02T12:00:29.864Z","modified":"2023-08-22T10:32:06.463Z","0.0.1":"2023-08-02T12:12:37.026Z","1.0.0":"2023-08-02T12:53:50.870Z","1.0.1":"2023-08-03T13:13:03.564Z","1.0.2":"2023-08-22T10:32:06.301Z"},"name":"@claranet-ch/konveyor-eks-blueprint-addon","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.1":{"name":"@claranet-ch/konveyor-eks-blueprint-addon","version":"1.0.1","description":"The Konveyor Add-on for Amazon EKS Blueprints enables organizations embarking on their modernization journey. It follows a simple yet effective approach of surfacing the information about the application to aid a ‘Decision Maker’ to make decisions about t","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"rm -rf dist && tsc"},"author":{"name":"Claranet Switzerland GmbH"},"repository":{"type":"git","url":"git+https://github.com/claranet-ch/konveyor-eks-blueprint-addon.git"},"license":"Apache-2.0","devDependencies":{"@types/dot-object":"^2.1.2","@types/jest":"^29.5.1","@types/js-yaml":"^4.0.5","@types/node":"^18.16.15","@types/semver":"^7.3.13","@types/uuid":"^9.0.1","@typescript-eslint/eslint-plugin":"^5.59.0","@typescript-eslint/parser":"^5.59.0","aws-cdk":"^2.86.0","copyfiles":"^2.4.1","eslint":"^8.38.0","jest":"^29.6.0","json-schema-to-typescript":"^13.0.1","lint":"^1.1.2","ts-jest":"^29.1.0","ts-node":"^10.9.1","typedoc":"^0.24.4","typescript":"^5.0.4"},"dependencies":{"@aws-quickstart/eks-blueprints":"^1.10.0"},"gitHead":"152afdc988b3690789dc85c5531d7ae93026f578","bugs":{"url":"https://github.com/claranet-ch/konveyor-eks-blueprint-addon/issues"},"homepage":"https://github.com/claranet-ch/konveyor-eks-blueprint-addon#readme","_id":"@claranet-ch/konveyor-eks-blueprint-addon@1.0.1","_nodeVersion":"18.17.0","_npmVersion":"9.6.7","dist":{"integrity":"sha512-IAE7NI7r7FDk/1cB6pCn9EiR1Sx8s5c1sdVeptigM20AqYIbYec20EN14zUmXtnlnv8OSekQbHNanaYmL+Hb6Q==","shasum":"aafd02d0182fc2ad5a7f1932d344bc16c5766f36","tarball":"https://registry.npmjs.org/@claranet-ch/konveyor-eks-blueprint-addon/-/konveyor-eks-blueprint-addon-1.0.1.tgz","fileCount":8,"unpackedSize":38125,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCjk22wsgWC4E8e82mqGS4AZz/HsGo1O7BOgBG6rdk4UgIhAPon6nJPq62k2bZqZNaJxlCeADgNqtY9bMlVrisnFKw+"}]},"_npmUser":{"name":"claranet-ch","email":"coast.ch+npm@claranet.com"},"directories":{},"maintainers":[{"name":"claranet-ch","email":"coast.ch+npm@claranet.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/konveyor-eks-blueprint-addon_1.0.1_1691068383131_0.3008750299009779"},"_hasShrinkwrap":false},"1.0.2":{"name":"@claranet-ch/konveyor-eks-blueprint-addon","version":"1.0.2","description":"The Konveyor Add-on for Amazon EKS Blueprints enables organizations embarking on their modernization journey. It follows a simple yet effective approach of surfacing the information about the application to aid a ‘Decision Maker’ to make decisions about t","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"rm -rf dist && tsc","postbuild":"cpy 'src/**/*.ytpl' dist --no-overwrite --parents","lint":"eslint src --ext .ts"},"author":{"name":"Claranet Switzerland GmbH"},"repository":{"type":"git","url":"git+https://github.com/claranet-ch/konveyor-eks-blueprint-addon.git"},"license":"Apache-2.0","devDependencies":{"@types/dot-object":"^2.1.2","@types/jest":"^29.5.1","@types/js-yaml":"^4.0.5","@types/node":"^18.16.15","@types/semver":"^7.3.13","@types/uuid":"^9.0.1","@typescript-eslint/eslint-plugin":"^5.59.0","@typescript-eslint/parser":"^5.59.0","aws-cdk":"^2.86.0","copyfiles":"^2.4.1","eslint":"^8.38.0","jest":"^29.6.0","json-schema-to-typescript":"^13.0.1","lint":"^1.1.2","ts-jest":"^29.1.0","ts-node":"^10.9.1","typedoc":"^0.24.4","typescript":"^5.0.4","cpy-cli":"^5.0.0"},"dependencies":{"@aws-quickstart/eks-blueprints":"^1.10.0"},"gitHead":"87d6db0a4b6d355cabc0fa1623a9429c03770880","bugs":{"url":"https://github.com/claranet-ch/konveyor-eks-blueprint-addon/issues"},"homepage":"https://github.com/claranet-ch/konveyor-eks-blueprint-addon#readme","_id":"@claranet-ch/konveyor-eks-blueprint-addon@1.0.2","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"integrity":"sha512-LMZxHPSicU+dmInd9icgpwzEs32s4xtDydHVvfTVH5olf5O3LVT7fcvarVMBX9F8Qa8d4Y7t+jIA6GV79mG8Gg==","shasum":"19935d231f4714632e839af1c4f29fd8281f327b","tarball":"https://registry.npmjs.org/@claranet-ch/konveyor-eks-blueprint-addon/-/konveyor-eks-blueprint-addon-1.0.2.tgz","fileCount":10,"unpackedSize":50776,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDG18x6TfuHIQCQqEcVQKFViu8Z5av7Hz3ejrEZCCI5AQIgMhQsJV43Diu4fuZA4Ng4VjW95ONKGy40mLQZI0MVdaA="}]},"_npmUser":{"name":"claranet-ch","email":"coast.ch+npm@claranet.com"},"directories":{},"maintainers":[{"name":"claranet-ch","email":"coast.ch+npm@claranet.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/konveyor-eks-blueprint-addon_1.0.2_1692700326104_0.8526378371748631"},"_hasShrinkwrap":false}},"maintainers":[{"name":"claranet-ch","email":"coast.ch+npm@claranet.com"}],"description":"The Konveyor Add-on for Amazon EKS Blueprints enables organizations embarking on their modernization journey. It follows a simple yet effective approach of surfacing the information about the application to aid a ‘Decision Maker’ to make decisions about t","homepage":"https://github.com/claranet-ch/konveyor-eks-blueprint-addon#readme","repository":{"type":"git","url":"git+https://github.com/claranet-ch/konveyor-eks-blueprint-addon.git"},"author":{"name":"Claranet Switzerland GmbH"},"bugs":{"url":"https://github.com/claranet-ch/konveyor-eks-blueprint-addon/issues"},"license":"Apache-2.0","readme":"# Konveyor Add-On for Amazon EKS Blueprints\n\nStreamline the modernization of your application portfolio to Kubernetes. The Konveyor tool gives you insight throughout the migration process - whether you're making decisions at the portfolio or application level.\n\nFeature set\n\n- Konveyor Hub: Central interface from where you manage your application portfolio and integrate with other Konveyor tools.\n\n- Categorize and group applications by different dimensions (pre-packaged or custom) aligned with technical criteria or your organization structure.\n\n- Assess applications containerization suitablity and risks assessment.\n\n- Assign priority, assess estimated migration effort, and define optimal migration strategy for individual applications.\n\n- Evaluate required changes for Java applications containerization through automated analysis (pre-packaged or custom rules).\n\n- Fully integrated Konveyor Data Intensive Validity Advisor (DiVA): Analyzes the data layer of applications and detect dependencies to different data stores and distributed transactions. Import target Java application source files to generate analysis results.\n\n[Konveyor](https://www.konveyor.io/) is an Open Source software developed by the Konveyor Community, and is a [CNCF](https://www.cncf.io/) Sandbox project.\n\nThis Open Source solution is packaged by [Claranet Switzerland](https://www.claranet.ch/) GmbH.\n\n## Prerequisites\n\nEnsure that you have installed the following tools on your machine:\n\n- [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html) (also ensure it is [configured](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-quickstart.html#getting-started-quickstart-new))\n- [cdk](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html#getting_started_install)\n- [npm](https://docs.npmjs.com/cli/v8/commands/npm-install)\n- [tsc](https://www.typescriptlang.org/download)\n- [make](https://www.gnu.org/software/make/)\n\nLet’s start by setting the account and region environment variables:\n\n```sh\nACCOUNT_ID=$(aws sts get-caller-identity --query 'Account' --output text)\nAWS_REGION=$(aws configure get region)\n```\n\n## Deployment\n\nClone the repository:\n\n```sh\ngit clone https://github.com/aws-samples/cdk-eks-blueprints-patterns.git\ncd cdk-eks-blueprints-patterns\n```\n\nInstall the addon\n\n```sh\nnpm install @claranet-ch/konveyor-eks-blueprint-addon\n```\n\nSet the pattern's parameters in the CDK context by overriding the _cdk.json_ file (edit _PARENT_DOMAIN_NAME_ as it fits):\n\n```sh\nPARENT_DOMAIN_NAME=example.com\nHOSTED_ZONE_ID=$(aws route53 list-hosted-zones-by-name --dns-name $PARENT_DOMAIN_NAME --query \"HostedZones[].Id\" --output text | xargs basename)\ncat << EOF > cdk.json\n{\n    \"app\": \"npx ts-node dist/lib/common/default-main.js\",\n    \"context\": {\n        \"konveyor.parent.domain.name\":\"${PARENT_DOMAIN_NAME}\",\n        \"konveyor.hosted.zone.id\": \"${HOSTED_ZONE_ID}\"\n      }\n}\nEOF\n```\n\n(Optional) The full list of parameters you can set in the _context_ is:\n\n```\n    \"context\": {\n        \"konveyor.namespace.name\": ...,\n        \"konveyor.parent.domain.name\": ...,\n        \"konveyor.subdomain.label\": ...,\n        \"konveyor.hosted.zone.id\": ...,\n        \"konveyor.certificate.resource.name\": ...,\n      }\n```\n\nYou can assign values to the above keys according to the following criteria (values are required where you don't see _default_ mentioned):\n\n- \"konveyor.namespace.name\": Konveyor's namespace, the default is \"konveyor\"\n- \"konveyor.parent.domain.name\": the parent domain in your Hosted Zone\n- \"konveyor.subdomain.label\": to be used as _{\"subdomain.label\"}.{\"parent.domain.name\"}_, the default is \"backstage\"\n- \"konveyor.hosted.zone.id\": the Hosted zone ID (format: 20x chars/numbers)\n- \"konveyor.certificate.resource.name\": resource name of the certificate, registered by the resource provider, the default is \"konveyor-certificate\"\n\nIf you haven't done it before, [bootstrap your cdk account and region](https://docs.aws.amazon.com/cdk/v2/guide/bootstrapping.html).\n\nRun the following commands:\n\n```sh\nmake deps\nmake build\nmake pattern konveyor deploy\n```\n\nWhen deployment completes, the output will be similar to the following:\n\n<img src=\"./addon/src/assets/img.png\"/>\n\n## Example configuration\n\n```typescript\nimport { StackProps } from \"aws-cdk-lib\";\nimport { Construct } from \"constructs\";\nimport * as blueprints from \"@aws-quickstart/eks-blueprints\";\nimport {\n  KonveyorAddOn,\n  OlmAddOn,\n} from \"@claranet-ch/konveyor-eks-blueprint-addon\";\n\nexport interface KonveyorConstructProps extends StackProps {\n  account: string;\n  region: string;\n  parentDomain: string;\n  konveyorLabel: string;\n  hostedZoneId: string;\n  certificateResourceName: string;\n}\n\nexport class KonveyorConstruct extends Construct {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    const props = {\n      account: process.env.CDK_DEFAULT_ACCOUNT,\n      region: process.env.CDK_DEFAULT_REGION,\n      namespace: blueprints.utils.valueFromContext(\n        scope,\n        \"konveyor.namespace.name\",\n        \"konveyor\"\n      ),\n      parentDomain: blueprints.utils.valueFromContext(\n        scope,\n        \"konveyor.parent.domain.name\",\n        \"example.com\"\n      ),\n      konveyorLabel: blueprints.utils.valueFromContext(\n        scope,\n        \"konveyor.subdomain.label\",\n        \"konveyor\"\n      ),\n      hostedZoneId: blueprints.utils.valueFromContext(\n        scope,\n        \"konveyor.hosted.zone.id\",\n        \"1234567890\"\n      ),\n      certificateResourceName: blueprints.utils.valueFromContext(\n        scope,\n        \"konveyor.certificate.resource.name\",\n        \"konveyor-certificate\"\n      ),\n    };\n\n    const subdomain = props.konveyorLabel + \".\" + props.parentDomain;\n\n    const addOns: Array<blueprints.ClusterAddOn> = [\n      new blueprints.AwsLoadBalancerControllerAddOn(),\n      new blueprints.VpcCniAddOn(),\n      new blueprints.CoreDnsAddOn(),\n      new blueprints.KubeProxyAddOn(),\n      new blueprints.ExternalDnsAddOn({\n        hostedZoneResources: [blueprints.GlobalResources.HostedZone],\n      }),\n      new blueprints.EbsCsiDriverAddOn(),\n      new OlmAddOn(),\n      new KonveyorAddOn({\n        certificateResourceName: props.certificateResourceName,\n        subdomain,\n        featureAuthRequired: \"true\",\n      }),\n    ];\n\n    const blueprint = blueprints.EksBlueprint.builder()\n      .account(props.account)\n      .region(props.region)\n      .resourceProvider(\n        blueprints.GlobalResources.HostedZone,\n        new blueprints.ImportHostedZoneProvider(\n          props.hostedZoneId,\n          props.parentDomain\n        )\n      )\n      .resourceProvider(\n        props.certificateResourceName,\n        new blueprints.CreateCertificateProvider(\n          \"elb-certificate\",\n          subdomain,\n          blueprints.GlobalResources.HostedZone\n        )\n      )\n      .addOns(...addOns)\n      .build(scope, props.konveyorLabel + \"-cluster\");\n  }\n}\n```\n\n## Log in\n\nOnce the deployment ends navigate to\n\n`https://<subdomain>.<parent-domain>`\n\nAnd enter the default admin credentials:\n\n- Username: `admin`\n- Password: `Passw0rd!`\n\n## Enhancements/Bugs\n\nFeel free to use issues to report bugs or request enhacements.\n","readmeFilename":"README.md"}