Ingress Nginx Integration
[infra/stack/kubernetes.git] / playbooks / roles / ingress / tasks / install-ingress.yml
diff --git a/playbooks/roles/ingress/tasks/install-ingress.yml b/playbooks/roles/ingress/tasks/install-ingress.yml
new file mode 100644 (file)
index 0000000..ac1565d
--- /dev/null
@@ -0,0 +1,49 @@
+---
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 The Nordix Foundation. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+
+- name: Load execution mode variables
+  include_vars: "{{ execution_mode }}.yaml"
+
+- name: Apply nginx ingress manifest
+  k8s:
+    resource_definition: "{{ lookup('template', 'ingress-nginx.yml.j2') }}"
+
+- name: Install nginx pkg
+  package:
+    name: nginx
+    state: present
+  become: true
+
+- name: Remove nginx default site
+  file:
+    path: /etc/nginx/sites-enabled/default
+    state: absent
+  become: true
+
+- name: Ingress site config
+  template:
+    src: ingress-site.yml.j2
+    dest: /etc/nginx/sites-enabled/ingress
+  become: true
+
+- name: Reload nginx service
+  service:
+    name: nginx
+    state: reloaded
+  become: true