ProficientNowTechRFCs

3. Architecture

RFC-DEVELOPER-PLATFORM-0001                                       Section 3
Category: Standards Track                                     Architecture

3. Architecture

← Requirements | Index | Next: Components →


3.1 System Overview

3.1.1 High-Level Architecture

The developer platform provides a unified interface through which developers interact with platform capabilities. The architecture positions Backstage as the central portal, integrating with identity, secrets, privileged access, and platform tools.

3.1.2 Architectural Principles

PrincipleImplementation
Unified interfaceSingle portal for all developer interactions
Capability-basedUsers see only what they can do
GitOps-firstAll changes through Git
Integration over reimplementationPortal links to specialized tools
Convention over configurationGolden path templates

3.1.3 Layered Architecture

LayerComponentsResponsibility
PresentationBackstage FrontendUser interface, navigation
APIBackstage BackendBusiness logic, integrations
IdentityKeycloakAuthentication, authorization claims
SecretsVault, ESOCredential management
GitOpsArgoCD, CrossplaneInfrastructure reconciliation
PlatformVarious toolsSpecialized capabilities

3.2 Trust Boundaries

3.2.1 Trust Boundary Diagram

3.2.2 Trust Boundary Definitions

BoundaryFromToVerificationSupporting Invariant
B1InternetWAFTLS termination, WAF inspection
B2WAFBackstageRequest validated, sanitizedINV-15
B3FrontendBackendSession token validationINV-1
B4BackstageKeycloakOIDC protocol validationINV-1, INV-3
B5KeycloakAzure ADOIDC federationRFC-IAM-0001 INV-1
B6ESOVaultKubernetes ServiceAccount authRFC-SECOPS-0001
B7VaultBackstageKubernetes Secret deliveryINV-9
B8BackstageTeleportAPI token, user contextINV-13
B9BackstagePlatform ToolsServiceAccount, user tokenINV-10
B10BackstageData PlaneGit commit (GitOps)INV-4

3.2.3 Security Zones

ZoneTrust LevelAccess Pattern
InternetUntrustedWAF-filtered entry
Edge LayerPerimeterRequest validation, rate limiting
Portal ZonePlatformAuthenticated users only
Identity ZoneCriticalKeycloak, Azure AD
Secrets ZoneCriticalVault, ESO
PAM ZoneCriticalTeleport for privileged access
Platform ZonePlatformTool-specific authorization
Data ZonePlatformOperator-managed resources

3.3 Authority Domains

3.3.1 Authority Hierarchy

3.3.2 Authority Responsibilities

AuthorityGovernsExamples
Enterprise (Azure AD)User identity, group membership, enterprise policyWho exists, org structure
Platform Identity (Keycloak)Role mapping, token claims, client configurationWhat roles exist, claim structure
Platform Secrets (Vault)Secret storage, rotation, access policyCredential lifecycle
Portal ConfigurationCatalog structure, templates, pluginsWhat appears in portal
Entity OwnersEntity metadata, documentationService descriptions, runbooks

3.3.3 Authority Boundaries

DecisionAuthorityThis RFC's Role
User can authenticateKeycloak + Azure ADConsume authentication
User can access featureKeycloak claimsInterpret claims
Template can be usedPortal configurationDefine template permissions
Entity can be modifiedEntity ownershipEnforce ownership check
Secret can be accessedVault policyRequest secret delivery

3.4 Data Flow Model

3.4.1 Authentication Flow

3.4.2 Self-Service Provisioning Flow

3.4.3 JIT Access Request Flow


3.5 Integration Architecture

3.5.1 RFC Integration Points

RFCIntegration MethodData Exchanged
RFC-IAM-0001OIDC clientAuthentication, token claims
RFC-SECOPS-0001ESO/ExternalSecretPortal secrets, plugin credentials
RFC-PAM-0001Teleport APIAccess requests, session links
RFC-TENANT-SECURITYNetwork policyNamespace isolation

3.5.2 Platform Tool Integration

ToolIntegration PatternData Flow
ArgoCDREST APIApplication status, sync actions
GrafanaHTTP API, iframesDashboard links, embedded views
HarborREST APIImage status, vulnerability data
Kafka UIURL templatesTopic links
CrossplaneKubernetes APIResource status

3.5.3 Integration Patterns

PatternUsageExample
API pollingStatus retrievalArgoCD sync status
Kubernetes watchResource statusCrossplane claim status
URL templatesDeep linkingGrafana dashboard links
Event webhooksNotificationsGitHub events
Git commitsGitOps outputTemplate scaffolding

Document Navigation


End of Section 3 — RFC-DEVELOPER-PLATFORM-0001