Compare commits

..

1 Commits

Author SHA1 Message Date
Gary Larizza
924600cb83 doc: Helm Values test updates
* Convert all files with.period.separators to hyphen-separators.
* Rename and markdown_test.go to be specific to Helm Values.
* Move helm-values_test.go to be in the same directory as the Helm Values doc.
* Move Blackbox common configuration CUE file to `config/prometheus` so it can be imported as necessary.
* Use explicit import statements for Blackbox common config in `blackbox` and `prometheus` components.
2025-01-10 16:26:42 -08:00
65 changed files with 47 additions and 1487 deletions

View File

@@ -154,10 +154,6 @@ website: ## Build website
unity: ## https://cuelabs.dev/unity/
./scripts/unity
.PHONY: update-docs
update-docs: ## Update doc examples
HOLOS_UPDATE_SCRIPTS=1 go test -v ./doc/md/...
.PHONY: help
help: ## Display this help menu.
@awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make \033[36m<target>\033[0m\n"} /^[a-zA-Z_0-9-]+:.*?##/ { printf " \033[36m%-20s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST)

View File

@@ -84,9 +84,6 @@ type Helm struct {
Chart core.Chart
// Values represents data to marshal into a values.yaml for helm.
Values core.Values
// ValueFiles represents value files for migration from helm value
// hierarchies. Use Values instead.
ValueFiles []core.ValueFile `json:",omitempty"`
// EnableHooks enables helm hooks when executing the `helm template` command.
EnableHooks bool `cue:"true | *false"`
// Namespace sets the helm chart namespace flag if provided.

View File

@@ -118,12 +118,8 @@ type Helm struct {
// Chart represents a helm chart to manage.
Chart Chart `json:"chart" yaml:"chart"`
// Values represents values for holos to marshal into values.yaml when
// rendering the chart. Values follow ValueFiles when both are provided.
// rendering the chart.
Values Values `json:"values" yaml:"values"`
// ValueFiles represents hierarchial value files passed in order to the helm
// template -f flag. Useful for migration from an ApplicationSet. Use Values
// instead. ValueFiles precede Values when both are provided.
ValueFiles []ValueFile `json:"valueFiles,omitempty" yaml:"valueFiles,omitempty"`
// EnableHooks enables helm hooks when executing the `helm template` command.
EnableHooks bool `json:"enableHooks,omitempty" yaml:"enableHooks,omitempty"`
// Namespace represents the helm namespace flag
@@ -134,17 +130,6 @@ type Helm struct {
KubeVersion string `json:"kubeVersion,omitempty" yaml:"kubeVersion,omitempty"`
}
// ValueFile represents one Helm value file produced from CUE.
type ValueFile struct {
// Name represents the file name, e.g. "region-values.yaml"
Name string `json:"name" yaml:"name"`
// Kind is a discriminator.
Kind string `json:"kind" yaml:"kind" cue:"\"Values\""`
// Values represents values for holos to marshal into the file name specified
// by Name when rendering the chart.
Values Values `json:"values,omitempty" yaml:"values,omitempty"`
}
// Values represents [Helm] Chart values generated from CUE.
type Values map[string]any

View File

@@ -86,9 +86,6 @@ type Helm struct {
Chart core.Chart
// Values represents data to marshal into a values.yaml for helm.
Values core.Values
// ValueFiles represents value files for migration from helm value
// hierarchies. Use Values instead.
ValueFiles []core.ValueFile `json:",omitempty"`
// EnableHooks enables helm hooks when executing the `helm template` command.
EnableHooks bool `cue:"true | *false"`
// Namespace sets the helm chart namespace flag if provided.

View File

@@ -43,7 +43,6 @@ Package core contains schemas for a [Platform](<#Platform>) and [BuildPlan](<#Bu
- [type Resources](<#Resources>)
- [type Transformer](<#Transformer>)
- [type Validator](<#Validator>)
- [type ValueFile](<#ValueFile>)
- [type Values](<#Values>)
@@ -284,12 +283,8 @@ type Helm struct {
// Chart represents a helm chart to manage.
Chart Chart `json:"chart" yaml:"chart"`
// Values represents values for holos to marshal into values.yaml when
// rendering the chart. Values follow ValueFiles when both are provided.
// rendering the chart.
Values Values `json:"values" yaml:"values"`
// ValueFiles represents hierarchial value files passed in order to the helm
// template -f flag. Useful for migration from an ApplicationSet. Use Values
// instead. ValueFiles precede Values when both are provided.
ValueFiles []ValueFile `json:"valueFiles,omitempty" yaml:"valueFiles,omitempty"`
// EnableHooks enables helm hooks when executing the `helm template` command.
EnableHooks bool `json:"enableHooks,omitempty" yaml:"enableHooks,omitempty"`
// Namespace represents the helm namespace flag
@@ -498,23 +493,6 @@ type Validator struct {
}
```
<a name="ValueFile"></a>
## type ValueFile {#ValueFile}
ValueFile represents one Helm value file produced from CUE.
```go
type ValueFile struct {
// Name represents the file name, e.g. "region-values.yaml"
Name string `json:"name" yaml:"name"`
// Kind is a discriminator.
Kind string `json:"kind" yaml:"kind" cue:"\"Values\""`
// Values represents values for holos to marshal into the file name specified
// by Name when rendering the chart.
Values Values `json:"values,omitempty" yaml:"values,omitempty"`
}
```
<a name="Values"></a>
## type Values {#Values}

20
doc/md/topics/kargo.mdx Normal file
View File

@@ -0,0 +1,20 @@
---
description: Kargo
slug: kargo
sidebar_position: 110
---
# Kargo
Holos pairs nicely with [Kargo], offering a holistic solution for code
promotion across stages.
Watch this space for a more detailed write up of the integration being
developed.
If you're interested in this topic, please thumbs up the [Kargo
Topic](https://github.com/holos-run/holos/issues/378) issue, or drop into
[Discord] and let us know about your use case.
[Kargo]: https://kargo.io/
[Discord]: https://discord.gg/JgDVbNpye7

View File

@@ -1,2 +0,0 @@
kargo-demo/
.tmp/

View File

@@ -1,17 +0,0 @@
env GH_USER=holos-run
# Remove the directory if it already exists
exec rm -rf kargo-demo
# Clone your fork of the kargo-demo repository
exec bash -c 'bash -euo pipefail command.sh 2>&1'
cmp stdout output.txt
# Get the git commit
cd kargo-demo
exec git rev-parse --verify origin/HEAD
cp stdout $WORK/git.commit
-- command.sh --
git clone https://github.com/${GH_USER}/kargo-demo.git
cd kargo-demo
-- output.txt --
Cloning into 'kargo-demo'...

View File

@@ -1,37 +0,0 @@
env GH_USER=jeffmccune
cd ../script-01-clone/kargo-demo
## Walk the reader from entrypoint to the deployment pipeline
# holos render platform entrypoint
exec bash -c 'cat $(<$WORK/entrypoint.path)'
cp stdout $WORK/entrypoint.txt
exec bash -c 'basename $(<$WORK/entrypoint.path)'
cp stdout $WORK/entrypoint.basename
# platform.stacks location
exec bash -c 'cat $(<$WORK/stacks.path)'
cp stdout $WORK/stacks.txt
exec bash -c 'basename $(<$WORK/stacks.path)'
cp stdout $WORK/stacks.basename
# certmanager.config location
exec bash -c 'cat $(<$WORK/config.path)'
cp stdout $WORK/config.txt
exec bash -c 'basename $(<$WORK/config.path)'
cp stdout $WORK/config.basename
# Cert Manager Component.
exec bash -c 'cat $(<$WORK/component.path)'
cp stdout $WORK/component.txt
# Get the path basename for the docs.
exec bash -c 'basename $(<$WORK/component.path)'
cp stdout $WORK/component.basename
-- config.path --
config/certmanager/certmanager.cue
-- stacks.path --
config/platform/security.cue
-- entrypoint.path --
platform/stacks.cue
-- component.path --
stacks/security/components/cert-manager/cert-manager.cue

View File

@@ -1,8 +0,0 @@
cd ../script-01-clone/kargo-demo
exec bash -c 'bash -euo pipefail $WORK/command.sh 2>&1'
cmp stdout $WORK/output.txt
-- command.sh --
holos --version
-- output.txt --
0.102.3

View File

@@ -1,56 +0,0 @@
env GH_USER=jeffmccune
env HOME=$WORK/.tmp
cd ../script-01-clone/kargo-demo
chmod 0755 $WORK/update.sh
# Combine the steps separated in the doc.
exec cat $WORK/header.sh $WORK/body.txt $WORK/trailer.sh
stdin stdout
exec bash -xeuo pipefail
cmp config/platform/organization_$GH_USER.cue $WORK/code.want.cue
# Render the platform
exec bash -c 'bash -euo pipefail $WORK/command.sh 2>&1'
stdin stdout
exec $WORK/update.sh $WORK/output.txt
# Get the diff
exec bash -c 'bash -euo pipefail $WORK/diff.sh 2>&1'
stdin stdout
exec $WORK/update.sh $WORK/diff.patch
# Set the author
exec git config --global user.name 'Holos Docs'
exec git config --global user.email 'hello@holos.run'
# Make the commit
exec bash -c 'bash -euo pipefail $WORK/commit.sh 2>&1'
stdin stdout
exec $WORK/update.sh $WORK/commit.txt
-- update.sh --
#! /bin/bash
set -euo pipefail
[[ -s "$1" ]] && [[ -z "${HOLOS_UPDATE_SCRIPTS:-}" ]] && exit 0
cat > "$1"
-- header.sh --
cat <<EOF > config/platform/organization_${GH_USER}.cue
-- body.txt --
@if(${GH_USER})
package platform
organization: repoURL: "https://github.com/${GH_USER}/kargo-demo.git"
-- trailer.sh --
EOF
-- code.want.cue --
@if(jeffmccune)
package platform
organization: repoURL: "https://github.com/jeffmccune/kargo-demo.git"
-- command.sh --
holos render platform -t ${GH_USER}
-- commit.sh --
git add .
git commit -m "Switch to $GH_USER fork"
-- diff.sh --
git diff

View File

@@ -1,2 +0,0 @@
git clone https://github.com/${GH_USER}/kargo-demo.git
cd kargo-demo

View File

@@ -1 +0,0 @@
238fe0403c99eeea4f4fb764a88b780554048414

View File

@@ -1 +0,0 @@
Cloning into 'kargo-demo'...

View File

@@ -1 +0,0 @@
stacks/security/components/cert-manager/cert-manager.cue

View File

@@ -1,21 +0,0 @@
package holos
import "holos.example/config/certmanager"
// Produce a helm chart build plan.
holos: Component.BuildPlan
Component: #Helm & {
Name: "cert-manager"
Namespace: certmanager.config.namespace
Chart: certmanager.config.chart
EnableHooks: true
Values: #Values & {
crds: enabled: true
startupapicheck: enabled: false
// https://github.com/cert-manager/cert-manager/issues/6716
global: leaderElection: namespace: Namespace
}
}

View File

@@ -1 +0,0 @@
config/certmanager/certmanager.cue

View File

@@ -1,30 +0,0 @@
@extern(embed)
package certmanager
import "github.com/holos-run/holos/api/core/v1alpha5:core"
// Unify data from yaml for Kargo integration.
_data: _ @embed(file=cert-manager.yaml)
config: #Config & {
namespace: "cert-manager"
// datafile value must align to the embed file directive above for proper
// configuration of Kargo promotion stages.
datafile: "./config/certmanager/cert-manager.yaml"
chart: {
name: "cert-manager"
version: _data.chart.version
repository: {
name: "jetstack"
url: "https://charts.jetstack.io"
}
}
}
#Config: {
namespace: string
datafile: string
chart: core.#Chart & {
version: =~"^v{0,1}[0-9]+\\.[0-9]+\\.[0-9]+$"
}
}

View File

@@ -1,8 +0,0 @@
package main
import "holos.example/config/platform"
// Register all stack components with the platform spec.
for STACK in platform.stacks {
Platform: Components: STACK.components
}

View File

@@ -1,46 +0,0 @@
package platform
import "holos.example/config/certmanager"
stacks: security: (#StackBuilder & {
(#PromoterBuilder & {parameters: {
name: "cert-manager"
config: {
datafile: certmanager.config.datafile
chart: certmanager.config.chart
}
}}).promoter
// Manage the external-secrets namespace.
stack: namespaces: "external-secrets": _
parameters: {
name: "security"
components: {
namespaces: {
path: "stacks/security/components/namespaces"
annotations: description: "configures namespaces for all stacks"
}
"external-secrets-crds": {
path: "stacks/security/components/external-secrets-crds"
annotations: description: "external secrets custom resource definitions"
}
"external-secrets": {
path: "stacks/security/components/external-secrets"
annotations: description: "external secrets custom resource definitions"
}
"cert-manager": {
path: "stacks/security/components/cert-manager"
annotations: description: "cert-manager operator and custom resource definitions"
parameters: {
kargoProject: "cert-manager"
kargoStage: "main"
}
}
"local-ca": {
path: "stacks/security/components/local-ca"
annotations: description: "localhost mkcert certificate authority"
}
}
}
}).stack

View File

@@ -1,4 +0,0 @@
@if(${GH_USER})
package platform
organization: repoURL: "https://github.com/${GH_USER}/kargo-demo.git"

View File

@@ -1,4 +0,0 @@
@if(jeffmccune)
package platform
organization: repoURL: "https://github.com/jeffmccune/kargo-demo.git"

View File

@@ -1 +0,0 @@
holos render platform -t ${GH_USER}

View File

@@ -1,2 +0,0 @@
git add .
git commit -m "Switch to $GH_USER fork"

View File

@@ -1,3 +0,0 @@
[main b883807] Switch to jeffmccune fork
43 files changed, 70 insertions(+), 66 deletions(-)
create mode 100644 config/platform/organization_jeffmccune.cue

View File

@@ -1,686 +0,0 @@
diff --git a/deploy/components/cert-manager-promoter/cert-manager-promoter.gen.yaml b/deploy/components/cert-manager-promoter/cert-manager-promoter.gen.yaml
index 55a6a49..ab483d5 100644
--- a/deploy/components/cert-manager-promoter/cert-manager-promoter.gen.yaml
+++ b/deploy/components/cert-manager-promoter/cert-manager-promoter.gen.yaml
@@ -28,7 +28,7 @@ spec:
checkout:
- branch: main
path: ./src
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
uses: git-clone
- as: update
config:
@@ -51,7 +51,7 @@ spec:
uses: git-push
- as: pull
config:
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
sourceBranch: ${{ outputs.push.branch }}
targetBranch: main
uses: git-open-pr
diff --git a/deploy/components/kargo-promoter/kargo-promoter.gen.yaml b/deploy/components/kargo-promoter/kargo-promoter.gen.yaml
index 87e4bfd..a2eb91d 100644
--- a/deploy/components/kargo-promoter/kargo-promoter.gen.yaml
+++ b/deploy/components/kargo-promoter/kargo-promoter.gen.yaml
@@ -28,7 +28,7 @@ spec:
checkout:
- branch: main
path: ./src
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
uses: git-clone
- as: update
config:
@@ -51,7 +51,7 @@ spec:
uses: git-push
- as: pull
config:
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
sourceBranch: ${{ outputs.push.branch }}
targetBranch: main
uses: git-open-pr
diff --git a/deploy/gitops/app-projects.application.gen.yaml b/deploy/gitops/app-projects.application.gen.yaml
index a98a52e..a58f7fb 100644
--- a/deploy/gitops/app-projects.application.gen.yaml
+++ b/deploy/gitops/app-projects.application.gen.yaml
@@ -10,5 +10,5 @@ spec:
project: argocd
source:
path: deploy/components/app-projects
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
targetRevision: main
diff --git a/deploy/gitops/argocd-crds.application.gen.yaml b/deploy/gitops/argocd-crds.application.gen.yaml
index 6aba002..4ce8835 100644
--- a/deploy/gitops/argocd-crds.application.gen.yaml
+++ b/deploy/gitops/argocd-crds.application.gen.yaml
@@ -10,5 +10,5 @@ spec:
project: argocd
source:
path: deploy/components/argocd-crds
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
targetRevision: main
diff --git a/deploy/gitops/argocd-secrets.application.gen.yaml b/deploy/gitops/argocd-secrets.application.gen.yaml
index 245fb00..0a5b79d 100644
--- a/deploy/gitops/argocd-secrets.application.gen.yaml
+++ b/deploy/gitops/argocd-secrets.application.gen.yaml
@@ -10,5 +10,5 @@ spec:
project: argocd
source:
path: deploy/components/argocd-secrets
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
targetRevision: main
diff --git a/deploy/gitops/argocd.application.gen.yaml b/deploy/gitops/argocd.application.gen.yaml
index 764a55f..6c4cfad 100644
--- a/deploy/gitops/argocd.application.gen.yaml
+++ b/deploy/gitops/argocd.application.gen.yaml
@@ -10,5 +10,5 @@ spec:
project: argocd
source:
path: deploy/components/argocd
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
targetRevision: main
diff --git a/deploy/gitops/cert-manager-promoter.application.gen.yaml b/deploy/gitops/cert-manager-promoter.application.gen.yaml
index c28bb66..a98c0ef 100644
--- a/deploy/gitops/cert-manager-promoter.application.gen.yaml
+++ b/deploy/gitops/cert-manager-promoter.application.gen.yaml
@@ -16,5 +16,5 @@ spec:
project: security
source:
path: deploy/components/cert-manager-promoter
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
targetRevision: main
diff --git a/deploy/gitops/cert-manager.application.gen.yaml b/deploy/gitops/cert-manager.application.gen.yaml
index 14e15f0..d6a24d3 100644
--- a/deploy/gitops/cert-manager.application.gen.yaml
+++ b/deploy/gitops/cert-manager.application.gen.yaml
@@ -12,5 +12,5 @@ spec:
project: security
source:
path: deploy/components/cert-manager
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
targetRevision: main
diff --git a/deploy/gitops/external-secrets-crds.application.gen.yaml b/deploy/gitops/external-secrets-crds.application.gen.yaml
index 5515a52..c86bbf8 100644
--- a/deploy/gitops/external-secrets-crds.application.gen.yaml
+++ b/deploy/gitops/external-secrets-crds.application.gen.yaml
@@ -10,5 +10,5 @@ spec:
project: security
source:
path: deploy/components/external-secrets-crds
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
targetRevision: main
diff --git a/deploy/gitops/external-secrets.application.gen.yaml b/deploy/gitops/external-secrets.application.gen.yaml
index b1b2434..a1a90d2 100644
--- a/deploy/gitops/external-secrets.application.gen.yaml
+++ b/deploy/gitops/external-secrets.application.gen.yaml
@@ -10,5 +10,5 @@ spec:
project: security
source:
path: deploy/components/external-secrets
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
targetRevision: main
diff --git a/deploy/gitops/gateway-api.application.gen.yaml b/deploy/gitops/gateway-api.application.gen.yaml
index a567685..1209068 100644
--- a/deploy/gitops/gateway-api.application.gen.yaml
+++ b/deploy/gitops/gateway-api.application.gen.yaml
@@ -10,5 +10,5 @@ spec:
project: network
source:
path: deploy/components/gateway-api
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
targetRevision: main
diff --git a/deploy/gitops/httproutes.application.gen.yaml b/deploy/gitops/httproutes.application.gen.yaml
index 01e7eea..ba17725 100644
--- a/deploy/gitops/httproutes.application.gen.yaml
+++ b/deploy/gitops/httproutes.application.gen.yaml
@@ -10,5 +10,5 @@ spec:
project: network
source:
path: deploy/components/httproutes
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
targetRevision: main
diff --git a/deploy/gitops/istio-base.application.gen.yaml b/deploy/gitops/istio-base.application.gen.yaml
index 344bba2..32d4f4b 100644
--- a/deploy/gitops/istio-base.application.gen.yaml
+++ b/deploy/gitops/istio-base.application.gen.yaml
@@ -10,5 +10,5 @@ spec:
project: network
source:
path: deploy/components/istio-base
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
targetRevision: main
diff --git a/deploy/gitops/istio-cni.application.gen.yaml b/deploy/gitops/istio-cni.application.gen.yaml
index 478e7c4..5fdf222 100644
--- a/deploy/gitops/istio-cni.application.gen.yaml
+++ b/deploy/gitops/istio-cni.application.gen.yaml
@@ -10,5 +10,5 @@ spec:
project: network
source:
path: deploy/components/istio-cni
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
targetRevision: main
diff --git a/deploy/gitops/istio-gateway.application.gen.yaml b/deploy/gitops/istio-gateway.application.gen.yaml
index 9561e06..0267f9b 100644
--- a/deploy/gitops/istio-gateway.application.gen.yaml
+++ b/deploy/gitops/istio-gateway.application.gen.yaml
@@ -10,5 +10,5 @@ spec:
project: network
source:
path: deploy/components/istio-gateway
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
targetRevision: main
diff --git a/deploy/gitops/istio-ztunnel.application.gen.yaml b/deploy/gitops/istio-ztunnel.application.gen.yaml
index a6da24e..ac21566 100644
--- a/deploy/gitops/istio-ztunnel.application.gen.yaml
+++ b/deploy/gitops/istio-ztunnel.application.gen.yaml
@@ -10,5 +10,5 @@ spec:
project: network
source:
path: deploy/components/istio-ztunnel
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
targetRevision: main
diff --git a/deploy/gitops/istiod.application.gen.yaml b/deploy/gitops/istiod.application.gen.yaml
index 57d3fdc..a09c8b9 100644
--- a/deploy/gitops/istiod.application.gen.yaml
+++ b/deploy/gitops/istiod.application.gen.yaml
@@ -10,5 +10,5 @@ spec:
project: network
source:
path: deploy/components/istiod
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
targetRevision: main
diff --git a/deploy/gitops/kargo-promoter.application.gen.yaml b/deploy/gitops/kargo-promoter.application.gen.yaml
index 079ee37..f6db555 100644
--- a/deploy/gitops/kargo-promoter.application.gen.yaml
+++ b/deploy/gitops/kargo-promoter.application.gen.yaml
@@ -16,5 +16,5 @@ spec:
project: argocd
source:
path: deploy/components/kargo-promoter
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
targetRevision: main
diff --git a/deploy/gitops/kargo-secrets.application.gen.yaml b/deploy/gitops/kargo-secrets.application.gen.yaml
index c1d048b..308560d 100644
--- a/deploy/gitops/kargo-secrets.application.gen.yaml
+++ b/deploy/gitops/kargo-secrets.application.gen.yaml
@@ -10,5 +10,5 @@ spec:
project: argocd
source:
path: deploy/components/kargo-secrets
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
targetRevision: main
diff --git a/deploy/gitops/kargo.application.gen.yaml b/deploy/gitops/kargo.application.gen.yaml
index 22408e1..04f92fc 100644
--- a/deploy/gitops/kargo.application.gen.yaml
+++ b/deploy/gitops/kargo.application.gen.yaml
@@ -10,5 +10,5 @@ spec:
project: argocd
source:
path: deploy/components/kargo
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
targetRevision: main
diff --git a/deploy/gitops/local-ca.application.gen.yaml b/deploy/gitops/local-ca.application.gen.yaml
index 38901f2..16caa18 100644
--- a/deploy/gitops/local-ca.application.gen.yaml
+++ b/deploy/gitops/local-ca.application.gen.yaml
@@ -10,5 +10,5 @@ spec:
project: security
source:
path: deploy/components/local-ca
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
targetRevision: main
diff --git a/deploy/gitops/namespaces.application.gen.yaml b/deploy/gitops/namespaces.application.gen.yaml
index e35f41c..2fd01a8 100644
--- a/deploy/gitops/namespaces.application.gen.yaml
+++ b/deploy/gitops/namespaces.application.gen.yaml
@@ -10,5 +10,5 @@ spec:
project: security
source:
path: deploy/components/namespaces
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
targetRevision: main
diff --git a/deploy/gitops/rollouts-crds.application.gen.yaml b/deploy/gitops/rollouts-crds.application.gen.yaml
index 221cb50..761a823 100644
--- a/deploy/gitops/rollouts-crds.application.gen.yaml
+++ b/deploy/gitops/rollouts-crds.application.gen.yaml
@@ -10,5 +10,5 @@ spec:
project: argocd
source:
path: deploy/components/rollouts-crds
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
targetRevision: main
diff --git a/deploy/gitops/rollouts.application.gen.yaml b/deploy/gitops/rollouts.application.gen.yaml
index f96f85c..d1fc696 100644
--- a/deploy/gitops/rollouts.application.gen.yaml
+++ b/deploy/gitops/rollouts.application.gen.yaml
@@ -10,5 +10,5 @@ spec:
project: argocd
source:
path: deploy/components/rollouts
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
targetRevision: main
diff --git a/deploy/projects/httpbin/components/kargo-stages/kargo-stages.gen.yaml b/deploy/projects/httpbin/components/kargo-stages/kargo-stages.gen.yaml
index 815f6a3..bbf1f89 100644
--- a/deploy/projects/httpbin/components/kargo-stages/kargo-stages.gen.yaml
+++ b/deploy/projects/httpbin/components/kargo-stages/kargo-stages.gen.yaml
@@ -16,7 +16,7 @@ spec:
- branch: project/httpbin/component/dev-httpbin
create: true
path: ./out
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
uses: git-clone
- config:
path: ./out
@@ -46,7 +46,7 @@ spec:
- name: httpbin-dev-httpbin
sources:
- desiredCommitFromStep: commit
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
uses: argocd-update
requestedFreight:
- origin:
@@ -73,7 +73,7 @@ spec:
- branch: project/httpbin/component/prod-us-central-httpbin
create: true
path: ./out
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
uses: git-clone
- config:
path: ./out
@@ -103,7 +103,7 @@ spec:
- name: httpbin-prod-us-central-httpbin
sources:
- desiredCommitFromStep: commit
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
uses: argocd-update
requestedFreight:
- origin:
@@ -131,7 +131,7 @@ spec:
- branch: project/httpbin/component/prod-us-east-httpbin
create: true
path: ./out
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
uses: git-clone
- config:
path: ./out
@@ -161,7 +161,7 @@ spec:
- name: httpbin-prod-us-east-httpbin
sources:
- desiredCommitFromStep: commit
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
uses: argocd-update
requestedFreight:
- origin:
@@ -189,7 +189,7 @@ spec:
- branch: project/httpbin/component/prod-us-west-httpbin
create: true
path: ./out
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
uses: git-clone
- config:
path: ./out
@@ -219,7 +219,7 @@ spec:
- name: httpbin-prod-us-west-httpbin
sources:
- desiredCommitFromStep: commit
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
uses: argocd-update
requestedFreight:
- origin:
@@ -247,7 +247,7 @@ spec:
- branch: project/httpbin/component/test-httpbin
create: true
path: ./out
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
uses: git-clone
- config:
path: ./out
@@ -277,7 +277,7 @@ spec:
- name: httpbin-test-httpbin
sources:
- desiredCommitFromStep: commit
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
uses: argocd-update
requestedFreight:
- origin:
@@ -305,7 +305,7 @@ spec:
- branch: project/httpbin/component/uat-httpbin
create: true
path: ./out
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
uses: git-clone
- config:
path: ./out
@@ -335,7 +335,7 @@ spec:
- name: httpbin-uat-httpbin
sources:
- desiredCommitFromStep: commit
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
uses: argocd-update
requestedFreight:
- origin:
diff --git a/deploy/projects/httpbin/gitops/dev-httpbin.application.gen.yaml b/deploy/projects/httpbin/gitops/dev-httpbin.application.gen.yaml
index 03136e0..8b207ff 100644
--- a/deploy/projects/httpbin/gitops/dev-httpbin.application.gen.yaml
+++ b/deploy/projects/httpbin/gitops/dev-httpbin.application.gen.yaml
@@ -14,5 +14,5 @@ spec:
project: httpbin
source:
path: ./
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
targetRevision: project/httpbin/component/dev-httpbin
diff --git a/deploy/projects/httpbin/gitops/kargo-project.application.gen.yaml b/deploy/projects/httpbin/gitops/kargo-project.application.gen.yaml
index 9e666a7..07ebce2 100644
--- a/deploy/projects/httpbin/gitops/kargo-project.application.gen.yaml
+++ b/deploy/projects/httpbin/gitops/kargo-project.application.gen.yaml
@@ -10,5 +10,5 @@ spec:
project: httpbin
source:
path: deploy/projects/httpbin/components/kargo-project
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
targetRevision: main
diff --git a/deploy/projects/httpbin/gitops/kargo-stages.application.gen.yaml b/deploy/projects/httpbin/gitops/kargo-stages.application.gen.yaml
index df82b81..157a1e0 100644
--- a/deploy/projects/httpbin/gitops/kargo-stages.application.gen.yaml
+++ b/deploy/projects/httpbin/gitops/kargo-stages.application.gen.yaml
@@ -10,5 +10,5 @@ spec:
project: httpbin
source:
path: deploy/projects/httpbin/components/kargo-stages
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
targetRevision: main
diff --git a/deploy/projects/httpbin/gitops/prod-us-central-httpbin.application.gen.yaml b/deploy/projects/httpbin/gitops/prod-us-central-httpbin.application.gen.yaml
index d3eb9ee..3e5e8b3 100644
--- a/deploy/projects/httpbin/gitops/prod-us-central-httpbin.application.gen.yaml
+++ b/deploy/projects/httpbin/gitops/prod-us-central-httpbin.application.gen.yaml
@@ -14,5 +14,5 @@ spec:
project: httpbin
source:
path: ./
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
targetRevision: project/httpbin/component/prod-us-central-httpbin
diff --git a/deploy/projects/httpbin/gitops/prod-us-east-httpbin.application.gen.yaml b/deploy/projects/httpbin/gitops/prod-us-east-httpbin.application.gen.yaml
index 2d768f4..e43d1f6 100644
--- a/deploy/projects/httpbin/gitops/prod-us-east-httpbin.application.gen.yaml
+++ b/deploy/projects/httpbin/gitops/prod-us-east-httpbin.application.gen.yaml
@@ -14,5 +14,5 @@ spec:
project: httpbin
source:
path: ./
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
targetRevision: project/httpbin/component/prod-us-east-httpbin
diff --git a/deploy/projects/httpbin/gitops/prod-us-west-httpbin.application.gen.yaml b/deploy/projects/httpbin/gitops/prod-us-west-httpbin.application.gen.yaml
index 8903303..a7012b0 100644
--- a/deploy/projects/httpbin/gitops/prod-us-west-httpbin.application.gen.yaml
+++ b/deploy/projects/httpbin/gitops/prod-us-west-httpbin.application.gen.yaml
@@ -14,5 +14,5 @@ spec:
project: httpbin
source:
path: ./
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
targetRevision: project/httpbin/component/prod-us-west-httpbin
diff --git a/deploy/projects/httpbin/gitops/test-httpbin.application.gen.yaml b/deploy/projects/httpbin/gitops/test-httpbin.application.gen.yaml
index 5426c31..296e3ed 100644
--- a/deploy/projects/httpbin/gitops/test-httpbin.application.gen.yaml
+++ b/deploy/projects/httpbin/gitops/test-httpbin.application.gen.yaml
@@ -14,5 +14,5 @@ spec:
project: httpbin
source:
path: ./
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
targetRevision: project/httpbin/component/test-httpbin
diff --git a/deploy/projects/httpbin/gitops/uat-httpbin.application.gen.yaml b/deploy/projects/httpbin/gitops/uat-httpbin.application.gen.yaml
index 717e608..264d1c4 100644
--- a/deploy/projects/httpbin/gitops/uat-httpbin.application.gen.yaml
+++ b/deploy/projects/httpbin/gitops/uat-httpbin.application.gen.yaml
@@ -14,5 +14,5 @@ spec:
project: httpbin
source:
path: ./
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
targetRevision: project/httpbin/component/uat-httpbin
diff --git a/deploy/projects/podinfo/components/kargo-stages/kargo-stages.gen.yaml b/deploy/projects/podinfo/components/kargo-stages/kargo-stages.gen.yaml
index 1107e34..2ebbbd1 100644
--- a/deploy/projects/podinfo/components/kargo-stages/kargo-stages.gen.yaml
+++ b/deploy/projects/podinfo/components/kargo-stages/kargo-stages.gen.yaml
@@ -16,7 +16,7 @@ spec:
- branch: project/podinfo/component/dev-podinfo
create: true
path: ./out
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
uses: git-clone
- config:
path: ./out
@@ -46,7 +46,7 @@ spec:
- name: podinfo-dev-podinfo
sources:
- desiredCommitFromStep: commit
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
uses: argocd-update
requestedFreight:
- origin:
@@ -73,7 +73,7 @@ spec:
- branch: project/podinfo/component/prod-us-central-podinfo
create: true
path: ./out
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
uses: git-clone
- config:
path: ./out
@@ -103,7 +103,7 @@ spec:
- name: podinfo-prod-us-central-podinfo
sources:
- desiredCommitFromStep: commit
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
uses: argocd-update
requestedFreight:
- origin:
@@ -131,7 +131,7 @@ spec:
- branch: project/podinfo/component/prod-us-east-podinfo
create: true
path: ./out
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
uses: git-clone
- config:
path: ./out
@@ -161,7 +161,7 @@ spec:
- name: podinfo-prod-us-east-podinfo
sources:
- desiredCommitFromStep: commit
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
uses: argocd-update
requestedFreight:
- origin:
@@ -189,7 +189,7 @@ spec:
- branch: project/podinfo/component/prod-us-west-podinfo
create: true
path: ./out
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
uses: git-clone
- config:
path: ./out
@@ -219,7 +219,7 @@ spec:
- name: podinfo-prod-us-west-podinfo
sources:
- desiredCommitFromStep: commit
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
uses: argocd-update
requestedFreight:
- origin:
@@ -247,7 +247,7 @@ spec:
- branch: project/podinfo/component/test-podinfo
create: true
path: ./out
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
uses: git-clone
- config:
path: ./out
@@ -277,7 +277,7 @@ spec:
- name: podinfo-test-podinfo
sources:
- desiredCommitFromStep: commit
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
uses: argocd-update
requestedFreight:
- origin:
@@ -305,7 +305,7 @@ spec:
- branch: project/podinfo/component/uat-podinfo
create: true
path: ./out
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
uses: git-clone
- config:
path: ./out
@@ -335,7 +335,7 @@ spec:
- name: podinfo-uat-podinfo
sources:
- desiredCommitFromStep: commit
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
uses: argocd-update
requestedFreight:
- origin:
diff --git a/deploy/projects/podinfo/gitops/dev-podinfo.application.gen.yaml b/deploy/projects/podinfo/gitops/dev-podinfo.application.gen.yaml
index 9b3108e..9ac4849 100644
--- a/deploy/projects/podinfo/gitops/dev-podinfo.application.gen.yaml
+++ b/deploy/projects/podinfo/gitops/dev-podinfo.application.gen.yaml
@@ -14,5 +14,5 @@ spec:
project: podinfo
source:
path: ./
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
targetRevision: project/podinfo/component/dev-podinfo
diff --git a/deploy/projects/podinfo/gitops/kargo-project.application.gen.yaml b/deploy/projects/podinfo/gitops/kargo-project.application.gen.yaml
index 3878efa..ab934d5 100644
--- a/deploy/projects/podinfo/gitops/kargo-project.application.gen.yaml
+++ b/deploy/projects/podinfo/gitops/kargo-project.application.gen.yaml
@@ -10,5 +10,5 @@ spec:
project: podinfo
source:
path: deploy/projects/podinfo/components/kargo-project
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
targetRevision: main
diff --git a/deploy/projects/podinfo/gitops/kargo-stages.application.gen.yaml b/deploy/projects/podinfo/gitops/kargo-stages.application.gen.yaml
index 0d4ade7..1b5eb9f 100644
--- a/deploy/projects/podinfo/gitops/kargo-stages.application.gen.yaml
+++ b/deploy/projects/podinfo/gitops/kargo-stages.application.gen.yaml
@@ -10,5 +10,5 @@ spec:
project: podinfo
source:
path: deploy/projects/podinfo/components/kargo-stages
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
targetRevision: main
diff --git a/deploy/projects/podinfo/gitops/prod-us-central-podinfo.application.gen.yaml b/deploy/projects/podinfo/gitops/prod-us-central-podinfo.application.gen.yaml
index 59b3f98..182a3c9 100644
--- a/deploy/projects/podinfo/gitops/prod-us-central-podinfo.application.gen.yaml
+++ b/deploy/projects/podinfo/gitops/prod-us-central-podinfo.application.gen.yaml
@@ -14,5 +14,5 @@ spec:
project: podinfo
source:
path: ./
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
targetRevision: project/podinfo/component/prod-us-central-podinfo
diff --git a/deploy/projects/podinfo/gitops/prod-us-east-podinfo.application.gen.yaml b/deploy/projects/podinfo/gitops/prod-us-east-podinfo.application.gen.yaml
index 0165d40..6101a9b 100644
--- a/deploy/projects/podinfo/gitops/prod-us-east-podinfo.application.gen.yaml
+++ b/deploy/projects/podinfo/gitops/prod-us-east-podinfo.application.gen.yaml
@@ -14,5 +14,5 @@ spec:
project: podinfo
source:
path: ./
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
targetRevision: project/podinfo/component/prod-us-east-podinfo
diff --git a/deploy/projects/podinfo/gitops/prod-us-west-podinfo.application.gen.yaml b/deploy/projects/podinfo/gitops/prod-us-west-podinfo.application.gen.yaml
index 3422981..88b7409 100644
--- a/deploy/projects/podinfo/gitops/prod-us-west-podinfo.application.gen.yaml
+++ b/deploy/projects/podinfo/gitops/prod-us-west-podinfo.application.gen.yaml
@@ -14,5 +14,5 @@ spec:
project: podinfo
source:
path: ./
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
targetRevision: project/podinfo/component/prod-us-west-podinfo
diff --git a/deploy/projects/podinfo/gitops/test-podinfo.application.gen.yaml b/deploy/projects/podinfo/gitops/test-podinfo.application.gen.yaml
index 7ca895f..c3c32a1 100644
--- a/deploy/projects/podinfo/gitops/test-podinfo.application.gen.yaml
+++ b/deploy/projects/podinfo/gitops/test-podinfo.application.gen.yaml
@@ -14,5 +14,5 @@ spec:
project: podinfo
source:
path: ./
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
targetRevision: project/podinfo/component/test-podinfo
diff --git a/deploy/projects/podinfo/gitops/uat-podinfo.application.gen.yaml b/deploy/projects/podinfo/gitops/uat-podinfo.application.gen.yaml
index cb28add..63cf194 100644
--- a/deploy/projects/podinfo/gitops/uat-podinfo.application.gen.yaml
+++ b/deploy/projects/podinfo/gitops/uat-podinfo.application.gen.yaml
@@ -14,5 +14,5 @@ spec:
project: podinfo
source:
path: ./
- repoURL: https://github.com/holos-run/kargo-demo.git
+ repoURL: https://github.com/jeffmccune/kargo-demo.git
targetRevision: project/podinfo/component/uat-podinfo

View File

@@ -1 +0,0 @@
cat <<EOF > config/platform/organization_${GH_USER}.cue

View File

@@ -1,47 +0,0 @@
rendered kargo-project for project podinfo in 438.04325ms
rendered kargo-promoter for stack argocd in 440.84075ms
rendered kargo-secrets for stack argocd in 441.76175ms
rendered rollouts for stack argocd in 441.989625ms
rendered kargo-project for project httpbin in 444.166291ms
rendered kargo-stages for project httpbin in 446.7485ms
rendered kargo-stages for project podinfo in 446.739792ms
rendered argocd-secrets for stack argocd in 448.0085ms
rendered app-projects for stack argocd in 449.610209ms
rendered gateway-api for stack network in 597.720375ms
rendered istio-gateway for stack network in 248.44325ms
rendered rollouts-crds for stack argocd in 885.346417ms
rendered namespaces for stack security in 478.418ms
rendered local-ca for stack security in 244.84025ms
rendered argocd-crds for stack argocd in 991.27875ms
rendered external-secrets-crds for stack security in 686.799417ms
rendered istio-cni for stack network in 748.069458ms
rendered istio-ztunnel for stack network in 762.896542ms
rendered test-httpbin for project httpbin in 318.5385ms
rendered cert-manager-promoter for stack security in 481.661833ms
rendered dev-httpbin for project httpbin in 465.202083ms
Pulled: ghcr.io/akuity/kargo-charts/kargo:1.1.1
Digest: sha256:4055c72418db85b85979da2fe12136c0e275709efc2e36a505b158e8234ad443
rendered kargo for stack argocd in 1.396269208s
rendered istiod for stack network in 997.264208ms
rendered external-secrets for stack security in 996.459042ms
rendered uat-httpbin for project httpbin in 517.124875ms
rendered prod-us-central-httpbin for project httpbin in 344.330875ms
rendered prod-us-east-httpbin for project httpbin in 449.991417ms
rendered prod-us-west-httpbin for project httpbin in 411.234333ms
rendered argocd for stack argocd in 1.631300708s
rendered istio-base for stack network in 1.203177s
rendered cert-manager for stack security in 1.127040208s
rendered httproutes for stack network in 1.556993875s
Pulled: ghcr.io/stefanprodan/charts/podinfo:6.7.0
Digest: sha256:104d101017e501c63b3aa71b20d5edd2ca6d5d58cbc57ff8163770110f92b9db
rendered dev-podinfo for project podinfo in 1.010673334s
rendered test-podinfo for project podinfo in 945.39075ms
rendered prod-us-west-podinfo for project podinfo in 897.117125ms
rendered uat-podinfo for project podinfo in 1.022036209s
Pulled: ghcr.io/stefanprodan/charts/podinfo:6.6.2
Digest: sha256:83295d47de6d6ca634ed4b952a7572fc176bcc38854d0c11ca0fa197bc5f1154
rendered prod-us-central-podinfo for project podinfo in 977.250667ms
Pulled: ghcr.io/stefanprodan/charts/podinfo:6.6.1
Digest: sha256:0cc9a8446c95009ef382f5eade883a67c257f77d50f84e78ecef2aac9428d1e5
rendered prod-us-east-podinfo for project podinfo in 1.071360916s
rendered platform in 2.467827834s

View File

@@ -1,4 +0,0 @@
#! /bin/bash
set -euo pipefail
[[ -s "$1" ]] && [[ -z "${HOLOS_UPDATE_SCRIPTS:-}" ]] && exit 0
cat > "$1"

View File

@@ -1,8 +0,0 @@
cd ../script-setup/kargo-demo
# Execute the example capture stdout and stderr to one file.
exec bash -c 'bash -euo pipefail $WORK/tree.sh 2>&1'
# Copy standard output to a file to embed in the docs.
cp stdout $WORK/tree.txt
-- tree.sh --
tree -L3 -d platform stacks config

View File

@@ -1,87 +0,0 @@
package kargo
import (
"os"
"path/filepath"
"runtime"
"slices"
"strings"
"testing"
"github.com/holos-run/holos/cmd"
"github.com/rogpeppe/go-internal/testscript"
cue "cuelang.org/go/cmd/cue/cmd"
)
func TestMain(m *testing.M) {
os.Exit(testscript.RunMain(m, map[string]func() int{
"holos": cmd.MakeMain(),
"cue": cue.Main,
}))
}
// Run these with go test -v to see the verbose names
func TestKargo(t *testing.T) {
t.Run("AddOnPromoter", func(t *testing.T) {
// Get an ordered list of test script files.
dir := "_platform-components"
for _, file := range sortedTestScripts(t, filepath.Join(dir, "examples")) {
t.Run("examples", func(t *testing.T) {
runOneScript(t, dir, file)
})
}
})
}
func runOneScript(t *testing.T, dir string, file string) {
params := testscript.Params{
Dir: "",
Files: []string{file},
RequireExplicitExec: true,
RequireUniqueNames: false,
WorkdirRoot: filepath.Join(testDir(t), dir),
UpdateScripts: os.Getenv("HOLOS_UPDATE_SCRIPTS") != "",
Setup: func(env *testscript.Env) error {
// Needed for update.sh to determine if we need to update output files.
env.Setenv("HOLOS_UPDATE_SCRIPTS", os.Getenv("HOLOS_UPDATE_SCRIPTS"))
// Just like cmd/cue/cmd.TestScript, set up separate cache and config dirs per test.
env.Setenv("CUE_CACHE_DIR", filepath.Join(env.WorkDir, "tmp/cachedir"))
configDir := filepath.Join(env.WorkDir, "tmp/configdir")
env.Setenv("CUE_CONFIG_DIR", configDir)
return nil
},
}
testscript.Run(t, params)
}
// testDir returns the path of the directory containing the go source file of
// the caller.
func testDir(t *testing.T) string {
_, file, _, ok := runtime.Caller(0)
if !ok {
t.Fatal("could not get runtime caller")
}
return filepath.Dir(file)
}
func sortedTestScripts(t *testing.T, dir string) (files []string) {
entries, err := os.ReadDir(dir)
if os.IsNotExist(err) {
// Continue to helpful error on len(files) == 0 below.
} else if err != nil {
t.Fatal(err)
}
for _, entry := range entries {
name := entry.Name()
if strings.HasSuffix(name, ".txtar") || strings.HasSuffix(name, ".txt") {
files = append(files, filepath.Join(dir, name))
}
}
if len(files) == 0 {
t.Fatalf("no txtar nor txt scripts found in dir %s", dir)
}
slices.Sort(files)
return files
}

View File

@@ -1,40 +0,0 @@
---
title: Progressive Delivery
description: Learn how to manage progressive delivery pipelines with Holos.
sidebar_position: 110
---
import DocCardList from '@theme/DocCardList';
# Progressive Delivery
Holos pairs nicely with [Kargo], offering a holistic way to manage the
configuration of reusable progressive rollout deployment pipelines for Holos
components.
> Kargo is a next-generation continuous delivery and application lifecycle
> orchestration platform for Kubernetes. It builds upon GitOps principles and
> integrates with existing technologies, like Argo CD, to streamline and automate
> the progressive rollout of changes across the many stages of an application's
> lifecycle. ([ref](https://github.com/akuity/kargo#:~:text=Kargo%20is%20a%20next%2Dgeneration,stages%20of%20an%20application's%20lifecycle.))
Two main use cases are addressed within this topic.
1. **Platform Components**: Platform operators want pull requests automatically
opened when new versions of cluster add-ons are available so they can see
upcoming changes clearly.
2. **Workloads**: Product development teams want a well defined deployment
pipeline to automatically and safely promote new features and bug fixes. For
example, from dev to test to staging, then across multiple production regions
globally.
:::tip
Holos pairs well with Kargo to progressively deploy changes across multiple
clusters. Contact us for personalized [support] for your use case.
:::
---
<DocCardList />
[Kargo]: https://kargo.io/
[support]: ../support.mdx

View File

@@ -1,184 +0,0 @@
---
description: Automatic pull requests for platform components.
sidebar_position: 100
---
import useBaseUrl from '@docusaurus/useBaseUrl';
import ThemedImage from '@theme/ThemedImage';
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import CodeBlock from '@theme/CodeBlock';
# Platform Components
## Overview
We'll use Holos to configure Kargo to automatically watch for new versions of
the Istio, cert-manager, and external-secrets cluster platform components.
We'll learn how to define a reusable technique to mix-in the deployment pipeline
to any other cluster add-ons, like Kargo and ArgoCD.
<ThemedImage
alt="Pull Request summary for an available cert-manager update"
sources= {{
light: useBaseUrl('/img/kargo/add-on-promoter/kargo-pr-small.light.png'),
dark: useBaseUrl('/img/kargo/add-on-promoter/kargo-pr-small.dark.png'),
}}
/>
<ThemedImage
alt="Pull Request diff for an available cert-manager update"
sources= {{
light: useBaseUrl('/img/kargo/add-on-promoter/diff.light.png'),
dark: useBaseUrl('/img/kargo/add-on-promoter/diff.dark.png'),
}}
/>
## Setup
First, [fork] the [kargo-demo] repository to your personal account. Set your
GitHub user name for use through the rest of this tutorial.
```bash
export GH_USER=<your username>
```
Clone your fork. We'll run the rest of the commands from the root of the
repository.
import SetupCommand from '!!raw-loader!./_platform-components/script-01-clone/command.sh';
import SetupOutput from '!!raw-loader!./_platform-components/script-01-clone/output.txt';
<Tabs groupId="setup">
<TabItem value="command" label="Command">
<CodeBlock language="bash">{SetupCommand}</CodeBlock>
</TabItem>
<TabItem value="output" label="Output">
<CodeBlock language="txt">{SetupOutput}</CodeBlock>
</TabItem>
</Tabs>
## Configuration Tour
Let's review what happens when the `holos render platform` command renders the
Kargo deployment pipeline configuration for `cert-manager`.
import GitHubLink from '@site/src/components/GitHubLink';
import GitCommit from '!!raw-loader!./_platform-components/script-01-clone/git.commit';
import CertManagerEntrypointPath from '!!raw-loader!./_platform-components/script-10-cert-manager/entrypoint.path';
import CertManagerEntrypointBaseName from '!!raw-loader!./_platform-components/script-10-cert-manager/entrypoint.basename';
import CertManagerEntrypointCode from '!!raw-loader!./_platform-components/script-10-cert-manager/entrypoint.txt';
import CertManagerStacksPath from '!!raw-loader!./_platform-components/script-10-cert-manager/stacks.path';
import CertManagerStacksBaseName from '!!raw-loader!./_platform-components/script-10-cert-manager/stacks.basename';
import CertManagerStacksCode from '!!raw-loader!./_platform-components/script-10-cert-manager/stacks.txt';
import CertManagerComponentPath from '!!raw-loader!./_platform-components/script-10-cert-manager/component.path';
import CertManagerComponentBaseName from '!!raw-loader!./_platform-components/script-10-cert-manager/component.basename';
import CertManagerComponentCode from '!!raw-loader!./_platform-components/script-10-cert-manager/component.txt';
import CertManagerConfigPath from '!!raw-loader!./_platform-components/script-10-cert-manager/config.path';
import CertManagerConfigBaseName from '!!raw-loader!./_platform-components/script-10-cert-manager/config.basename';
import CertManagerConfigCode from '!!raw-loader!./_platform-components/script-10-cert-manager/config.txt';
1. <GitHubLink repo="holos-run/kargo-demo" tree={GitCommit} path={CertManagerEntrypointPath}>{CertManagerEntrypointPath}</GitHubLink> is the main entrypoint for the `holos render platform` command. Each platform stack's components are composed into the Platform spec `holos` uses to render each component.
1. <GitHubLink repo="holos-run/kargo-demo" tree={GitCommit} path={`${CertManagerStacksPath}#L32-L39`}>{CertManagerStacksBaseName}</GitHubLink> in the platform config package is where cert-manager is added to the platform as a holos component.
1. <GitHubLink repo="holos-run/kargo-demo" tree={GitCommit} path={CertManagerComponentPath}>{CertManagerComponentBaseName}</GitHubLink> is the component definition. The component imports the certmanager config package to get the chart version.
1. <GitHubLink repo="holos-run/kargo-demo" tree={GitCommit} path={CertManagerConfigPath}>{CertManagerConfigBaseName}</GitHubLink> in the certmanager config package defines configuration imported by multiple components. This file uses the CUE embed feature to load data from a yaml file in the same directory. Kargo promotion steps update the cert manager version in this file.
Cert Manager is managed as a Holos Component wrapping the official helm chart.
See
<Tabs groupId="render-git-url">
<TabItem value="entrypoint" label={CertManagerEntrypointBaseName}>
<CodeBlock language="txt">{CertManagerEntrypointPath}</CodeBlock>
<CodeBlock language="cue">{CertManagerEntrypointCode}</CodeBlock>
</TabItem>
<TabItem value="stacks" label={CertManagerStacksBaseName}>
<CodeBlock language="txt">{CertManagerStacksPath}</CodeBlock>
<CodeBlock language="cue">{CertManagerStacksCode}</CodeBlock>
</TabItem>
<TabItem value="component" label={CertManagerComponentBaseName}>
<CodeBlock language="txt">{CertManagerComponentPath}</CodeBlock>
<CodeBlock language="cue">{CertManagerComponentCode}</CodeBlock>
</TabItem>
<TabItem value="config" label={CertManagerConfigBaseName}>
<CodeBlock language="txt">{CertManagerConfigPath}</CodeBlock>
<CodeBlock language="cue">{CertManagerConfigCode}</CodeBlock>
</TabItem>
</Tabs>
## Holos Version
Ensure you have a current version of `holos` installed. This document was
tested with the following version.
import HolosVersionCommand from '!!raw-loader!./_platform-components/script-20-holos-version/command.sh';
import HolosVersionOutput from '!!raw-loader!./_platform-components/script-20-holos-version/output.txt';
<CodeBlock language="bash">{HolosVersionCommand}</CodeBlock>
<CodeBlock language="txt">{HolosVersionOutput}</CodeBlock>
## Configure Git URL
We need to configure gitops tools like ArgoCD and Kargo to use our fork instead
of the upstream repository when reconciling changes and opening pull requests.
Create the following file to configure your fork url.
import GitURLHeader from '!!raw-loader!./_platform-components/script-30-git-url/header.sh';
import GitURLBody from '!!raw-loader!./_platform-components/script-30-git-url/body.txt';
import GitURLTrailer from '!!raw-loader!./_platform-components/script-30-git-url/trailer.sh';
<CodeBlock language="bash">{GitURLHeader}</CodeBlock>
<CodeBlock language="cue">{GitURLBody}</CodeBlock>
<CodeBlock language="bash">{GitURLTrailer}</CodeBlock>
Then render the platform with your GitHub user name as a cue build tag.
import RenderCommand from '!!raw-loader!./_platform-components/script-30-git-url/command.sh';
import RenderOutput from '!!raw-loader!./_platform-components/script-30-git-url/output.txt';
<Tabs groupId="render-git-url">
<TabItem value="command" label="Command">
<CodeBlock language="bash">{RenderCommand}</CodeBlock>
</TabItem>
<TabItem value="output" label="Output">
<CodeBlock language="txt">{RenderOutput}</CodeBlock>
</TabItem>
</Tabs>
Holos reconfigures the Application resources for all components in the platform
to point to your git url. Take a look at the diff.
import DiffCommand from '!!raw-loader!./_platform-components/script-30-git-url/diff.sh';
import DiffOutput from '!!raw-loader!./_platform-components/script-30-git-url/diff.patch';
<Tabs groupId="git-diff">
<TabItem value="command" label="Command">
<CodeBlock language="bash">{DiffCommand}</CodeBlock>
</TabItem>
<TabItem value="output" label="Output">
<CodeBlock language="diff">{DiffOutput}</CodeBlock>
</TabItem>
</Tabs>
Commit and push the changes.
import CommitCommand from '!!raw-loader!./_platform-components/script-30-git-url/commit.sh';
import CommitOutput from '!!raw-loader!./_platform-components/script-30-git-url/commit.txt';
<Tabs groupId="git-commit">
<TabItem value="command" label="Command">
<CodeBlock language="bash">{CommitCommand}</CodeBlock>
</TabItem>
<TabItem value="output" label="Output">
<CodeBlock language="txt">{CommitOutput}</CodeBlock>
</TabItem>
</Tabs>
<CodeBlock language="bash">git push</CodeBlock>
[kargo-demo]: https://github.com/holos-run/kargo-demo
[fork]: https://github.com/holos-run/kargo-demo/fork
[installed]: ../../tutorial/setup.mdx

View File

@@ -1,38 +0,0 @@
---
description: Progressive delivery for your Workloads.
sidebar_position: 200
---
# Workloads
{/*
Based on my experience with enterprise Kubernetes platforms, "Workloads" or
"Applications" are the two most common terms, with "Workloads" being more
technically precise and common in platform engineering circles.
Here's why:
1. "Workloads" is preferred because:
- It's the term Kubernetes itself uses (Deployments, StatefulSets etc. are "workload" resources)
- It encompasses both services and batch jobs
- It clearly distinguishes from platform infrastructure
- Major cloud providers (AWS, GCP, Azure) use this terminology
2. "Applications" is also common but has some drawbacks:
- Can be ambiguous whether it means a single service or a group of services
- Doesn't naturally include batch jobs or data processing
- More of a business/product term than a technical one
3. Less common terms:
- "Services" - Too specific, excludes jobs/tasks
- "Business Applications" - Too wordy
- "User Applications" - Ambiguous about which users
- "Customer Workloads" - Implies external customers
Looking at your question about "software my internal teams build for our
business", these are classic workloads - the business logic, services, and jobs
that run on top of the platform you provide.
So while both "Workloads" and "Applications" are acceptable, "Workloads" is the
more precise and commonly used technical term in platform engineering contexts.
*/}

View File

@@ -4,4 +4,4 @@ cmp stdout $WORK/output.txt
-- command.sh --
holos --version
-- output.txt --
0.103.0
0.102.5

View File

@@ -1,3 +1,3 @@
[main e1c6859] add blackbox configuration
[main 1adcd08] add blackbox configuration
1 file changed, 15 insertions(+)
create mode 100644 config/prometheus/blackbox.cue
create mode 100644 components/blackbox.cue

View File

@@ -1,3 +1,2 @@
[main 668706a] integrate blackbox and prometheus together
3 files changed, 1348 insertions(+), 2 deletions(-)
create mode 100644 components/prometheus/values.cue.orig
[main 4221803] integrate blackbox and prometheus together
2 files changed, 4 insertions(+), 2 deletions(-)

View File

@@ -1,4 +1,4 @@
[main 7bc6772] import values
[main 52e90ea] import values
2 files changed, 1815 insertions(+)
create mode 100644 components/blackbox/values.cue
create mode 100644 components/prometheus/values.cue

View File

@@ -1,3 +1,3 @@
rendered blackbox in 146.654292ms
rendered prometheus in 178.845292ms
rendered platform in 178.9115ms
rendered blackbox in 365.936792ms
rendered prometheus in 371.855875ms
rendered platform in 372.109916ms

View File

@@ -1,4 +1,4 @@
[main d144f24] add blackbox and prometheus
[main b5df111] add blackbox and prometheus
5 files changed, 1550 insertions(+)
create mode 100644 components/blackbox/blackbox.cue
create mode 100644 components/prometheus/prometheus.cue

View File

@@ -1,3 +1,5 @@
rendered blackbox in 1.794799666s
rendered prometheus in 1.835097625s
rendered platform in 1.835185792s
cached prometheus-blackbox-exporter 9.0.1
rendered blackbox in 3.825430417s
cached prometheus 25.27.0
rendered prometheus in 4.840089667s
rendered platform in 4.840137792s

View File

@@ -1,2 +1,2 @@
[main 1399737] render integrated blackbox and prometheus manifests
[main 67efe0d] render integrated blackbox and prometheus manifests
2 files changed, 7 insertions(+), 7 deletions(-)

View File

@@ -1,6 +0,0 @@
export default function GitHubLink({ repo, tree, path, children }: { repo: string, commit: string, path: string, children: React.ReactNode }) {
const href = `https://github.com/${repo}/tree/${tree}/${path}`
return (
<a href={href} target="_blank" rel="noopener noreferrer">{children}</a>
);
};

View File

@@ -22,12 +22,8 @@
/docs/comparison/ /docs/v1alpha5/topics/comparison/ 301
/docs/support /docs/v1alpha5/tutorial/overview/#getting-help 301
/docs/support/ /docs/v1alpha5/tutorial/overview/#getting-help 301
/docs/api/core /docs/v1alpha5/api/core/ 301
/docs/api/core/ /docs/v1alpha5/api/core/ 301
/docs/api/author /docs/v1alpha5/api/author/ 301
/docs/api/author/ /docs/v1alpha5/api/author/ 301
# Redirect to our own take on the pattern once we figure out what to call it.
# See: https://discord.com/channels/1299051862418395216/1299055980738383882/1327347525354524805
/blog/the-rendered-manifests-pattern https://akuity.io/blog/the-rendered-manifests-pattern 301
# without the s which I always forget
/blog/the-rendered-manifest-pattern https://akuity.io/blog/the-rendered-manifests-pattern 301

Binary file not shown.

Before

Width:  |  Height:  |  Size: 510 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 462 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

View File

@@ -219,38 +219,13 @@ func (t generatorTask) helm(ctx context.Context) error {
}
}
// Write value files
// Write values file
tempDir, err := os.MkdirTemp("", "holos.helm")
if err != nil {
return errors.Format("could not make temp dir: %w", err)
}
defer util.Remove(ctx, tempDir)
// valueFiles represents the ordered list of value files to pass to helm
// template -f
var valueFiles []string
// valueFiles for the use case of migration from helm value hierarchies.
for _, valueFile := range t.generator.Helm.ValueFiles {
var data []byte
switch valueFile.Kind {
case "Values":
if data, err = yaml.Marshal(valueFile.Values); err != nil {
return errors.Format("could not marshal value file %s: %w", valueFile.Name, err)
}
default:
return errors.Format("could not marshal value file %s: unknown kind %s", valueFile.Name, valueFile.Kind)
}
valuesPath := filepath.Join(tempDir, valueFile.Name)
if err := os.WriteFile(valuesPath, data, 0666); err != nil {
return errors.Wrap(fmt.Errorf("could not write value file %s: %w", valueFile.Name, err))
}
log.DebugContext(ctx, fmt.Sprintf("wrote: %s", valuesPath))
valueFiles = append(valueFiles, valuesPath)
}
// The final values files
data, err := yaml.Marshal(t.generator.Helm.Values)
if err != nil {
return errors.Format("could not marshal values: %w", err)
@@ -260,8 +235,7 @@ func (t generatorTask) helm(ctx context.Context) error {
if err := os.WriteFile(valuesPath, data, 0666); err != nil {
return errors.Wrap(fmt.Errorf("could not write values: %w", err))
}
log.DebugContext(ctx, fmt.Sprintf("wrote: %s", valuesPath))
valueFiles = append(valueFiles, valuesPath)
log.DebugContext(ctx, "wrote"+valuesPath)
// Run charts
args := []string{"template"}
@@ -274,11 +248,9 @@ func (t generatorTask) helm(ctx context.Context) error {
if kubeVersion := t.generator.Helm.KubeVersion; kubeVersion != "" {
args = append(args, "--kube-version", kubeVersion)
}
args = append(args, "--include-crds")
for _, valueFilePath := range valueFiles {
args = append(args, "--values", valueFilePath)
}
args = append(args,
"--include-crds",
"--values", valuesPath,
"--namespace", t.generator.Helm.Namespace,
"--kubeconfig", "/dev/null",
"--version", t.generator.Helm.Chart.Version,

View File

@@ -95,10 +95,6 @@ import "github.com/holos-run/holos/api/core/v1alpha5:core"
// Values represents data to marshal into a values.yaml for helm.
Values: core.#Values
// ValueFiles represents value files for migration from helm value
// hierarchies. Use Values instead.
ValueFiles?: [...core.#ValueFile] @go(,[]core.ValueFile)
// EnableHooks enables helm hooks when executing the `helm template` command.
EnableHooks: bool & (true | *false)

View File

@@ -129,14 +129,9 @@ package core
chart: #Chart @go(Chart)
// Values represents values for holos to marshal into values.yaml when
// rendering the chart. Values follow ValueFiles when both are provided.
// rendering the chart.
values: #Values @go(Values)
// ValueFiles represents hierarchial value files passed in order to the helm
// template -f flag. Useful for migration from an ApplicationSet. Use Values
// instead. ValueFiles precede Values when both are provided.
valueFiles?: [...#ValueFile] @go(ValueFiles,[]ValueFile)
// EnableHooks enables helm hooks when executing the `helm template` command.
enableHooks?: bool @go(EnableHooks)
@@ -150,19 +145,6 @@ package core
kubeVersion?: string @go(KubeVersion)
}
// ValueFile represents one Helm value file produced from CUE.
#ValueFile: {
// Name represents the file name, e.g. "region-values.yaml"
name: string @go(Name)
// Kind is a discriminator.
kind: string & "Values" @go(Kind)
// Values represents values for holos to marshal into the file name specified
// by Name when rendering the chart.
values?: #Values @go(Values)
}
// Values represents [Helm] Chart values generated from CUE.
#Values: {...}

View File

@@ -95,7 +95,6 @@ import (
release: string | *name
}
Values: _
ValueFiles?: _
EnableHooks: _
Namespace?: _
APIVersions?: _
@@ -111,11 +110,8 @@ import (
kind: "Helm"
output: HelmOutput
helm: core.#Helm & {
chart: Chart
values: Values
if ValueFiles != _|_ {
valueFiles: ValueFiles
}
chart: Chart
values: Values
enableHooks: EnableHooks
if Namespace != _|_ {
namespace: Namespace

View File

@@ -1 +1 @@
103
102

View File

@@ -1 +1 @@
0
5