Releases: nmasse-itix/threescale-cicd
1.2.1
1.2.0
Support for Docker, Kubernetes, Jenkins and OpenShift
This new version includes out-of-the-box support for:
Ways to customize the playbook's behaviour have been documented
#43: Support for the new 3scale 2.3 feature has been added (link between service and activedocs)
Last but not least: the latest 3scale API Management 2.4 is now part of the automated test suite !
1.0.1: Bug fixes and improved security
This release contains two bug fixes:
- #37: Ensure the OpenAPI file patched by the playbooks is still compliant with the Swagger 2.0 specifications
- #29 : Fix the CORS smoketests that were failing
A security issue has been fixed:
- #41 : Make sure the playbook did not expose the 3scale access token in the output (use
no_log
)
As well as new features:
- #35 : add support for one gateway environments. That is to say when there is no staging gateway and only a production gateway
To enable this support, the staging and production gateways need to have the same public base URL in the inventory.
You can do that explicitly:
[threescale]
threescale_cicd_apicast_sandbox_endpoint=https://my-api.example.test
threescale_cicd_apicast_production_endpoint=https://my-api.example.test
Or implicitly:
[threescale]
threescale_cicd_api_base_system_name=my-api
threescale_cicd_wildcard_domain=example.test
threescale_cicd_default_staging_suffix=""
Most of the effort has been put on the Continuous Integration tests (#31) that now encompass:
- two versions of python (2.7 and 3.6)
- two versions of Ansible (2.4.6 and 2.7.5)
- three 3scale environments:
- 3scale SaaS with hosted APIcast
- 3scale SaaS with self-managed APIcast
- 3scale AMP on-premises 2.3
First release from the 1.x branch !
This release is the first from the 1.x branch to reflect:
- first a big rework in how the playbook is organized
- and then a minor change in the playbook interface that breaks backward compatibility
This release contains new features :
- #5: Validation of the OpenAPI file against the official schema
- #33: Ansible 2.7 / Python 3 compatibility
- #27: the apicast CORS policy can be enabled or disabled
- #26: the basePath of the API can be set in the OpenAPI file or overloaded as extra vars
As well as bug fixes (#19, #28, #30) and a major reorganisation in how the playbook is organised (#22).
Deprecation
The inventory groups are deprecated
Before you could write your inventory file this way:
[threescale]
tenant-admin.3scale.net threescale_cicd_access_token=123...456
[sso]
sso.example.test scheme=https client_id=3scale client_secret=abc realm=myrealm
[apicast-staging]
myapi-staging.example.test scheme=http
[apicast-production]
myapi-production.example.test scheme=https
In this new release, only variables in the threescale
group are accepted:
[threescale]
tenant-admin.3scale.net
[threescale:vars]
threescale_cicd_access_token=123...456
threescale_cicd_sso_issuer_endpoint=https://3scale:abc@sso.example.test/auth/realms/myrealm
threescale_cicd_apicast_sandbox_endpoint=http://myapi-staging.example.test
threescale_cicd_apicast_production_endpoint=https://myapi-production.example.test
The support for the sso
, apicast-staging
and apicast-production
inventory groups will be completely removed in a future version.
The meaning of the "threescale_cicd_api_system_name" variable changed
In the previous releases, the threescale_cicd_api_system_name
was used to generate the final system name based on a pattern, and that gave no possibility to set explicitely the system_name.
We now use two variables for this:
threescale_cicd_api_base_system_name
is the base name to use to generate the final system_namethreescale_cicd_api_system_name
is the desired system_name if you do not want it to be computed