3
3
[ ![ Data Manager: Application] ( https://img.shields.io/badge/data%20manager-application-000000?labelColor=dc332e )] ( )
4
4
[ ![ Dev Stage: 1] ( https://img.shields.io/badge/dev%20stage-★☆☆%20%281%29-000000?labelColor=dc332e )] ( https://github.com/InformaticsMatters/code-repository-development-stages )
5
5
6
+ ![ Architecture] ( https://img.shields.io/badge/architecture-amd64%20%7C%20arm64-lightgrey )
7
+
6
8
[ ![ build] ( https://github.com/informaticsmatters/data-manager-jupyter-operator/actions/workflows/build.yaml/badge.svg )] ( https://github.com/informaticsmatters/data-manager-jupyter-operator/actions/workflows/build.yaml )
7
9
[ ![ build latest] ( https://github.com/informaticsmatters/data-manager-jupyter-operator/actions/workflows/build-latest.yaml/badge.svg )] ( https://github.com/informaticsmatters/data-manager-jupyter-operator/actions/workflows/build-latest.yaml )
8
10
[ ![ build tag] ( https://github.com/informaticsmatters/data-manager-jupyter-operator/actions/workflows/build-tag.yaml/badge.svg )] ( https://github.com/informaticsmatters/data-manager-jupyter-operator/actions/workflows/build-tag.yaml )
@@ -59,40 +61,41 @@ current health of your clone with: -
59
61
The operator container, residing in the ` operator ` directory,
60
62
is automatically built and pushed to Docker Hub using GitHub Actions.
61
63
62
- You can build the image yourself using docker-compose.
63
- The following will build an operator image with the tag ` 19.0 .0-alpha.1 ` : -
64
+ You can build and push the image yourself using docker-compose.
65
+ The following will build an operator image with the tag ` 19.2 .0-alpha.1 ` : -
64
66
65
- $ export IMAGE_TAG=19.0.0-alpha.1
66
- $ docker-compose build
67
+ export IMAGE_TAG=19.2.0-alpha.1
68
+ docker-compose build
69
+ dcoker-compose push
67
70
68
71
## Deploying into the Data Manager API
69
72
We use [ Ansible] 3 and community modules in [ Ansible Galaxy] as the deployment
70
73
mechanism, using the ` operator ` Ansible role in this repository and a
71
74
Kubernetes config (KUBECONFIG). All of this is done via a suitable Python
72
75
environment using the requirements in the root of the project...
73
76
74
- $ python -m venv ~/. venv/data-manager-jupyter-operator
75
- $ source ~/. venv/data-manager-jupyter-operator /bin/activate
76
- $ pip install --upgrade pip
77
- $ pip install -r requirements.txt
78
- $ ansible-galaxy install -r requirements.yaml
77
+ python -m venv venv
78
+ source venv/bin/activate
79
+ pip install --upgrade pip
80
+ pip install -r requirements.txt
81
+ ansible-galaxy install -r requirements.yaml
79
82
80
83
Set your KUBECONFIG for the cluster and verify its right: -
81
84
82
- $ export KUBECONFIG=~/k8s-config/local-config
83
- $ kubectl get no
85
+ export KUBECONFIG=~/k8s-config/local-config
86
+ kubectl get no
84
87
[...]
85
88
86
89
Now, create a parameter file (i.e. ` parameters.yaml ` ) based on the project's
87
90
` example-parameters.yaml ` , setting values for the operator that match your
88
91
needs. Then deploy, using Ansible, from the root of the project: -
89
92
90
- $ export PARAMS=parameters
91
- $ ansible-playbook -e @${PARAMS}.yaml site.yaml
93
+ export PARAMS=parameters
94
+ ansible-playbook -e @${PARAMS}.yaml site.yaml
92
95
93
96
To remove the operator (assuming there are no operator-derived instances)...
94
97
95
- $ ansible-playbook -e @${PARAMS}.yaml -e jo_state=absent site.yaml
98
+ ansible-playbook -e @${PARAMS}.yaml -e jo_state=absent site.yaml
96
99
97
100
> The current Data Manager API assumes that once an Application (operator)
98
101
has been installed it is not removed. So, removing the operator here
@@ -105,9 +108,9 @@ are held in this repository.
105
108
106
109
To deploy: -
107
110
108
- $ export KUBECONFIG=~/k8s-config/config-aws-im-main-eks
109
- $ export PARAMS=staging
110
- $ ansible-playbook -e @${PARAMS}-parameters.yaml site.yaml
111
+ export KUBECONFIG=~/k8s-config/config-aws-im-main-eks
112
+ export PARAMS=staging
113
+ ansible-playbook -e @${PARAMS}-parameters.yaml site.yaml
111
114
112
115
> You will need the vault password, held in the company's KeePass under
113
116
`data-manager-jupyter-operator -> Ansible Vault Password`
@@ -162,7 +165,7 @@ Data Manager's **Namespace**.
162
165
Typical ** Role** and ** RoleBinding** definitions are provided in this
163
166
repository. Once you define yours you'll just need to create them: -
164
167
165
- $ kubectl create -f data-manager-rbac.yaml
168
+ kubectl create -f data-manager-rbac.yaml
166
169
167
170
With this done the application should be visible through the Data Manager API's
168
171
** /application** REST endpoint.
0 commit comments