portainer
TODO
- Service account creation
- Fixed image to ee 2.7.0 (needs to be done when publishing)
- Simple upgrade
- Fill up readme
- Validate config
- Tests
- Code cleanups
Description
Portainer EE is a lightweight ‘universal’ management GUI that can be used to easily manage Docker, Swarm, Kubernetes and ACI environments. It is designed to be as simple to deploy as it is to use.
Portainer consists of a single container that can run on any cluster. It can be deployed as a Linux container or a Windows native container.
Portainer allows you to manage all your orchestrator resources (containers, images, volumes, networks and more) through a super-simple graphical interface.
This fully supported version of Portainer is available for business use. Visit http://www.portainer.io to learn more.
Usage
Create a Model for Portainer
juju add-model portainer
Deploy with Storage (Existing PV)
juju deploy portainer --trust --storage data={your storage-pool},100M,1
Trust Portainer to have Cluster Access
juju trust portainer --scope=cluster
Config with Load Balancer (Default)
juju config portainer service_type=LoadBalancer service_http_port=9000 service_edge_port=8000
Config with ClusterIP
juju config portainer service_type=ClusterIP service_http_port=9000 service_edge_port=8000
Config with Node Port
juju config portainer service_type=NodePort service_http_port=9000 service_edge_port=8000 service_http_node_port=30777 service_edge_node_port=30776
Relate with Ingress
juju config portainer service_type=ClusterIP service_http_port=9000 service_edge_port=8000 juju deploy nginx-ingress-integrator ingress juju config ingress service-name=portainer service-port=9000
Developing
Create and activate a virtualenv with the development requirements:
virtualenv -p python3 venv
source venv/bin/activate
pip install -r requirements-dev.txt
Pack with Charmcraft:
charmcraft pack
Testing
The Python operator framework includes a very nice harness for testing
operator behaviour without full deployment. Just run_tests
:
./run_tests