Commit 94760a1d authored by Sergio Gimenez's avatar Sergio Gimenez
Browse files

Add homer and FM

parent 55ec9aea
Loading
Loading
Loading
Loading
+49 −28
Original line number Diff line number Diff line
# Operator Platform Automation

This repository contains the automation for deploying the Operator Platform.

## Documentation

Full documentation is available in the `docs/` directory and can be viewed in https://op-automation-b0b7e6.pages.i2cat.net

### Running Documentation Locally

1.  Create and activate the documentation virtual environment:
    ```bash
    python3 -m venv docs/.venv
    source docs/.venv/bin/activate
    ```

2.  Install dependencies:
    ```bash
    pip install -r docs/requirements.txt
    ```

3.  Serve the documentation:
    ```bash
    mkdocs serve
    ```

4.  Open http://127.0.0.1:8000 in your browser.
ansible==13.0.0
ansible-compat==25.12.0
ansible-core==2.20.0
ansible-lint==25.12.1
attrs==25.4.0
black==25.12.0
bracex==2.6
cachetools==6.2.2
certifi==2025.11.12
cffi==2.0.0
charset-normalizer==3.4.4
click==8.3.1
cryptography==46.0.3
distro==1.9.0
docker==7.1.0
durationpy==0.10
filelock==3.20.1
google-auth==2.43.0
idna==3.11
Jinja2==3.1.6
jsonschema==4.25.1
jsonschema-specifications==2025.9.1
kubernetes==34.1.0
MarkupSafe==3.0.3
mypy_extensions==1.1.0
oauthlib==3.3.1
packaging==25.0
pathspec==0.12.1
platformdirs==4.5.1
pyasn1==0.6.1
pyasn1_modules==0.4.2
pycparser==2.23
python-dateutil==2.9.0.post0
pytokens==0.3.0
PyYAML==6.0.3
referencing==0.37.0
requests==2.32.5
requests-oauthlib==2.0.0
resolvelib==1.2.1
rpds-py==0.30.0
rsa==4.9.1
ruamel.yaml==0.18.16
ruamel.yaml.clib==0.2.15
six==1.17.0
subprocess-tee==0.4.2
urllib3==2.3.0
wcmatch==10.1
websocket-client==1.9.0
yamllint==1.37.1
+7 −2
Original line number Diff line number Diff line
@@ -39,8 +39,13 @@ nodes:
        listenAddress: "0.0.0.0"
        protocol: TCP
      # Federation Manager
      - containerPort: 30081
        hostPort: 30081
      - containerPort: 30989
        hostPort: 30989
        listenAddress: "0.0.0.0"
        protocol: TCP
      # Homer Dashboard
      - containerPort: 30088
        hostPort: 30088
        listenAddress: "0.0.0.0"
        protocol: TCP
  - role: worker
+7 −1
Original line number Diff line number Diff line
@@ -27,8 +27,9 @@ harbor_http_nodeport: 30002
harbor_https_nodeport: 30003
i2edge_nodeport: 30769
artefact_manager_nodeport: 30080
federation_manager_nodeport: 30081
federation_manager_nodeport: 30989
keycloak_nodeport: 30082
homer_nodeport: 30088
mongodb_nodeport: 30017

# Port mappings - using parameterized NodePorts to avoid duplication
@@ -88,6 +89,11 @@ port_mappings:
    host_port: "{{ mongodb_nodeport }}"
    listen_address: "{{ api_server_address }}"
    protocol: TCP
  - name: "Homer Dashboard"
    container_port: "{{ homer_nodeport }}"
    host_port: "{{ homer_nodeport }}"
    listen_address: "{{ api_server_address }}"
    protocol: TCP

# Cluster nodes configuration
control_plane_nodes: 1
+21 −0
Original line number Diff line number Diff line
---
# Playbook: Deploy Homer Dashboard
# Description: Deploys Homer Dashboard to the Kind cluster
# Usage: ansible-playbook playbooks/05-deploy-homer.yml

- name: Deploy Homer Dashboard to Kind Cluster
  hosts: kind_cluster
  gather_facts: true

  pre_tasks:
    - name: Load group variables
      ansible.builtin.include_vars:
        file: "{{ playbook_dir }}/../group_vars/all.yml"

    - name: Update kubeconfig path for remote deployment
      ansible.builtin.set_fact:
        kubeconfig_output_dir: "/home/{{ ansible_user }}/kind-cluster-config"
      when: deployment_mode is defined and deployment_mode == 'remote'

  roles:
    - homer
+49 −2
Original line number Diff line number Diff line
kubernetes>=28.0.0
PyYAML>=6.0
ansible==13.0.0
ansible-compat==25.12.0
ansible-core==2.20.0
ansible-lint==25.12.1
attrs==25.4.0
black==25.12.0
bracex==2.6
cachetools==6.2.2
certifi==2025.11.12
cffi==2.0.0
charset-normalizer==3.4.4
click==8.3.1
cryptography==46.0.3
distro==1.9.0
docker==7.1.0
durationpy==0.10
filelock==3.20.1
google-auth==2.43.0
idna==3.11
Jinja2==3.1.6
jsonschema==4.25.1
jsonschema-specifications==2025.9.1
kubernetes==34.1.0
MarkupSafe==3.0.3
mypy_extensions==1.1.0
oauthlib==3.3.1
packaging==25.0
pathspec==0.12.1
platformdirs==4.5.1
pyasn1==0.6.1
pyasn1_modules==0.4.2
pycparser==2.23
python-dateutil==2.9.0.post0
pytokens==0.3.0
PyYAML==6.0.3
referencing==0.37.0
requests==2.32.5
requests-oauthlib==2.0.0
resolvelib==1.2.1
rpds-py==0.30.0
rsa==4.9.1
ruamel.yaml==0.18.16
ruamel.yaml.clib==0.2.15
six==1.17.0
subprocess-tee==0.4.2
urllib3==2.3.0
wcmatch==10.1
websocket-client==1.9.0
yamllint==1.37.1
Loading