SlideShare a Scribd company logo
November 24th, 2021
WSO2 API Manager Community Call
Say β€œHello” to WSO2 API Controller (apictl) 4.0.x
Hello!
Wasura Wattearachchi
Senior Software Engineer
wasura@wso2.com
3
Overview
INTRODUCTION
Heads up before starting
1
NEW FEATURES AND IMPROVEMENTS
Six significant changes
2
DEMONSTRATION
Hands on experience
3
4
Overview
INTRODUCTION
Heads up before starting
1
NEW FEATURES AND IMPROVEMENTS
Six significant changes
2
DEMONSTRATION
Hands on experience
3
● Support Import/Export Revisions of APIs and API Products
● Introducing New Structures and Schemas
● Support for Choreo Connect and WSO2 Micro Integrator (WSO2 MI)
● Introduced New Improved Commands while Deprecating some Old apictl Commands
● Parameters Files Enhancements
● Revolutionized VCS (Version Control System) Support with Source and Deployment Repositories
Introduction
6
API Manager Tooling Evolution
2018
April
apimcli 1.0.0
Compatible with
WSO2 API Manager
2.2.0
2018
July
apimcli 1.1.0
Compatible with
WSO2 API
Manager 2.5.0
2019
August
apimcli 2.0.x
Compatible with
WSO2 API Manager
2.6.0
(Latest patch release
apimcli 2.0.15) 2019
October
apictl 3.0.x
Compatible with
WSO2 API Manager
3.0.0
(Latest patch release
apictl 3.0.1)
2020
April
apictl 3.1.x
Compatible with
WSO2 API Manager
3.1.0
(Latest patch release
apictl 3.1.4) 2020
August
apictl 3.2.x
Compatible with
WSO2 API Manager
3.2.0
(Latest patch release
apictl 3.2.4)
2021
April
apictl 4.0.0
Compatible with
WSO2 API Manager
4.0.0
(Latest patch release
apictl 4.0.1)
What is WSO2 API Controller (apictl)?
7
● The WSO2 API Manager (WSO2 API-M) family member to
perform CI/CD tasks related to APIs, API Products and
Applications.
β¦Ώ Managing WSO2 API-M environments
β¦Ώ Listing APIs, API Products and Applications
β¦Ώ Creating API projects
β¦Ώ Importing/exporting APIs, API Products and Applications
β¦Ώ Generating tokens for APIs and API Products
β¦Ώ Managing APIs on a Kubernetes (k8s) deployment etc
● apictl 4.0.0 has been released on the 5th May 2021 with
WSO2 API-M 4.0.0.
New Features and Improvements
9
1. Support Import/Export Revisions of APIs and API
Products
Previous Community Call on the API Revisions Support
https://www.youtube.com/watch?v=DdfrSca1PhE
Export an API Revision
10
Flags:
● Required :
--name or -n : Name of the API to be exported
--version or -v : Version of the API to be exported
--environment or -e : Environment from which the
API should be exported
● Optional :
--rev : Revision Number of the API. If not provided,
working copy of the API will be exported.
--provider or -r : Provider of the API.
--latest : Export the latest revision of the API.
--preserve-status : Preserve API status when
exporting. Otherwise, the API
will be exported in the CREATED
status. The default value is true.
--format : File format of exported archive (JSON or
YAML). The default value is YAML.
apictl export api -n <API-name> -v <version> --rev
<revision-number> -r <provider> -e <environment>
--preserve-status=<preserve-status> --format
<export-format>
Import an API Revision
apictl import api --file <path-to-API-archive>
--environment <environment>
--preserve-provider=<preserve_provider>
--update=<update_api> --skip-cleanup=<skip-cleanup>
--params <environment-params-file> --rotate-revision
Flags:
● Required :
--file or -f : The file path of the API to import.
--environment or -e : Environment to which the API should
be exported.
● Optional :
--rotate-revision : If the maximum revision limit reached,
delete the oldest revision and create a
new revision.
--skip-deployments : Skip the deployment environments
specified in the project and only update
the working copy of the API.
--preserve-provider : Preserve existing provider of API after
importing. Default value is true.
--update : Update an existing API or create a new API in the
importing environment.
--params : Define the API Manager environment params file.
--skip-cleanup : Leave all temporary files created in the
apictl during import process. Default value
is false.
Export an API Product Revision
11
Flags:
● Required :
--name or -n : Name of the API Product to be exported
--environment or -e : Environment from which the API
Product should be exported
● Optional :
--rev : Revision Number of the API Product. If not
provided, working copy of the API Product will be
exported.
--provider or -r : Provider of the API Product.
--latest : Export the latest revision of the API Product.
--format : File format of exported archive (JSON or
YAML). The default value is YAML.
apictl export api-product -n <API Product-name>
--rev <revision-number> -r <provider> -e
<environment> --format <export-format>
Import an API Product Revision
apictl import api-product -f
<path-to-API-Product-archive> -e <environment>
--rotate-revision
Flags:
● Required :
--file or -f : The file path of the API Product to import.
--environment or -e : Environment to which the API Product
should be exported.
● Optional :
--preserve-provider : Preserve existing provider of API Product after
importing. Default value is true.
--rotate-revision : If the maximum revision limit reached, delete the
oldest revision and create a new revision.
--skip-deployments : Skip the deployment environments specified in
the project and only update the working copy of
the API Product.
--import-apis : Import dependent APIs to the environment along with
the API Product. Default value is false.
--update-api-product : Update an existing API Product or create a
new API Product in the importing environment. Default
value is false.
--update-apis : Update dependent APIs of the API Product. Default
value is false.
--params : Define the API Manager environment params file.
--skip-cleanup : Leave all temporary files created in the apictl during
import process. Default value is false.
Get (list) API Revisions
12
Flags:
● Required :
--name or -n : Name of the API to get the revisions
--version or -v : Version of the API to get the revisions
--environment or -e : Environment to be searched
● Optional :
--provider or -r : Provider of the API
--query or -q : Search query pattern
--format : pretty-print environments using templates
apictl get api-revisions --name <API-name> --version
<version> --provider <provider> --environment
<environment> --query <deployment-search-query>
Get (list) API Product Revisions
apictl get api-product-revisions --name
<API-Product-name> --provider <provider> --environment
<environment> --query <deployment-search-query>
Flags:
● Required :
--name or -n : Name of the API Product to get the revisions
--environment or -e : Environment to be searched
● Optional :
--provider or -r : Provider of the API Product --query or -q :
Search query pattern
--format : pretty-print environments using templates
13
2. Introducing New structures and Schemas
14
<APIName>-version
β”œβ”€β”€ api.yaml
β”œβ”€β”€ api_meta.yaml
β”œβ”€β”€ deployment_environments.yaml
β”œβ”€β”€ Client-certificates
β”‚ β”œβ”€β”€ Alias1.crt
β”‚ β”œβ”€β”€ Alias2.crt
β”‚ └── client_certificates.yaml
β”œβ”€β”€ Definitions
β”‚ |── swagger.yaml
| |── schema.graphql
| └── graphql-complexity.yaml
β”œβ”€β”€ Docs
β”‚ β”œβ”€β”€ Doc1
β”‚ β”‚ β”œβ”€β”€ document-file.pdf
β”‚ β”‚ └── document.yaml
β”‚ β”œβ”€β”€ Doc2
β”‚ β”‚ β”œβ”€β”€ Doc2
β”‚ β”‚ └── document.yaml
β”‚ β”œβ”€β”€ Doc3
β”‚ β”‚ β”œβ”€β”€ Doc3
β”‚ β”‚ └── document.yaml
β”‚ └── Doc4
β”‚ └── document.yaml
β”œβ”€β”€ Endpoint-certificates
β”‚ β”œβ”€β”€ Alias3.crt
β”‚ β”œβ”€β”€ Alias4.crt
β”‚ └── endpoint_certificates.yaml
β”œβ”€β”€ Image
| └── <imageName>.extension
β”œβ”€β”€ WSDL
| └── <APIName>-<version>.wsdl
└── Sequences
β”œβ”€β”€ fault-sequence
| |── Custom
| | |── <custom-sequence-1-name.xml>
| | └── <custom-sequence-2-name.xml>
| └── <sequence-name.xml>
β”œβ”€β”€ in-sequence
| |── Custom
| | └── <custom-sequence-name.xml>
| └── <sequence-name.xml>
└── out-sequence
|── Custom
| └── <custom-sequence-name.xml>
└── <sequence-name.xml>
<APIName>-version
β”œβ”€β”€ api_params.yaml
β”œβ”€β”€ Meta-information
β”‚ β”œβ”€β”€ api.yaml
β”‚ |── swagger.yaml
| |── endpoint_certificates.yaml
| └── schema.graphql
β”œβ”€β”€ Docs
| |── FileContents
β”‚ |── InlineContents
| └── docs.yaml
β”œβ”€β”€ Image
| └── icon.extension
β”œβ”€β”€ WSDL
| └── <APIName>-<version>.wsdl
└── Sequences
β”œβ”€β”€ fault-sequence
| |── Custom
| | └── <custom-sequence-name.xml>
| └── <sequence-name.xml>
β”œβ”€β”€ in-sequence
| |── Custom
| | └── <custom-sequence-name.xml>
| └── <sequence-name.xml>
└── out-sequence
|── Custom
| └── <custom-sequence-name.xml>
└── <sequence-name.xml>
3.2.0
4.0.0
API Structure
15
<APIProductName>-version
β”œβ”€β”€ api_product.yaml
β”œβ”€β”€ api_product_meta.yaml
β”œβ”€β”€ deployment_environments.yaml
β”œβ”€β”€ Client-certificates
β”‚ β”œβ”€β”€ Alias1.crt
β”‚ β”œβ”€β”€ Alias2.crt
β”‚ └── client_certificates.yaml
β”œβ”€β”€ APIs
β”‚ β”œβ”€β”€ <1stAPIName>_version
β”‚ |── <2ndAPIName>_version
| |──
| └── <NthAPIName>_version
β”œβ”€β”€ Definitions
| └── swagger.yaml
β”œβ”€β”€ Docs
β”‚ β”œβ”€β”€ Doc1
β”‚ β”‚ β”œβ”€β”€ document-file.pdf
β”‚ β”‚ └── document.yaml
β”‚ β”œβ”€β”€ Doc2
β”‚ β”‚ β”œβ”€β”€ Doc2
β”‚ β”‚ └── document.yaml
β”‚ β”œβ”€β”€ Doc3
β”‚ β”‚ β”œβ”€β”€ Doc3
β”‚ β”‚ └── document.yaml
β”‚ └── Doc4
β”‚ └── document.yaml
└── Image
└── <imageName>.extension
<APIProductName>-version
β”œβ”€β”€ APIs
β”‚ β”œβ”€β”€ <1stAPIName>_version
β”‚ |── <2ndAPIName>_version
| |──
| └── <NthAPIName>_version
β”œβ”€β”€ Meta-information
β”‚ β”œβ”€β”€ api.yaml
| └── swagger.yaml
β”œβ”€β”€ Docs
| |── FileContents
β”‚ |── InlineContents
| └── docs.yaml
└── Image
└── icon.extension
3.2.0
4.0.0
API Product Structure
16
<Application-owner>_<Application-name>.zip
β”œβ”€β”€ application.yaml
└── application_meta.yaml
<exported-Application>.zip
└── <Application-Name>.json
3.2.0
4.0.0
Application Structure
17
type: api
version: v4.0.0
data:
name : SampleAPI
version: 1.0.0
context: /sampleapi
endpointConfig:
endpoint_type: http
production_endpoints:
url: http://prod.wso2.com
sandbox_endpoints:
url: http://sand.wso2.com
endpointImplementationType: ENDPOINT
lifeCycleStatus: CREATED
policies:
- Unlimited
provider: admin
transport:
- http
- https
type: HTTP
visibility: PUBLIC
id:
providerName: admin
apiName: SampleAPI
version: 1.0.0
type: HTTP
context: /sampleapi
availableTiers:
- name: Unlimited
status: PUBLISHED
visibility: public
transports: http,https
productionUrl: http://localhost:8080
sandboxUrl: http://localhost:8081
3.2.0
4.0.0
API Schema (api.yaml)
18
type: api
version: v4.0.0
data:
name : SampleAPI
version: 1.0.0
context: sampleapi
endpointConfig:
endpoint_type: http
production_endpoints:
url: http://prod.wso2.com
sandbox_endpoints:
url: http://sand.wso2.com
endpointImplementationType: ENDPOINT
lifeCycleStatus: CREATED
policies:
- Unlimited
provider: admin
transport:
- http
- https
type: HTTP
visibility: PUBLIC
id:
providerName: admin
apiName: SampleAPI
version: 1.0.0
type: HTTP
context: sampleapi
availableTiers:
- name: Unlimited
status: PUBLISHED
visibility: public
transports: http,https
productionUrl:
http://localhost:8080
sandboxUrl: http://localhost:8081
3.2.0
4.0.0
API Schema (api.yaml)
19
3. Support for Choreo Connect
and WSO2 Micro Integrator
(WSO2 MI)
20
apictl as a Developer CLI Tool for Choreo Connect (API Microgateway)
● This feature of apictl 4.0.0, enables interacting with one or more Choreo
Connect environments without having to perform the tasks such as deploy
an API, view the list of deployed APIs and un-deploy an API via the WSO2
API-M.
● A new alias named mg has been allocated to the commands related to
Choreo Connect.
● Examples:
apictl mg login <environment-name>
apictl mg get apis -e <environment-name>
apictl mg undeploy api -e <environment-name> -n <api-name> -v <api-version>
Documentation
https://apim.docs.wso2.com/en/4.0.0/install-and-setup/setup/api-controller/managing-choreo-connect/managing-choreo-connect-with-ctl
21
Merged Micro Integrator (MI) CLI Commands with apictl
● With apictl 4.0.0, the monitoring tasks of the Synapse artifacts (deployed
in a specified MI server) can be done along with various management and
administration tasks using the command line.
● A new alias named mi has been allocated to the commands related to MI.
● Examples:
apictl mi login <environment-name>
apictl mi get apis -e <environment>
apictl mi add user [user-name] -e <environment>
Documentation
https://apim.docs.wso2.com/en/4.0.0/install-and-setup/setup/api-controller/managing-integrations/managing-integrations-with-ctl
22
4. Introduced New improved Commands while
Deprecating some Old apictl Commands
Deprecated Command New Command
apictl import-api [flags] apictl import api [flags]
apictl import-app [flags] apictl import app [flags]
apictl export-api [flags] apictl export api [flags]
apictl export-apis [flags] apictl export apis [flags]
apictl export-app [flags] apictl export app [flags]
apictl list apis [flags] apictl get apis [flags]
apictl list api-products [flags] apictl get api-products [flags]
apictl list apps [flags] apictl get apps [flags]
apictl list envs [flags] apictl get envs [flags]
apictl get-keys [flags] apictl get keys [flags]
apictl delete api [flags]
apictl delete api [flags]
apictl k8s delete api [flags]
apictl add api [flags] apictl k8s add api [flags]
apictl update api [flags] apictl k8s update api [flags]
apictl add-env [flags] apictl k8s update api [flags]
23
Commands Revamp
apictl [alias] [verb] [noun] [flags]
apictl k8s add api [flags]
apictl <empty> import api [flags]
Alias values
● k8s for Kubernetes related commands
● mg for Choreo Connect related commands
● mi for WSO2 MI related commands
● <empty> for WSO2 API-M related commands
apictl set --mode has been deprecated.
24
5. Parameters Files Enhancements
25
Now
● There is no point in including the
api_params.yaml inside the project.
You will be left with Option 2 only.
● You can not only provide a params
file now, but also you can give a
directory as the params during the
import of an API/API Product.
Then
● Option 1 β€” Keep inside the API
project so that when importing the
API, the details will be overridden
based on the parameters.
● Option 2 β€” Use the --params flag to
specify the path to the parameter file
when you are importing the API so
that it will be considered.
Parameters… Then and Now?
config:
factor: <suspension_factor>
suspendMaxDuration: <maximum_suspend_time_duration>
suspendDuration: <suspend_time_duration>
suspendErrorCode:
- <suspend_error_code_1>
- <suspend_error_code_2>
- ......................
- <suspend_error_code_n>
retryTimeOut: <no_of_retries_before_suspension>
retryDelay: <retry_delay_in_ms>
retryErroCode:
- <retry_error_code_1>
- <retry_error_code_2>
- ....................
- <retry_error_code_n>
actionSelect: <action_discard_or_fault>
actionDuration: <action_time_duration>
26
Parameters File for an API
environments:
- name: <environment_name>
configs: <multiple_configurations_relevant_to_the_specific_environment>
endpoints:
production:
url: <production_endpoint_url>
config:
factor: <suspension_factor>
---------------------------
sandbox:
url: <sandbox_endpoint_url>
config:
factor: <suspension_factor>
---------------------------
security:
production:
enabled: <whether_security_is_enabled_for_production_endpoint>
type: <endpoint_authentication_type_basic_or_digest_for_production_endpoint>
username: <endpoint_username_for_production_endpoint>
password: <endpoint_password_for_production_endpoint>
sandbox:
enabled: <whether_security_is_enabled_for_sandbox_endpoint>
-----------------------------------------------------------
deploymentEnvironments:
- displayOnDevportal: <boolean>
deploymentEnvironment: <environment_name>
deploymentVhost : <vhost_name>
certs:
- hostName: <endpoint_url>
alias: <certificate_alias>
path: <certificate_name>
mutualSslCerts:
- tierName: <subscription_tier_name>
alias: <certificate_alias>
path: <certificate_name>
policies:
- <subscription_policy_1_name>
- <subscription_policy_2_name>
apictl import api --file
<path-to-API-archive> --environment
<environment>
--preserve-provider=<preserve_provide
r> --update=<update_api>
--skip-cleanup=<skip-cleanup>
--params <environment-params-file>
--rotate-revision
27
Parameters File for an API Product
environments:
- name: <environment_name>
configs: <multiple_configurations_relevant_to_the_specific_environment>
dependentAPIs:
<api_1_name>-<api_1_version>:
endpoints:
-------------------------
<api_2_name>-<api_2_version>:
endpoints:
-------------------------
deploymentEnvironments:
- displayOnDevportal: <boolean>
deploymentEnvironment: <environment_name>
deploymentVhost : <vhost_name>
mutualSslCerts:
- tierName: <subscription_tier_name>
alias: <certificate_alias>
path: <certificate_name>
policies:
- <subscription_policy_1_name>
- <subscription_policy_2_name>
Parameters for an API
28
6. Revolutionized VCS (Version Control System)
Support with Source and Deployment
Repositories
29
Then and Now...
● The facility to combine the CI/CD pipelines with a
widely used Version Control System (VCS) such
as Git has been introduced last year with the
apictl 3.2.0.
● But it had the ability only to control and maintain
one repository with your APIs, API Products and
Applications.
● With the release of apictl 4.0.0, the above-stated
functionality has been enhanced to support two
(2) repositories at once, namely: the Source
Repository and the Deployment Repository.
30
What are these Source and Deployment Repositories?
● Source Repository - A collection of
source code of project directories
without environment specific
information.
β¦Ώ Naming convention -
<API_Name>-<API_Version>
● Deployment Repository - A collection of
directories with environment specific
details.
β¦Ώ Naming convention -
DeploymentArtifacts_<API_Name>-<API_
Version>
31
How to Fit Git Integration into this Structure?
● Both should be Git repositories
● You can maintain Git branches in the
Source Repository with APIs/API
Products/Applications corresponding
to multiple WSO2 API-M environments
you wish.
● You do not need to maintain separate
branches in the Deployment
Repository.
32
1 2 3
SET THE SOURCE AND THE
DEPLOYMENT REPOSITORIES
VCS INIT AND COMMIT THE
CHANGES IN BOTH THE SOURCE
AND THE DEPLOYMENT
REPOSITORIES
PUSH THE CHANGES TO THE
WSO2 API-M INSTANCE
apictl set
--vcs-source-repo-path <path>
apictl set
--vcs-deployment-repo-path <path>
apictl vcs init apictl vcs deploy
Steps for Git Integration
Demonstration
Question Time!
Useful Links
35
Medium - API Integration Essentials
https://medium.com/api-integration-essentials
Medium - Think Integration
https://medium.com/think-integration
WSO2 Documentation - WSO2 API Controller
https://apim.docs.wso2.com/en/4.0.0/install-and-setup/setup/api-controller/getting-started-with-wso2-a
pi-controller
Catalog - WSO2 API Controller
https://apim.docs.wso2.com/en/4.0.0/reference/apictl/wso2-api-controller
wso2.com
Thanks!

More Related Content

What's hot

OpenID for Verifiable Credentials (IIW 35)
OpenID for Verifiable Credentials (IIW 35)OpenID for Verifiable Credentials (IIW 35)
OpenID for Verifiable Credentials (IIW 35)
Torsten Lodderstedt
Β 
How to Deploy WSO2 Enterprise Integrator in Containers
How to Deploy WSO2 Enterprise Integrator in ContainersHow to Deploy WSO2 Enterprise Integrator in Containers
How to Deploy WSO2 Enterprise Integrator in Containers
WSO2
Β 
Spring Boot
Spring BootSpring Boot
Spring Boot
Jaydeep Kale
Β 
Swagger
SwaggerSwagger
Getting Started With Elasticsearch In .NET
Getting Started With Elasticsearch In .NETGetting Started With Elasticsearch In .NET
Getting Started With Elasticsearch In .NET
Ahmed Abd Ellatif
Β 
DΓ©veloppement d'un site web jee de e commerce basΓ© sur spring (m.youssfi)
DΓ©veloppement d'un site web jee de e commerce basΓ© sur spring (m.youssfi)DΓ©veloppement d'un site web jee de e commerce basΓ© sur spring (m.youssfi)
DΓ©veloppement d'un site web jee de e commerce basΓ© sur spring (m.youssfi)
ENSET, UniversitΓ© Hassan II Casablanca
Β 
OpenID for SSI
OpenID for SSIOpenID for SSI
OpenID for SSI
Torsten Lodderstedt
Β 
Highlights of WSO2 API Manager 4.0.0
Highlights of WSO2 API Manager 4.0.0Highlights of WSO2 API Manager 4.0.0
Highlights of WSO2 API Manager 4.0.0
WSO2
Β 
How to Implement Micro Frontend Architecture using Angular Framework
How to Implement Micro Frontend Architecture using Angular FrameworkHow to Implement Micro Frontend Architecture using Angular Framework
How to Implement Micro Frontend Architecture using Angular Framework
RapidValue
Β 
Microservices
MicroservicesMicroservices
Microservices
ACCESS Health Digital
Β 
PrΓ©sentation de JEE et de son Γ©cosysteme
PrΓ©sentation de JEE et de son Γ©cosystemePrΓ©sentation de JEE et de son Γ©cosysteme
PrΓ©sentation de JEE et de son Γ©cosysteme
StΓ©phane Traumat
Β 
Introduction to Spring Framework
Introduction to Spring FrameworkIntroduction to Spring Framework
Introduction to Spring Framework
ASG
Β 
Spring Boot and REST API
Spring Boot and REST APISpring Boot and REST API
Spring Boot and REST API
07.pallav
Β 
API
APIAPI
How Secure Are Your APIs?
How Secure Are Your APIs?How Secure Are Your APIs?
How Secure Are Your APIs?
Apigee | Google Cloud
Β 
DΓ©veloppement web mobile avec IONIC 2
DΓ©veloppement web mobile avec IONIC 2DΓ©veloppement web mobile avec IONIC 2
DΓ©veloppement web mobile avec IONIC 2
Jean David Olekhnovitch
Β 
Practical Use of MongoDB for Node.js
Practical Use of MongoDB for Node.jsPractical Use of MongoDB for Node.js
Practical Use of MongoDB for Node.js
async_io
Β 
Asp.Net Identity
Asp.Net IdentityAsp.Net Identity
Asp.Net Identity
Marwa Ahmad
Β 
Testing an onion architecture - done right
Testing an onion architecture - done rightTesting an onion architecture - done right
Testing an onion architecture - done right
Michel Schudel
Β 

What's hot (20)

OpenID for Verifiable Credentials (IIW 35)
OpenID for Verifiable Credentials (IIW 35)OpenID for Verifiable Credentials (IIW 35)
OpenID for Verifiable Credentials (IIW 35)
Β 
How to Deploy WSO2 Enterprise Integrator in Containers
How to Deploy WSO2 Enterprise Integrator in ContainersHow to Deploy WSO2 Enterprise Integrator in Containers
How to Deploy WSO2 Enterprise Integrator in Containers
Β 
Spring Boot
Spring BootSpring Boot
Spring Boot
Β 
Swagger
SwaggerSwagger
Swagger
Β 
Getting Started With Elasticsearch In .NET
Getting Started With Elasticsearch In .NETGetting Started With Elasticsearch In .NET
Getting Started With Elasticsearch In .NET
Β 
Day 1 axway apim-training
Day 1   axway apim-trainingDay 1   axway apim-training
Day 1 axway apim-training
Β 
DΓ©veloppement d'un site web jee de e commerce basΓ© sur spring (m.youssfi)
DΓ©veloppement d'un site web jee de e commerce basΓ© sur spring (m.youssfi)DΓ©veloppement d'un site web jee de e commerce basΓ© sur spring (m.youssfi)
DΓ©veloppement d'un site web jee de e commerce basΓ© sur spring (m.youssfi)
Β 
OpenID for SSI
OpenID for SSIOpenID for SSI
OpenID for SSI
Β 
Highlights of WSO2 API Manager 4.0.0
Highlights of WSO2 API Manager 4.0.0Highlights of WSO2 API Manager 4.0.0
Highlights of WSO2 API Manager 4.0.0
Β 
How to Implement Micro Frontend Architecture using Angular Framework
How to Implement Micro Frontend Architecture using Angular FrameworkHow to Implement Micro Frontend Architecture using Angular Framework
How to Implement Micro Frontend Architecture using Angular Framework
Β 
Microservices
MicroservicesMicroservices
Microservices
Β 
PrΓ©sentation de JEE et de son Γ©cosysteme
PrΓ©sentation de JEE et de son Γ©cosystemePrΓ©sentation de JEE et de son Γ©cosysteme
PrΓ©sentation de JEE et de son Γ©cosysteme
Β 
Introduction to Spring Framework
Introduction to Spring FrameworkIntroduction to Spring Framework
Introduction to Spring Framework
Β 
Spring Boot and REST API
Spring Boot and REST APISpring Boot and REST API
Spring Boot and REST API
Β 
API
APIAPI
API
Β 
How Secure Are Your APIs?
How Secure Are Your APIs?How Secure Are Your APIs?
How Secure Are Your APIs?
Β 
DΓ©veloppement web mobile avec IONIC 2
DΓ©veloppement web mobile avec IONIC 2DΓ©veloppement web mobile avec IONIC 2
DΓ©veloppement web mobile avec IONIC 2
Β 
Practical Use of MongoDB for Node.js
Practical Use of MongoDB for Node.jsPractical Use of MongoDB for Node.js
Practical Use of MongoDB for Node.js
Β 
Asp.Net Identity
Asp.Net IdentityAsp.Net Identity
Asp.Net Identity
Β 
Testing an onion architecture - done right
Testing an onion architecture - done rightTesting an onion architecture - done right
Testing an onion architecture - done right
Β 

Similar to WSO2 API Manager Community Call - November 2021

Bapi jco
Bapi jcoBapi jco
Bapi jco
malike4u
Β 
Development of a Cisco ACI device package for NGINX as a Load-Balancer
Development of a Cisco ACI device package for NGINX as a Load-BalancerDevelopment of a Cisco ACI device package for NGINX as a Load-Balancer
Development of a Cisco ACI device package for NGINX as a Load-Balancer
Fabrice Servais
Β 
Architecting the Future: Abstractions and Metadata - BSidesKC
Architecting the Future: Abstractions and Metadata - BSidesKCArchitecting the Future: Abstractions and Metadata - BSidesKC
Architecting the Future: Abstractions and Metadata - BSidesKC
Daniel Barker
Β 
Continuous Delivery - Devoxx Morocco 2016
Continuous Delivery - Devoxx Morocco 2016Continuous Delivery - Devoxx Morocco 2016
Continuous Delivery - Devoxx Morocco 2016
RafaΕ‚ Leszko
Β 
Architecting the Future: Abstractions and Metadata - KCDC
Architecting the Future: Abstractions and Metadata - KCDCArchitecting the Future: Abstractions and Metadata - KCDC
Architecting the Future: Abstractions and Metadata - KCDC
Daniel Barker
Β 
[apidays LIVE HONK KONG] - OAS to Managed API in Seconds
[apidays LIVE HONK KONG] - OAS to Managed API in Seconds[apidays LIVE HONK KONG] - OAS to Managed API in Seconds
[apidays LIVE HONK KONG] - OAS to Managed API in Seconds
WSO2
Β 
Firebird 3: provider-based architecture, plugins and OO approach to API
Firebird 3: provider-based architecture, plugins and OO approach to API Firebird 3: provider-based architecture, plugins and OO approach to API
Firebird 3: provider-based architecture, plugins and OO approach to API
Mind The Firebird
Β 
Continuous Delivery - Voxxed Days Thessaloniki 21.10.2016
Continuous Delivery - Voxxed Days Thessaloniki 21.10.2016Continuous Delivery - Voxxed Days Thessaloniki 21.10.2016
Continuous Delivery - Voxxed Days Thessaloniki 21.10.2016
RafaΕ‚ Leszko
Β 
Apikit from command line
Apikit from command lineApikit from command line
Apikit from command line
fedefortin
Β 
Software Variability Management
Software Variability ManagementSoftware Variability Management
Software Variability Management
XavierDevroey
Β 
New Features of Kubernetes v1.2.0 beta
New Features of Kubernetes v1.2.0 betaNew Features of Kubernetes v1.2.0 beta
New Features of Kubernetes v1.2.0 beta
Giragadurai Vallirajan
Β 
Kubernetes+-CKA-+0400+-+Application+Lifecycle+Management.pdf
Kubernetes+-CKA-+0400+-+Application+Lifecycle+Management.pdfKubernetes+-CKA-+0400+-+Application+Lifecycle+Management.pdf
Kubernetes+-CKA-+0400+-+Application+Lifecycle+Management.pdf
Srinivasa Rao
Β 
Spinnaker Summit 2018: CI/CD Patterns for Kubernetes with Spinnaker
Spinnaker Summit 2018: CI/CD Patterns for Kubernetes with SpinnakerSpinnaker Summit 2018: CI/CD Patterns for Kubernetes with Spinnaker
Spinnaker Summit 2018: CI/CD Patterns for Kubernetes with Spinnaker
Andrew Phillips
Β 
Practical Patterns for Developing a Cross-product Cross-version App
Practical Patterns for Developing a Cross-product Cross-version AppPractical Patterns for Developing a Cross-product Cross-version App
Practical Patterns for Developing a Cross-product Cross-version App
Atlassian
Β 
Crafting Beautiful CLI Applications in Ruby
Crafting Beautiful CLI Applications in RubyCrafting Beautiful CLI Applications in Ruby
Crafting Beautiful CLI Applications in Ruby
Nikhil Mungel
Β 
Deploying Symfony | symfony.cat
Deploying Symfony | symfony.catDeploying Symfony | symfony.cat
Deploying Symfony | symfony.cat
Pablo Godel
Β 
R12 d49656 gc10-apps dba 11
R12 d49656 gc10-apps dba 11R12 d49656 gc10-apps dba 11
R12 d49656 gc10-apps dba 11
zeesniper
Β 
Java Tech & Tools | OSGi Best Practices | Emily Jiang
Java Tech & Tools | OSGi Best Practices | Emily JiangJava Tech & Tools | OSGi Best Practices | Emily Jiang
Java Tech & Tools | OSGi Best Practices | Emily JiangJAX London
Β 
Architecting the Future: Abstractions and Metadata - CodeStock
Architecting the Future: Abstractions and Metadata - CodeStockArchitecting the Future: Abstractions and Metadata - CodeStock
Architecting the Future: Abstractions and Metadata - CodeStock
Daniel Barker
Β 
Architecting the Future: Abstractions and Metadata - STL SilverLinings
Architecting the Future: Abstractions and Metadata - STL SilverLiningsArchitecting the Future: Abstractions and Metadata - STL SilverLinings
Architecting the Future: Abstractions and Metadata - STL SilverLinings
Daniel Barker
Β 

Similar to WSO2 API Manager Community Call - November 2021 (20)

Bapi jco
Bapi jcoBapi jco
Bapi jco
Β 
Development of a Cisco ACI device package for NGINX as a Load-Balancer
Development of a Cisco ACI device package for NGINX as a Load-BalancerDevelopment of a Cisco ACI device package for NGINX as a Load-Balancer
Development of a Cisco ACI device package for NGINX as a Load-Balancer
Β 
Architecting the Future: Abstractions and Metadata - BSidesKC
Architecting the Future: Abstractions and Metadata - BSidesKCArchitecting the Future: Abstractions and Metadata - BSidesKC
Architecting the Future: Abstractions and Metadata - BSidesKC
Β 
Continuous Delivery - Devoxx Morocco 2016
Continuous Delivery - Devoxx Morocco 2016Continuous Delivery - Devoxx Morocco 2016
Continuous Delivery - Devoxx Morocco 2016
Β 
Architecting the Future: Abstractions and Metadata - KCDC
Architecting the Future: Abstractions and Metadata - KCDCArchitecting the Future: Abstractions and Metadata - KCDC
Architecting the Future: Abstractions and Metadata - KCDC
Β 
[apidays LIVE HONK KONG] - OAS to Managed API in Seconds
[apidays LIVE HONK KONG] - OAS to Managed API in Seconds[apidays LIVE HONK KONG] - OAS to Managed API in Seconds
[apidays LIVE HONK KONG] - OAS to Managed API in Seconds
Β 
Firebird 3: provider-based architecture, plugins and OO approach to API
Firebird 3: provider-based architecture, plugins and OO approach to API Firebird 3: provider-based architecture, plugins and OO approach to API
Firebird 3: provider-based architecture, plugins and OO approach to API
Β 
Continuous Delivery - Voxxed Days Thessaloniki 21.10.2016
Continuous Delivery - Voxxed Days Thessaloniki 21.10.2016Continuous Delivery - Voxxed Days Thessaloniki 21.10.2016
Continuous Delivery - Voxxed Days Thessaloniki 21.10.2016
Β 
Apikit from command line
Apikit from command lineApikit from command line
Apikit from command line
Β 
Software Variability Management
Software Variability ManagementSoftware Variability Management
Software Variability Management
Β 
New Features of Kubernetes v1.2.0 beta
New Features of Kubernetes v1.2.0 betaNew Features of Kubernetes v1.2.0 beta
New Features of Kubernetes v1.2.0 beta
Β 
Kubernetes+-CKA-+0400+-+Application+Lifecycle+Management.pdf
Kubernetes+-CKA-+0400+-+Application+Lifecycle+Management.pdfKubernetes+-CKA-+0400+-+Application+Lifecycle+Management.pdf
Kubernetes+-CKA-+0400+-+Application+Lifecycle+Management.pdf
Β 
Spinnaker Summit 2018: CI/CD Patterns for Kubernetes with Spinnaker
Spinnaker Summit 2018: CI/CD Patterns for Kubernetes with SpinnakerSpinnaker Summit 2018: CI/CD Patterns for Kubernetes with Spinnaker
Spinnaker Summit 2018: CI/CD Patterns for Kubernetes with Spinnaker
Β 
Practical Patterns for Developing a Cross-product Cross-version App
Practical Patterns for Developing a Cross-product Cross-version AppPractical Patterns for Developing a Cross-product Cross-version App
Practical Patterns for Developing a Cross-product Cross-version App
Β 
Crafting Beautiful CLI Applications in Ruby
Crafting Beautiful CLI Applications in RubyCrafting Beautiful CLI Applications in Ruby
Crafting Beautiful CLI Applications in Ruby
Β 
Deploying Symfony | symfony.cat
Deploying Symfony | symfony.catDeploying Symfony | symfony.cat
Deploying Symfony | symfony.cat
Β 
R12 d49656 gc10-apps dba 11
R12 d49656 gc10-apps dba 11R12 d49656 gc10-apps dba 11
R12 d49656 gc10-apps dba 11
Β 
Java Tech & Tools | OSGi Best Practices | Emily Jiang
Java Tech & Tools | OSGi Best Practices | Emily JiangJava Tech & Tools | OSGi Best Practices | Emily Jiang
Java Tech & Tools | OSGi Best Practices | Emily Jiang
Β 
Architecting the Future: Abstractions and Metadata - CodeStock
Architecting the Future: Abstractions and Metadata - CodeStockArchitecting the Future: Abstractions and Metadata - CodeStock
Architecting the Future: Abstractions and Metadata - CodeStock
Β 
Architecting the Future: Abstractions and Metadata - STL SilverLinings
Architecting the Future: Abstractions and Metadata - STL SilverLiningsArchitecting the Future: Abstractions and Metadata - STL SilverLinings
Architecting the Future: Abstractions and Metadata - STL SilverLinings
Β 

More from WSO2

Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
Β 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2
Β 
architecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdfarchitecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdf
WSO2
Β 
Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2
WSO2
Β 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
WSO2
Β 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
WSO2
Β 
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2
Β 
WSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AIWSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AI
WSO2
Β 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
WSO2
Β 
Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation Computing
WSO2
Β 
WSO2CON 2024 - Elevating the Integration Game to the Cloud
WSO2CON 2024 - Elevating the Integration Game to the CloudWSO2CON 2024 - Elevating the Integration Game to the Cloud
WSO2CON 2024 - Elevating the Integration Game to the Cloud
WSO2
Β 
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & InnovationWSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2
Β 
WSO2CON 2024 - Freedom Firstβ€”Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom Firstβ€”Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom Firstβ€”Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom Firstβ€”Unleashing Developer Potential with Open Source
WSO2
Β 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
WSO2
Β 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
WSO2
Β 
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2
Β 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2
Β 
WSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital BusinessesWSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital Businesses
WSO2
Β 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2
Β 
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of TransformationWSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2
Β 

More from WSO2 (20)

Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
Β 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
Β 
architecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdfarchitecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdf
Β 
Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2
Β 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Β 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
Β 
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
Β 
WSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AIWSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AI
Β 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
Β 
Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation Computing
Β 
WSO2CON 2024 - Elevating the Integration Game to the Cloud
WSO2CON 2024 - Elevating the Integration Game to the CloudWSO2CON 2024 - Elevating the Integration Game to the Cloud
WSO2CON 2024 - Elevating the Integration Game to the Cloud
Β 
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & InnovationWSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
Β 
WSO2CON 2024 - Freedom Firstβ€”Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom Firstβ€”Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom Firstβ€”Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom Firstβ€”Unleashing Developer Potential with Open Source
Β 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
Β 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
Β 
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
Β 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
Β 
WSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital BusinessesWSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital Businesses
Β 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
Β 
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of TransformationWSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
Β 

Recently uploaded

Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
Β 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
Β 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
IES VE
Β 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
Β 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
Β 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Jay Das
Β 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
Β 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
Tendenci - The Open Source AMS (Association Management Software)
Β 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
Β 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
Β 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
Β 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
Β 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
Ortus Solutions, Corp
Β 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
Β 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
Β 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
Β 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Globus
Β 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
Β 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
Β 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar
Β 

Recently uploaded (20)

Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Β 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Β 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
Β 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Β 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Β 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Β 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Β 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
Β 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
Β 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Β 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Β 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Β 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
Β 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Β 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Β 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Β 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Β 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Β 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
Β 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
Β 

WSO2 API Manager Community Call - November 2021

  • 1. November 24th, 2021 WSO2 API Manager Community Call Say β€œHello” to WSO2 API Controller (apictl) 4.0.x
  • 3. 3 Overview INTRODUCTION Heads up before starting 1 NEW FEATURES AND IMPROVEMENTS Six significant changes 2 DEMONSTRATION Hands on experience 3
  • 4. 4 Overview INTRODUCTION Heads up before starting 1 NEW FEATURES AND IMPROVEMENTS Six significant changes 2 DEMONSTRATION Hands on experience 3 ● Support Import/Export Revisions of APIs and API Products ● Introducing New Structures and Schemas ● Support for Choreo Connect and WSO2 Micro Integrator (WSO2 MI) ● Introduced New Improved Commands while Deprecating some Old apictl Commands ● Parameters Files Enhancements ● Revolutionized VCS (Version Control System) Support with Source and Deployment Repositories
  • 6. 6 API Manager Tooling Evolution 2018 April apimcli 1.0.0 Compatible with WSO2 API Manager 2.2.0 2018 July apimcli 1.1.0 Compatible with WSO2 API Manager 2.5.0 2019 August apimcli 2.0.x Compatible with WSO2 API Manager 2.6.0 (Latest patch release apimcli 2.0.15) 2019 October apictl 3.0.x Compatible with WSO2 API Manager 3.0.0 (Latest patch release apictl 3.0.1) 2020 April apictl 3.1.x Compatible with WSO2 API Manager 3.1.0 (Latest patch release apictl 3.1.4) 2020 August apictl 3.2.x Compatible with WSO2 API Manager 3.2.0 (Latest patch release apictl 3.2.4) 2021 April apictl 4.0.0 Compatible with WSO2 API Manager 4.0.0 (Latest patch release apictl 4.0.1)
  • 7. What is WSO2 API Controller (apictl)? 7 ● The WSO2 API Manager (WSO2 API-M) family member to perform CI/CD tasks related to APIs, API Products and Applications. β¦Ώ Managing WSO2 API-M environments β¦Ώ Listing APIs, API Products and Applications β¦Ώ Creating API projects β¦Ώ Importing/exporting APIs, API Products and Applications β¦Ώ Generating tokens for APIs and API Products β¦Ώ Managing APIs on a Kubernetes (k8s) deployment etc ● apictl 4.0.0 has been released on the 5th May 2021 with WSO2 API-M 4.0.0.
  • 8. New Features and Improvements
  • 9. 9 1. Support Import/Export Revisions of APIs and API Products Previous Community Call on the API Revisions Support https://www.youtube.com/watch?v=DdfrSca1PhE
  • 10. Export an API Revision 10 Flags: ● Required : --name or -n : Name of the API to be exported --version or -v : Version of the API to be exported --environment or -e : Environment from which the API should be exported ● Optional : --rev : Revision Number of the API. If not provided, working copy of the API will be exported. --provider or -r : Provider of the API. --latest : Export the latest revision of the API. --preserve-status : Preserve API status when exporting. Otherwise, the API will be exported in the CREATED status. The default value is true. --format : File format of exported archive (JSON or YAML). The default value is YAML. apictl export api -n <API-name> -v <version> --rev <revision-number> -r <provider> -e <environment> --preserve-status=<preserve-status> --format <export-format> Import an API Revision apictl import api --file <path-to-API-archive> --environment <environment> --preserve-provider=<preserve_provider> --update=<update_api> --skip-cleanup=<skip-cleanup> --params <environment-params-file> --rotate-revision Flags: ● Required : --file or -f : The file path of the API to import. --environment or -e : Environment to which the API should be exported. ● Optional : --rotate-revision : If the maximum revision limit reached, delete the oldest revision and create a new revision. --skip-deployments : Skip the deployment environments specified in the project and only update the working copy of the API. --preserve-provider : Preserve existing provider of API after importing. Default value is true. --update : Update an existing API or create a new API in the importing environment. --params : Define the API Manager environment params file. --skip-cleanup : Leave all temporary files created in the apictl during import process. Default value is false.
  • 11. Export an API Product Revision 11 Flags: ● Required : --name or -n : Name of the API Product to be exported --environment or -e : Environment from which the API Product should be exported ● Optional : --rev : Revision Number of the API Product. If not provided, working copy of the API Product will be exported. --provider or -r : Provider of the API Product. --latest : Export the latest revision of the API Product. --format : File format of exported archive (JSON or YAML). The default value is YAML. apictl export api-product -n <API Product-name> --rev <revision-number> -r <provider> -e <environment> --format <export-format> Import an API Product Revision apictl import api-product -f <path-to-API-Product-archive> -e <environment> --rotate-revision Flags: ● Required : --file or -f : The file path of the API Product to import. --environment or -e : Environment to which the API Product should be exported. ● Optional : --preserve-provider : Preserve existing provider of API Product after importing. Default value is true. --rotate-revision : If the maximum revision limit reached, delete the oldest revision and create a new revision. --skip-deployments : Skip the deployment environments specified in the project and only update the working copy of the API Product. --import-apis : Import dependent APIs to the environment along with the API Product. Default value is false. --update-api-product : Update an existing API Product or create a new API Product in the importing environment. Default value is false. --update-apis : Update dependent APIs of the API Product. Default value is false. --params : Define the API Manager environment params file. --skip-cleanup : Leave all temporary files created in the apictl during import process. Default value is false.
  • 12. Get (list) API Revisions 12 Flags: ● Required : --name or -n : Name of the API to get the revisions --version or -v : Version of the API to get the revisions --environment or -e : Environment to be searched ● Optional : --provider or -r : Provider of the API --query or -q : Search query pattern --format : pretty-print environments using templates apictl get api-revisions --name <API-name> --version <version> --provider <provider> --environment <environment> --query <deployment-search-query> Get (list) API Product Revisions apictl get api-product-revisions --name <API-Product-name> --provider <provider> --environment <environment> --query <deployment-search-query> Flags: ● Required : --name or -n : Name of the API Product to get the revisions --environment or -e : Environment to be searched ● Optional : --provider or -r : Provider of the API Product --query or -q : Search query pattern --format : pretty-print environments using templates
  • 13. 13 2. Introducing New structures and Schemas
  • 14. 14 <APIName>-version β”œβ”€β”€ api.yaml β”œβ”€β”€ api_meta.yaml β”œβ”€β”€ deployment_environments.yaml β”œβ”€β”€ Client-certificates β”‚ β”œβ”€β”€ Alias1.crt β”‚ β”œβ”€β”€ Alias2.crt β”‚ └── client_certificates.yaml β”œβ”€β”€ Definitions β”‚ |── swagger.yaml | |── schema.graphql | └── graphql-complexity.yaml β”œβ”€β”€ Docs β”‚ β”œβ”€β”€ Doc1 β”‚ β”‚ β”œβ”€β”€ document-file.pdf β”‚ β”‚ └── document.yaml β”‚ β”œβ”€β”€ Doc2 β”‚ β”‚ β”œβ”€β”€ Doc2 β”‚ β”‚ └── document.yaml β”‚ β”œβ”€β”€ Doc3 β”‚ β”‚ β”œβ”€β”€ Doc3 β”‚ β”‚ └── document.yaml β”‚ └── Doc4 β”‚ └── document.yaml β”œβ”€β”€ Endpoint-certificates β”‚ β”œβ”€β”€ Alias3.crt β”‚ β”œβ”€β”€ Alias4.crt β”‚ └── endpoint_certificates.yaml β”œβ”€β”€ Image | └── <imageName>.extension β”œβ”€β”€ WSDL | └── <APIName>-<version>.wsdl └── Sequences β”œβ”€β”€ fault-sequence | |── Custom | | |── <custom-sequence-1-name.xml> | | └── <custom-sequence-2-name.xml> | └── <sequence-name.xml> β”œβ”€β”€ in-sequence | |── Custom | | └── <custom-sequence-name.xml> | └── <sequence-name.xml> └── out-sequence |── Custom | └── <custom-sequence-name.xml> └── <sequence-name.xml> <APIName>-version β”œβ”€β”€ api_params.yaml β”œβ”€β”€ Meta-information β”‚ β”œβ”€β”€ api.yaml β”‚ |── swagger.yaml | |── endpoint_certificates.yaml | └── schema.graphql β”œβ”€β”€ Docs | |── FileContents β”‚ |── InlineContents | └── docs.yaml β”œβ”€β”€ Image | └── icon.extension β”œβ”€β”€ WSDL | └── <APIName>-<version>.wsdl └── Sequences β”œβ”€β”€ fault-sequence | |── Custom | | └── <custom-sequence-name.xml> | └── <sequence-name.xml> β”œβ”€β”€ in-sequence | |── Custom | | └── <custom-sequence-name.xml> | └── <sequence-name.xml> └── out-sequence |── Custom | └── <custom-sequence-name.xml> └── <sequence-name.xml> 3.2.0 4.0.0 API Structure
  • 15. 15 <APIProductName>-version β”œβ”€β”€ api_product.yaml β”œβ”€β”€ api_product_meta.yaml β”œβ”€β”€ deployment_environments.yaml β”œβ”€β”€ Client-certificates β”‚ β”œβ”€β”€ Alias1.crt β”‚ β”œβ”€β”€ Alias2.crt β”‚ └── client_certificates.yaml β”œβ”€β”€ APIs β”‚ β”œβ”€β”€ <1stAPIName>_version β”‚ |── <2ndAPIName>_version | |── | └── <NthAPIName>_version β”œβ”€β”€ Definitions | └── swagger.yaml β”œβ”€β”€ Docs β”‚ β”œβ”€β”€ Doc1 β”‚ β”‚ β”œβ”€β”€ document-file.pdf β”‚ β”‚ └── document.yaml β”‚ β”œβ”€β”€ Doc2 β”‚ β”‚ β”œβ”€β”€ Doc2 β”‚ β”‚ └── document.yaml β”‚ β”œβ”€β”€ Doc3 β”‚ β”‚ β”œβ”€β”€ Doc3 β”‚ β”‚ └── document.yaml β”‚ └── Doc4 β”‚ └── document.yaml └── Image └── <imageName>.extension <APIProductName>-version β”œβ”€β”€ APIs β”‚ β”œβ”€β”€ <1stAPIName>_version β”‚ |── <2ndAPIName>_version | |── | └── <NthAPIName>_version β”œβ”€β”€ Meta-information β”‚ β”œβ”€β”€ api.yaml | └── swagger.yaml β”œβ”€β”€ Docs | |── FileContents β”‚ |── InlineContents | └── docs.yaml └── Image └── icon.extension 3.2.0 4.0.0 API Product Structure
  • 17. 17 type: api version: v4.0.0 data: name : SampleAPI version: 1.0.0 context: /sampleapi endpointConfig: endpoint_type: http production_endpoints: url: http://prod.wso2.com sandbox_endpoints: url: http://sand.wso2.com endpointImplementationType: ENDPOINT lifeCycleStatus: CREATED policies: - Unlimited provider: admin transport: - http - https type: HTTP visibility: PUBLIC id: providerName: admin apiName: SampleAPI version: 1.0.0 type: HTTP context: /sampleapi availableTiers: - name: Unlimited status: PUBLISHED visibility: public transports: http,https productionUrl: http://localhost:8080 sandboxUrl: http://localhost:8081 3.2.0 4.0.0 API Schema (api.yaml)
  • 18. 18 type: api version: v4.0.0 data: name : SampleAPI version: 1.0.0 context: sampleapi endpointConfig: endpoint_type: http production_endpoints: url: http://prod.wso2.com sandbox_endpoints: url: http://sand.wso2.com endpointImplementationType: ENDPOINT lifeCycleStatus: CREATED policies: - Unlimited provider: admin transport: - http - https type: HTTP visibility: PUBLIC id: providerName: admin apiName: SampleAPI version: 1.0.0 type: HTTP context: sampleapi availableTiers: - name: Unlimited status: PUBLISHED visibility: public transports: http,https productionUrl: http://localhost:8080 sandboxUrl: http://localhost:8081 3.2.0 4.0.0 API Schema (api.yaml)
  • 19. 19 3. Support for Choreo Connect and WSO2 Micro Integrator (WSO2 MI)
  • 20. 20 apictl as a Developer CLI Tool for Choreo Connect (API Microgateway) ● This feature of apictl 4.0.0, enables interacting with one or more Choreo Connect environments without having to perform the tasks such as deploy an API, view the list of deployed APIs and un-deploy an API via the WSO2 API-M. ● A new alias named mg has been allocated to the commands related to Choreo Connect. ● Examples: apictl mg login <environment-name> apictl mg get apis -e <environment-name> apictl mg undeploy api -e <environment-name> -n <api-name> -v <api-version> Documentation https://apim.docs.wso2.com/en/4.0.0/install-and-setup/setup/api-controller/managing-choreo-connect/managing-choreo-connect-with-ctl
  • 21. 21 Merged Micro Integrator (MI) CLI Commands with apictl ● With apictl 4.0.0, the monitoring tasks of the Synapse artifacts (deployed in a specified MI server) can be done along with various management and administration tasks using the command line. ● A new alias named mi has been allocated to the commands related to MI. ● Examples: apictl mi login <environment-name> apictl mi get apis -e <environment> apictl mi add user [user-name] -e <environment> Documentation https://apim.docs.wso2.com/en/4.0.0/install-and-setup/setup/api-controller/managing-integrations/managing-integrations-with-ctl
  • 22. 22 4. Introduced New improved Commands while Deprecating some Old apictl Commands
  • 23. Deprecated Command New Command apictl import-api [flags] apictl import api [flags] apictl import-app [flags] apictl import app [flags] apictl export-api [flags] apictl export api [flags] apictl export-apis [flags] apictl export apis [flags] apictl export-app [flags] apictl export app [flags] apictl list apis [flags] apictl get apis [flags] apictl list api-products [flags] apictl get api-products [flags] apictl list apps [flags] apictl get apps [flags] apictl list envs [flags] apictl get envs [flags] apictl get-keys [flags] apictl get keys [flags] apictl delete api [flags] apictl delete api [flags] apictl k8s delete api [flags] apictl add api [flags] apictl k8s add api [flags] apictl update api [flags] apictl k8s update api [flags] apictl add-env [flags] apictl k8s update api [flags] 23 Commands Revamp apictl [alias] [verb] [noun] [flags] apictl k8s add api [flags] apictl <empty> import api [flags] Alias values ● k8s for Kubernetes related commands ● mg for Choreo Connect related commands ● mi for WSO2 MI related commands ● <empty> for WSO2 API-M related commands apictl set --mode has been deprecated.
  • 24. 24 5. Parameters Files Enhancements
  • 25. 25 Now ● There is no point in including the api_params.yaml inside the project. You will be left with Option 2 only. ● You can not only provide a params file now, but also you can give a directory as the params during the import of an API/API Product. Then ● Option 1 β€” Keep inside the API project so that when importing the API, the details will be overridden based on the parameters. ● Option 2 β€” Use the --params flag to specify the path to the parameter file when you are importing the API so that it will be considered. Parameters… Then and Now?
  • 26. config: factor: <suspension_factor> suspendMaxDuration: <maximum_suspend_time_duration> suspendDuration: <suspend_time_duration> suspendErrorCode: - <suspend_error_code_1> - <suspend_error_code_2> - ...................... - <suspend_error_code_n> retryTimeOut: <no_of_retries_before_suspension> retryDelay: <retry_delay_in_ms> retryErroCode: - <retry_error_code_1> - <retry_error_code_2> - .................... - <retry_error_code_n> actionSelect: <action_discard_or_fault> actionDuration: <action_time_duration> 26 Parameters File for an API environments: - name: <environment_name> configs: <multiple_configurations_relevant_to_the_specific_environment> endpoints: production: url: <production_endpoint_url> config: factor: <suspension_factor> --------------------------- sandbox: url: <sandbox_endpoint_url> config: factor: <suspension_factor> --------------------------- security: production: enabled: <whether_security_is_enabled_for_production_endpoint> type: <endpoint_authentication_type_basic_or_digest_for_production_endpoint> username: <endpoint_username_for_production_endpoint> password: <endpoint_password_for_production_endpoint> sandbox: enabled: <whether_security_is_enabled_for_sandbox_endpoint> ----------------------------------------------------------- deploymentEnvironments: - displayOnDevportal: <boolean> deploymentEnvironment: <environment_name> deploymentVhost : <vhost_name> certs: - hostName: <endpoint_url> alias: <certificate_alias> path: <certificate_name> mutualSslCerts: - tierName: <subscription_tier_name> alias: <certificate_alias> path: <certificate_name> policies: - <subscription_policy_1_name> - <subscription_policy_2_name> apictl import api --file <path-to-API-archive> --environment <environment> --preserve-provider=<preserve_provide r> --update=<update_api> --skip-cleanup=<skip-cleanup> --params <environment-params-file> --rotate-revision
  • 27. 27 Parameters File for an API Product environments: - name: <environment_name> configs: <multiple_configurations_relevant_to_the_specific_environment> dependentAPIs: <api_1_name>-<api_1_version>: endpoints: ------------------------- <api_2_name>-<api_2_version>: endpoints: ------------------------- deploymentEnvironments: - displayOnDevportal: <boolean> deploymentEnvironment: <environment_name> deploymentVhost : <vhost_name> mutualSslCerts: - tierName: <subscription_tier_name> alias: <certificate_alias> path: <certificate_name> policies: - <subscription_policy_1_name> - <subscription_policy_2_name> Parameters for an API
  • 28. 28 6. Revolutionized VCS (Version Control System) Support with Source and Deployment Repositories
  • 29. 29 Then and Now... ● The facility to combine the CI/CD pipelines with a widely used Version Control System (VCS) such as Git has been introduced last year with the apictl 3.2.0. ● But it had the ability only to control and maintain one repository with your APIs, API Products and Applications. ● With the release of apictl 4.0.0, the above-stated functionality has been enhanced to support two (2) repositories at once, namely: the Source Repository and the Deployment Repository.
  • 30. 30 What are these Source and Deployment Repositories? ● Source Repository - A collection of source code of project directories without environment specific information. β¦Ώ Naming convention - <API_Name>-<API_Version> ● Deployment Repository - A collection of directories with environment specific details. β¦Ώ Naming convention - DeploymentArtifacts_<API_Name>-<API_ Version>
  • 31. 31 How to Fit Git Integration into this Structure? ● Both should be Git repositories ● You can maintain Git branches in the Source Repository with APIs/API Products/Applications corresponding to multiple WSO2 API-M environments you wish. ● You do not need to maintain separate branches in the Deployment Repository.
  • 32. 32 1 2 3 SET THE SOURCE AND THE DEPLOYMENT REPOSITORIES VCS INIT AND COMMIT THE CHANGES IN BOTH THE SOURCE AND THE DEPLOYMENT REPOSITORIES PUSH THE CHANGES TO THE WSO2 API-M INSTANCE apictl set --vcs-source-repo-path <path> apictl set --vcs-deployment-repo-path <path> apictl vcs init apictl vcs deploy Steps for Git Integration
  • 35. Useful Links 35 Medium - API Integration Essentials https://medium.com/api-integration-essentials Medium - Think Integration https://medium.com/think-integration WSO2 Documentation - WSO2 API Controller https://apim.docs.wso2.com/en/4.0.0/install-and-setup/setup/api-controller/getting-started-with-wso2-a pi-controller Catalog - WSO2 API Controller https://apim.docs.wso2.com/en/4.0.0/reference/apictl/wso2-api-controller