feat(adr): add architecture decision record for interactive project setup #6
Closed
johnride
wants to merge 0 commits from
adr/005-interactive-project into master
pull from: adr/005-interactive-project
merge into: NationTech:master
NationTech:master
NationTech:feat/openwebui
NationTech:feat/iot-walking-skeleton
NationTech:feat/iot-aggregation-scale
NationTech:feat/add-new-node
NationTech:feat/iot-operator-helm-chart
NationTech:feat/removesideeffect
NationTech:feat/test-alert-receivers-sttest
NationTech:feat/brocade-client-add-vlans
NationTech:feat/agent-desired-state
NationTech:feat/opnsense-dns-implementation
NationTech:feat/named-config-instances
NationTech:worktree-bridge-cse_012j1jB37XfjXvDGHUjHrKSj
NationTech:chore/leftover-adr
NationTech:feat/config_e2e_zitadel_openbao
NationTech:example/vllm
NationTech:feat/config_sqlite
NationTech:chore/roadmap
NationTech:feature/kvm-module
NationTech:feat/rustfs
NationTech:feat/harmony_assets
NationTech:feat/brocade_assisted_setup
NationTech:feat/cluster_alerting_score
NationTech:e2e-tests-multicluster
NationTech:fix/refactor_alert_receivers
NationTech:feat/change-node-readiness-strategy
NationTech:feat/zitadel
NationTech:feat/improve-inventory-discovery
NationTech:fix/monitoring_abstractions_openshift
NationTech:feat/nats-jetstream
NationTech:adr-nats-creds
NationTech:feat/st_test
NationTech:feat/dockerAutoinstall
NationTech:chore/cleanup_hacluster
NationTech:doc/cert-management
NationTech:feat/certificate_management
NationTech:adr/017-staleness-failover
NationTech:fix/nats_non_root
NationTech:feat/rebuild_inventory
NationTech:fix/opnsense_update
NationTech:feat/unshedulable_control_planes
NationTech:feat/worker_okd_install
NationTech:doc-and-braindump
NationTech:fix/pxe_install
NationTech:switch-client
NationTech:okd_enable_user_workload_monitoring
NationTech:configure-switch
NationTech:fix/clippy
NationTech:feat/gen-ca-cert
NationTech:feat/okd_default_ingress_class
NationTech:fix/add_routes_to_domain
NationTech:secrets-prompt-editor
NationTech:feat/multisiteApplication
NationTech:feat/ceph-install-score
NationTech:feat/ceph-osd-score
NationTech:feat/ceph_validate_health
NationTech:better-indicatif-progress-grouped
NationTech:feat/crd-alertmanager-configs
NationTech:better-cli
NationTech:opnsense_upgrade
NationTech:feat/monitoring-application-feature
NationTech:dev/postgres
NationTech:feat/cd/localdeploymentdemo
NationTech:feat/webhook_receiver
NationTech:feat/kube-prometheus
NationTech:feat/init_k8s_tenant
NationTech:feat/discord-webhook-receiver
NationTech:feat/kube-prometheus-monitor
NationTech:feat/tenantScore
NationTech:feat/teams-integration
NationTech:feat/slack-notifs
NationTech:monitoring
NationTech:runtime-profiles
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
No description provided.
Delete Branch "adr/005-interactive-project"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Add an Architecture Decision Record (ADR) outlining the approach to integrate LAMP projects into Harmony's automated delivery pipeline using either Score Spec or a custom Rust DSL. A decision will have to be made between the two in the short term to decide which we will implement first. The ADR details the benefits and consequences of each option, focusing on providing a seamless transition for developers while leveraging Harmony's enterprise-grade features.
I've had a little chat with Claude 3.7 trying to figure out what each option would look like for three different scenarios :
Claude 3.7 example of what it could look like with score vs rust
I'll create concrete sample configurations for each of the three project types in both Rust DSL and Score Spec formats.
1. Basic LAMP Stack
Score Spec Version
Rust DSL Version
2. Regular Svelte App
Score Spec Version
Rust DSL Version
3. Enterprise Grade Java Monolith
Score Spec Version
Rust DSL Version
These examples showcase how both approaches can describe the same infrastructure needs, with the Score Spec version being more declarative and YAML-based, while the Rust DSL provides type safety and a more programmatic approach. The Rust DSL would enable better IDE integration, compile-time validation, and extensibility, while Score Spec leverages existing CNCF standards and may be more approachable for developers already familiar with YAML-based configurations.
@@ -0,0 +188,4 @@fn name(&self) -> &str {&self.name}}@@ -0,0 +328,4 @@1. **From Runtime to Compile-Time**: Move capability checking from runtime to compile-time.2. **From Objects to Functions**: Think of scores less as objects and more as functions that transform topologies.Un score, c'est pas "un objet qui contient son environnement, ...", c'est plutôt une entité standalone, qui se fait "pitcher" dans un contexte. Une fois dans ce contexte, si tous les requis du score sont disponibles, il est en mesure de s'exécuter dans ce contexte
Pull request closed