Skip to content
This repository was archived by the owner on May 31, 2024. It is now read-only.

Commit b25fec3

Browse files
feat: add support for SOPS (#100)
1 parent 908d191 commit b25fec3

File tree

24 files changed

+645
-714
lines changed

24 files changed

+645
-714
lines changed

.goreleaser.yml

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,8 @@ builds:
1414
- CGO_ENABLED=0
1515
goarch:
1616
- amd64
17-
- arm64
1817
goos:
1918
- linux
20-
- darwin
2119
flags:
2220
- -trimpath
2321
mod_timestamp: '{{ .CommitTimestamp }}'
@@ -167,17 +165,20 @@ changelog:
167165
sboms:
168166
- artifacts: archive
169167
signs:
170-
- cmd: cosign
171-
stdin: '{{ .Env.COSIGN_PWD }}'
172-
args: ["sign-blob", "--key=cosign.key", "--output=${signature}", "${artifact}"]
173-
artifacts: checksum
168+
- cmd: cosign
169+
args:
170+
- "sign-blob"
171+
- "--output-signature=${signature}"
172+
- "${artifact}"
173+
- "--yes"
174+
artifacts: all
174175
docker_signs:
175176
- cmd: cosign
176177
artifacts: manifests
177178
output: true
178-
stdin: '{{ .Env.COSIGN_PWD }}'
179179
args:
180180
- 'sign'
181+
- "--output-signature=${signature}"
181182
- '${artifact}@${digest}'
182183
- --yes
183184
#brews:

Makefile

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -84,24 +84,28 @@ kind-up:
8484
@echo "Building kubernetes $${KIND_K8S_VERSION:-v1.25.0}..."
8585
@kind create cluster --name $(K3S_NAME) --image kindest/node:$${KIND_K8S_VERSION:-v1.25.0} --wait=120s
8686

87+
kind-load-image: PLUGIN_IMG = ghcr.io/buttahtoast/subst-cmp:local
88+
kind-load-image: docker-build-cmp
89+
@echo "Loading image into cluster..."
90+
@kind load docker-image ${PLUGIN_IMG} --name $(K3S_NAME)
91+
8792
.PHONY: kind-down
8893
kind-down:
8994
@echo "Deleting cluser..."
9095
@kind delete cluster --name $(K3S_NAME)
9196

9297
# Local ArgoCD Development environment
9398
.PHONY: argocd-dev
94-
argocd-dev: kind-up argocd-install load-cmp
99+
argocd-dev: kind-up kind-load-image argocd-install
95100
@echo "ArgoCD is available at http://localhost:8080"
101+
make argocd-admin
96102

97103
.PHONY: argocd-install
98104
argocd-install:
99105
@helm repo add argo https://argoproj.github.io/argo-helm
100106
@helm repo update
101-
@helm upgrade --install argo/argocd --namespace argocd --create-namespace --name argocd --values argocd-values.yaml
107+
@helm upgrade --install argocd argo/argo-cd --namespace argocd --create-namespace --values hack/argocd-values.yaml
108+
@kubectl kustomize hack/ | kubectl apply -f -
102109

103-
# Loads local cmp build of subst into kind cluster and restarts argocd components
104-
.PHONY: load-cmp
105-
load-cmp:
106-
@make docker-build-cmp
107-
@kind load docker-image ${PLUGIN_IMG} --name $(K3S_NAME)
110+
argocd-admin:
111+
@kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d

cosign.key

Lines changed: 0 additions & 11 deletions
This file was deleted.

cosign.pub

Lines changed: 0 additions & 4 deletions
This file was deleted.

examples/10-dump-data/test.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
test: true

go.mod

Lines changed: 108 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -3,101 +3,173 @@ module github.com/buttahtoast/subst
33
go 1.19
44

55
require (
6+
github.com/BurntSushi/toml v1.2.1
67
github.com/MakeNowJust/heredoc v1.0.0
7-
github.com/Shopify/ejson v1.3.3
8-
github.com/cyphar/filepath-securejoin v0.2.3
9-
github.com/drone/envsubst v1.0.3
8+
github.com/Masterminds/sprig/v3 v3.2.3
9+
github.com/buttahtoast/pkg/decryptors v0.0.0-20240118231345-2f3b4888024a
1010
github.com/geofffranks/simpleyaml v0.0.0-20161109204137-c9320f076de5
1111
github.com/geofffranks/spruce v1.29.0
12-
github.com/json-iterator/go v1.1.12
13-
github.com/nqd/flat v0.2.0
14-
github.com/sirupsen/logrus v1.8.1
12+
github.com/sirupsen/logrus v1.9.3
1513
github.com/spf13/cobra v1.6.1
1614
github.com/spf13/pflag v1.0.5
1715
github.com/spf13/viper v1.14.0
1816
github.com/starkandwayne/goutils v0.0.0-20190115202530-896b8a6904be
1917
gopkg.in/yaml.v2 v2.4.0
20-
k8s.io/apimachinery v0.26.0
21-
k8s.io/client-go v0.26.0
18+
k8s.io/client-go v0.27.4
2219
sigs.k8s.io/kustomize/api v0.13.2
2320
sigs.k8s.io/kustomize/kyaml v0.14.1
2421
sigs.k8s.io/yaml v1.3.0
2522
)
2623

2724
require (
28-
github.com/BurntSushi/toml v1.2.1 // indirect
25+
cloud.google.com/go/compute v1.23.0 // indirect
26+
cloud.google.com/go/compute/metadata v0.2.3 // indirect
27+
cloud.google.com/go/iam v1.1.1 // indirect
28+
cloud.google.com/go/kms v1.15.1 // indirect
29+
filippo.io/age v1.1.1 // indirect
30+
github.com/Azure/azure-sdk-for-go v68.0.0+incompatible // indirect
31+
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.6.1 // indirect
32+
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.3.0 // indirect
33+
github.com/Azure/azure-sdk-for-go/sdk/internal v1.3.0 // indirect
34+
github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/azkeys v1.0.0 // indirect
35+
github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/internal v0.8.0 // indirect
36+
github.com/Azure/go-autorest v14.2.0+incompatible // indirect
37+
github.com/Azure/go-autorest/autorest v0.11.29 // indirect
38+
github.com/Azure/go-autorest/autorest/adal v0.9.23 // indirect
39+
github.com/Azure/go-autorest/autorest/azure/auth v0.5.12 // indirect
40+
github.com/Azure/go-autorest/autorest/azure/cli v0.4.6 // indirect
41+
github.com/Azure/go-autorest/autorest/date v0.3.0 // indirect
42+
github.com/Azure/go-autorest/autorest/to v0.4.0 // indirect
43+
github.com/Azure/go-autorest/autorest/validation v0.3.1 // indirect
44+
github.com/Azure/go-autorest/logger v0.2.1 // indirect
45+
github.com/Azure/go-autorest/tracing v0.6.0 // indirect
46+
github.com/AzureAD/microsoft-authentication-library-for-go v1.0.0 // indirect
2947
github.com/Knetic/govaluate v3.0.0+incompatible // indirect
3048
github.com/Masterminds/goutils v1.1.1 // indirect
3149
github.com/Masterminds/semver/v3 v3.2.0 // indirect
32-
github.com/Masterminds/sprig/v3 v3.2.3 // indirect
33-
github.com/aws/aws-sdk-go v1.44.168 // indirect
50+
github.com/ProtonMail/go-crypto v0.0.0-20230717121422-5aa5874ade95 // indirect
51+
github.com/Shopify/ejson v1.4.1 // indirect
52+
github.com/aws/aws-sdk-go v1.44.321 // indirect
53+
github.com/aws/aws-sdk-go-v2 v1.18.1 // indirect
54+
github.com/aws/aws-sdk-go-v2/config v1.18.27 // indirect
55+
github.com/aws/aws-sdk-go-v2/credentials v1.13.26 // indirect
56+
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.4 // indirect
57+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.34 // indirect
58+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.28 // indirect
59+
github.com/aws/aws-sdk-go-v2/internal/ini v1.3.35 // indirect
60+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.28 // indirect
61+
github.com/aws/aws-sdk-go-v2/service/kms v1.22.2 // indirect
62+
github.com/aws/aws-sdk-go-v2/service/sso v1.12.12 // indirect
63+
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.12 // indirect
64+
github.com/aws/aws-sdk-go-v2/service/sts v1.19.2 // indirect
65+
github.com/aws/smithy-go v1.13.5 // indirect
66+
github.com/blang/semver v3.5.1+incompatible // indirect
67+
github.com/cenkalti/backoff/v3 v3.2.2 // indirect
68+
github.com/cloudflare/circl v1.3.3 // indirect
3469
github.com/cloudfoundry-community/vaultkv v0.5.0 // indirect
3570
github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect
3671
github.com/davecgh/go-spew v1.1.1 // indirect
72+
github.com/dimchansky/utfbom v1.1.1 // indirect
3773
github.com/dustin/gojson v0.0.0-20160307161227-2e71ec9dd5ad // indirect
38-
github.com/emicklei/go-restful/v3 v3.10.1 // indirect
74+
github.com/emicklei/go-restful/v3 v3.10.2 // indirect
3975
github.com/evanphx/json-patch v5.6.0+incompatible // indirect
76+
github.com/fatih/color v1.15.0 // indirect
4077
github.com/fsnotify/fsnotify v1.6.0 // indirect
4178
github.com/geofffranks/yaml v0.0.0-20161117152608-9f2fe4b6f295 // indirect
4279
github.com/go-errors/errors v1.4.2 // indirect
43-
github.com/go-logr/logr v1.2.3 // indirect
44-
github.com/go-openapi/jsonpointer v0.19.6 // indirect
45-
github.com/go-openapi/jsonreference v0.20.1 // indirect
46-
github.com/go-openapi/swag v0.22.3 // indirect
80+
github.com/go-jose/go-jose/v3 v3.0.0 // indirect
81+
github.com/go-logr/logr v1.2.4 // indirect
82+
github.com/go-openapi/jsonpointer v0.20.0 // indirect
83+
github.com/go-openapi/jsonreference v0.20.2 // indirect
84+
github.com/go-openapi/swag v0.22.4 // indirect
4785
github.com/gogo/protobuf v1.3.2 // indirect
48-
github.com/golang/protobuf v1.5.2 // indirect
86+
github.com/golang-jwt/jwt/v4 v4.5.0 // indirect
87+
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
88+
github.com/golang/protobuf v1.5.3 // indirect
4989
github.com/google/gnostic v0.6.9 // indirect
5090
github.com/google/go-cmp v0.5.9 // indirect
5191
github.com/google/gofuzz v1.2.0 // indirect
92+
github.com/google/s2a-go v0.1.5 // indirect
5293
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect
53-
github.com/google/uuid v1.1.2 // indirect
94+
github.com/google/uuid v1.3.0 // indirect
95+
github.com/googleapis/enterprise-certificate-proxy v0.2.5 // indirect
96+
github.com/googleapis/gax-go/v2 v2.12.0 // indirect
97+
github.com/goware/prefixer v0.0.0-20160118172347-395022866408 // indirect
98+
github.com/hashicorp/errwrap v1.1.0 // indirect
99+
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
100+
github.com/hashicorp/go-multierror v1.1.1 // indirect
101+
github.com/hashicorp/go-retryablehttp v0.7.4 // indirect
102+
github.com/hashicorp/go-rootcerts v1.0.2 // indirect
103+
github.com/hashicorp/go-secure-stdlib/parseutil v0.1.7 // indirect
104+
github.com/hashicorp/go-secure-stdlib/strutil v0.1.2 // indirect
105+
github.com/hashicorp/go-sockaddr v1.0.2 // indirect
54106
github.com/hashicorp/hcl v1.0.0 // indirect
107+
github.com/hashicorp/vault/api v1.9.2 // indirect
108+
github.com/howeyc/gopass v0.0.0-20210920133722-c8aef6fb66ef // indirect
55109
github.com/huandu/xstrings v1.3.3 // indirect
56-
github.com/imdario/mergo v0.3.13 // indirect
110+
github.com/imdario/mergo v0.3.16 // indirect
57111
github.com/inconshreveable/mousetrap v1.1.0 // indirect
58112
github.com/jmespath/go-jmespath v0.4.0 // indirect
59113
github.com/josharian/intern v1.0.0 // indirect
114+
github.com/json-iterator/go v1.1.12 // indirect
115+
github.com/kylelemons/godebug v1.1.0 // indirect
116+
github.com/lib/pq v1.10.5 // indirect
60117
github.com/magiconair/properties v1.8.7 // indirect
61118
github.com/mailru/easyjson v0.7.7 // indirect
62-
github.com/mattn/go-isatty v0.0.16 // indirect
63-
github.com/mitchellh/copystructure v1.0.0 // indirect
119+
github.com/mattn/go-colorable v0.1.13 // indirect
120+
github.com/mattn/go-isatty v0.0.19 // indirect
121+
github.com/mitchellh/copystructure v1.2.0 // indirect
122+
github.com/mitchellh/go-homedir v1.1.0 // indirect
123+
github.com/mitchellh/go-wordwrap v1.0.1 // indirect
64124
github.com/mitchellh/mapstructure v1.5.0 // indirect
65-
github.com/mitchellh/reflectwalk v1.0.0 // indirect
125+
github.com/mitchellh/reflectwalk v1.0.2 // indirect
66126
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
67127
github.com/modern-go/reflect2 v1.0.2 // indirect
68128
github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00 // indirect
69129
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
70130
github.com/onsi/ginkgo v1.16.5 // indirect
71-
github.com/onsi/ginkgo/v2 v2.5.0 // indirect
72-
github.com/onsi/gomega v1.24.1 // indirect
131+
github.com/onsi/ginkgo/v2 v2.11.0 // indirect
73132
github.com/pelletier/go-toml v1.9.5 // indirect
74133
github.com/pelletier/go-toml/v2 v2.0.6 // indirect
134+
github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 // indirect
75135
github.com/pkg/errors v0.9.1 // indirect
76136
github.com/russross/blackfriday/v2 v2.1.0 // indirect
137+
github.com/ryanuber/go-glob v1.0.0 // indirect
77138
github.com/shopspring/decimal v1.2.0 // indirect
78139
github.com/spf13/afero v1.9.3 // indirect
79140
github.com/spf13/cast v1.5.0 // indirect
80141
github.com/spf13/jwalterweatherman v1.1.0 // indirect
81142
github.com/subosito/gotenv v1.4.1 // indirect
82143
github.com/xlab/treeprint v1.1.0 // indirect
83144
github.com/ziutek/utils v0.0.0-20190626152656-eb2a3b364d6c // indirect
145+
go.mozilla.org/gopgagent v0.0.0-20170926210634-4d7ea76ff71a // indirect
146+
go.mozilla.org/sops/v3 v3.7.3 // indirect
147+
go.opencensus.io v0.24.0 // indirect
84148
go.starlark.net v0.0.0-20221205180719-3fd0dac74452 // indirect
85-
golang.org/x/crypto v0.4.0 // indirect
86-
golang.org/x/net v0.4.0 // indirect
87-
golang.org/x/oauth2 v0.3.0 // indirect
88-
golang.org/x/sys v0.3.0 // indirect
89-
golang.org/x/term v0.3.0 // indirect
90-
golang.org/x/text v0.5.0 // indirect
149+
golang.org/x/crypto v0.12.0 // indirect
150+
golang.org/x/net v0.14.0 // indirect
151+
golang.org/x/oauth2 v0.11.0 // indirect
152+
golang.org/x/sync v0.3.0 // indirect
153+
golang.org/x/sys v0.11.0 // indirect
154+
golang.org/x/term v0.11.0 // indirect
155+
golang.org/x/text v0.12.0 // indirect
91156
golang.org/x/time v0.3.0 // indirect
157+
google.golang.org/api v0.136.0 // indirect
92158
google.golang.org/appengine v1.6.7 // indirect
93-
google.golang.org/protobuf v1.28.1 // indirect
159+
google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5 // indirect
160+
google.golang.org/genproto/googleapis/api v0.0.0-20230803162519-f966b187b2e5 // indirect
161+
google.golang.org/genproto/googleapis/rpc v0.0.0-20230807174057-1744710a1577 // indirect
162+
google.golang.org/grpc v1.57.0 // indirect
163+
google.golang.org/protobuf v1.31.0 // indirect
94164
gopkg.in/inf.v0 v0.9.1 // indirect
95165
gopkg.in/ini.v1 v1.67.0 // indirect
166+
gopkg.in/urfave/cli.v1 v1.20.0 // indirect
96167
gopkg.in/yaml.v3 v3.0.1 // indirect
97-
k8s.io/api v0.26.0 // indirect
98-
k8s.io/klog/v2 v2.80.1 // indirect
99-
k8s.io/kube-openapi v0.0.0-20230109183929-3758b55a6596 // indirect
100-
k8s.io/utils v0.0.0-20221128185143-99ec85e7a448 // indirect
168+
k8s.io/api v0.27.4 // indirect
169+
k8s.io/apimachinery v0.27.4 // indirect
170+
k8s.io/klog/v2 v2.100.1 // indirect
171+
k8s.io/kube-openapi v0.0.0-20230501164219-8b0f38b5fd1f // indirect
172+
k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect
101173
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
102-
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect
174+
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 // indirect
103175
)

0 commit comments

Comments
 (0)