Commit e057d729 authored by Sergio Gimenez's avatar Sergio Gimenez
Browse files

Add artefact manager

parent ca8fb6db
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -3,7 +3,7 @@ inventory = inventory/hosts.yml
roles_path = roles
collections_paths = ~/.ansible/collections:/usr/share/ansible/collections
host_key_checking = False
stdout_callback = yaml
# stdout_callback = yaml
interpreter_python = auto_silent
retry_files_enabled = False
gathering = smart
+5 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ alertmanager_nodeport: 30092
harbor_http_nodeport: 30002
harbor_https_nodeport: 30003
i2edge_nodeport: 30769
artefact_manager_nodeport: 30080

# Port mappings - using parameterized NodePorts to avoid duplication
port_mappings:
@@ -57,6 +58,10 @@ port_mappings:
    host_port: "{{ i2edge_nodeport }}"
    listen_address: "{{ api_server_address }}"
    protocol: TCP
  - container_port: "{{ artefact_manager_nodeport }}"
    host_port: "{{ artefact_manager_nodeport }}"
    listen_address: "{{ api_server_address }}"
    protocol: TCP

# Cluster nodes configuration
control_plane_nodes: 1
+11 −0
Original line number Diff line number Diff line
---
# Playbook: Deploy Artefact Manager
# Description: Deploys Artefact Manager to the Kind cluster
# Usage: ansible-playbook playbooks/03-deploy-artefact-manager.yml

- name: Deploy Artefact Manager to Kind Cluster
  hosts: kind_cluster
  gather_facts: true

  roles:
    - role: artefact-manager
+7 −0
Original line number Diff line number Diff line
---
artefact_manager_image: "ghcr.io/sunriseopenoperatorplatform/artefactmanager"
artefact_manager_tag: "0.5"
artefact_manager_namespace: "artefact-manager"
artefact_manager_replicas: 1
artefact_manager_container_port: 8000
artefact_manager_nodeport: 30080
+42 −0
Original line number Diff line number Diff line
---
- name: Pull Artefact Manager Docker image
  ansible.builtin.command: "docker pull {{ artefact_manager_image }}:{{ artefact_manager_tag }}"
  register: docker_pull
  changed_when: "'Downloaded newer image' in docker_pull.stdout"

- name: Load Artefact Manager image into Kind cluster
  ansible.builtin.command: "kind load docker-image {{ artefact_manager_image }}:{{ artefact_manager_tag }} --name {{ kind_cluster_name }}"
  register: kind_load
  changed_when: "'Image loaded' in kind_load.stdout"

- name: Create Artefact Manager namespace
  ansible.builtin.command: "kubectl create namespace {{ artefact_manager_namespace }} --dry-run=client -o yaml"
  register: ns_manifest
  environment:
    KUBECONFIG: "{{ kubeconfig_output_dir }}/{{ kubeconfig_filename }}"

- name: Apply Artefact Manager namespace
  ansible.builtin.command: "kubectl apply -f -"
  args:
    stdin: "{{ ns_manifest.stdout }}"
  changed_when: "'created' in ns_manifest.stdout"
  environment:
    KUBECONFIG: "{{ kubeconfig_output_dir }}/{{ kubeconfig_filename }}"

- name: Generate Artefact Manager manifest
  ansible.builtin.template:
    src: artefact-manager.yaml.j2
    dest: "/tmp/artefact-manager.yaml"

- name: Apply Artefact Manager manifest
  ansible.builtin.command: "kubectl apply -f /tmp/artefact-manager.yaml"
  register: apply_manifest
  changed_when: "'created' in apply_manifest.stdout or 'configured' in apply_manifest.stdout"
  environment:
    KUBECONFIG: "{{ kubeconfig_output_dir }}/{{ kubeconfig_filename }}"

- name: Wait for Artefact Manager to be ready
  ansible.builtin.command: "kubectl wait --namespace {{ artefact_manager_namespace }} --for=condition=ready pod --selector=app=artefact-manager --timeout=300s"
  changed_when: false
  environment:
    KUBECONFIG: "{{ kubeconfig_output_dir }}/{{ kubeconfig_filename }}"
Loading