diff --git a/manifests.yml b/manifests.yml index 8f2c3b9..63e64ef 100644 --- a/manifests.yml +++ b/manifests.yml @@ -1,4 +1,4 @@ -- hosts: k8s-cluster +- hosts: kube-master[0] + gather_facts: no roles: - role: k8s-manifests - diff --git a/roles/k8s-manifests/tasks/main.yml b/roles/k8s-manifests/tasks/main.yml index 77ef477..660e059 100644 --- a/roles/k8s-manifests/tasks/main.yml +++ b/roles/k8s-manifests/tasks/main.yml @@ -1,37 +1,5 @@ --- -- name: Kubernetes manifests | Lay down letsencrypt templates - template: - src: "{{ item }}.j2" - dest: "{{ kube_config_dir }}/{{ item }}" - loop: - - letsencrypt-production-issuer.yml - - letsencrypt-staging-issuer.yml - register: manifests - when: inventory_hostname == groups['kube-master'][0] +- include: prerequisites.yml + tags: prerequisites -- name: Kubernetes manifests | Start letsencrypt issuers - kube: - kubectl: "{{ bin_dir }}/kubectl" - filename: "{{ kube_config_dir }}/{{ item.item }}" - state: latest - loop: "{{ manifests.results }}" - when: inventory_hostname == groups['kube-master'][0] - -- name: Kubernetes manifests | Lay down searx templates - template: - src: "{{ item }}.j2" - dest: "{{ kube_config_dir }}/{{ item }}" - loop: - - searx-deployment.yml - - searx-svc.yml - - searx-ingress.yml - register: manifests - when: inventory_hostname == groups['kube-master'][0] - -- name: Kubernetes manifests | Start searx - kube: - kubectl: "{{ bin_dir }}/kubectl" - filename: "{{ kube_config_dir }}/{{ item.item }}" - state: latest - loop: "{{ manifests.results }}" - when: inventory_hostname == groups['kube-master'][0] +- include: searx.yml diff --git a/roles/k8s-manifests/tasks/prerequisites.yml b/roles/k8s-manifests/tasks/prerequisites.yml new file mode 100644 index 0000000..e51c935 --- /dev/null +++ b/roles/k8s-manifests/tasks/prerequisites.yml @@ -0,0 +1,9 @@ +- name: Install pip + package: + name: python3-pip + state: present + +- name: Install openshift python client + pip: + name: openshift + state: present diff --git a/roles/k8s-manifests/tasks/searx.yml b/roles/k8s-manifests/tasks/searx.yml new file mode 100644 index 0000000..ae5dce7 --- /dev/null +++ b/roles/k8s-manifests/tasks/searx.yml @@ -0,0 +1,50 @@ +- name: Searx deployment + k8s: + namespace: default + state: present + definition: + apiVersion: apps/v1 + kind: Deployment + metadata: + name: searx + spec: + replicas: 2 + selector: + matchLabels: + app: searx + template: + metadata: + labels: + app: searx + spec: + containers: + - name: searx + image: wonderfall/searx:latest + imagePullPolicy: IfNotPresent + ports: + - containerPort: 8888 + livenessProbe: + httpGet: + path: / + port: 8888 + readinessProbe: + httpGet: + path: / + port: 8888 + +- name: Searx service + k8s: + namespace: default + state: present + definition: + apiVersion: v1 + kind: Service + metadata: + name: searx + spec: + type: ClusterIP + ports: + - port: 80 + targetPort: 8888 + selector: + app: searx \ No newline at end of file diff --git a/roles/k8s-manifests/templates/searx-deployment.yml.j2 b/roles/k8s-manifests/templates/searx-deployment.yml.j2 deleted file mode 100644 index 8980ee2..0000000 --- a/roles/k8s-manifests/templates/searx-deployment.yml.j2 +++ /dev/null @@ -1,29 +0,0 @@ ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: searx -spec: - replicas: 2 - selector: - matchLabels: - app: searx - template: - metadata: - labels: - app: searx - spec: - containers: - - name: searx - image: wonderfall/searx:latest - imagePullPolicy: IfNotPresent - ports: - - containerPort: 8888 - livenessProbe: - httpGet: - path: / - port: 8888 - readinessProbe: - httpGet: - path: / - port: 8888 diff --git a/roles/k8s-manifests/templates/searx-svc.yml.j2 b/roles/k8s-manifests/templates/searx-svc.yml.j2 deleted file mode 100644 index 41ddbae..0000000 --- a/roles/k8s-manifests/templates/searx-svc.yml.j2 +++ /dev/null @@ -1,12 +0,0 @@ ---- -apiVersion: v1 -kind: Service -metadata: - name: searx -spec: - type: ClusterIP - ports: - - port: 80 - targetPort: 8888 - selector: - app: searx