Skip to content

Conversation

@ramizpolic
Copy link
Member

@ramizpolic ramizpolic commented Nov 3, 2025

This pull request introduces a comprehensive GitOps deployment setup for the AGNTCY Directory project using ArgoCD. The setup provides a complete staging environment for the decentralized AI agent discovery network.

🔧 Key Features

  • Multi-Environment Support: Separate dev and prod configurations with environment-specific trust domains
  • Automated GitOps: ArgoCD-based deployment with sync policies and wave-based ordering
  • TLS & Ingress: Production-ready ingress with SSL passthrough and certificate management
  • Documentation: Detailed setup guides for both development and production environments

🌍 Environments

Development (dev.directory.outshift):

  • Local cluster deployment with NodePort services
  • Internal OCI registry
  • Debug logging enabled
  • Simplified networking for testing

Production (prod.directory.outshift):

  • Ingress-based external access
  • External OCI registry with TLS
  • Production logging levels
  • Federation endpoints for network discovery

🔍 Type of Change

  • New Feature
  • Documentation

This establishes the foundation for running the AGNTCY Directory staging environment and provides a clear path for organizations to federate with the Directory network.

@ramizpolic ramizpolic marked this pull request as ready for review November 3, 2025 11:55
@ramizpolic ramizpolic requested a review from a team as a code owner November 3, 2025 11:55
@ramizpolic ramizpolic linked an issue Nov 3, 2025 that may be closed by this pull request
2 tasks
Copy link
Contributor

@tkircsi tkircsi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have proposed some changes, but it is just some from my list. (fixed)

  1. ZOT Storage Persistence - Fixed
  2. Routing Datastore Persistence (PVC) - Fixed
  3. Node Identity (Private Key) - Pending (skipped)
  4. Hardcoded Credentials - Pending (skipped)
  5. Image Tag 'latest' - Fixed
  6. Resource Limits - Pending (skipped)
  7. Rate Limiting - Fixed
  8. Production Logging - Fixed
  9. Monitoring/Observability - Pending (skipped)
  10. Worker Counts - Fixed
  11. NodePort vs LoadBalancer - Pending (skipped)
  12. Ingress Annotations - Fixed
  13. Pod Disruption Budget - Pending (skipped)
  14. Node Affinity Rules - Pending (skipped)

Let's discuss it. For me, the remained most important one is
3. Node Identity (Private Key) - Pending (skipped)

Comment on lines +186 to +188
extraEnv:
- name: SSL_CERT_DIR
value: "/etc/ca-certs"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
extraEnv:
- name: SSL_CERT_DIR
value: "/etc/ca-certs"
extraEnv:
- name: SSL_CERT_DIR
value: "/etc/ca-certs"
- name: DIRECTORY_SERVER_STORE_OCI_AUTH_CONFIG_USERNAME
value: "admin"
- name: DIRECTORY_SERVER_STORE_OCI_AUTH_CONFIG_PASSWORD
valueFrom:
secretKeyRef:
name: dir-prod-credentials
key: oci-password
- name: DIRECTORY_SERVER_SYNC_AUTH_CONFIG_USERNAME
value: "sync-prod"
- name: DIRECTORY_SERVER_SYNC_AUTH_CONFIG_PASSWORD
valueFrom:
secretKeyRef:
name: dir-prod-credentials
key: sync-password

Comment on lines +109 to +110
username: "admin"
password: "admin"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
username: "admin"
password: "admin"
username: "" # From env: DIRECTORY_SERVER_STORE_OCI_AUTH_CONFIG_USERNAME
password: "" # From env: DIRECTORY_SERVER_STORE_OCI_AUTH_CONFIG_PASSWORD

Comment on lines +170 to +171
username: "user"
password: "user"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
username: "user"
password: "user"
username: "" # From env: DIRECTORY_SERVER_SYNC_AUTH_CONFIG_USERNAME
password: "" # From env: DIRECTORY_SERVER_SYNC_AUTH_CONFIG_PASSWORD

Comment on lines +200 to +201
- name: dir-ca-certs
mountPath: /etc/ca-certs
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- name: dir-ca-certs
mountPath: /etc/ca-certs
- name: dir-ca-certs
mountPath: /etc/ca-certs
- name: node-identity
mountPath: /etc/routing/node.privkey
subPath: node.privkey
readOnly: true

Comment on lines +211 to +216
- name: dir-ca-certs
secret:
secretName: prod-zot-directory-outshift-test-tls
items:
- key: ca.crt
path: zot-ca.crt
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- name: dir-ca-certs
secret:
secretName: prod-zot-directory-outshift-test-tls
items:
- key: ca.crt
path: zot-ca.crt
- name: dir-ca-certs
secret:
secretName: prod-zot-directory-outshift-test-tls
items:
- key: ca.crt
path: zot-ca.crt
- name: node-identity
secret:
secretName: dir-prod-node-identity
items:
- key: node.privkey
path: node.privkey

- Add prod directory deployment with ArgoCD
- Configure prod.directory.outshift environment
- Ingress-based external access with TLS
- External OCI registry with SSL passthrough
- Production logging and federation endpoints
- Update onboarding templates and federation examples

Partial implementation of #6

Signed-off-by: Tibor Kircsi <tkircsi@cisco.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature]: Deploy Public Staging Directory Envionrment

3 participants