feat(application): Webapp feature with production dns #167

Merged
johnride merged 7 commits from feat/webappdns into master 2026-01-06 20:15:29 +00:00
Owner
No description provided.
johnride added 1 commit 2025-10-14 19:19:31 +00:00
feat(application): Webapp feature with production dns
Some checks failed
Run Check Script / check (pull_request) Failing after 17s
b0ad7bb4c4
johnride added 1 commit 2025-10-14 19:53:27 +00:00
feat: Support tls enabled by default on rust web app
Some checks failed
Run Check Script / check (pull_request) Failing after 15s
69a159711a
johnride added 1 commit 2025-10-15 01:15:28 +00:00
wip: argocd discovery
Some checks failed
Run Check Script / check (pull_request) Failing after 17s
2b105b280d
johnride force-pushed feat/webappdns from 2b105b280d to 528ee8a696 2025-10-15 01:16:11 +00:00 Compare
johnride added 2 commits 2025-10-16 02:27:21 +00:00
letian reviewed 2025-10-20 18:39:56 +00:00
@@ -58,2 +59,4 @@
}
// Returns true if any deployment in the given namespace matching the label selector
// has status.availableReplicas > 0 (or condition Available=True).
Owner

Should it be doc comments? Same question for the other functions below

Should it be doc comments? Same question for the other functions below
johnride marked this conversation as resolved
letian reviewed 2025-10-20 18:43:12 +00:00
@@ -60,0 +135,4 @@
}
// Get the application-controller ServiceAccount name (fallback to default)
pub async fn get_argocd_controller_sa_name(&self, ns: &str) -> Result<String, Error> {
Owner

Does it have to be that specific? Or would it be ok if the signature was Result<Option<String>, Error> and that users of this function can decide what to do without values?

For example:

client.get_controller_service_account_name("namespace").unwrap_or("argocd-application-controller".to_string())
Does it have to be that specific? Or would it be ok if the signature was `Result<Option<String>, Error>` and that users of this function can decide what to do without values? For example: ```rs client.get_controller_service_account_name("namespace").unwrap_or("argocd-application-controller".to_string()) ```
johnride marked this conversation as resolved
letian reviewed 2025-10-20 18:50:15 +00:00
@@ -60,0 +172,4 @@
// Determine if Argo controller in ns has cluster-wide permissions via CRBs
// TODO This does not belong in the generic k8s client, should be refactored at some point
pub async fn is_argocd_cluster_wide(&self, ns: &str) -> Result<bool, Error> {
Owner

In addition to the comment above, I think it wouldn't be too tricky to refactor (if needed in another PR) with something like:

let service_account = k8s.get_controller_service_account("namespace").await?.unwrap_or("argocd-application-controller".to_string());
let cluster_wide = k8s.is_service_account_cluster_wide(service_account, "namespace").await?;
In addition to the comment above, I think it wouldn't be too tricky to refactor (if needed in another PR) with something like: ```rs let service_account = k8s.get_controller_service_account("namespace").await?.unwrap_or("argocd-application-controller".to_string()); let cluster_wide = k8s.is_service_account_cluster_wide(service_account, "namespace").await?; ```
johnride marked this conversation as resolved
letian reviewed 2025-10-20 18:52:21 +00:00
@@ -22,3 +22,3 @@
pub version: Option<String>,
pub kube_version: Option<String>,
pub api_versions: Vec<String>,
// pub api_versions: Vec<String>,
Owner

still needed?

still needed?
johnride marked this conversation as resolved
letian reviewed 2025-10-20 18:55:45 +00:00
@@ -194,7 +198,7 @@ impl<
openshift: true,
argo_apps: vec![ArgoApplication::from(CDApplicationConfig {
// helm pull oci://hub.nationtech.io/harmony/harmony-example-rust-webapp-chart --version 0.1.0
Owner

outdated comment -> to be removed

outdated comment -> to be removed
johnride marked this conversation as resolved
letian reviewed 2025-10-20 18:59:04 +00:00
@@ -0,0 +26,4 @@
InstalledNamespaceScoped(String),
}
pub async fn discover_argo_all(
Owner

a quick cleanup/refactoring for this function could make things easier to read/understand, for example by breaking down the different steps into different (module private) functions

a quick cleanup/refactoring for this function could make things easier to read/understand, for example by breaking down the different steps into different (module private) functions
johnride marked this conversation as resolved
Owner

Left a few comments here and there that could be small improvements for a future PR

Left a few comments here and there that could be small improvements for a future PR <img src="https://i.giphy.com/NEvPzZ8bd1V4Y.webp"/>
wjro changed target branch from feat/detect_k8s_flavour to master 2025-10-21 15:56:49 +00:00
johnride force-pushed feat/webappdns from 79e406f126 to 9f7b90d182 2025-10-23 17:13:13 +00:00 Compare
johnride added 1 commit 2026-01-06 20:04:01 +00:00
chore: Fix pr comments, documentation, slight refactor for better apis
Some checks failed
Run Check Script / check (pull_request) Failing after 0s
eeaaa26d0e
johnride force-pushed feat/webappdns from eeaaa26d0e to 9359d43fe1 2026-01-06 20:09:24 +00:00 Compare
johnride added 1 commit 2026-01-06 20:14:27 +00:00
Merge remote-tracking branch 'origin/master' into feat/webappdns
All checks were successful
Run Check Script / check (pull_request) Successful in 58s
dbfae8539f
johnride merged commit f2ca97b3bf into master 2026-01-06 20:15:29 +00:00
johnride deleted branch feat/webappdns 2026-01-06 20:15:30 +00:00
Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: NationTech/harmony#167
No description provided.