Skip to content

Releases: nmasse-itix/threescale-cicd

1.2.1

27 Mar 14:58
Compare
Choose a tag to compare

This release includes:

  • #50: New variable that allow adding test application even when smoke tests are disabled
  • bug fix: rewrite the basePath in the final OAS
  • documentation updates

1.2.0

14 Mar 14:04
Compare
Choose a tag to compare

This release includes:

  • #46: Allow setting the OAuth flows per service
  • #40: improve the galaxy quality score
  • #45: ensure Ansible 2.4.6 at least is installed

Support for Docker, Kubernetes, Jenkins and OpenShift

05 Mar 20:12
Compare
Choose a tag to compare

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

31 Jan 15:11
f22a0fc
Compare
Choose a tag to compare

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 !

15 Jan 17:21
c4e4051
Compare
Choose a tag to compare

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_name
  • threescale_cicd_api_system_name is the desired system_name if you do not want it to be computed