Open Apiary is a web application that helps you manage your apiaries and bee hives. It’s built with ease and simplicity in mind, allowing you to access your hive records from anywhere with an internet connection.
The Open Apiary charm deploys Open Apiary on top of Kubernetes:
juju deploy --channel=beta \ --resource open-apiary-image=registry.gitlab.com/mrsimonemms/open-apiary:1.1.1 \ open-apiary
By default Open Apiary will use a sqlite DB which is specific to each unit of the deployed application so typically deployments will want to make use of a persistent database such as MySQL for data storage:
juju deploy charmed-osm-mariadb-k8s mysql juju add-relation mysql open-apiary
Use of MySQL then allows the number of units of Open Apiary to be scaled out horizontally providing both resilience and capacity:
juju scale-application open-apiary 3
To enable external access to Open Apiary an ingress controller needs to be configure to provide load balancing across units of the application:
juju deploy nginx-ingress-integrator ingress juju add-relation ingress open-apiary
The example above assumes an NGINX based ingress controller is available on the Kubernetes deployment. How ingress is configured will be somewhat container engine specific on public Kubernetes service such as GKE.
Open Apiary uses OpenWeather API to get weather data and is used to pre-populate the weather data for new inspections.
To get a token, please visit the registration page for OpenWeather. The Free Tier is perfectly acceptable for Open Apiary - the application only uses the current weather API and caches calls for 10 minutes avoiding any problems with rate-limiting.
You can then provide your API key using the weather-api-token configuration option:
juju config open-apiary weather-api-token=mytoken