to upgrade Kong to a newer version in an AWS AMI Marketplace instalation:
ssh -i your_access.pem ec2-user@ec2-XXX-XXX-XXX-XXX.area.compute.amazonaws.com
sudo bin/luarocks install kong <kong-version-to-install>
kong migrations up -v
to check kong package availability in
luarocks search kong
or see this page
I’m not a linux user, in fact, I never liked to “learn” all command lines, and the issue that a misspell comma can bring a server down makes me shake every time I load bash soplease bear with me
I’ve found that the instalation directory is
[ec2-user@ip-172-31-3-235 kong]$ ls -l
drwx------ 2 ec2-user ec2-user 4096 Mar 12 13:15 client_body_temp
drwx------ 2 ec2-user ec2-user 4096 Mar 12 13:15 fastcgi_temp
drwxr-xr-x 2 ec2-user ec2-user 4096 Mar 12 13:15 logs
-rw-r--r-- 1 ec2-user ec2-user 221 Mar 13 09:26 nginx.conf
-rw-r--r-- 1 ec2-user ec2-user 4642 Mar 13 09:26 nginx-kong.conf
drwxr-xr-x 2 ec2-user ec2-user 4096 Mar 12 13:15 pids
drwx------ 2 ec2-user ec2-user 4096 Mar 12 13:15 proxy_temp
drwx------ 2 ec2-user ec2-user 4096 Mar 12 13:15 scgi_temp
drwxr-xr-x 2 ec2-user ec2-user 4096 Mar 12 13:15 ssl
drwx------ 2 ec2-user ec2-user 4096 Mar 12 13:15 uwsgi_temp
but it must be a compiled kong right?
I also tried to see if any new package was available as you suggest but
[ec2-user@ip-172-31-3-235 kong]$ sudo yum list kong-community*
Loaded plugins: priorities, update-motd, upgrade-helper
kong-community-edition.noarch 0.12.2-1 @bintray--kong-kong-community-edition-aws
kong-community-edition.noarch 0.13.0rc2-1 bintray--kong-kong-community-edition-aws
[ec2-user@ip-172-31-3-235 kong]$ sudo yum install kong-community-edition-0.12.3.aws.rpm --nogpgcheck
Loaded plugins: priorities, update-motd, upgrade-helper
No package kong-community-edition-0.12.3.aws.rpm available.
Error: Nothing to do
from this, I’m assuming the only package available is the
0.13.0rc2-1 and I can’t upgrade to
0.12.3 using this method
so I would love to give the git suggestion a try, but I just need to know somethings first prior to “screw things up”
[ec2-user@ip-172-31-3-235 local]$ pwd
[ec2-user@ip-172-31-3-235 local]$ ls -l
drwxr-xr-x 2 root root 4096 Feb 28 22:29 bin
drwxr-xr-x 3 root root 4096 Feb 28 22:29 etc
drwxr-xr-x 2 root root 4096 Jan 6 2012 games
drwxr-xr-x 2 root root 4096 Jan 6 2012 include
drwxr-xr-x 10 ec2-user root 4096 Mar 13 10:26 kong
drwxr-xr-x 5 root root 4096 Feb 28 22:29 lib
drwxr-xr-x 4 root root 4096 Jun 23 2017 lib64
drwxr-xr-x 2 root root 4096 Jan 6 2012 libexec
drwxr-xr-x 8 root root 4096 Feb 28 22:29 openresty
drwxr-xr-x 2 root root 4096 Jan 6 2012 sbin
drwxr-xr-x 7 root root 4096 Feb 28 22:29 share
drwxr-xr-x 2 root root 4096 Jan 6 2012 src
I thought in to create a directory and clone the git tag into it… then follow up the steps to compile, configure but I was struggling where should I do this…
Then I realize, that I already had everything pre-installed so why not just update from luarocks?
but another wall:
[ec2-user@ip-172-31-3-235 local]$ luarocks install kong 0.12.3-0
Error: Your user does not have write permissions in /usr/local/lib/luarocks/rocks
-- you may want to run as a privileged user or use your local tree with --local.
[ec2-user@ip-172-31-3-235 local]$ sudo luarocks install kong 0.12.3-0
sudo: luarocks: command not found
should I do this in
/usr/local/kong ? or no matter where it will install/update the correct path?
but I didn’t give up… and screw up the entire system
nahh, just kidding… so I tried to see where
luarocks command come from with
[ec2-user@ip-172-31-3-235 local]$ which luarocks
and run the command:
[ec2-user@ip-172-31-3-235 local]$ sudo /usr/local/bin/luarocks install kong 0.12.3-0
Error: 'git' program not found. Make sure Git is installed and is available in your PATH (or you may want to edit the 'variables.GIT' value in file '/usr/local/etc/luarocks/config-5.1.lua')
err… forgot all about it … fixed with
sudo yum install git
and tried again
[ec2-user@ip-172-31-3-235 k-tmp]$ sudo /usr/local/bin/luarocks install kong 0.12.3-0
Cloning into 'kong'...
remote: Counting objects: 496, done.
remote: Compressing objects: 100% (461/461), done.
remote: Total 496 (delta 76), reused 174 (delta 19), pack-reused 0
Receiving objects: 100% (496/496), 513.24 KiB | 4.71 MiB/s, done.
Resolving deltas: 100% (76/76), done.
Note: checking out 'cf910ab571010b9af58337a9566e5535e7dd7ecc'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:
git checkout -b <new-branch-name>
kong 0.12.3-0 is now installed in /usr/local (license: MIT)
Checking stability of dependencies in the absence of
Removing kong 0.12.2-0...
a simple check:
[ec2-user@ip-172-31-3-235 k-tmp]$ kong version
and I was thrilled !
from the docks, migrations needed to run so I also did it, but kept saying couldn’t access postgress … err, I’m using casandra. Time to create a config file with
sudo cp /etc/kong/kong.conf.default /etc/kong.config and simply changed in the DATASTORE area
#database = postgres
database = cassandra
[ec2-user@ip-172-31-3-235 kong]$ kong migrations up -v
2018/03/15 10:07:25 [verbose] Kong: 0.12.3
2018/03/15 10:07:25 [verbose] reading config file at kong.conf
2018/03/15 10:07:25 [warn] You are using Cassandra but your 'db_update_propagation' setting is set to '0' (default). Due to the distributed nature of Cassandra, you should increase this value.
2018/03/15 10:07:25 [verbose] prefix in use: /usr/local/kong
2018/03/15 10:07:25 [verbose] running datastore migrations
2018/03/15 10:07:25 [verbose] migrations up to date
serves this reply for anyone like me, struggling upgrading Kong on a Linux AMI.