Skip to content
This repository has been archived by the owner on Aug 7, 2024. It is now read-only.

Releases: ocadotechnology/aimmo

0.3.0.b2965: Docker for local mode (#875)

31 Oct 13:57
Compare
Choose a tag to compare
* Reduce image sizes for docker images

* bump version

* Merge branch 'development' into docker_for_local_mode

# Conflicts:
#	version.txt

* working docker in local mode!

* expose external port to aimmo-game

* detach aimmo-game-worker running from aimmo-game process

* delete previously running containers before creating new ones

* make docker container naming consistent with k8s

* make docker host os agnostic

* remove unnecessary log statement

* only re install deps if they have changed

* change hosts

* add Portainer instructions to usage, and small intro paragraph

* try to get host.docker.internal working on both linux and mac

* Merge branch 'docker_for_local_mode' of https://github.com/ocadotechnology/aimmo into docker_for_local_mode

* get port from env variable

* os dependent host

* use a template for container kwargs

* pass CONTAINER_TEMPLATE into worker

* provide default for LOCALHOST_IP

* provide defaults for environment variables to do with docker

* fix tests by mocking docker

* Adding docker install to travis to try and fix tests.

* Remove logs and adjust blank lines.

* Added settings to make Docker for local work for Ubuntu machines.

* Merge branch 'development' into docker_for_local_mode

* Remove extra whitespaces

* Merge branch 'docker_for_local_mode' of https://github.com/ocadotechnology/aimmo into docker_for_local_mode

* Merge branch 'development' of https://github.com/ocadotechnology/aimmo into docker_for_local_mode

* Bumped up version by minor change.

* Move docker logic into a separate file

Since docker setup is not related to minikube anymore

* inject env variables for aimmo-game

* Merge branch 'development' into docker_for_local_mode

# Conflicts:
#	version.txt

* remove newline in version file

* remove docker entrypoint scripts

* change experimental settings back to original values

* add time.sleep back to run script

* Code review changes

* Docstring changes and delete stopped aimmo containers as well

* change port setting back to original value

* fix docker version

* add missing quote

* Don’t fix versions in Pipfile as they are in the Pipfile.lock

* Update aimmo-game/Pipfile.lock

* Conform to pep8

* remove bash and curl from dockerfile

* Merge branch 'development' into docker_for_local_mode

# Conflicts:
#	aimmo-game/Pipfile
#	aimmo-game/Pipfile.lock
#	aimmo-game/service.py
#	version.txt

0.2.5.b2961: Create prometheus operator (#872)

31 Oct 13:34
a58bb6e
Compare
Choose a tag to compare
* Begun creation of prometheus deployment

Created the role and namespace that the prometheus operator will sit in, need to do more research on the structure of these things to get setup prometheus within kubernetes.

* created prometheus deployment

we have a prometheus deployment that monitors the cluster, and can be queried for information on things like pod cpu usage

* Merge branch 'development' into create_metrics

* Fixing prometheus client not importing

* Need to solution to beginning exposing new metrics

* Added prometheus example and set up kubernetes deployment yamls

* Created prometheus operator and custom resources

After further investigation i found that what i need to be using is a prometheus operator (this is a deployment), see link here: https://github.com/coreos/prometheus-operator. This operator watches the service monitors created via a prometheus deployment (both are custom resource definitions) and passes them on to the prometheus server (which was deployed by the operator). 

Prometheus functions within kubernetes by scraping from http endpoints (services), defined by various config maps, applying rules to the scraped data, which can then be passed to a web UI such as Grafana or the prometheus query manager.

* bump version to 0.2.3

* Merge branch 'development' into create_prometheus_operator

* rebump version

* removed comment

* removed unused imports

* remove used imports

* removed broken line

* Merge branch 'development' into create_prometheus_operator

* bump version to 0.2.5

0.2.4.b2923

30 Oct 11:29
2dd93b0
Compare
Choose a tag to compare
0.2.4.b2923 Pre-release
Pre-release
Adding game name to avatar display admin list (#877)

0.2.3.b2911: added PR template (issue templates existed already). (#830)

29 Oct 17:04
56026b4
Compare
Choose a tag to compare
* added PR template (issue templates existed already).

* Minor changes

* added a version checkbox to the checklist in the PR template

* minor changes

* Merge branch 'development' into add_git_templates

* Bumb version number

* Merge branch 'development' into add_git_templates

* Merge branch 'development' into add_git_templates

* bump version to 0.2.3

* grammar fixes

0.2.2.b2885: Fix 804, encoding user code (#818)

24 Oct 13:04
Compare
Choose a tag to compare
* Fix #804 encoding issue

* Minor refactoring of boolean should_send_logs logic


Negate bool

* Change incorrect boolean logic

* Update minikube status check (#846)

* Update logic to check whether minikube is already running.

* Updated except to check for CalledProcessError.

* Merge branch 'master' into minikube-run-start

0.2.2: Merge development into master (#862)

17 Oct 15:57
d78e5d2
Compare
Choose a tag to compare
* trying to find where the avatar admin display is breaking (#851)

* trying to find where it's breaking

* restart codeclimate - blank commit

* Setup Versioning (#849)

* test version 0.1.0

* Merge branch 'master' into versions

* try wihtout multiple deployment provider setup

* Remove if

* add job name to deploy stage

* Github versioning with releases

* Merge branch 'master' into versions

* test deploy step

* remove file option

* Make sure travis releases are prereleases

* Test deploy to PyPi

* specify branch for PyPi

* again

* only run deploy step once

* Merge branch 'master' into versions

* Merge branch 'development' into versions

* test release stage

* replace before_deploy with script

* remove extra indentation

* close second if statement

* Make bash script more resilient

* fix bash script syntax error

* Try using export

(commentted out python tests to make travis build faster for testing)

* Comment out job name

* comment out the whole test job

* move tag script into it’s own file

* test duplicate providers with different branch conditions

* test PyPi deploy with tags: true

* try bash script condition for PyPi

* fix bash script error

* Test deploy on tags

* try seeing if setting Travis tag gives use the corrent pypi number

* fix bash export statement

* push git tag before release

* Target correct commit on github releases

* bump up version number

* get ready for PR, switch branch from versions to development

* Update contributing guidelines

* Update versioning pipeline details

* Merge development into versions

* C-001 solution (#848)

* get docker for mac working

change ingresses namespace

change get_game_url_base_path

use docker for desktop ip

* begun creation of roles

* C-001 fixed

Attempted to replicate the security flaw C-001 as per the test report after implementing RBAC. The console shows a 503 upon attempting to replicate the issue, the user's consoles shows a 111 (connection refused). This leads to the conclusion the the issue has been resolved, however further testing may be needed.

* Moved role/account yamls to their own folder

Put them all in an rbac folder to keep the in one easy to find place

* Added a comment to describe the process

added a string to describe how to set up docker-desktop with extensions, and make use of RBAC. These steps may need to be automated, or included in the setup process. Minor issues still exist however.

* added reference to source of information

just so other's can find it easily if needed.

* Update worker account

* updated game_creator_role and minor changes

moved the game creator to the nginx namespace and updated it's role to reflect this, the ClusterRoleBinding gives the permissions of the game creator's permissions scope of the whole cluster (hence why it was moved out of reach of the worker pods, just incase there is a way for workers to gain access outside of their pod)

* Fixed game creator rc yaml not applying role binding

* change role binding namespace

* updated version

* Delete nginx-ingress folder

* Revert "get docker for mac working"

This reverts commit 017620a59842adca44dca4ad1f999e1cae07d93f.

# Conflicts:
#	aimmo_runner/minikube.py

* Automate applying the accounts and roles

* fix travis build fail attempt

* Testing build fail

* More travis build tests

* travis build fix attempt++

* Update travis kubernetes version

* change kubernetes to ealier patch version

Kubernetes needs to be version 1.9.4 not 1.9.6

* Tests

* various changes

* Merge branch 'development' into c-001

* Resolve merge conflicts

* Merge remote-tracking branch 'origin/c-001' into c-001

* Fix issues created from merge conflicts

* Replacing versioner in setup.py

* minor change

* change to restart code climate

* pep8

* Docker for local mode (#859)

* Reduce image sizes for docker images

* bump version

* Stop turn slowdown (#857)

* Identified a potential point of slowdown

Turn processing is already done concurrently, but data fetching for all the workers was not, so i have changed this in the hopes it will speed up turn times and the number of users increases.

* Rethinking approach

difficult to implement concurrent solution to the code in question, rethinking approach.

* Added comments to where things need changing

added a couple of comments to explain what need's to be done in various places that i've identified that could slow down turns.

* Turn times had been sped up

Solution has been to create a timed process populated with daemon threads, this forces the main source of the slowdown into a 2 second window. However this has highlighted a big issue, the requests take more than 2 seconds a significant proportion of the time and as a result many actions become wait actions, also there needs to be a degree of garbage collection to prevent the creation of a potentially server ending amount of processes

* Cleanup

game runs turns at consistent 3 seconds locally even with 10 people, which in the past seem to cause the game to crash. Avatars seem to be able to respond in the 2 second limit, however we may want to increase this duration to make it more reliable.

* Merge branch 'development' into stop_turn_slowdown

* update version

* Minor changes

* Grammar changes

* reviewable changes

* Bump version number

* Reviewable changes++

* Merge branch 'development' into stop_turn_slowdown

* pep8

* Merge remote-tracking branch 'origin/stop_turn_slowdown' into stop_turn_slowdown

* Merge master into development (#861)

* Update minikube status check (#846)

* Update logic to check whether minikube is already running.

* Updated except to check for CalledProcessError.

* Merge branch 'master' into minikube-run-start

* Merge branch 'master' into development

0.2.2.b2868: Merge master into development (#861)

17 Oct 15:21
Compare
Choose a tag to compare
* Update minikube status check (#846)

* Update logic to check whether minikube is already running.

* Updated except to check for CalledProcessError.

* Merge branch 'master' into minikube-run-start

* Merge branch 'master' into development

0.2.2.b2864: Stop turn slowdown (#857)

17 Oct 11:06
9ec7a3a
Compare
Choose a tag to compare
Pre-release
* Identified a potential point of slowdown

Turn processing is already done concurrently, but data fetching for all the workers was not, so i have changed this in the hopes it will speed up turn times and the number of users increases.

* Rethinking approach

difficult to implement concurrent solution to the code in question, rethinking approach.

* Added comments to where things need changing

added a couple of comments to explain what need's to be done in various places that i've identified that could slow down turns.

* Turn times had been sped up

Solution has been to create a timed process populated with daemon threads, this forces the main source of the slowdown into a 2 second window. However this has highlighted a big issue, the requests take more than 2 seconds a significant proportion of the time and as a result many actions become wait actions, also there needs to be a degree of garbage collection to prevent the creation of a potentially server ending amount of processes

* Cleanup

game runs turns at consistent 3 seconds locally even with 10 people, which in the past seem to cause the game to crash. Avatars seem to be able to respond in the 2 second limit, however we may want to increase this duration to make it more reliable.

* Merge branch 'development' into stop_turn_slowdown

* update version

* Minor changes

* Grammar changes

* reviewable changes

* Bump version number

* Reviewable changes++

* Merge branch 'development' into stop_turn_slowdown

* pep8

* Merge remote-tracking branch 'origin/stop_turn_slowdown' into stop_turn_slowdown

0.2.1.b2856: Docker for local mode (#859)

16 Oct 16:10
6488e91
Compare
Choose a tag to compare
* Reduce image sizes for docker images

* bump version

0.2.0.b2836: C-001 solution (#848)

15 Oct 09:14
726f7dd
Compare
Choose a tag to compare
Pre-release
* get docker for mac working

change ingresses namespace

change get_game_url_base_path

use docker for desktop ip

* begun creation of roles

* C-001 fixed

Attempted to replicate the security flaw C-001 as per the test report after implementing RBAC. The console shows a 503 upon attempting to replicate the issue, the user's consoles shows a 111 (connection refused). This leads to the conclusion the the issue has been resolved, however further testing may be needed.

* Moved role/account yamls to their own folder

Put them all in an rbac folder to keep the in one easy to find place

* Added a comment to describe the process

added a string to describe how to set up docker-desktop with extensions, and make use of RBAC. These steps may need to be automated, or included in the setup process. Minor issues still exist however.

* added reference to source of information

just so other's can find it easily if needed.

* Update worker account

* updated game_creator_role and minor changes

moved the game creator to the nginx namespace and updated it's role to reflect this, the ClusterRoleBinding gives the permissions of the game creator's permissions scope of the whole cluster (hence why it was moved out of reach of the worker pods, just incase there is a way for workers to gain access outside of their pod)

* Fixed game creator rc yaml not applying role binding

* change role binding namespace

* updated version

* Delete nginx-ingress folder

* Revert "get docker for mac working"

This reverts commit 017620a59842adca44dca4ad1f999e1cae07d93f.

# Conflicts:
#	aimmo_runner/minikube.py

* Automate applying the accounts and roles

* fix travis build fail attempt

* Testing build fail

* More travis build tests

* travis build fix attempt++

* Update travis kubernetes version

* change kubernetes to ealier patch version

Kubernetes needs to be version 1.9.4 not 1.9.6

* Tests

* various changes

* Merge branch 'development' into c-001

* Resolve merge conflicts

* Merge remote-tracking branch 'origin/c-001' into c-001

* Fix issues created from merge conflicts

* Replacing versioner in setup.py

* minor change

* change to restart code climate

* pep8