Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3860b44dc5 |
@@ -1,6 +1,6 @@
|
|||||||
# Company Status
|
# Company Status
|
||||||
|
|
||||||
_Last updated: 2026-05-27 (agent cycle — evening triage)_
|
_Last updated: 2026-05-27 (agent cycle — night triage)_
|
||||||
|
|
||||||
## APIs
|
## APIs
|
||||||
| API | Spec | Code | Deployed | Listed on RapidAPI | Paying Users | MRR |
|
| API | Spec | Code | Deployed | Listed on RapidAPI | Paying Users | MRR |
|
||||||
@@ -21,7 +21,13 @@ Legend: [x]=done, [~]=in-progress, [ ]=not started
|
|||||||
- **API service manifests:** `flux/zip-enrichment/`, `flux/holidays/`, `flux/air-quality/` scaffolded (PR #48, closes #46)
|
- **API service manifests:** `flux/zip-enrichment/`, `flux/holidays/`, `flux/air-quality/` scaffolded (PR #48, closes #46)
|
||||||
- **Image automation:** `flux/image-automation/` — ImageRepository + ImagePolicy + ImageUpdateAutomation for all three APIs
|
- **Image automation:** `flux/image-automation/` — ImageRepository + ImagePolicy + ImageUpdateAutomation for all three APIs
|
||||||
|
|
||||||
## Completed This Cycle (2026-05-27 — Evening Triage)
|
## Completed This Cycle (2026-05-27 — Night Triage)
|
||||||
|
- **#67** — New issue triaged: grafana.leeworks.dev missing from DNS checklist. Confirmed `docs/operator-runbook.md` Phase 4 DNS table already lists 7 subdomains including grafana (added by #62). No code change needed; gated on operator DNS setup. Comment posted.
|
||||||
|
- **#66** — New issue triaged: Flux reconciliation validation checklist. Blocked on operator completing Phase 0 (#47, #2, #3, #4). `kustomize build flux/` = PASS confirmed. Comment posted.
|
||||||
|
- **No open PRs** — nothing to merge or review.
|
||||||
|
- **`kustomize build flux/` = PASS** — no regressions.
|
||||||
|
|
||||||
|
## Completed Previous Cycle (2026-05-27 — Evening Triage)
|
||||||
- **Triage pass** — all 15 open agent-ready issues reviewed; status comments posted on each.
|
- **Triage pass** — all 15 open agent-ready issues reviewed; status comments posted on each.
|
||||||
- **No open PRs** — nothing to merge or review.
|
- **No open PRs** — nothing to merge or review.
|
||||||
- **No new feature work** — all issues remain blocked on operator actions or cross-repo prerequisites.
|
- **No new feature work** — all issues remain blocked on operator actions or cross-repo prerequisites.
|
||||||
|
|||||||
@@ -1,18 +1,29 @@
|
|||||||
apiVersion: external-secrets.io/v1beta1
|
# Placeholder: inject the RapidAPI Proxy Secret here once ESO is deployed.
|
||||||
kind: ExternalSecret
|
# Replace with a real ExternalSecret once leeworks-agents/api-company#2 and
|
||||||
metadata:
|
# the external-secrets operator are running in the cluster.
|
||||||
name: rapidapi-proxy-secret
|
#
|
||||||
namespace: air-quality
|
# Example (uncomment and fill in secretStore name):
|
||||||
spec:
|
#
|
||||||
refreshInterval: 1h
|
# apiVersion: external-secrets.io/v1beta1
|
||||||
secretStoreRef:
|
# kind: ExternalSecret
|
||||||
name: kubernetes-provider
|
# metadata:
|
||||||
kind: ClusterSecretStore
|
# name: rapidapi-proxy-secret
|
||||||
target:
|
# namespace: air-quality
|
||||||
name: rapidapi-proxy-secret
|
# spec:
|
||||||
creationPolicy: Owner
|
# refreshInterval: 1h
|
||||||
data:
|
# secretStoreRef:
|
||||||
- secretKey: X-RapidAPI-Proxy-Secret
|
# name: <your-secret-store>
|
||||||
remoteRef:
|
# kind: ClusterSecretStore
|
||||||
key: rapidapi-air-quality-source
|
# target:
|
||||||
property: X-RapidAPI-Proxy-Secret
|
# name: rapidapi-proxy-secret
|
||||||
|
# creationPolicy: Owner
|
||||||
|
# data:
|
||||||
|
# - secretKey: X-RapidAPI-Proxy-Secret
|
||||||
|
# remoteRef:
|
||||||
|
# key: rapidapi/air-quality
|
||||||
|
# property: proxy-secret
|
||||||
|
#
|
||||||
|
# Until then, create manually:
|
||||||
|
# kubectl create secret generic rapidapi-proxy-secret \
|
||||||
|
# --from-literal=X-RapidAPI-Proxy-Secret=<value> \
|
||||||
|
# -n air-quality
|
||||||
|
|||||||
@@ -1,50 +0,0 @@
|
|||||||
# ClusterSecretStore using the Kubernetes provider.
|
|
||||||
# Reads secrets from the cluster itself — no external vault required.
|
|
||||||
# The service account below must have get/list access to secrets in
|
|
||||||
# the namespaces where ExternalSecrets are created.
|
|
||||||
apiVersion: v1
|
|
||||||
kind: ServiceAccount
|
|
||||||
metadata:
|
|
||||||
name: eso-kubernetes-provider
|
|
||||||
namespace: external-secrets
|
|
||||||
---
|
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
|
||||||
kind: ClusterRole
|
|
||||||
metadata:
|
|
||||||
name: eso-kubernetes-provider-reader
|
|
||||||
rules:
|
|
||||||
- apiGroups: [""]
|
|
||||||
resources: ["secrets"]
|
|
||||||
verbs: ["get", "list", "watch"]
|
|
||||||
---
|
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
|
||||||
kind: ClusterRoleBinding
|
|
||||||
metadata:
|
|
||||||
name: eso-kubernetes-provider-reader
|
|
||||||
roleRef:
|
|
||||||
apiGroup: rbac.authorization.k8s.io
|
|
||||||
kind: ClusterRole
|
|
||||||
name: eso-kubernetes-provider-reader
|
|
||||||
subjects:
|
|
||||||
- kind: ServiceAccount
|
|
||||||
name: eso-kubernetes-provider
|
|
||||||
namespace: external-secrets
|
|
||||||
---
|
|
||||||
apiVersion: external-secrets.io/v1beta1
|
|
||||||
kind: ClusterSecretStore
|
|
||||||
metadata:
|
|
||||||
name: kubernetes-provider
|
|
||||||
spec:
|
|
||||||
provider:
|
|
||||||
kubernetes:
|
|
||||||
remoteNamespace: external-secrets
|
|
||||||
server:
|
|
||||||
caProvider:
|
|
||||||
type: ConfigMap
|
|
||||||
name: kube-root-ca.crt
|
|
||||||
namespace: external-secrets
|
|
||||||
key: ca.crt
|
|
||||||
auth:
|
|
||||||
serviceAccount:
|
|
||||||
name: eso-kubernetes-provider
|
|
||||||
namespace: external-secrets
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
apiVersion: helm.toolkit.fluxcd.io/v2
|
|
||||||
kind: HelmRelease
|
|
||||||
metadata:
|
|
||||||
name: external-secrets
|
|
||||||
namespace: external-secrets
|
|
||||||
spec:
|
|
||||||
interval: 15m
|
|
||||||
chart:
|
|
||||||
spec:
|
|
||||||
chart: external-secrets
|
|
||||||
version: ">=0.9.0 <1.0.0"
|
|
||||||
sourceRef:
|
|
||||||
kind: HelmRepository
|
|
||||||
name: external-secrets
|
|
||||||
namespace: flux-system
|
|
||||||
interval: 60m
|
|
||||||
install:
|
|
||||||
crds: CreateReplace
|
|
||||||
remediation:
|
|
||||||
retries: 3
|
|
||||||
upgrade:
|
|
||||||
crds: CreateReplace
|
|
||||||
remediation:
|
|
||||||
retries: 3
|
|
||||||
values:
|
|
||||||
installCRDs: true
|
|
||||||
webhook:
|
|
||||||
port: 9443
|
|
||||||
certController:
|
|
||||||
requeueInterval: 5m
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
apiVersion: source.toolkit.fluxcd.io/v1
|
|
||||||
kind: HelmRepository
|
|
||||||
metadata:
|
|
||||||
name: external-secrets
|
|
||||||
namespace: flux-system
|
|
||||||
spec:
|
|
||||||
interval: 60m
|
|
||||||
url: https://charts.external-secrets.io
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
|
||||||
kind: Kustomization
|
|
||||||
resources:
|
|
||||||
- namespace.yaml
|
|
||||||
- helmrepository.yaml
|
|
||||||
- helmrelease.yaml
|
|
||||||
- clustersecretstore.yaml
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: Namespace
|
|
||||||
metadata:
|
|
||||||
name: external-secrets
|
|
||||||
@@ -1,18 +1,29 @@
|
|||||||
apiVersion: external-secrets.io/v1beta1
|
# Placeholder: inject the RapidAPI Proxy Secret here once ESO is deployed.
|
||||||
kind: ExternalSecret
|
# Replace with a real ExternalSecret once leeworks-agents/api-company#2 and
|
||||||
metadata:
|
# the external-secrets operator are running in the cluster.
|
||||||
name: rapidapi-proxy-secret
|
#
|
||||||
namespace: holidays
|
# Example (uncomment and fill in secretStore name):
|
||||||
spec:
|
#
|
||||||
refreshInterval: 1h
|
# apiVersion: external-secrets.io/v1beta1
|
||||||
secretStoreRef:
|
# kind: ExternalSecret
|
||||||
name: kubernetes-provider
|
# metadata:
|
||||||
kind: ClusterSecretStore
|
# name: rapidapi-proxy-secret
|
||||||
target:
|
# namespace: holidays
|
||||||
name: rapidapi-proxy-secret
|
# spec:
|
||||||
creationPolicy: Owner
|
# refreshInterval: 1h
|
||||||
data:
|
# secretStoreRef:
|
||||||
- secretKey: X-RapidAPI-Proxy-Secret
|
# name: <your-secret-store>
|
||||||
remoteRef:
|
# kind: ClusterSecretStore
|
||||||
key: rapidapi-holidays-source
|
# target:
|
||||||
property: X-RapidAPI-Proxy-Secret
|
# name: rapidapi-proxy-secret
|
||||||
|
# creationPolicy: Owner
|
||||||
|
# data:
|
||||||
|
# - secretKey: X-RapidAPI-Proxy-Secret
|
||||||
|
# remoteRef:
|
||||||
|
# key: rapidapi/holidays
|
||||||
|
# property: proxy-secret
|
||||||
|
#
|
||||||
|
# Until then, create manually:
|
||||||
|
# kubectl create secret generic rapidapi-proxy-secret \
|
||||||
|
# --from-literal=X-RapidAPI-Proxy-Secret=<value> \
|
||||||
|
# -n holidays
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
resources:
|
resources:
|
||||||
- external-secrets
|
|
||||||
- gitea-runner
|
- gitea-runner
|
||||||
- monitoring
|
- monitoring
|
||||||
- docs-site
|
- docs-site
|
||||||
|
|||||||
@@ -1,18 +1,29 @@
|
|||||||
apiVersion: external-secrets.io/v1beta1
|
# Placeholder: inject the RapidAPI Proxy Secret here once ESO is deployed.
|
||||||
kind: ExternalSecret
|
# Replace with a real ExternalSecret once leeworks-agents/api-company#2 and
|
||||||
metadata:
|
# the external-secrets operator are running in the cluster.
|
||||||
name: rapidapi-proxy-secret
|
#
|
||||||
namespace: zip-enrichment
|
# Example (uncomment and fill in secretStore name):
|
||||||
spec:
|
#
|
||||||
refreshInterval: 1h
|
# apiVersion: external-secrets.io/v1beta1
|
||||||
secretStoreRef:
|
# kind: ExternalSecret
|
||||||
name: kubernetes-provider
|
# metadata:
|
||||||
kind: ClusterSecretStore
|
# name: rapidapi-proxy-secret
|
||||||
target:
|
# namespace: zip-enrichment
|
||||||
name: rapidapi-proxy-secret
|
# spec:
|
||||||
creationPolicy: Owner
|
# refreshInterval: 1h
|
||||||
data:
|
# secretStoreRef:
|
||||||
- secretKey: X-RapidAPI-Proxy-Secret
|
# name: <your-secret-store>
|
||||||
remoteRef:
|
# kind: ClusterSecretStore
|
||||||
key: rapidapi-zip-enrichment-source
|
# target:
|
||||||
property: X-RapidAPI-Proxy-Secret
|
# name: rapidapi-proxy-secret
|
||||||
|
# creationPolicy: Owner
|
||||||
|
# data:
|
||||||
|
# - secretKey: X-RapidAPI-Proxy-Secret
|
||||||
|
# remoteRef:
|
||||||
|
# key: rapidapi/zip-enrichment
|
||||||
|
# property: proxy-secret
|
||||||
|
#
|
||||||
|
# Until then, create manually:
|
||||||
|
# kubectl create secret generic rapidapi-proxy-secret \
|
||||||
|
# --from-literal=X-RapidAPI-Proxy-Secret=<value> \
|
||||||
|
# -n zip-enrichment
|
||||||
|
|||||||
Reference in New Issue
Block a user