How to obtain WSO2 docker-compose distribution from a previous release - wso2

When you are going to download a distribution of WSO2 product, for the lastest release is possible to download different distributions (binary, msi installer, docker, docker-compose, helm, kubernetes, etc.) but when you try to do it from a previous release, there is only binary and OS's installers (ubuntu, mac, windows, etc).
But I would like to download, for instance docker-compose distribution for the previous version.
How then can it be possible to do?
This images show it clearly:

You can get these artifacts from the docker-apim repo. https://github.com/wso2/docker-apim/tree/v3.1.0.3

I have checked that the URL generated for the latest version can be modified and can be selected other previous versions. For instance, for downloading AM version 3.1.0, previous to the latest release (v 3.2.0), can be downloaded for docker compose in this manner:
http://product-dist.wso2.com/downloads/api-manager/3.1.0/instruction-pages/subscription/docker-compose/docker-apim-3.1.0.zip
WSO2 should leave available all these links explicitly referred to in the previous versions.

Related

Install Cloud Foundry CLI in a M1 chip MacBook

tl;dr The Cloud Foundry CLI fails to install in an M1 chip MacBook Pro.
Following the official instructions, using Homebrew in the command:
$ brew install cloudfoundry/tap/cf-cli#8
The output is:
cf-cli#8: The x86_64 architecture is required for this software.
Error: cf-cli#8: An unsatisfied requirement failed this build.
Found no binary for the ARM-based architecture of the Apple M1 chip. The same trying with cf-cli#7, or just cf-cli.
How can the Cloud Foundry CLI be installed in an ARM-based architecture?
The official GitHub project cloudfoundry/cli includes binaries for many architectures, including ARM-based.
Search in the official Releases page, Assets section, and download the binary of the item named cf-cli_osx_arm (currently v8.3.0). Once downloaded, move/rename to any folder included in your PATH environment variable.
With the release of v8.4.0 a few days ago the support for ARM based mac OS machines (e.g. M1) was added:
https://github.com/cloudfoundry/homebrew-tap/commit/69f268f18ea10a4c8e19c99a8bb209c1ebbcbe7d
It will still fail if you only tap it and leave out the version in your install command, so you'll need to enter:
brew install cloudfoundry/tap/cf-cli#8
There's an open issue for this.
Until the official tap supports the osx_arm binary, you can use this unofficial tap which is manually updated:
brew install wanddynosios/tap/cf-cli
That said, it seems like the official CloudFoundry maintainers are about to support this officially soon.

how can I add software pre-requisites to cloud foundry nodejs

I am using Cloud Foundry's nodejs profile and my nodejs package.json requires chartjs-node-canvas. That package uses node-canvas and node-canvas is based on Cairo. The node-canvas site says I have to add the cairo-devel package to Linux (apt-get) in order for canvas to be installed.
Is it possible to add software to the OS image running on cloud foundry? If so, how?
You can do that by vendoring the dependencies. When you vendor them, you'll build locally in an Ubuntu Bionic Linux container or VM. Node will build everything that's required and you will no longer need the cairo-devel package (it's only needed to build).
The process to vendor dependencies is documented here.
The other option is to use the Apt Buildpack which is described on this SO post. That can be used to install any apt packages.

How to choose the right version of Google Cloud library components in python?

I have a specific version of google-cloud-core in my server and I don’t know how to choose the other libraries in a way to make them suit with my google cloud core version.
I can’t just move to the latest versions because old programs cannot run into new versions for example BigQuery library.
My specific need is to know « how to know » which version of Google Cloud Storage should I choose according to the 0.26.0 core version.
Is there some repositories where we can find packages grouped by google-cloud-core versions?
In my case the version 1.6 of google-cloud-storage works but I found it just by downgrade and try again method !
Best regards
What you can do as a workaround is create a virtual environment, install a specific library - like google-cloud-storage - and check the dependencies installed with that library version. I made a quick test and installed a few versions of google-cloud-storage. For version 1.3.0, the google-cloud-core 0.26.0 dependency was installed.
You can do so by following these steps:
virtualenv env-name
source env-name/bin/activate
pip freeze (to check there is nothing there)
pip install google-cloud-storage==1.3.0
pip freeze (again)
Once finished you’ll see google-cloud-core 0.26.0 was installed.

Resolving unstable/insecure versions with SwisscomDev/Cloudfoundry

Having buildpack: php_buildpack defined in our manifest.yml this should resolve to the latest CloudFoundry PHP Buildpack to my understanding.
But this resolves to Buildpack version 4.3.21 while Github mentions 4.3.22 as latest release. How does this happen? Do we need to trigger something/someone? Of course we don't want to specify a specific release tag in our manifest.
Additionally "PHP_VERSION": "{PHP_70_LATEST}" in options.json should resolve to the latest stable PHP 7 version but it resolves to 7.0.11 which is according to the PHP Release Announcements an insecure version which should not be used anymore.
Same applies to PHP_56_LATEST as it resolves to 5.6.7 which is a well outdated in favor of 5.6.28 (security release as well).
We didn't check for htttpd an others because we'd somehow rely on getting most recent, stable and secure versions.
php_buildpack refers to the latest version of the buildpack installed on the Cloud Foundry installation you are using (i.e. the Swisscom Application Cloud). It gets updated as soon as the version of Cloud Foundry gets updated because the buildpack is bundled with CF. If you really want to use the absolute latest buildpack, you'll have to pull it directly from GitHub. You can do so by specifying
buildpack: https://github.com/cloudfoundry/php-buildpack.git
The versions for PHP are also bundled with the buildpack. It will always install the latest version of the range you are specifying which is installed in the version of the buildpack you are using. You can find these versions here: https://github.com/cloudfoundry/php-buildpack/blob/master/manifest.yml (you can check out the file for different git tags of the buildpack to see which versions of PHP they come bundled with).
I believe the reason is that there are no standards on buildpacks names for operators.
E.g. platform operators can upload buildpacks with any name and use any version.
It is a best practice to keep them at default names/latest version, but not everyone follows that.
Just use custom buildpack with whatever version you need (if platform allows it)

Step by Step install of wso2 EMM for Ubuntu

I've visited the wso2 website and the install instructions are very disjointed in that there is a lot of jumping around between pages. I've seen the following blog that seemed to streamline the instructions but it doesn't seem complete (plus it's out of date with the version it's installing) - https://maxmalm.se/blog/2014-06-17-installing-wso2-enterprise-mobility-manager-110
Has anyone seen step-by-step instructions on what needs to be done to completely setup wso2-EMM on a newly installed Ubuntu 14.04 virtual machine with just the O/S on it and none of the pre-reqs installed yet? The blog I mentioned above seems to give a lot of the necessary apt-get install bits but doesn't mention anything about a database (yet the wso2 has a whole section on installing and using a database).
Thank you.
To try out WSO2 EMM you will only need to have JDK 7 or 8 [1] installed as minimum to start off the server. WSO2 products are build to run with OOB database which is H2. So to get things started and play around, I suggest that you install java and then start the pack to get things going.
[1] https://docs.wso2.com/display/EMM201/Installing+on+Linux+or+OS+X
To getting started all you need is JDK installed in your machine and setting the Java related environment variables like PATH, JAVA_HOME. You might have to install the correct version of JDK for the particular version of the EMM.