Skip to content

Commit 4cd726d

Browse files
authored
feat: air-gapped support with Hauler (#322)
## Description - pull charts from OCI using an OCI client instead of Helm client, due to helm/helm#12810 Related: - validator-labs/validatorctl#74 --------- Signed-off-by: Tyler Gillson <[email protected]>
1 parent 33ed954 commit 4cd726d

File tree

7 files changed

+406
-8
lines changed

7 files changed

+406
-8
lines changed

api/v1alpha1/validatorconfig_types.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,9 @@ type HelmChart struct {
6060
// Version of the Helm chart.
6161
Version string `json:"version" yaml:"version"`
6262

63+
// CAFile is the path to the CA certificate for the Helm repository.
64+
CAFile string `json:"caFile,omitempty" yaml:"caFile,omitempty"`
65+
6366
// InsecureSkipTLSVerify skips the verification of the server's certificate chain and host name.
6467
InsecureSkipTLSVerify bool `json:"insecureSkipVerify,omitempty" yaml:"insecureSkipVerify,omitempty"`
6568

config/crd/bases/validation.spectrocloud.labs_validatorconfigs.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,10 @@ spec:
5252
description: AuthSecretName is the name of the K8s secret
5353
containing the authentication details for the Helm repository.
5454
type: string
55+
caFile:
56+
description: CAFile is the path to the CA certificate for
57+
the Helm repository.
58+
type: string
5559
insecureSkipVerify:
5660
description: InsecureSkipTLSVerify skips the verification
5761
of the server's certificate chain and host name.

go.mod

Lines changed: 46 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,10 @@ require (
88
buf.build/gen/go/spectrocloud/spectro-cleanup/connectrpc/go v1.16.2-20240205164452-95dfd137cb54.1
99
buf.build/gen/go/spectrocloud/spectro-cleanup/protocolbuffers/go v1.34.2-20240205164452-95dfd137cb54.2
1010
connectrpc.com/connect v1.16.2
11+
github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.0.0-20240708141356-efa334f881fc
12+
github.com/chrismellard/docker-credential-acr-env v0.0.0-20230304212654-82a0ddb27589
1113
github.com/go-logr/logr v1.4.2
14+
github.com/google/go-containerregistry v0.20.0
1215
github.com/onsi/ginkgo/v2 v2.19.0
1316
github.com/onsi/gomega v1.33.1
1417
github.com/pkg/errors v0.9.1
@@ -24,10 +27,42 @@ require (
2427
)
2528

2629
require (
30+
cloud.google.com/go/compute v1.23.3 // indirect
31+
cloud.google.com/go/compute/metadata v0.2.3 // indirect
32+
github.com/Azure/azure-sdk-for-go v46.4.0+incompatible // indirect
33+
github.com/Azure/go-autorest v14.2.0+incompatible // indirect
34+
github.com/Azure/go-autorest/autorest v0.11.28 // indirect
35+
github.com/Azure/go-autorest/autorest/adal v0.9.21 // indirect
36+
github.com/Azure/go-autorest/autorest/azure/auth v0.5.11 // indirect
37+
github.com/Azure/go-autorest/autorest/azure/cli v0.4.5 // indirect
38+
github.com/Azure/go-autorest/autorest/date v0.3.0 // indirect
39+
github.com/Azure/go-autorest/logger v0.2.1 // indirect
40+
github.com/Azure/go-autorest/tracing v0.6.0 // indirect
41+
github.com/aws/aws-sdk-go-v2 v1.30.1 // indirect
42+
github.com/aws/aws-sdk-go-v2/config v1.27.24 // indirect
43+
github.com/aws/aws-sdk-go-v2/credentials v1.17.24 // indirect
44+
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.9 // indirect
45+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.13 // indirect
46+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.13 // indirect
47+
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 // indirect
48+
github.com/aws/aws-sdk-go-v2/service/ecr v1.30.1 // indirect
49+
github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.25.1 // indirect
50+
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.3 // indirect
51+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.15 // indirect
52+
github.com/aws/aws-sdk-go-v2/service/sso v1.22.1 // indirect
53+
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.2 // indirect
54+
github.com/aws/aws-sdk-go-v2/service/sts v1.30.1 // indirect
55+
github.com/aws/smithy-go v1.20.3 // indirect
2756
github.com/beorn7/perks v1.0.1 // indirect
2857
github.com/blang/semver/v4 v4.0.0 // indirect
2958
github.com/cespare/xxhash/v2 v2.2.0 // indirect
59+
github.com/containerd/stargz-snapshotter/estargz v0.14.3 // indirect
3060
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
61+
github.com/dimchansky/utfbom v1.1.1 // indirect
62+
github.com/docker/cli v24.0.0+incompatible // indirect
63+
github.com/docker/distribution v2.8.2+incompatible // indirect
64+
github.com/docker/docker v24.0.0+incompatible // indirect
65+
github.com/docker/docker-credential-helpers v0.8.2 // indirect
3166
github.com/emicklei/go-restful/v3 v3.11.0 // indirect
3267
github.com/evanphx/json-patch/v5 v5.9.0 // indirect
3368
github.com/fsnotify/fsnotify v1.7.0 // indirect
@@ -38,6 +73,7 @@ require (
3873
github.com/go-task/slim-sprig/v3 v3.0.0 // indirect
3974
github.com/gobuffalo/flect v1.0.2 // indirect
4075
github.com/gogo/protobuf v1.3.2 // indirect
76+
github.com/golang-jwt/jwt/v4 v4.5.0 // indirect
4177
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
4278
github.com/golang/protobuf v1.5.4 // indirect
4379
github.com/google/gnostic-models v0.6.8 // indirect
@@ -47,23 +83,32 @@ require (
4783
github.com/google/uuid v1.6.0 // indirect
4884
github.com/gorilla/websocket v1.5.0 // indirect
4985
github.com/imdario/mergo v0.3.13 // indirect
86+
github.com/jmespath/go-jmespath v0.4.0 // indirect
5087
github.com/josharian/intern v1.0.0 // indirect
5188
github.com/json-iterator/go v1.1.12 // indirect
89+
github.com/klauspost/compress v1.17.0 // indirect
5290
github.com/mailru/easyjson v0.7.7 // indirect
5391
github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 // indirect
92+
github.com/mitchellh/go-homedir v1.1.0 // indirect
5493
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
5594
github.com/modern-go/reflect2 v1.0.2 // indirect
5695
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
96+
github.com/opencontainers/go-digest v1.0.0 // indirect
97+
github.com/opencontainers/image-spec v1.1.0-rc3 // indirect
98+
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
5799
github.com/prometheus/client_golang v1.18.0 // indirect
58100
github.com/prometheus/client_model v0.5.0 // indirect
59101
github.com/prometheus/common v0.45.0 // indirect
60102
github.com/prometheus/procfs v0.12.0 // indirect
103+
github.com/sirupsen/logrus v1.9.3 // indirect
61104
github.com/spf13/pflag v1.0.5 // indirect
62-
github.com/stretchr/testify v1.9.0 // indirect
105+
github.com/vbatts/tar-split v0.11.3 // indirect
63106
go.uber.org/multierr v1.11.0 // indirect
64107
go.uber.org/zap v1.26.0 // indirect
108+
golang.org/x/crypto v0.25.0 // indirect
65109
golang.org/x/net v0.27.0 // indirect
66110
golang.org/x/oauth2 v0.18.0 // indirect
111+
golang.org/x/sync v0.7.0 // indirect
67112
golang.org/x/sys v0.22.0 // indirect
68113
golang.org/x/term v0.22.0 // indirect
69114
golang.org/x/text v0.16.0 // indirect

0 commit comments

Comments
 (0)