diff --git a/LICENSE b/LICENSE index 261eeb9..1e807f8 100644 --- a/LICENSE +++ b/LICENSE @@ -186,7 +186,7 @@ same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright [yyyy] [name of copyright owner] + Copyright [2025] [IBM Corporation] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/README.md b/README.md index b1603d1..2aff25e 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,21 @@ -# webMethods API Control Plane +# IBM webMethods API Control Plane + +> ⚠️ **Repository Archived** +> +> This repository is being archived and is no longer actively maintained. +> The content previously hosted in this repository has now been **reorganized and relocated to more appropriate or updated locations**. +> We have also updated most of our official documentation to reference the new sources. +> As a result, this repository is no longer the primary reference point and will be archived for clarity and to avoid confusion. +> +> - No further updates, bug fixes, or pull requests will be accepted. +> - The repository remains accessible in read-only mode for historical reference. +> +> If you're looking for current versions of this content or its new locations, please refer to the product documentation: +> - [On-premise/Software documentation](https://www.ibm.com/docs/en/wm-api-control-plane/11.1.0) +> - [SaaS documentation](https://www.ibm.com/docs/en/wm-api-control-plane-saas/11.1.0) +> +> Thank you to everyone who used, contributed to, or supported this project! +> APIs are everywhere. API Management is where APIs are. It’s all distributed and heterogeneous. Management and administration becomes harder. API Management technology should blend in into the rest of the infrastructure and be managed from one place. API Control Plane is a single solution for understanding, managing and controlling the entire API Management landscape, whether it's self-hosted, in private clouds, in a public cloud, or a hybrid combination of any of these. Assets in the API Control Plane are organized across: @@ -8,7 +25,7 @@ APIs are everywhere. API Management is where APIs are. It’s all distributed an ![image](/attachments/apicp_dashboard_page.png) -This repository hosts assets documenting how to deploy and run webMethods API Control Plane as a container, articles and tutorials, public API docs and Postman collections. Please see the official documentation for [cloud](https://docs.webmethods.io/apicontrolplane/welcome/home/#gsc.tab=0) or [self-hosted](https://documentation.softwareag.com/wco/11.0.0/en/webhelp/wco-webhelp/) for how to use the product and system requirements. +This repository hosts assets documenting how to deploy and run IBM webMethods API Control Plane as a container, articles and tutorials, public API docs and Postman collections. Please see the official documentation for [cloud](https://docs.webmethods.io/apicontrolplane/welcome/home/#gsc.tab=0) or [self-hosted](https://docs.webmethods.io/on-premises/webmethods-api-control-plane) for how to use the product and system requirements. ## Deploying API Control Plane @@ -48,7 +65,7 @@ We also host various articles related to API Control Plane deployment, use, admi 📘 Official Documentation -For the most up-to-date information about the product, see the official documentation for [cloud](https://docs.webmethods.io/apicontrolplane/welcome/home/#gsc.tab=0) or [self-hosted](https://documentation.softwareag.com/wco/11.0.0/en/webhelp/wco-webhelp/) +For the most up-to-date information about the product, see the official documentation for [cloud](https://docs.webmethods.io/saas/webmethods-api-control-plane#gsc.tab=0) or [self-hosted](https://docs.webmethods.io/on-premises/webmethods-api-control-plane/11.1.0/webhelp/index.html) 💻 Explore the Knowledge Base diff --git a/apis/README.md b/apis/README.md index c85d1f2..a878e02 100644 --- a/apis/README.md +++ b/apis/README.md @@ -1,5 +1,3 @@ API Collections of API Control Plane ============================================== -This folder contains API Control Plane OpenAPI specifications and postman collections. - - +This folder contains API Control Plane OpenAPI specifications and postman collections. \ No newline at end of file diff --git a/apis/openapi-specifications/license-management.yaml b/apis/openapi-specifications/license-management.yaml index e6d99e8..2b349da 100644 --- a/apis/openapi-specifications/license-management.yaml +++ b/apis/openapi-specifications/license-management.yaml @@ -71,7 +71,7 @@ paths: licenseType: TEN serialNumber: 0000037081 licenseKey: admin - customerName: SoftwareAGInternal + customerName: WebmethodsInternal expirationDate: 2024-08-18T23:59:59.218+00:00 licenseQuantity: 1000 freeLicenseQuantity: 1000 @@ -86,7 +86,7 @@ paths: licenseType: TEN serialNumber: 0000037345 licenseKey: admin - customerName: SoftwareAGInternal + customerName: WebmethodsInternal expirationDate: 2024-08-18T23:59:59.218+00:00 licenseQuantity: 1000 freeLicenseQuantity: 1000 @@ -129,7 +129,7 @@ paths: licenseType: TEN serialNumber: 0000037081 licenseKey: admin - customerName: SoftwareAGInternal + customerName: WebmethodsInternal expirationDate: 2024-08-18T23:59:59.218+00:00 licenseQuantity: 1000 freeLicenseQuantity: 1000 @@ -228,7 +228,7 @@ components: customerName: description: Name of the customer. type: string - example: SoftwareAGInternal + example: WebmethodsInternal expirationDate: description: Date of expiry of license. type: string diff --git a/apis/openapi-specifications/runtime-management.yaml b/apis/openapi-specifications/runtime-management.yaml index bf4e94f..d2cc698 100644 --- a/apis/openapi-specifications/runtime-management.yaml +++ b/apis/openapi-specifications/runtime-management.yaml @@ -735,7 +735,7 @@ components: type: string description: The hostname or IP address of the runtime pattern: '((25[0-5]|(2[0-4]|1\d|[1-9]|)\d)(\.(?!$)|$)){4}' - example: softwareag.com + example: ibm.com icon: type: string description: The icon of the runtime. diff --git a/articles/documentation/README.md b/articles/documentation/README.md index 96ba395..b572638 100644 --- a/articles/documentation/README.md +++ b/articles/documentation/README.md @@ -1,3 +1,3 @@ # Product documentation -Please see the official documentation for [cloud](https://docs.webmethods.io/apicontrolplane/welcome/home/#gsc.tab=0) or [self-hosted](https://documentation.softwareag.com/wco/11.0.0/en/webhelp/wco-webhelp/) for how to use the product and system requirements. +Please see the official documentation for [cloud](https://docs.webmethods.io/saas/webmethods-api-control-plane) or [self-hosted](https://docs.webmethods.io/on-premises/webmethods-api-control-plane) for how to use the product and system requirements. diff --git a/articles/life-cycle/README.md b/articles/life-cycle/README.md index 4b0a827..ae7ad61 100644 --- a/articles/life-cycle/README.md +++ b/articles/life-cycle/README.md @@ -2,7 +2,7 @@ This section serves as a comprehensive guide for understanding the life cycle of API Control Plane. -1. What is webMethods API Control Plane? +1. What is IBM webMethods API Control Plane? API Control Plane is a centralized control and monitoring system that oversees and manages multiple runtimes such as API Gateway, Developer Portal, Microgateway, and other runtimes deployed across multiple regions including cloud and on-premises environments. With API Control Plane, you can achieve comprehensive real-time monitoring, leveraging advanced analytics, and customizable dashboards to gain valuable @@ -72,38 +72,37 @@ This section serves as a comprehensive guide for understanding the life cycle of API Control Plane can be deployed using: - - Docker: For details, see https://documentation.softwareag.com/wco/11.0.0/en/webhelp/wco-webhelp/#page/wco-webhelp%2Fta-deploy_standalone_apicp_docker.html + - Docker: For details, see https://docs.webmethods.io/on-premises/webmethods-api-control-plane/11.1.0/webhelp/index.html - - Helm: For details, see https://documentation.softwareag.com/wco/11.0.0/en/webhelp/wco-webhelp/#page/wco-webhelp%2Fta-deploy_standalone_apicp_helm.html + - Helm: For details, see https://docs.webmethods.io/on-premises/webmethods-api-control-plane/11.1.0/webhelp/index.html#page/wco-webhelp%2Fta-deploy_standalone_apicp_docker.html

15. How to connect API Gateway with API Control Plane? - To connect API Control Plane using API Gateway UI, see https://documentation.softwareag.com/webmethods/api_gateway/yai10-15/webhelp/yai-webhelp/#page/yai-webhelp%2Fgtw_configure_gateway.html%23 + To connect API Control Plane using API Gateway, see https://docs.webmethods.io/on-premises/webmethods-api-control-plane/11.1.0/webhelp/index.html#page/wco-webhelp%2Fco-connecting-apigw.html - To connect API Control Plane using properties or YAML file, see https://documentation.softwareag.com/wco/11.0.0/en/webhelp/wco-webhelp/#page/wco-webhelp%2Fco-connecting-apigw.html

16. What are the hardware and product configuration guidelines that are required to deploy API Control Plane to run at an optimal scale? - For details, see https://documentation.softwareag.com/wco/11.0.0/en/webhelp/wco-webhelp/#page/wco-webhelp%2Fre-resourcing_guidelines.html + For details, see https://docs.webmethods.io/on-premises/webmethods-api-control-plane/11.1.0/webhelp/index.html#page/wco-webhelp%2Fre-resourcing_guidelines.html

17. How to manage data backups/snapshot to ensure data resiliency and disaster recovery? - For details, see https://documentation.softwareag.com/wco/11.0.0/en/webhelp/wco-webhelp/#page/wco-webhelp%2Fco-snapshot_management.html + For details, see https://docs.webmethods.io/on-premises/webmethods-api-control-plane/11.1.0/webhelp/index.html#page/wco-webhelp%2Fco-snapshot_management.html

18. Does API Control Plane provide REST endpoints to monitor the health and resource utilization of the microservices and Elastic search? - Yes. For details about how to monitor microservices health and resource utilization, see https://documentation.softwareag.com/wco/11.0.0/en/webhelp/wco-webhelp/#page/wco-webhelp%2Fco-microservices_application_level.html%23 + Yes. For details about how to monitor microservices health and resource utilization, see https://docs.webmethods.io/on-premises/webmethods-api-control-plane/11.1.0/webhelp/index.html#page/wco-webhelp%2Fco-microservices_application_level.html - For details about how to monitor Elastic search health and resource utilization, see https://documentation.softwareag.com/wco/11.0.0/en/webhelp/wco-webhelp/#page/wco-webhelp%2Fco-elasticsearch_monitoring.html%23 + For details about how to monitor Elastic search health and resource utilization, see https://docs.webmethods.io/on-premises/webmethods-api-control-plane/11.1.0/webhelp/index.html#page/wco-webhelp%2Fco-elasticsearch_monitoring.html

19. List the Prometheus metrics to analyze API Control Plane health. - For details, see https://documentation.softwareag.com/wco/11.0.0/en/webhelp/wco-webhelp/#page/wco-webhelp%2Fco-collect_microservices_metrics.html + For details, see https://docs.webmethods.io/on-premises/webmethods-api-control-plane/11.1.0/webhelp/index.html#page/wco-webhelp%2Fco-collect_microservices_metrics.html

20. Is Open telemetry supported for tracing? Yes. To deploy API Control Plane enabling Open Telemetry using Jaeger UI with Docker, perform *step 5* mentioned in - https://documentation.softwareag.com/wco/11.0.0/en/webhelp/wco-webhelp/#page/wco-webhelp%2Fta-deploy_standalone_apicp_docker.html + https://docs.webmethods.io/on-premises/webmethods-api-control-plane/11.1.0/webhelp/index.html#page/wco-webhelp%2Fco-collect_microservices_metrics.html

21. How do I report an incident? @@ -111,5 +110,5 @@ This section serves as a comprehensive guide for understanding the life cycle of ## References -* Official On-prem documentation link: https://documentation.softwareag.com/wco/11.0.0/en/webhelp/wco-webhelp/#page/wco-webhelp%2Fto-landing_page.html -* Official Cloud documentation link: https://docs.webmethods.io/apicontrolplane/welcome/home/#gsc.tab=0 +* Official On-prem documentation link: https://docs.webmethods.io/on-premises/webmethods-api-control-plane +* Official Cloud documentation link: https://docs.webmethods.io/saas/webmethods-api-control-plane diff --git a/deployment/agent/README.md b/deployment/agent/README.md index 9e9b066..936e60d 100644 --- a/deployment/agent/README.md +++ b/deployment/agent/README.md @@ -2,13 +2,13 @@ Runtime communicate with API Control Plane with the help of an Agent. Here, we host sample agent configurations for the following runtimes. -1. [webMethods API Gateway](webmethods-api-gateway/README.md) -2. [webmethods Developer Portal]() - coming soon +1. IBM webMethods API Gateway [Software](https://docs.webmethods.io/on-premises/webmethods-api-gateway/en/11.1.0/webhelp/yai-webhelp/co-agent_configuration.html) or [SaaS](https://docs.webmethods.io/on-premises/webmethods-api-gateway/en/11.1.0/webhelp/yai-webhelp/co-agent.html) +2. IBM webmethods Developer Portal [Software](https://docs.webmethods.io/on-premises/webmethods-developer-portal/en/11.1.0/webhelp/index.html#page/dpo-webhelp/ta-configure_control_plane.html) or [SaaS](https://docs.webmethods.io/saas/webmethods-developer-portal/11.1.0/administration/chapter1b/#ta-configure_api_control_plane) 3. [Azure API Gateway agent](https://github.com/SoftwareAG/webmethods-api-control-plane-agent-azure) 4. [AWS API Gateway agent](https://github.com/SoftwareAG/webmethods-api-control-plane-agent-aws) # Agent SDK -We also provide a Java based agent SDK that can be used to develop a Java application that fetches runtime details and metrics -information from any runtime and send to the API Control Plane. A detailed document is available [here](https://documentation.softwareag.com/wco/11.0.0/en/webhelp/wco-webhelp/#page/wco-webhelp%2Fco-agent_sdk.html). -information from any runtime and send to the API Control Plane. It can be downloaded from Download Components section on [Software AG Empower Portal](https://empower.softwareag.com/). +We also provide a Java based agent SDK that can be used to develop a Java application that fetches runtime details and metrics information from any runtime and send to the API Control Plane. A detailed document is available [here](https://docs.webmethods.io/on-premises/webmethods-api-control-plane/en/11.1.0/webhelp/index.html#page/wco-webhelp%2Fco-agent_understanding.html%23wwconnect_header). + +The agent SDK can be downloaded from [IBM TechXchange Community](https://community.ibm.com/community/user/integration/viewdocument/ibm-webmethods-api-control-plane-3r?CommunityKey=82b75916-ed06-4a13-8eb6-0190da9f1bfa&tab=librarydocuments) diff --git a/deployment/agent/webmethods-api-gateway/.env b/deployment/agent/webmethods-api-gateway/.env index 96f7a46..cfe5c46 100644 --- a/deployment/agent/webmethods-api-gateway/.env +++ b/deployment/agent/webmethods-api-gateway/.env @@ -1,8 +1,8 @@ -GATEWAY_IMAGE=sagcr.azurecr.io/apigateway:10.15.0.11 +GATEWAY_IMAGE=cp.icr.io/api-management/apigateway-lean:11.1.0.0.866 GATEWAY_PORT=5555 -ELASTICSEARCH_IMAGE= "docker.elastic.co/elasticsearch/elasticsearch:8.2.3" +ELASTICSEARCH_IMAGE= "docker.elastic.co/elasticsearch/elasticsearch:8.12.2" RUNTIME_NAME=agent-spectre_MyAgent diff --git a/deployment/certs/webmethods_not_for_production.jks b/deployment/certs/webmethods_not_for_production.jks new file mode 100644 index 0000000..5d75827 Binary files /dev/null and b/deployment/certs/webmethods_not_for_production.jks differ diff --git a/deployment/docker/.env b/deployment/docker/.env index 0e54a6f..58bee65 100644 --- a/deployment/docker/.env +++ b/deployment/docker/.env @@ -6,11 +6,11 @@ ASSETCATALOG_PUBLISH_PORT=8081 ELASTICSEARCH_PUBLISH_PORT=9200 # Images -INGRESS_IMAGE="sagcr.azurecr.io/controlplane-ingress:11.0" -UI_IMAGE="sagcr.azurecr.io/controlplane-ui:11.0" -ENGINE_IMAGE="sagcr.azurecr.io/controlplane-engine:11.0" -ASSETCATALOG_IMAGE="sagcr.azurecr.io/controlplane-assetcatalog:11.0" -ELASTICSEARCH_IMAGE="docker.elastic.co/elasticsearch/elasticsearch:8.1.1" +INGRESS_IMAGE="cp.icr.io/cp/webmethods/api/api-control-plane-ingress:11.1.2" +UI_IMAGE="cp.icr.io/cp/webmethods/api/api-control-plane-ui:11.1.2" +ENGINE_IMAGE="cp.icr.io/cp/webmethods/api/api-control-plane-engine:11.1.2" +ASSETCATALOG_IMAGE="cp.icr.io/cp/webmethods/api/api-control-plane-assetcatalog:11.1.2" +ELASTICSEARCH_IMAGE="docker.elastic.co/elasticsearch/elasticsearch:8.14.3" # Elasticsearch config ELASTICSEARCH_HOST="elasticsearch" @@ -34,12 +34,14 @@ NGINX_HTTP_PORT="81" NGINX_HTTPS_PORT="444" NGINX_CER_SUBJECT="/C=GB/ST=London/L=London/O=demo/OU=demo" +CERTIFICATE_FILENAME=webmethods_not_for_production.jks + SERVER_PORT=8443 SERVER_SSL_ENABLED=true -SERVER_SSL_KEY_ALIAS=softwareag -SERVER_SSL_KEY_PASSWORD=softwareagkeys -SERVER_SSL_KEY_STORE_PASSWORD=softwareag +SERVER_SSL_KEY_ALIAS=controlplane +SERVER_SSL_KEY_PASSWORD= +SERVER_SSL_KEY_STORE_PASSWORD=webmethods SERVER_SSL_KEY_STORE_TYPE=JKS -SERVER_SSL_KEY_STORE=file:/opt/softwareag/certs/softwareag_not_for_production.jks +SERVER_SSL_KEY_STORE=file:/opt/softwareag/certs/${CERTIFICATE_FILENAME} -LICENSE_FILE_NAME=my_cp_license.xml \ No newline at end of file +LICENSE_FILE_NAME=my_cp_license.xml diff --git a/deployment/docker/README.md b/deployment/docker/README.md index 970fe8e..994ddc3 100644 --- a/deployment/docker/README.md +++ b/deployment/docker/README.md @@ -1,7 +1,6 @@ # API Control Plane deployment with docker compose The instructions for installing and running the API Control Plane on docker are below. -If you have any questions or find issues, please use the [Issues](https://github.com/SoftwareAG/webmethods-api-control-plane/issues) or [Discussions](https://github.com/SoftwareAG/webmethods-api-control-plane/discussions) tabs in this repository. The standard deployment of API Control plane contains the following 5 microservices. ![img.png](../../attachments/apicp_logical_architecture.png) @@ -16,9 +15,9 @@ The standard deployment of API Control plane contains the following 5 microservi Table of contents 1. [Prerequisite](#Prerequisite) -2. [How to deploy webMethods API Control Plane using docker compose?](#how-to-deploy-webmethods-api-control-plane-using-docker-compose) -3. [How to stop webMethods API Control Plane using docker compose?](#how-to-stop-webmethods-api-control-plane-using-docker-compose) -4. [How to access the newly deployed webMethods API Control Plane?](#how-to-access-the-newly-deployed-webmethods-api-control-plane) +2. [How to deploy IBM webMethods API Control Plane using docker compose?](#how-to-deploy-webmethods-api-control-plane-using-docker-compose) +3. [How to stop IBM webMethods API Control Plane using docker compose?](#how-to-stop-webmethods-api-control-plane-using-docker-compose) +4. [How to access the newly deployed IBM webMethods API Control Plane?](#how-to-access-the-newly-deployed-webmethods-api-control-plane) 5. [Additional deployment flavors](#additional-deployment-flavors) *** @@ -30,29 +29,15 @@ The machine needs following to install the control plane using docker. *** -## How to deploy webMethods API Control Plane using docker compose? +## How to deploy IBM webMethods API Control Plane using docker compose? -1. Clone this repository +1. Refer https://docs.webmethods.io/on-premises/webmethods-api-control-plane/en/11.1.0/webhelp/index.html#page/wco-webhelp%2Fco-deploy_standalone_apicp.html to set up docker environment for IBM container registry. -2. Login to https://containers.softwareag.com/ - -3. Get a Personal Access Token (PAT) - - We published docker images for all API Control Plane microservice to https://containers.softwareag.com/ repository. To pull them or have docker compose pull them for you, you need a Personal Access token (PAT). To get a PAT, go to Userprofile > Settings > Generate password. Store Token Password securely. - -4. Log in to sagcr.azurecr.io docker repository - - Run the following command in your docker environment: - - ```bash - docker login -u [Your git username] -p [Your PAT] sagcr.azurecr.io - ``` - -5. Configure your deployment +2. Configure your deployment The `.env` file in [deployment/docker/.env](deployment/docker/.env) allows for configuring different aspects of API Control Plane deployment. To be able to access API Control Plane after it's deployed, you need to edit this file and provide a value for `NGINX_DOMAIN_NAME` that matches the hostname of the machine you're deploying API Control plane on. Make sure this hostname is accessible to whoever will be connecting to API Control Plane. -6. Execute the deployment scripts +3. Execute the deployment scripts To deploy the API Control Plane with default configuration: @@ -73,7 +58,7 @@ The machine needs following to install the control plane using docker. ```bash [user@somehost docker]$ docker-compose -f control-plane.yaml up -d [+] Running 8/8 - ⠿ Network softwareag-api-management Created 0.2s + ⠿ Network ibm-webmethods-api-management Created 0.2s ⠿ Container elasticsearch Healthy 22.6s ⠿ Container nginx_setup Started 1.5s ⠿ Container control-plane-asset-catalog Healthy 88.6s @@ -83,7 +68,7 @@ The machine needs following to install the control plane using docker. ⠿ Container nginx Started 151.2s ``` -7. Verify it's started +4. Verify it's started It will take a couple of minutes to start. You can monitor that with solutions like Portainer or Docker Dashboard etc. or simply user Docker CLI like this @@ -102,11 +87,11 @@ The machine needs following to install the control plane using docker. nginx Up About a minute (healthy) 0.0.0.0:81->80/tcp, :::81->80/tcp, 0.0.0.0:444->443/tcp, :::444->443/tcp elasticsearch Up About a minute (healthy) 0.0.0.0:9200->9200/tcp, :::9200->9200/tcp, 9300/tcp ``` - +> ###### [Back to Top](#api-control-plane-deployment-with-docker-compose) *** -## How to stop webMethods API Control Plane using docker compose? +## How to stop IBM webMethods API Control Plane using docker compose? To stop and remove the API Control Plane default configuration: @@ -134,13 +119,13 @@ If everything goes well, the output should be similar to this ⠿ Container control-plane-engine Removed 10.3s ⠿ Container control-plane-asset-catalog Removed 10.3s ⠿ Container elasticsearch Removed 2.6s -⠿ Network softwareag-api-management Removed 0.3s +⠿ Network ibm-webmethods-api-management Removed 0.3s ``` ###### [Back to Top](#api-control-plane-deployment-with-docker-compose) *** -## How to access the newly deployed webMethods API Control Plane? +## How to access the newly deployed IBM webMethods API Control Plane? 1. Open your browser and go to `https://[the-host-you-configured]:8080/` 2. You should see the login screen. Log in using Administrator username and the default password. diff --git a/deployment/docker/asset-catalog/asset-catalog.yaml b/deployment/docker/asset-catalog/asset-catalog.yaml index c23cc44..e8b890b 100644 --- a/deployment/docker/asset-catalog/asset-catalog.yaml +++ b/deployment/docker/asset-catalog/asset-catalog.yaml @@ -3,9 +3,6 @@ services: image: ${ASSETCATALOG_IMAGE} container_name: control-plane-asset-catalog hostname: asset-catalog - depends_on: - elasticsearch: - condition: service_healthy deploy: resources: limits: @@ -25,7 +22,7 @@ services: timeout: 10s retries: 5 networks: - - softwareag-api-management + - ibm-webmethods-api-management asset-catalog-debug: <<: *asset-catalog-service env_file: diff --git a/deployment/docker/control-plane-secure-es.yaml b/deployment/docker/control-plane-secure-es.yaml index c206fb3..adb3d2b 100644 --- a/deployment/docker/control-plane-secure-es.yaml +++ b/deployment/docker/control-plane-secure-es.yaml @@ -4,6 +4,9 @@ services: extends: file: nginx/nginx.yaml service: nginx + depends_on: + ingress: + condition: service_healthy nginx_setup: extends: file: nginx/nginx.yaml @@ -12,20 +15,38 @@ services: extends: file: ingress/ingress.yaml service: ingress-secure-es + depends_on: + engine: + condition: service_healthy + asset-catalog: + condition: service_healthy + ui: + condition: service_healthy environment: - server.forward-headers-strategy=NATIVE ui: extends: file: ui/ui.yaml service: ui-secure-es + depends_on: + engine: + condition: service_healthy + asset-catalog: + condition: service_healthy engine: extends: file: engine/engine.yaml service: engine-secure-es + depends_on: + asset-catalog: + condition: service_healthy asset-catalog: extends: file: asset-catalog/asset-catalog.yaml service: asset-catalog-secure-es + depends_on: + elasticsearch: + condition: service_healthy elasticsearch: extends: file: elasticsearch/elasticsearch-secure.yaml @@ -51,6 +72,6 @@ volumes: networks: - softwareag-api-management: - name: softwareag-api-management + ibm-webmethods-api-management: + name: ibm-webmethods-api-management driver: bridge \ No newline at end of file diff --git a/deployment/docker/control-plane.debug.yaml b/deployment/docker/control-plane.debug.yaml index 1eaafc5..6bc3db3 100644 --- a/deployment/docker/control-plane.debug.yaml +++ b/deployment/docker/control-plane.debug.yaml @@ -4,6 +4,9 @@ services: extends: file: nginx/nginx.yaml service: nginx + depends_on: + ingress: + condition: service_healthy nginx_setup: extends: file: nginx/nginx.yaml @@ -12,20 +15,38 @@ services: extends: file: ingress/ingress.yaml service: ingress + depends_on: + engine: + condition: service_healthy + asset-catalog: + condition: service_healthy + ui: + condition: service_healthy environment: - server.forward-headers-strategy=NATIVE ui: extends: file: ui/ui.yaml service: ui-debug + depends_on: + engine: + condition: service_healthy + asset-catalog: + condition: service_healthy engine: extends: file: engine/engine.yaml service: engine-debug + depends_on: + asset-catalog: + condition: service_healthy asset-catalog: extends: file: asset-catalog/asset-catalog.yaml service: asset-catalog-debug + depends_on: + elasticsearch: + condition: service_healthy elasticsearch: extends: file: elasticsearch/elasticsearch.yaml @@ -44,6 +65,6 @@ volumes: driver: local networks: - softwareag-api-management: - name: softwareag-api-management + ibm-webmethods-api-management: + name: ibm-webmethods-api-management driver: bridge \ No newline at end of file diff --git a/deployment/docker/control-plane.gainsight.yaml b/deployment/docker/control-plane.gainsight.yaml index 22f8e00..62b9e95 100644 --- a/deployment/docker/control-plane.gainsight.yaml +++ b/deployment/docker/control-plane.gainsight.yaml @@ -4,6 +4,9 @@ services: extends: file: nginx/nginx.yaml service: nginx + depends_on: + ingress: + condition: service_healthy nginx_setup: extends: file: nginx/nginx.yaml @@ -12,20 +15,38 @@ services: extends: file: ingress/ingress.yaml service: ingress-gainsight + depends_on: + engine: + condition: service_healthy + asset-catalog: + condition: service_healthy + ui: + condition: service_healthy environment: - server.forward-headers-strategy=NATIVE ui: extends: file: ui/ui.yaml service: ui-gainsight + depends_on: + engine: + condition: service_healthy + asset-catalog: + condition: service_healthy engine: extends: file: engine/engine.yaml service: engine-debug + depends_on: + asset-catalog: + condition: service_healthy asset-catalog: extends: file: asset-catalog/asset-catalog.yaml service: asset-catalog-debug + depends_on: + elasticsearch: + condition: service_healthy elasticsearch: extends: file: elasticsearch/elasticsearch.yaml @@ -40,6 +61,6 @@ volumes: driver: local networks: - softwareag-api-management: - name: softwareag-api-management + ibm-webmethods-api-management: + name: ibm-webmethods-api-management driver: bridge \ No newline at end of file diff --git a/deployment/docker/control-plane.yaml b/deployment/docker/control-plane.yaml index f26a6e5..de60d44 100644 --- a/deployment/docker/control-plane.yaml +++ b/deployment/docker/control-plane.yaml @@ -4,6 +4,9 @@ services: extends: file: nginx/nginx.yaml service: nginx + depends_on: + ingress: + condition: service_healthy nginx_setup: extends: file: nginx/nginx.yaml @@ -12,20 +15,38 @@ services: extends: file: ingress/ingress.yaml service: ingress + depends_on: + engine: + condition: service_healthy + asset-catalog: + condition: service_healthy + ui: + condition: service_healthy environment: - server.forward-headers-strategy=NATIVE ui: extends: file: ui/ui.yaml service: ui + depends_on: + engine: + condition: service_healthy + asset-catalog: + condition: service_healthy engine: extends: file: engine/engine.yaml service: engine + depends_on: + asset-catalog: + condition: service_healthy asset-catalog: extends: file: asset-catalog/asset-catalog.yaml service: asset-catalog + depends_on: + elasticsearch: + condition: service_healthy elasticsearch: extends: file: elasticsearch/elasticsearch.yaml @@ -44,6 +65,6 @@ volumes: driver: local networks: - softwareag-api-management: - name: softwareag-api-management + ibm-webmethods-api-management: + name: ibm-webmethods-api-management driver: bridge \ No newline at end of file diff --git a/deployment/docker/elasticsearch/elasticsearch-secure.yaml b/deployment/docker/elasticsearch/elasticsearch-secure.yaml index fb92a51..7cf84c3 100644 --- a/deployment/docker/elasticsearch/elasticsearch-secure.yaml +++ b/deployment/docker/elasticsearch/elasticsearch-secure.yaml @@ -13,8 +13,8 @@ services: - ${ELASTICSEARCH_PUBLISH_PORT}:9200 environment: - discovery.type=single-node - - node.name=softwareag - - cluster.name=softwareag + - node.name=webmethods + - cluster.name=webmethods - bootstrap.memory_lock=true - ELASTIC_PASSWORD=${ELASTICSEARCH_PASSWORD} - xpack.security.enabled=true @@ -47,7 +47,7 @@ services: - es-data:/usr/share/elasticsearch/data - es-certs:/usr/share/elasticsearch/config/certs networks: - - softwareag-api-management + - ibm-webmethods-api-management certificates_setup: container_name: elasticsearch-certs-generator @@ -94,4 +94,4 @@ services: timeout: 5s retries: 120 networks: - - softwareag-api-management \ No newline at end of file + - ibm-webmethods-api-management \ No newline at end of file diff --git a/deployment/docker/elasticsearch/elasticsearch.yaml b/deployment/docker/elasticsearch/elasticsearch.yaml index 8bfb42e..ad3dc54 100644 --- a/deployment/docker/elasticsearch/elasticsearch.yaml +++ b/deployment/docker/elasticsearch/elasticsearch.yaml @@ -18,10 +18,9 @@ services: environment: - xpack.security.enabled=false - discovery.type=single-node - - node.name=softwareag - - cluster.name=softwareag + - node.name=webmethods + - cluster.name=webmethods - bootstrap.memory_lock=true - mem_limit: 1073741824 ulimits: memlock: soft: -1 @@ -34,4 +33,4 @@ services: volumes: - es-data:/usr/share/elasticsearch/data networks: - - softwareag-api-management + - ibm-webmethods-api-management diff --git a/deployment/docker/engine/engine.yaml b/deployment/docker/engine/engine.yaml index 78063db..ce2b843 100644 --- a/deployment/docker/engine/engine.yaml +++ b/deployment/docker/engine/engine.yaml @@ -3,9 +3,6 @@ services: image: ${ENGINE_IMAGE} container_name: control-plane-engine hostname: engine - depends_on: - asset-catalog: - condition: service_healthy deploy: resources: limits: @@ -25,7 +22,7 @@ services: timeout: 10s retries: 5 networks: - - softwareag-api-management + - ibm-webmethods-api-management engine-debug: <<: *engine-service env_file: diff --git a/deployment/docker/ingress/ingress.yaml b/deployment/docker/ingress/ingress.yaml index e2704f4..8a026fe 100644 --- a/deployment/docker/ingress/ingress.yaml +++ b/deployment/docker/ingress/ingress.yaml @@ -3,13 +3,6 @@ services: image: ${INGRESS_IMAGE} container_name: control-plane-ingress hostname: ingress - depends_on: - engine: - condition: service_healthy - asset-catalog: - condition: service_healthy - ui: - condition: service_healthy deploy: resources: limits: @@ -31,9 +24,10 @@ services: timeout: 10s retries: 5 networks: - - softwareag-api-management + - ibm-webmethods-api-management volumes: - ../../license/${LICENSE_FILE_NAME}:/home/license/${LICENSE_FILE_NAME} + - ../../certs/${CERTIFICATE_FILENAME}:/opt/softwareag/certs/${CERTIFICATE_FILENAME} ingress-debug: <<: *ingress-service @@ -43,6 +37,7 @@ services: - ../elasticsearch/es-config.env volumes: - ../../license/${LICENSE_FILE_NAME}:/home/license/${LICENSE_FILE_NAME} + - ../../certs/${CERTIFICATE_FILENAME}:/opt/softwareag/certs/${CERTIFICATE_FILENAME} ingress-gainsight: <<: *ingress-service @@ -52,9 +47,11 @@ services: - ../elasticsearch/es-config.env volumes: - ../../license/${LICENSE_FILE_NAME}:/home/license/${LICENSE_FILE_NAME} - + - ../../certs/${CERTIFICATE_FILENAME}:/opt/softwareag/certs/${CERTIFICATE_FILENAME} + ingress-secure-es: <<: *ingress-service volumes: - es-certs:/usr/share/elasticsearch/config/certs - - ../../license/${LICENSE_FILE_NAME}:/home/license/${LICENSE_FILE_NAME} \ No newline at end of file + - ../../license/${LICENSE_FILE_NAME}:/home/license/${LICENSE_FILE_NAME} + - ../../certs/${CERTIFICATE_FILENAME}:/opt/softwareag/certs/${CERTIFICATE_FILENAME} diff --git a/deployment/docker/jaeger-tracing/jaeger-tracing.yaml b/deployment/docker/jaeger-tracing/jaeger-tracing.yaml index be22f92..802d7cd 100644 --- a/deployment/docker/jaeger-tracing/jaeger-tracing.yaml +++ b/deployment/docker/jaeger-tracing/jaeger-tracing.yaml @@ -20,4 +20,4 @@ services: timeout: 10s retries: 10 networks: - - softwareag-api-management \ No newline at end of file + - ibm-webmethods-api-management \ No newline at end of file diff --git a/deployment/docker/nginx/nginx.yaml b/deployment/docker/nginx/nginx.yaml index 33e3004..e6ef165 100644 --- a/deployment/docker/nginx/nginx.yaml +++ b/deployment/docker/nginx/nginx.yaml @@ -3,9 +3,6 @@ services: image: nginx container_name: nginx hostname: nginx - depends_on: - ingress: - condition: service_healthy deploy: restart_policy: condition: "on-failure" @@ -21,7 +18,7 @@ services: - conf.d:/etc/nginx/conf.d - nginx-certs:/etc/nginx/certs networks: - - softwareag-api-management + - ibm-webmethods-api-management nginx_setup: @@ -69,4 +66,4 @@ services: timeout: 5s retries: 120 networks: - - softwareag-api-management \ No newline at end of file + - ibm-webmethods-api-management \ No newline at end of file diff --git a/deployment/docker/ui/ui.yaml b/deployment/docker/ui/ui.yaml index 01ab116..cd67a9f 100644 --- a/deployment/docker/ui/ui.yaml +++ b/deployment/docker/ui/ui.yaml @@ -3,11 +3,6 @@ services: image: ${UI_IMAGE} container_name: control-plane-ui hostname: ui - depends_on: - engine: - condition: service_healthy - asset-catalog: - condition: service_healthy deploy: resources: limits: @@ -26,7 +21,7 @@ services: timeout: 10s retries: 5 networks: - - softwareag-api-management + - ibm-webmethods-api-management ui-debug: <<: *ui-service env_file: diff --git a/deployment/helm/Chart.yaml b/deployment/helm/Chart.yaml index 72bf4e0..3732f2a 100644 --- a/deployment/helm/Chart.yaml +++ b/deployment/helm/Chart.yaml @@ -1,4 +1,4 @@ apiVersion: v2 name: control-plane-open-telemetry-enabled description: Chart for the Control Plane with open telemetry enabled -version: 0.0.1 \ No newline at end of file +version: 0.0.2 \ No newline at end of file diff --git a/deployment/helm/README.md b/deployment/helm/README.md index 5a592c0..ba7e1e4 100644 --- a/deployment/helm/README.md +++ b/deployment/helm/README.md @@ -1,7 +1,6 @@ # API Control Plane deployment with helm The instructions for installing and running the API Control Plane on kubernetes using helm are below. -If you have any questions or find issues, please use the [Issues](https://github.com/SoftwareAG/webmethods-api-control-plane/issues) or [Discussions](https://github.com/SoftwareAG/webmethods-api-control-plane/discussions) tabs in this repository. The standard deployment of API Control plane contains the following 5 microservices. ![img.png](../../attachments/apicp_logical_architecture.png) @@ -17,9 +16,9 @@ The standard deployment of API Control plane contains the following 5 microservi Table of contents 1. [Prerequisite](#Prerequisite) -2. [How to deploy webMethods API Control Plane using helm?](#how-to-deploy-webmethods-api-control-plane-using-helm) -3. [How to stop webMethods API Control Plane using helm?](#how-to-stop-webmethods-api-control-plane-using-helm) -4. [How to access the newly deployed webMethods API Control Plane?](#how-to-access-the-newly-deployed-webmethods-api-control-plane) +2. [How to deploy IBM webMethods API Control Plane using helm?](#how-to-deploy-webmethods-api-control-plane-using-helm) +3. [How to stop IBM webMethods API Control Plane using helm?](#how-to-stop-webmethods-api-control-plane-using-helm) +4. [How to access the newly deployed IBM webMethods API Control Plane?](#how-to-access-the-newly-deployed-webmethods-api-control-plane) 5. [Additional deployment flavors](#additional-deployment-flavors) *** @@ -33,44 +32,11 @@ The machine needs following to install the control plane through helm. *** -## How to deploy webMethods API Control Plane using helm? +## How to deploy IBM webMethods API Control Plane using helm? -1. Clone this repository -2. Login to https://containers.softwareag.com/ -3. Get a Personal Access Token (PAT) +4. Refer https://docs.webmethods.io/on-premises/webmethods-api-control-plane/en/11.1.0/webhelp/index.html#page/wco-webhelp%2Fco-deploy_standalone_apicp.html to pull control plane images from IBM container registry. - We published docker images for all API Control Plane microservice to https://containers.softwareag.com/ repository. To be able to pull them, you'll need a Personal Access token (PAT). To get a PAT, go to Userprofile > Settings > Generate password. Store Token Password securely. -4. Create a kubernetes namespace for your deployment - - Execute the following command - - ```bash - kubectl create namespace control-plane - ``` - - If everything goes well the output should be similar to - - ```bash - [user@somehost helm]$ kubectl create namespace control-plane - namespace/control-plane created - ``` - -5. Create a kubernetes secret to be able to pull docker images - - Execute the following command - - ```bash - kubectl create secret docker-registry regcred -n control-plane --docker-server=sagcr.azurecr.io --docker-username=[Your git username] --docker-password=[Your PAT] - ``` - - If everything goes well the output should be similar to - - ```bash - [user@somehost helm]$ kubectl create secret docker-registry regcred -n control-plane --docker-server=sagcr.azurecr.io --docker-username=przemekuliok --docker-password=*secret* - secret/regcred created created - ``` - -6. Configure your deployment +5. Configure your deployment The [values.yaml](values.yaml) file allows to configure different aspects of API Control Plane deployment. To be able to access API Control Plane after it's deployed, you need to edit this file and provide a value for `domainName` that matches the hostname of the machine you're deploying API Control plane on. Make sure this hostname is accessible to whoever will be connecting to API Control Plane. @@ -78,7 +44,7 @@ The machine needs following to install the control plane through helm. Default configuration is set up to deploy 2 replicas of API Control Plane containers and 1 replica for others. Edit the values.yaml file to change that as needed. -7. Execute the deployment script +6. Execute the deployment script To deploy the API Control Plane with default configuration: @@ -107,7 +73,7 @@ The machine needs following to install the control plane through helm. TEST SUITE: None ``` -8. Verify it's started +7. Verify it's started It will take a couple of minutes to start. You can monitor that with solutions like Portainer or Docker\Kubernetes Dashboard etc. or simply user Docker\Kubernetes CLI like this @@ -151,7 +117,7 @@ The machine needs following to install the control plane through helm. ###### [Back to Top](#api-control-plane-deployment-with-helm) *** -## How to access the newly deployed webMethods API Control Plane? +## How to access the newly deployed IBM webMethods API Control Plane? 1. Open your browser and go to `https://[the-host-you-configured]/` or `http://[the-host-you-configured]/` (Unsecured) 2. You should see the login screen. Log in using Administrator username and the default password. @@ -160,7 +126,7 @@ The machine needs following to install the control plane through helm. *** -## How to stop webMethods API Control Plane using helm? +## How to stop IBM webMethods API Control Plane using helm? To stop and remove the API Control Plane default configuration: diff --git a/deployment/helm/templates/ingress_configmap.yaml b/deployment/helm/templates/ingress_configmap.yaml index 9e95d03..ce96d74 100644 --- a/deployment/helm/templates/ingress_configmap.yaml +++ b/deployment/helm/templates/ingress_configmap.yaml @@ -7,10 +7,10 @@ data: {{ if eq .Values.applications.ingress.sslEnabled true }} SERVER_SSL_ENABLED: "true" SERVER_PORT: "8443" - SERVER_SSL_KEY_ALIAS: "softwareag" - SERVER_SSL_KEY_PASSWORD: "softwareagkeys" - SERVER_SSL_KEY_STORE: "file:/opt/softwareag/certs/softwareag_not_for_production.jks" - SERVER_SSL_KEY_STORE_PASSWORD: "softwareag" + SERVER_SSL_KEY_ALIAS: "controlplane" + SERVER_SSL_KEY_PASSWORD: "" + SERVER_SSL_KEY_STORE: "file:/opt/softwareag/certs/webmethods_not_for_production.jks" + SERVER_SSL_KEY_STORE_PASSWORD: "webmethods" SERVER_SSL_KEY_STORE_TYPE: "JKS" {{ else }} SERVER_SSL_ENABLED: "false" @@ -42,4 +42,4 @@ data: {{- if .Values.applications.gainsight.enabled }} APICP_INGRESS_SECURITYCONFIG_HEADERS_CONTENT_SECURITY_POLICY : "default-src 'self'; img-src * 'self' data: *.aptrinsic.com storage.googleapis.com; object-src 'none'; script-src 'self' *.aptrinsic.com; style-src 'self' 'unsafe-inline' *.aptrinsic.com 'unsafe-inline' fonts.googleapis.com; font-src 'self' fonts.gstatic.com; connect-src 'self' *.aptrinsic.com" {{- end }} ---- \ No newline at end of file +--- diff --git a/deployment/helm/templates/ingress_deployment.yaml b/deployment/helm/templates/ingress_deployment.yaml index d216483..3a91238 100644 --- a/deployment/helm/templates/ingress_deployment.yaml +++ b/deployment/helm/templates/ingress_deployment.yaml @@ -48,7 +48,7 @@ spec: # should be enabled if the certificate from host system is being mounted # volumeMounts: # - name: hostpath-volume -# mountPath: /opt/softwareag/certs/softwareag_not_for_production.jks +# mountPath: /opt/softwareag/certs/webmethods_not_for_production.jks ports: - containerPort: 8080 name: http @@ -86,9 +86,9 @@ spec: # volumes: # - name: hostpath-volume # hostPath: -# path: /mnt/path/in/your/host/softwareag_test.jks +# path: /mnt/path/in/your/host/webmethods_not_for_production.jks # type: File terminationGracePeriodSeconds: 30 imagePullSecrets: - name: {{ .Values.imagePullSecretName }} ---- \ No newline at end of file +--- diff --git a/deployment/helm/values.yaml b/deployment/helm/values.yaml index b83f605..0986580 100644 --- a/deployment/helm/values.yaml +++ b/deployment/helm/values.yaml @@ -3,9 +3,9 @@ applications: # -- Name of the application name: assetcatalog # -- Image name of assetcatalog - imageName: sagcr.azurecr.io/controlplane-assetcatalog + imageName: cp.icr.io/cp/webmethods/api/api-control-plane-assetcatalog # -- Image tag of assetcatalog - imageTag: "11.0" + imageTag: "11.1.2" # -- No. of assetcatalog Replicas replicas: 2 resources: @@ -23,9 +23,9 @@ applications: engine: name: engine # -- Image name of engine - imageName: sagcr.azurecr.io/controlplane-engine + imageName: cp.icr.io/cp/webmethods/api/api-control-plane-engine # -- Image tag of engine - imageTag: "11.0" + imageTag: "11.1.2" # -- No. of engine Replicas replicas: 2 resources: @@ -43,9 +43,9 @@ applications: ingress: name: ingress # -- Image name of ingress - imageName: sagcr.azurecr.io/controlplane-ingress + imageName: cp.icr.io/cp/webmethods/api/api-control-plane-ingress # -- Image tag of ingress - imageTag: "11.0" + imageTag: "11.1.2" # -- No. of ingress Replicas replicas: 2 # -- Tenant ID - The name of the tenant for the deployment @@ -67,9 +67,9 @@ applications: ui: name: ui # -- Image name of ui - imageName: sagcr.azurecr.io/controlplane-ui + imageName: cp.icr.io/cp/webmethods/api/api-control-plane-ui # -- Image tag of ui - imageTag: "11.0" + imageTag: "11.1.2" # -- No. of ui Replicas replicas: 2 resources: @@ -89,7 +89,7 @@ applications: # -- Elasticsearch image name imageName: docker.elastic.co/elasticsearch/elasticsearch # -- Elasticsearch image tag - imageTag: "8.1.1" + imageTag: "8.14.3" # -- Storage size for persistent volume replicas: 3 # -- Cluster master nodes in the format "-0, ..., -(n-1)" where n is replicas. For a single node cluster it will be "-0". pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy