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

Final polishing

parent 2bf39555
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -39,3 +39,7 @@ Thumbs.db

# CI/CD
.gitlab-ci-local/

# MkDocs build output
public/
site/
+0 −51
Original line number Diff line number Diff line
# Artefact Manager

The Artefact Manager is a service responsible for managing artefacts (Helm charts, container images) and supporting operations such as retrieval and transfer between registries.

## Overview

- **Repository**: [sergio-gimenez/artefact-manager](https://github.com/sergio-gimenez/artefact-manager)
- **Docker Image**: `ghcr.io/sunriseopenoperatorplatform/artefactmanager:0.5`
- **Service Type**: NodePort
- **Port**: 30080 (mapped to container port 8000)

## Deployment

The Artefact Manager is deployed as part of the automation suite using Ansible.

### Playbook

The deployment is handled by the `03-deploy-artefact-manager.yml` playbook.

```bash
ansible-playbook playbooks/03-deploy-artefact-manager.yml
```

### Configuration

The deployment is configured via the `artefact-manager` role. Key variables in `ansible/roles/artefact-manager/defaults/main.yml` and `ansible/group_vars/all.yml`:

| Variable | Default | Description |
|----------|---------|-------------|
| `artefact_manager_image` | `ghcr.io/sunriseopenoperatorplatform/artefactmanager` | Docker image repository |
| `artefact_manager_tag` | `0.5` | Image tag |
| `artefact_manager_nodeport` | `30080` | NodePort for external access |
| `artefact_manager_replicas` | `1` | Number of replicas |

## Accessing the Service

Once deployed, the service is accessible at:

- **Base URL**: `http://<host_ip>:30080`
- **Swagger UI**: `http://<host_ip>:30080/docs`
- **OpenAPI JSON**: `http://<host_ip>:30080/openapi.json`

## API Usage

The Artefact Manager provides a REST API for managing artefacts. You can explore the full API definition using the Swagger UI.

### Example: Check API Status

```bash
curl http://<host_ip>:30080/openapi.json
```
+2 −2
Original line number Diff line number Diff line
@@ -286,8 +286,8 @@ kubectl top pods -A
## Related Documentation

- [Existing Cluster Deployment](existing-cluster.md)
- [Managing Secrets](../how-to/manage-secrets.md)
- [Architecture Overview](../reference/architecture.md)
- [Single OOP Deployment](single-oop.md)
- [Dual OOP Deployment](dual-oop.md)

---

+7 −15
Original line number Diff line number Diff line
@@ -11,7 +11,7 @@ The Single OOP deployment is the most common and straightforward scenario. It cr

- A Kubernetes cluster using Kind (Kubernetes in Docker)
- All necessary infrastructure components (Prometheus, Node Feature Discovery)
- Core Operator Platform services (Harbor, Federation Manager, Artefact Manager)
- Core Operator Platform services (Zot, Federation Manager, Artefact Manager)
- Edge cloud platform (Lite2Edge)
- Unified dashboard for easy access (Homer)

@@ -99,7 +99,7 @@ The playbook will show progress through several stages:

1. **Setup** - Installing prerequisites (Python, Docker, kubectl)
2. **Infrastructure** - Creating Kind cluster, installing NFD, Prometheus
3. **Services** - Deploying Harbor, Artefact Manager, Federation Managers
3. **Services** - Deploying Zot, Artefact Manager, Federation Managers
4. **Edge Platform** - Installing Lite2Edge
5. **Dashboard** - Deploying Homer dashboard

@@ -112,7 +112,7 @@ Typical deployment time: **5-8 minutes**
| **Kind Cluster** | Kubernetes cluster | `kubectl` with generated kubeconfig |
| **Prometheus** | Metrics collection | `http://YOUR_IP:30090` |
| **Grafana** | Metrics visualization | `http://YOUR_IP:30091` |
| **Harbor** | Container registry | `http://YOUR_IP:30002` |
| **Zot** | Container registry | `http://YOUR_IP:30050` |
| **Artefact Manager** | NF lifecycle management | `http://YOUR_IP:30080` |
| **Federation Manager** | Orchestration | `http://YOUR_IP:30989` |
| **Remote Federation Manager** | Secondary FM (simulates remote OP) | `http://YOUR_IP:30990` |
@@ -131,9 +131,9 @@ The dashboard provides one-click access to all deployed services.

### Default Credentials

**Harbor:**
- Username: `admin`
- Password: `Harbor12345` (or custom if set in secrets.yml)
**Zot:**
- No authentication required by default
- Can be configured in `ansible/inventory/group_vars/all/zot.yml`

**Grafana:**
- Username: `admin`
@@ -243,14 +243,6 @@ This will:

## Next Steps

- **[Customize your deployment](../how-to/manage-secrets.md)** - Add secrets, customize settings
- **[Deploy a second OOP](dual-oop.md)** - Test federation scenarios
- **[Explore components](../components/artefact-manager.md)** - Deep dive into platform services
- **[Production considerations](production-ready.md)** - Prepare for production use

## Related Documentation

- [Quick Start Tutorial](../tutorials/01-quick-start.md) - Simpler quick start guide
- [Architecture Overview](../reference/architecture.md) - Understand the system design
- [Playbooks Reference](../reference/playbooks.md) - Detailed playbook documentation
- [Troubleshooting Guide](../troubleshooting/overview.md) - Solve common issues
- **[Manual tools deployment](manual-tools.md)** - Deploy individual components

docs/examples/secrets.yml.example

deleted100644 → 0
+0 −30
Original line number Diff line number Diff line
# Example Secrets File
# 
# Copy this file to ansible/secrets.yml and fill in your actual credentials.
# The secrets.yml file is git-ignored by default for security.
#
# Usage: ansible-playbook playbooks/scenarios/deploy_quick_single_oop.yml -e @secrets.yml

# ===================================================================
# Registry Credentials
# ===================================================================

# Lite2Edge registry credentials (required if deploying lite2edge)
lite2edge_registry_username: "your.username"
lite2edge_registry_password: "your-token-or-password"

# ===================================================================
# Harbor Configuration (Optional)
# ===================================================================

# Harbor admin password (default is Harbor12345 if not specified)
# harbor_admin_password: "YourSecurePassword123"

# ===================================================================
# Additional Service Credentials (Optional)
# ===================================================================

# Add any additional secrets required by your deployment here
# Example:
# federation_manager_api_key: "your-api-key"
# artefact_manager_token: "your-token"
Loading