2 changed files with 115 additions and 0 deletions
@ -0,0 +1,60 @@ |
|||||
|
# Using this Ansible role from Docker |
||||
|
|
||||
|
You can use this Ansible role as a container image and provision an API in |
||||
|
3scale very quickly. |
||||
|
|
||||
|
You would first need to provision your 3scale Admin Portal hostname, access token |
||||
|
and optionally the Red Hat SSO Issuer Endpoint in the same format as a Kubernetes |
||||
|
secret: |
||||
|
|
||||
|
```sh |
||||
|
mkdir -p /tmp/secrets |
||||
|
cat > /tmp/secrets/hostname <<EOF |
||||
|
TENANT-admin.3scale.net |
||||
|
EOF |
||||
|
cat > /tmp/secrets/access_token <<EOF |
||||
|
1234..5678 |
||||
|
EOF |
||||
|
``` |
||||
|
|
||||
|
If your API is secured with OpenID Connect, you will need to provision the Red Hat |
||||
|
SSO Issuer Endpoint as well: |
||||
|
|
||||
|
```sh |
||||
|
cat > /tmp/secrets/sso_issuer_endpoint <<EOF |
||||
|
https://CLIENT_ID:CLIENT_SECRET@HOSTNAME/auth/realms/REALM |
||||
|
EOF |
||||
|
``` |
||||
|
|
||||
|
You can then run this Ansible role as a Docker container: |
||||
|
|
||||
|
```sh |
||||
|
docker run -it --rm --name threescale-cicd -v /tmp/secrets:/tmp/secrets:ro docker.io/nmasse/threescale-cicd:stable -e git_repository=https://github.com/nmasse-itix/rhte-api.git -e git_ref=master -e threescale_cicd_openapi_file=openapi-spec.yaml -e threescale_cicd_api_base_system_name=echo-api -e threescale_cicd_private_base_url=https://echo-api.3scale.net |
||||
|
``` |
||||
|
|
||||
|
This command is composed of the following arguments: |
||||
|
|
||||
|
- `-it` will run the Ansible command interactively |
||||
|
- `--rm` will remove the container once finished |
||||
|
- `--name threescale-cicd` will give a friendly name to the created container |
||||
|
- `-v /tmp/secrets:/tmp/secrets:ro` will mount the secrets created above inside the container |
||||
|
- `docker.io/nmasse/threescale-cicd:stable` is the name of the pre-built docker image. |
||||
|
`stable` is the latest released version. `master` is the development version. |
||||
|
You can also target a specific version with for instance `1.0.0`. |
||||
|
- `-e git_repository=https://github.com/nmasse-itix/rhte-api.git` will checkout the |
||||
|
forementioned GIT repository to extract the OpenAPI Specification file. |
||||
|
- `-e git_ref=master` will checkout this specific branch or tag of the GIT repository. |
||||
|
- `-e threescale_cicd_openapi_file=openapi-spec.yaml` sets the path to the OpenAPI |
||||
|
Specification file inside the GIT repository. |
||||
|
- `-e threescale_cicd_api_base_system_name=echo-api` sets the base name that will be used |
||||
|
to generate the 3scale system_name. |
||||
|
- `-e threescale_cicd_private_base_url=https://echo-api.3scale.net` sets the 3scale |
||||
|
Private Base URL. |
||||
|
|
||||
|
If your GIT repository is already checked out somewhere, you can re-use your |
||||
|
local copy by removing the `-e git_*` arguments and mounting your GIT repository |
||||
|
under `/opt/ansible/threescale-cicd/support/docker/api`. |
||||
|
|
||||
|
```sh |
||||
|
docker run -it --rm --name threescale-cicd -v /path/to/git:/opt/ansible/threescale-cicd/support/docker/api:ro -v /tmp/secrets:/tmp/secrets:ro docker.io/nmasse/threescale-cicd:stable -e threescale_cicd_openapi_file=path/to/openapi-spec.yaml -e threescale_cicd_api_base_system_name=echo-api -e threescale_cicd_private_base_url=https://echo-api.3scale.net |
||||
|
``` |
||||
Loading…
Reference in new issue