Compare commits
24 Commits
feature/pu
...
main
Author | SHA1 | Date | |
---|---|---|---|
|
7cf3d67f91 | ||
|
0a6c12c27b | ||
|
577d112568 | ||
c3fb551904 | |||
|
ae29216252 | ||
d061ee3d47 | |||
|
9361bbd9d3 | ||
|
e52cc60cf3 | ||
|
e92af940a0 | ||
|
5f3440b172 | ||
35aa3a7560 | |||
|
8877562f45 | ||
|
554e8ea517 | ||
|
da01ea8c34 | ||
|
713ad7bed1 | ||
|
2c50de6308 | ||
|
f4d93e019a | ||
|
c68e7251f3 | ||
|
af191eec64 | ||
|
d65611184d | ||
|
17d2e093ea | ||
|
85586c381c | ||
|
29b649678e | ||
|
9bc8531db1 |
2
Makefile
2
Makefile
@ -1,7 +1,7 @@
|
||||
.PHONY: crds
|
||||
|
||||
clean:
|
||||
rm -r crds/
|
||||
rm -r crds/ || true
|
||||
|
||||
crds: clean
|
||||
crd2pulumi --go ~/Documents/virtualization/kubeadm/cert-manager/cert-manager/1-crds.yaml
|
||||
|
44
crds/kubernetes/gateway/v1alpha2/init.go
Normal file
44
crds/kubernetes/gateway/v1alpha2/init.go
Normal file
@ -0,0 +1,44 @@
|
||||
// Code generated by crd2pulumi DO NOT EDIT.
|
||||
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
|
||||
|
||||
package v1alpha2
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"antoine-roux.tk/projects/go/pulumi-library/crds/kubernetes/internal"
|
||||
"github.com/blang/semver"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||
)
|
||||
|
||||
type module struct {
|
||||
version semver.Version
|
||||
}
|
||||
|
||||
func (m *module) Version() semver.Version {
|
||||
return m.version
|
||||
}
|
||||
|
||||
func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) {
|
||||
switch typ {
|
||||
case "kubernetes:gateway.networking.k8s.io/v1alpha2:UDPRoute":
|
||||
r = &UDPRoute{}
|
||||
default:
|
||||
return nil, fmt.Errorf("unknown resource type: %s", typ)
|
||||
}
|
||||
|
||||
err = ctx.RegisterResource(typ, name, nil, r, pulumi.URN_(urn))
|
||||
return
|
||||
}
|
||||
|
||||
func init() {
|
||||
version, err := internal.PkgVersion()
|
||||
if err != nil {
|
||||
version = semver.Version{Major: 1}
|
||||
}
|
||||
pulumi.RegisterResourceModule(
|
||||
"crds",
|
||||
"gateway.networking.k8s.io/v1alpha2",
|
||||
&module{version},
|
||||
)
|
||||
}
|
1693
crds/kubernetes/gateway/v1alpha2/pulumiTypes.go
Normal file
1693
crds/kubernetes/gateway/v1alpha2/pulumiTypes.go
Normal file
File diff suppressed because it is too large
Load Diff
165
crds/kubernetes/gateway/v1alpha2/udproute.go
Normal file
165
crds/kubernetes/gateway/v1alpha2/udproute.go
Normal file
@ -0,0 +1,165 @@
|
||||
// Code generated by crd2pulumi DO NOT EDIT.
|
||||
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
|
||||
|
||||
package v1alpha2
|
||||
|
||||
import (
|
||||
"context"
|
||||
"reflect"
|
||||
|
||||
"antoine-roux.tk/projects/go/pulumi-library/crds/kubernetes/internal"
|
||||
v1 "github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes/meta/v1"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumix"
|
||||
)
|
||||
|
||||
// UDPRoute provides a way to route UDP traffic. When combined with a Gateway listener, it can be used to forward traffic on the port specified by the listener to a set of backends specified by the UDPRoute.
|
||||
type UDPRoute struct {
|
||||
pulumi.CustomResourceState
|
||||
|
||||
ApiVersion pulumi.StringPtrOutput `pulumi:"apiVersion"`
|
||||
Kind pulumi.StringPtrOutput `pulumi:"kind"`
|
||||
Metadata v1.ObjectMetaPtrOutput `pulumi:"metadata"`
|
||||
// Spec defines the desired state of UDPRoute.
|
||||
Spec UDPRouteSpecOutput `pulumi:"spec"`
|
||||
// Status defines the current state of UDPRoute.
|
||||
Status UDPRouteStatusPtrOutput `pulumi:"status"`
|
||||
}
|
||||
|
||||
// NewUDPRoute registers a new resource with the given unique name, arguments, and options.
|
||||
func NewUDPRoute(ctx *pulumi.Context,
|
||||
name string, args *UDPRouteArgs, opts ...pulumi.ResourceOption) (*UDPRoute, error) {
|
||||
if args == nil {
|
||||
args = &UDPRouteArgs{}
|
||||
}
|
||||
|
||||
args.ApiVersion = pulumi.StringPtr("gateway.networking.k8s.io/v1alpha2")
|
||||
args.Kind = pulumi.StringPtr("UDPRoute")
|
||||
opts = internal.PkgResourceDefaultOpts(opts)
|
||||
var resource UDPRoute
|
||||
err := ctx.RegisterResource("kubernetes:gateway.networking.k8s.io/v1alpha2:UDPRoute", name, args, &resource, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resource, nil
|
||||
}
|
||||
|
||||
// GetUDPRoute gets an existing UDPRoute resource's state with the given name, ID, and optional
|
||||
// state properties that are used to uniquely qualify the lookup (nil if not required).
|
||||
func GetUDPRoute(ctx *pulumi.Context,
|
||||
name string, id pulumi.IDInput, state *UDPRouteState, opts ...pulumi.ResourceOption) (*UDPRoute, error) {
|
||||
var resource UDPRoute
|
||||
err := ctx.ReadResource("kubernetes:gateway.networking.k8s.io/v1alpha2:UDPRoute", name, id, state, &resource, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resource, nil
|
||||
}
|
||||
|
||||
// Input properties used for looking up and filtering UDPRoute resources.
|
||||
type udprouteState struct {
|
||||
}
|
||||
|
||||
type UDPRouteState struct {
|
||||
}
|
||||
|
||||
func (UDPRouteState) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*udprouteState)(nil)).Elem()
|
||||
}
|
||||
|
||||
type udprouteArgs struct {
|
||||
ApiVersion *string `pulumi:"apiVersion"`
|
||||
Kind *string `pulumi:"kind"`
|
||||
Metadata *v1.ObjectMeta `pulumi:"metadata"`
|
||||
// Spec defines the desired state of UDPRoute.
|
||||
Spec *UDPRouteSpec `pulumi:"spec"`
|
||||
// Status defines the current state of UDPRoute.
|
||||
Status *UDPRouteStatus `pulumi:"status"`
|
||||
}
|
||||
|
||||
// The set of arguments for constructing a UDPRoute resource.
|
||||
type UDPRouteArgs struct {
|
||||
ApiVersion pulumi.StringPtrInput
|
||||
Kind pulumi.StringPtrInput
|
||||
Metadata v1.ObjectMetaPtrInput
|
||||
// Spec defines the desired state of UDPRoute.
|
||||
Spec UDPRouteSpecPtrInput
|
||||
// Status defines the current state of UDPRoute.
|
||||
Status UDPRouteStatusPtrInput
|
||||
}
|
||||
|
||||
func (UDPRouteArgs) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*udprouteArgs)(nil)).Elem()
|
||||
}
|
||||
|
||||
type UDPRouteInput interface {
|
||||
pulumi.Input
|
||||
|
||||
ToUDPRouteOutput() UDPRouteOutput
|
||||
ToUDPRouteOutputWithContext(ctx context.Context) UDPRouteOutput
|
||||
}
|
||||
|
||||
func (*UDPRoute) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((**UDPRoute)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (i *UDPRoute) ToUDPRouteOutput() UDPRouteOutput {
|
||||
return i.ToUDPRouteOutputWithContext(context.Background())
|
||||
}
|
||||
|
||||
func (i *UDPRoute) ToUDPRouteOutputWithContext(ctx context.Context) UDPRouteOutput {
|
||||
return pulumi.ToOutputWithContext(ctx, i).(UDPRouteOutput)
|
||||
}
|
||||
|
||||
func (i *UDPRoute) ToOutput(ctx context.Context) pulumix.Output[*UDPRoute] {
|
||||
return pulumix.Output[*UDPRoute]{
|
||||
OutputState: i.ToUDPRouteOutputWithContext(ctx).OutputState,
|
||||
}
|
||||
}
|
||||
|
||||
type UDPRouteOutput struct{ *pulumi.OutputState }
|
||||
|
||||
func (UDPRouteOutput) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((**UDPRoute)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (o UDPRouteOutput) ToUDPRouteOutput() UDPRouteOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o UDPRouteOutput) ToUDPRouteOutputWithContext(ctx context.Context) UDPRouteOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o UDPRouteOutput) ToOutput(ctx context.Context) pulumix.Output[*UDPRoute] {
|
||||
return pulumix.Output[*UDPRoute]{
|
||||
OutputState: o.OutputState,
|
||||
}
|
||||
}
|
||||
|
||||
func (o UDPRouteOutput) ApiVersion() pulumi.StringPtrOutput {
|
||||
return o.ApplyT(func(v *UDPRoute) pulumi.StringPtrOutput { return v.ApiVersion }).(pulumi.StringPtrOutput)
|
||||
}
|
||||
|
||||
func (o UDPRouteOutput) Kind() pulumi.StringPtrOutput {
|
||||
return o.ApplyT(func(v *UDPRoute) pulumi.StringPtrOutput { return v.Kind }).(pulumi.StringPtrOutput)
|
||||
}
|
||||
|
||||
func (o UDPRouteOutput) Metadata() v1.ObjectMetaPtrOutput {
|
||||
return o.ApplyT(func(v *UDPRoute) v1.ObjectMetaPtrOutput { return v.Metadata }).(v1.ObjectMetaPtrOutput)
|
||||
}
|
||||
|
||||
// Spec defines the desired state of UDPRoute.
|
||||
func (o UDPRouteOutput) Spec() UDPRouteSpecOutput {
|
||||
return o.ApplyT(func(v *UDPRoute) UDPRouteSpecOutput { return v.Spec }).(UDPRouteSpecOutput)
|
||||
}
|
||||
|
||||
// Status defines the current state of UDPRoute.
|
||||
func (o UDPRouteOutput) Status() UDPRouteStatusPtrOutput {
|
||||
return o.ApplyT(func(v *UDPRoute) UDPRouteStatusPtrOutput { return v.Status }).(UDPRouteStatusPtrOutput)
|
||||
}
|
||||
|
||||
func init() {
|
||||
pulumi.RegisterInputType(reflect.TypeOf((*UDPRouteInput)(nil)).Elem(), &UDPRoute{})
|
||||
pulumi.RegisterOutputType(UDPRouteOutput{})
|
||||
}
|
168
crds/kubernetes/hub/v1alpha1/accessControlPolicy.go
Normal file
168
crds/kubernetes/hub/v1alpha1/accessControlPolicy.go
Normal file
@ -0,0 +1,168 @@
|
||||
// Code generated by crd2pulumi DO NOT EDIT.
|
||||
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
|
||||
|
||||
package v1alpha1
|
||||
|
||||
import (
|
||||
"context"
|
||||
"reflect"
|
||||
|
||||
"antoine-roux.tk/projects/go/pulumi-library/crds/kubernetes/internal"
|
||||
v1 "github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes/meta/v1"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumix"
|
||||
)
|
||||
|
||||
// AccessControlPolicy defines an access control policy.
|
||||
type AccessControlPolicy struct {
|
||||
pulumi.CustomResourceState
|
||||
|
||||
ApiVersion pulumi.StringPtrOutput `pulumi:"apiVersion"`
|
||||
Kind pulumi.StringPtrOutput `pulumi:"kind"`
|
||||
Metadata v1.ObjectMetaPtrOutput `pulumi:"metadata"`
|
||||
// AccessControlPolicySpec configures an access control policy.
|
||||
Spec AccessControlPolicySpecPtrOutput `pulumi:"spec"`
|
||||
// The current status of this access control policy.
|
||||
Status AccessControlPolicyStatusPtrOutput `pulumi:"status"`
|
||||
}
|
||||
|
||||
// NewAccessControlPolicy registers a new resource with the given unique name, arguments, and options.
|
||||
func NewAccessControlPolicy(ctx *pulumi.Context,
|
||||
name string, args *AccessControlPolicyArgs, opts ...pulumi.ResourceOption) (*AccessControlPolicy, error) {
|
||||
if args == nil {
|
||||
args = &AccessControlPolicyArgs{}
|
||||
}
|
||||
|
||||
args.ApiVersion = pulumi.StringPtr("hub.traefik.io/v1alpha1")
|
||||
args.Kind = pulumi.StringPtr("AccessControlPolicy")
|
||||
if args.Spec != nil {
|
||||
args.Spec = args.Spec.ToAccessControlPolicySpecPtrOutput().ApplyT(func(v *AccessControlPolicySpec) *AccessControlPolicySpec { return v.Defaults() }).(AccessControlPolicySpecPtrOutput)
|
||||
}
|
||||
opts = internal.PkgResourceDefaultOpts(opts)
|
||||
var resource AccessControlPolicy
|
||||
err := ctx.RegisterResource("kubernetes:hub.traefik.io/v1alpha1:AccessControlPolicy", name, args, &resource, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resource, nil
|
||||
}
|
||||
|
||||
// GetAccessControlPolicy gets an existing AccessControlPolicy resource's state with the given name, ID, and optional
|
||||
// state properties that are used to uniquely qualify the lookup (nil if not required).
|
||||
func GetAccessControlPolicy(ctx *pulumi.Context,
|
||||
name string, id pulumi.IDInput, state *AccessControlPolicyState, opts ...pulumi.ResourceOption) (*AccessControlPolicy, error) {
|
||||
var resource AccessControlPolicy
|
||||
err := ctx.ReadResource("kubernetes:hub.traefik.io/v1alpha1:AccessControlPolicy", name, id, state, &resource, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resource, nil
|
||||
}
|
||||
|
||||
// Input properties used for looking up and filtering AccessControlPolicy resources.
|
||||
type accessControlPolicyState struct {
|
||||
}
|
||||
|
||||
type AccessControlPolicyState struct {
|
||||
}
|
||||
|
||||
func (AccessControlPolicyState) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*accessControlPolicyState)(nil)).Elem()
|
||||
}
|
||||
|
||||
type accessControlPolicyArgs struct {
|
||||
ApiVersion *string `pulumi:"apiVersion"`
|
||||
Kind *string `pulumi:"kind"`
|
||||
Metadata *v1.ObjectMeta `pulumi:"metadata"`
|
||||
// AccessControlPolicySpec configures an access control policy.
|
||||
Spec *AccessControlPolicySpec `pulumi:"spec"`
|
||||
// The current status of this access control policy.
|
||||
Status *AccessControlPolicyStatus `pulumi:"status"`
|
||||
}
|
||||
|
||||
// The set of arguments for constructing a AccessControlPolicy resource.
|
||||
type AccessControlPolicyArgs struct {
|
||||
ApiVersion pulumi.StringPtrInput
|
||||
Kind pulumi.StringPtrInput
|
||||
Metadata v1.ObjectMetaPtrInput
|
||||
// AccessControlPolicySpec configures an access control policy.
|
||||
Spec AccessControlPolicySpecPtrInput
|
||||
// The current status of this access control policy.
|
||||
Status AccessControlPolicyStatusPtrInput
|
||||
}
|
||||
|
||||
func (AccessControlPolicyArgs) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*accessControlPolicyArgs)(nil)).Elem()
|
||||
}
|
||||
|
||||
type AccessControlPolicyInput interface {
|
||||
pulumi.Input
|
||||
|
||||
ToAccessControlPolicyOutput() AccessControlPolicyOutput
|
||||
ToAccessControlPolicyOutputWithContext(ctx context.Context) AccessControlPolicyOutput
|
||||
}
|
||||
|
||||
func (*AccessControlPolicy) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((**AccessControlPolicy)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (i *AccessControlPolicy) ToAccessControlPolicyOutput() AccessControlPolicyOutput {
|
||||
return i.ToAccessControlPolicyOutputWithContext(context.Background())
|
||||
}
|
||||
|
||||
func (i *AccessControlPolicy) ToAccessControlPolicyOutputWithContext(ctx context.Context) AccessControlPolicyOutput {
|
||||
return pulumi.ToOutputWithContext(ctx, i).(AccessControlPolicyOutput)
|
||||
}
|
||||
|
||||
func (i *AccessControlPolicy) ToOutput(ctx context.Context) pulumix.Output[*AccessControlPolicy] {
|
||||
return pulumix.Output[*AccessControlPolicy]{
|
||||
OutputState: i.ToAccessControlPolicyOutputWithContext(ctx).OutputState,
|
||||
}
|
||||
}
|
||||
|
||||
type AccessControlPolicyOutput struct{ *pulumi.OutputState }
|
||||
|
||||
func (AccessControlPolicyOutput) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((**AccessControlPolicy)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (o AccessControlPolicyOutput) ToAccessControlPolicyOutput() AccessControlPolicyOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o AccessControlPolicyOutput) ToAccessControlPolicyOutputWithContext(ctx context.Context) AccessControlPolicyOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o AccessControlPolicyOutput) ToOutput(ctx context.Context) pulumix.Output[*AccessControlPolicy] {
|
||||
return pulumix.Output[*AccessControlPolicy]{
|
||||
OutputState: o.OutputState,
|
||||
}
|
||||
}
|
||||
|
||||
func (o AccessControlPolicyOutput) ApiVersion() pulumi.StringPtrOutput {
|
||||
return o.ApplyT(func(v *AccessControlPolicy) pulumi.StringPtrOutput { return v.ApiVersion }).(pulumi.StringPtrOutput)
|
||||
}
|
||||
|
||||
func (o AccessControlPolicyOutput) Kind() pulumi.StringPtrOutput {
|
||||
return o.ApplyT(func(v *AccessControlPolicy) pulumi.StringPtrOutput { return v.Kind }).(pulumi.StringPtrOutput)
|
||||
}
|
||||
|
||||
func (o AccessControlPolicyOutput) Metadata() v1.ObjectMetaPtrOutput {
|
||||
return o.ApplyT(func(v *AccessControlPolicy) v1.ObjectMetaPtrOutput { return v.Metadata }).(v1.ObjectMetaPtrOutput)
|
||||
}
|
||||
|
||||
// AccessControlPolicySpec configures an access control policy.
|
||||
func (o AccessControlPolicyOutput) Spec() AccessControlPolicySpecPtrOutput {
|
||||
return o.ApplyT(func(v *AccessControlPolicy) AccessControlPolicySpecPtrOutput { return v.Spec }).(AccessControlPolicySpecPtrOutput)
|
||||
}
|
||||
|
||||
// The current status of this access control policy.
|
||||
func (o AccessControlPolicyOutput) Status() AccessControlPolicyStatusPtrOutput {
|
||||
return o.ApplyT(func(v *AccessControlPolicy) AccessControlPolicyStatusPtrOutput { return v.Status }).(AccessControlPolicyStatusPtrOutput)
|
||||
}
|
||||
|
||||
func init() {
|
||||
pulumi.RegisterInputType(reflect.TypeOf((*AccessControlPolicyInput)(nil)).Elem(), &AccessControlPolicy{})
|
||||
pulumi.RegisterOutputType(AccessControlPolicyOutput{})
|
||||
}
|
167
crds/kubernetes/hub/v1alpha1/api.go
Normal file
167
crds/kubernetes/hub/v1alpha1/api.go
Normal file
@ -0,0 +1,167 @@
|
||||
// Code generated by crd2pulumi DO NOT EDIT.
|
||||
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
|
||||
|
||||
package v1alpha1
|
||||
|
||||
import (
|
||||
"context"
|
||||
"reflect"
|
||||
|
||||
"antoine-roux.tk/projects/go/pulumi-library/crds/kubernetes/internal"
|
||||
v1 "github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes/meta/v1"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumix"
|
||||
)
|
||||
|
||||
// API defines an HTTP interface that is exposed to external clients. It specifies the supported versions
|
||||
// and provides instructions for accessing its documentation. Once instantiated, an API object is associated
|
||||
// with an Ingress, IngressRoute, or HTTPRoute resource, enabling the exposure of the described API to the outside world.
|
||||
type API struct {
|
||||
pulumi.CustomResourceState
|
||||
|
||||
ApiVersion pulumi.StringPtrOutput `pulumi:"apiVersion"`
|
||||
Kind pulumi.StringPtrOutput `pulumi:"kind"`
|
||||
Metadata v1.ObjectMetaPtrOutput `pulumi:"metadata"`
|
||||
// APISpec describes the API.
|
||||
Spec APISpecPtrOutput `pulumi:"spec"`
|
||||
// The current status of this API.
|
||||
Status APIStatusPtrOutput `pulumi:"status"`
|
||||
}
|
||||
|
||||
// NewAPI registers a new resource with the given unique name, arguments, and options.
|
||||
func NewAPI(ctx *pulumi.Context,
|
||||
name string, args *APIArgs, opts ...pulumi.ResourceOption) (*API, error) {
|
||||
if args == nil {
|
||||
args = &APIArgs{}
|
||||
}
|
||||
|
||||
args.ApiVersion = pulumi.StringPtr("hub.traefik.io/v1alpha1")
|
||||
args.Kind = pulumi.StringPtr("API")
|
||||
opts = internal.PkgResourceDefaultOpts(opts)
|
||||
var resource API
|
||||
err := ctx.RegisterResource("kubernetes:hub.traefik.io/v1alpha1:API", name, args, &resource, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resource, nil
|
||||
}
|
||||
|
||||
// GetAPI gets an existing API resource's state with the given name, ID, and optional
|
||||
// state properties that are used to uniquely qualify the lookup (nil if not required).
|
||||
func GetAPI(ctx *pulumi.Context,
|
||||
name string, id pulumi.IDInput, state *APIState, opts ...pulumi.ResourceOption) (*API, error) {
|
||||
var resource API
|
||||
err := ctx.ReadResource("kubernetes:hub.traefik.io/v1alpha1:API", name, id, state, &resource, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resource, nil
|
||||
}
|
||||
|
||||
// Input properties used for looking up and filtering API resources.
|
||||
type apiState struct {
|
||||
}
|
||||
|
||||
type APIState struct {
|
||||
}
|
||||
|
||||
func (APIState) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*apiState)(nil)).Elem()
|
||||
}
|
||||
|
||||
type apiArgs struct {
|
||||
ApiVersion *string `pulumi:"apiVersion"`
|
||||
Kind *string `pulumi:"kind"`
|
||||
Metadata *v1.ObjectMeta `pulumi:"metadata"`
|
||||
// APISpec describes the API.
|
||||
Spec *APISpec `pulumi:"spec"`
|
||||
// The current status of this API.
|
||||
Status *APIStatus `pulumi:"status"`
|
||||
}
|
||||
|
||||
// The set of arguments for constructing a API resource.
|
||||
type APIArgs struct {
|
||||
ApiVersion pulumi.StringPtrInput
|
||||
Kind pulumi.StringPtrInput
|
||||
Metadata v1.ObjectMetaPtrInput
|
||||
// APISpec describes the API.
|
||||
Spec APISpecPtrInput
|
||||
// The current status of this API.
|
||||
Status APIStatusPtrInput
|
||||
}
|
||||
|
||||
func (APIArgs) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*apiArgs)(nil)).Elem()
|
||||
}
|
||||
|
||||
type APIInput interface {
|
||||
pulumi.Input
|
||||
|
||||
ToAPIOutput() APIOutput
|
||||
ToAPIOutputWithContext(ctx context.Context) APIOutput
|
||||
}
|
||||
|
||||
func (*API) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((**API)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (i *API) ToAPIOutput() APIOutput {
|
||||
return i.ToAPIOutputWithContext(context.Background())
|
||||
}
|
||||
|
||||
func (i *API) ToAPIOutputWithContext(ctx context.Context) APIOutput {
|
||||
return pulumi.ToOutputWithContext(ctx, i).(APIOutput)
|
||||
}
|
||||
|
||||
func (i *API) ToOutput(ctx context.Context) pulumix.Output[*API] {
|
||||
return pulumix.Output[*API]{
|
||||
OutputState: i.ToAPIOutputWithContext(ctx).OutputState,
|
||||
}
|
||||
}
|
||||
|
||||
type APIOutput struct{ *pulumi.OutputState }
|
||||
|
||||
func (APIOutput) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((**API)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (o APIOutput) ToAPIOutput() APIOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o APIOutput) ToAPIOutputWithContext(ctx context.Context) APIOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o APIOutput) ToOutput(ctx context.Context) pulumix.Output[*API] {
|
||||
return pulumix.Output[*API]{
|
||||
OutputState: o.OutputState,
|
||||
}
|
||||
}
|
||||
|
||||
func (o APIOutput) ApiVersion() pulumi.StringPtrOutput {
|
||||
return o.ApplyT(func(v *API) pulumi.StringPtrOutput { return v.ApiVersion }).(pulumi.StringPtrOutput)
|
||||
}
|
||||
|
||||
func (o APIOutput) Kind() pulumi.StringPtrOutput {
|
||||
return o.ApplyT(func(v *API) pulumi.StringPtrOutput { return v.Kind }).(pulumi.StringPtrOutput)
|
||||
}
|
||||
|
||||
func (o APIOutput) Metadata() v1.ObjectMetaPtrOutput {
|
||||
return o.ApplyT(func(v *API) v1.ObjectMetaPtrOutput { return v.Metadata }).(v1.ObjectMetaPtrOutput)
|
||||
}
|
||||
|
||||
// APISpec describes the API.
|
||||
func (o APIOutput) Spec() APISpecPtrOutput {
|
||||
return o.ApplyT(func(v *API) APISpecPtrOutput { return v.Spec }).(APISpecPtrOutput)
|
||||
}
|
||||
|
||||
// The current status of this API.
|
||||
func (o APIOutput) Status() APIStatusPtrOutput {
|
||||
return o.ApplyT(func(v *API) APIStatusPtrOutput { return v.Status }).(APIStatusPtrOutput)
|
||||
}
|
||||
|
||||
func init() {
|
||||
pulumi.RegisterInputType(reflect.TypeOf((*APIInput)(nil)).Elem(), &API{})
|
||||
pulumi.RegisterOutputType(APIOutput{})
|
||||
}
|
165
crds/kubernetes/hub/v1alpha1/apiaccess.go
Normal file
165
crds/kubernetes/hub/v1alpha1/apiaccess.go
Normal file
@ -0,0 +1,165 @@
|
||||
// Code generated by crd2pulumi DO NOT EDIT.
|
||||
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
|
||||
|
||||
package v1alpha1
|
||||
|
||||
import (
|
||||
"context"
|
||||
"reflect"
|
||||
|
||||
"antoine-roux.tk/projects/go/pulumi-library/crds/kubernetes/internal"
|
||||
v1 "github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes/meta/v1"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumix"
|
||||
)
|
||||
|
||||
// APIAccess defines who can access to a set of APIs.
|
||||
type APIAccess struct {
|
||||
pulumi.CustomResourceState
|
||||
|
||||
ApiVersion pulumi.StringPtrOutput `pulumi:"apiVersion"`
|
||||
Kind pulumi.StringPtrOutput `pulumi:"kind"`
|
||||
Metadata v1.ObjectMetaPtrOutput `pulumi:"metadata"`
|
||||
// The desired behavior of this APIAccess.
|
||||
Spec APIAccessSpecPtrOutput `pulumi:"spec"`
|
||||
// The current status of this APIAccess.
|
||||
Status APIAccessStatusPtrOutput `pulumi:"status"`
|
||||
}
|
||||
|
||||
// NewAPIAccess registers a new resource with the given unique name, arguments, and options.
|
||||
func NewAPIAccess(ctx *pulumi.Context,
|
||||
name string, args *APIAccessArgs, opts ...pulumi.ResourceOption) (*APIAccess, error) {
|
||||
if args == nil {
|
||||
args = &APIAccessArgs{}
|
||||
}
|
||||
|
||||
args.ApiVersion = pulumi.StringPtr("hub.traefik.io/v1alpha1")
|
||||
args.Kind = pulumi.StringPtr("APIAccess")
|
||||
opts = internal.PkgResourceDefaultOpts(opts)
|
||||
var resource APIAccess
|
||||
err := ctx.RegisterResource("kubernetes:hub.traefik.io/v1alpha1:APIAccess", name, args, &resource, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resource, nil
|
||||
}
|
||||
|
||||
// GetAPIAccess gets an existing APIAccess resource's state with the given name, ID, and optional
|
||||
// state properties that are used to uniquely qualify the lookup (nil if not required).
|
||||
func GetAPIAccess(ctx *pulumi.Context,
|
||||
name string, id pulumi.IDInput, state *APIAccessState, opts ...pulumi.ResourceOption) (*APIAccess, error) {
|
||||
var resource APIAccess
|
||||
err := ctx.ReadResource("kubernetes:hub.traefik.io/v1alpha1:APIAccess", name, id, state, &resource, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resource, nil
|
||||
}
|
||||
|
||||
// Input properties used for looking up and filtering APIAccess resources.
|
||||
type apiaccessState struct {
|
||||
}
|
||||
|
||||
type APIAccessState struct {
|
||||
}
|
||||
|
||||
func (APIAccessState) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*apiaccessState)(nil)).Elem()
|
||||
}
|
||||
|
||||
type apiaccessArgs struct {
|
||||
ApiVersion *string `pulumi:"apiVersion"`
|
||||
Kind *string `pulumi:"kind"`
|
||||
Metadata *v1.ObjectMeta `pulumi:"metadata"`
|
||||
// The desired behavior of this APIAccess.
|
||||
Spec *APIAccessSpec `pulumi:"spec"`
|
||||
// The current status of this APIAccess.
|
||||
Status *APIAccessStatus `pulumi:"status"`
|
||||
}
|
||||
|
||||
// The set of arguments for constructing a APIAccess resource.
|
||||
type APIAccessArgs struct {
|
||||
ApiVersion pulumi.StringPtrInput
|
||||
Kind pulumi.StringPtrInput
|
||||
Metadata v1.ObjectMetaPtrInput
|
||||
// The desired behavior of this APIAccess.
|
||||
Spec APIAccessSpecPtrInput
|
||||
// The current status of this APIAccess.
|
||||
Status APIAccessStatusPtrInput
|
||||
}
|
||||
|
||||
func (APIAccessArgs) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*apiaccessArgs)(nil)).Elem()
|
||||
}
|
||||
|
||||
type APIAccessInput interface {
|
||||
pulumi.Input
|
||||
|
||||
ToAPIAccessOutput() APIAccessOutput
|
||||
ToAPIAccessOutputWithContext(ctx context.Context) APIAccessOutput
|
||||
}
|
||||
|
||||
func (*APIAccess) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((**APIAccess)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (i *APIAccess) ToAPIAccessOutput() APIAccessOutput {
|
||||
return i.ToAPIAccessOutputWithContext(context.Background())
|
||||
}
|
||||
|
||||
func (i *APIAccess) ToAPIAccessOutputWithContext(ctx context.Context) APIAccessOutput {
|
||||
return pulumi.ToOutputWithContext(ctx, i).(APIAccessOutput)
|
||||
}
|
||||
|
||||
func (i *APIAccess) ToOutput(ctx context.Context) pulumix.Output[*APIAccess] {
|
||||
return pulumix.Output[*APIAccess]{
|
||||
OutputState: i.ToAPIAccessOutputWithContext(ctx).OutputState,
|
||||
}
|
||||
}
|
||||
|
||||
type APIAccessOutput struct{ *pulumi.OutputState }
|
||||
|
||||
func (APIAccessOutput) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((**APIAccess)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (o APIAccessOutput) ToAPIAccessOutput() APIAccessOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o APIAccessOutput) ToAPIAccessOutputWithContext(ctx context.Context) APIAccessOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o APIAccessOutput) ToOutput(ctx context.Context) pulumix.Output[*APIAccess] {
|
||||
return pulumix.Output[*APIAccess]{
|
||||
OutputState: o.OutputState,
|
||||
}
|
||||
}
|
||||
|
||||
func (o APIAccessOutput) ApiVersion() pulumi.StringPtrOutput {
|
||||
return o.ApplyT(func(v *APIAccess) pulumi.StringPtrOutput { return v.ApiVersion }).(pulumi.StringPtrOutput)
|
||||
}
|
||||
|
||||
func (o APIAccessOutput) Kind() pulumi.StringPtrOutput {
|
||||
return o.ApplyT(func(v *APIAccess) pulumi.StringPtrOutput { return v.Kind }).(pulumi.StringPtrOutput)
|
||||
}
|
||||
|
||||
func (o APIAccessOutput) Metadata() v1.ObjectMetaPtrOutput {
|
||||
return o.ApplyT(func(v *APIAccess) v1.ObjectMetaPtrOutput { return v.Metadata }).(v1.ObjectMetaPtrOutput)
|
||||
}
|
||||
|
||||
// The desired behavior of this APIAccess.
|
||||
func (o APIAccessOutput) Spec() APIAccessSpecPtrOutput {
|
||||
return o.ApplyT(func(v *APIAccess) APIAccessSpecPtrOutput { return v.Spec }).(APIAccessSpecPtrOutput)
|
||||
}
|
||||
|
||||
// The current status of this APIAccess.
|
||||
func (o APIAccessOutput) Status() APIAccessStatusPtrOutput {
|
||||
return o.ApplyT(func(v *APIAccess) APIAccessStatusPtrOutput { return v.Status }).(APIAccessStatusPtrOutput)
|
||||
}
|
||||
|
||||
func init() {
|
||||
pulumi.RegisterInputType(reflect.TypeOf((*APIAccessInput)(nil)).Elem(), &APIAccess{})
|
||||
pulumi.RegisterOutputType(APIAccessOutput{})
|
||||
}
|
165
crds/kubernetes/hub/v1alpha1/apiportal.go
Normal file
165
crds/kubernetes/hub/v1alpha1/apiportal.go
Normal file
@ -0,0 +1,165 @@
|
||||
// Code generated by crd2pulumi DO NOT EDIT.
|
||||
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
|
||||
|
||||
package v1alpha1
|
||||
|
||||
import (
|
||||
"context"
|
||||
"reflect"
|
||||
|
||||
"antoine-roux.tk/projects/go/pulumi-library/crds/kubernetes/internal"
|
||||
v1 "github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes/meta/v1"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumix"
|
||||
)
|
||||
|
||||
// APIPortal defines a developer portal for accessing the documentation of APIs.
|
||||
type APIPortal struct {
|
||||
pulumi.CustomResourceState
|
||||
|
||||
ApiVersion pulumi.StringPtrOutput `pulumi:"apiVersion"`
|
||||
Kind pulumi.StringPtrOutput `pulumi:"kind"`
|
||||
Metadata v1.ObjectMetaPtrOutput `pulumi:"metadata"`
|
||||
// The desired behavior of this APIPortal.
|
||||
Spec APIPortalSpecPtrOutput `pulumi:"spec"`
|
||||
// The current status of this APIPortal.
|
||||
Status APIPortalStatusPtrOutput `pulumi:"status"`
|
||||
}
|
||||
|
||||
// NewAPIPortal registers a new resource with the given unique name, arguments, and options.
|
||||
func NewAPIPortal(ctx *pulumi.Context,
|
||||
name string, args *APIPortalArgs, opts ...pulumi.ResourceOption) (*APIPortal, error) {
|
||||
if args == nil {
|
||||
args = &APIPortalArgs{}
|
||||
}
|
||||
|
||||
args.ApiVersion = pulumi.StringPtr("hub.traefik.io/v1alpha1")
|
||||
args.Kind = pulumi.StringPtr("APIPortal")
|
||||
opts = internal.PkgResourceDefaultOpts(opts)
|
||||
var resource APIPortal
|
||||
err := ctx.RegisterResource("kubernetes:hub.traefik.io/v1alpha1:APIPortal", name, args, &resource, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resource, nil
|
||||
}
|
||||
|
||||
// GetAPIPortal gets an existing APIPortal resource's state with the given name, ID, and optional
|
||||
// state properties that are used to uniquely qualify the lookup (nil if not required).
|
||||
func GetAPIPortal(ctx *pulumi.Context,
|
||||
name string, id pulumi.IDInput, state *APIPortalState, opts ...pulumi.ResourceOption) (*APIPortal, error) {
|
||||
var resource APIPortal
|
||||
err := ctx.ReadResource("kubernetes:hub.traefik.io/v1alpha1:APIPortal", name, id, state, &resource, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resource, nil
|
||||
}
|
||||
|
||||
// Input properties used for looking up and filtering APIPortal resources.
|
||||
type apiportalState struct {
|
||||
}
|
||||
|
||||
type APIPortalState struct {
|
||||
}
|
||||
|
||||
func (APIPortalState) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*apiportalState)(nil)).Elem()
|
||||
}
|
||||
|
||||
type apiportalArgs struct {
|
||||
ApiVersion *string `pulumi:"apiVersion"`
|
||||
Kind *string `pulumi:"kind"`
|
||||
Metadata *v1.ObjectMeta `pulumi:"metadata"`
|
||||
// The desired behavior of this APIPortal.
|
||||
Spec *APIPortalSpec `pulumi:"spec"`
|
||||
// The current status of this APIPortal.
|
||||
Status *APIPortalStatus `pulumi:"status"`
|
||||
}
|
||||
|
||||
// The set of arguments for constructing a APIPortal resource.
|
||||
type APIPortalArgs struct {
|
||||
ApiVersion pulumi.StringPtrInput
|
||||
Kind pulumi.StringPtrInput
|
||||
Metadata v1.ObjectMetaPtrInput
|
||||
// The desired behavior of this APIPortal.
|
||||
Spec APIPortalSpecPtrInput
|
||||
// The current status of this APIPortal.
|
||||
Status APIPortalStatusPtrInput
|
||||
}
|
||||
|
||||
func (APIPortalArgs) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*apiportalArgs)(nil)).Elem()
|
||||
}
|
||||
|
||||
type APIPortalInput interface {
|
||||
pulumi.Input
|
||||
|
||||
ToAPIPortalOutput() APIPortalOutput
|
||||
ToAPIPortalOutputWithContext(ctx context.Context) APIPortalOutput
|
||||
}
|
||||
|
||||
func (*APIPortal) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((**APIPortal)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (i *APIPortal) ToAPIPortalOutput() APIPortalOutput {
|
||||
return i.ToAPIPortalOutputWithContext(context.Background())
|
||||
}
|
||||
|
||||
func (i *APIPortal) ToAPIPortalOutputWithContext(ctx context.Context) APIPortalOutput {
|
||||
return pulumi.ToOutputWithContext(ctx, i).(APIPortalOutput)
|
||||
}
|
||||
|
||||
func (i *APIPortal) ToOutput(ctx context.Context) pulumix.Output[*APIPortal] {
|
||||
return pulumix.Output[*APIPortal]{
|
||||
OutputState: i.ToAPIPortalOutputWithContext(ctx).OutputState,
|
||||
}
|
||||
}
|
||||
|
||||
type APIPortalOutput struct{ *pulumi.OutputState }
|
||||
|
||||
func (APIPortalOutput) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((**APIPortal)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (o APIPortalOutput) ToAPIPortalOutput() APIPortalOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o APIPortalOutput) ToAPIPortalOutputWithContext(ctx context.Context) APIPortalOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o APIPortalOutput) ToOutput(ctx context.Context) pulumix.Output[*APIPortal] {
|
||||
return pulumix.Output[*APIPortal]{
|
||||
OutputState: o.OutputState,
|
||||
}
|
||||
}
|
||||
|
||||
func (o APIPortalOutput) ApiVersion() pulumi.StringPtrOutput {
|
||||
return o.ApplyT(func(v *APIPortal) pulumi.StringPtrOutput { return v.ApiVersion }).(pulumi.StringPtrOutput)
|
||||
}
|
||||
|
||||
func (o APIPortalOutput) Kind() pulumi.StringPtrOutput {
|
||||
return o.ApplyT(func(v *APIPortal) pulumi.StringPtrOutput { return v.Kind }).(pulumi.StringPtrOutput)
|
||||
}
|
||||
|
||||
func (o APIPortalOutput) Metadata() v1.ObjectMetaPtrOutput {
|
||||
return o.ApplyT(func(v *APIPortal) v1.ObjectMetaPtrOutput { return v.Metadata }).(v1.ObjectMetaPtrOutput)
|
||||
}
|
||||
|
||||
// The desired behavior of this APIPortal.
|
||||
func (o APIPortalOutput) Spec() APIPortalSpecPtrOutput {
|
||||
return o.ApplyT(func(v *APIPortal) APIPortalSpecPtrOutput { return v.Spec }).(APIPortalSpecPtrOutput)
|
||||
}
|
||||
|
||||
// The current status of this APIPortal.
|
||||
func (o APIPortalOutput) Status() APIPortalStatusPtrOutput {
|
||||
return o.ApplyT(func(v *APIPortal) APIPortalStatusPtrOutput { return v.Status }).(APIPortalStatusPtrOutput)
|
||||
}
|
||||
|
||||
func init() {
|
||||
pulumi.RegisterInputType(reflect.TypeOf((*APIPortalInput)(nil)).Elem(), &APIPortal{})
|
||||
pulumi.RegisterOutputType(APIPortalOutput{})
|
||||
}
|
165
crds/kubernetes/hub/v1alpha1/apirateLimit.go
Normal file
165
crds/kubernetes/hub/v1alpha1/apirateLimit.go
Normal file
@ -0,0 +1,165 @@
|
||||
// Code generated by crd2pulumi DO NOT EDIT.
|
||||
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
|
||||
|
||||
package v1alpha1
|
||||
|
||||
import (
|
||||
"context"
|
||||
"reflect"
|
||||
|
||||
"antoine-roux.tk/projects/go/pulumi-library/crds/kubernetes/internal"
|
||||
v1 "github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes/meta/v1"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumix"
|
||||
)
|
||||
|
||||
// APIRateLimit defines how group of consumers are rate limited on a set of APIs.
|
||||
type APIRateLimit struct {
|
||||
pulumi.CustomResourceState
|
||||
|
||||
ApiVersion pulumi.StringPtrOutput `pulumi:"apiVersion"`
|
||||
Kind pulumi.StringPtrOutput `pulumi:"kind"`
|
||||
Metadata v1.ObjectMetaPtrOutput `pulumi:"metadata"`
|
||||
// The desired behavior of this APIRateLimit.
|
||||
Spec APIRateLimitSpecPtrOutput `pulumi:"spec"`
|
||||
// The current status of this APIRateLimit.
|
||||
Status APIRateLimitStatusPtrOutput `pulumi:"status"`
|
||||
}
|
||||
|
||||
// NewAPIRateLimit registers a new resource with the given unique name, arguments, and options.
|
||||
func NewAPIRateLimit(ctx *pulumi.Context,
|
||||
name string, args *APIRateLimitArgs, opts ...pulumi.ResourceOption) (*APIRateLimit, error) {
|
||||
if args == nil {
|
||||
args = &APIRateLimitArgs{}
|
||||
}
|
||||
|
||||
args.ApiVersion = pulumi.StringPtr("hub.traefik.io/v1alpha1")
|
||||
args.Kind = pulumi.StringPtr("APIRateLimit")
|
||||
opts = internal.PkgResourceDefaultOpts(opts)
|
||||
var resource APIRateLimit
|
||||
err := ctx.RegisterResource("kubernetes:hub.traefik.io/v1alpha1:APIRateLimit", name, args, &resource, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resource, nil
|
||||
}
|
||||
|
||||
// GetAPIRateLimit gets an existing APIRateLimit resource's state with the given name, ID, and optional
|
||||
// state properties that are used to uniquely qualify the lookup (nil if not required).
|
||||
func GetAPIRateLimit(ctx *pulumi.Context,
|
||||
name string, id pulumi.IDInput, state *APIRateLimitState, opts ...pulumi.ResourceOption) (*APIRateLimit, error) {
|
||||
var resource APIRateLimit
|
||||
err := ctx.ReadResource("kubernetes:hub.traefik.io/v1alpha1:APIRateLimit", name, id, state, &resource, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resource, nil
|
||||
}
|
||||
|
||||
// Input properties used for looking up and filtering APIRateLimit resources.
|
||||
type apirateLimitState struct {
|
||||
}
|
||||
|
||||
type APIRateLimitState struct {
|
||||
}
|
||||
|
||||
func (APIRateLimitState) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*apirateLimitState)(nil)).Elem()
|
||||
}
|
||||
|
||||
type apirateLimitArgs struct {
|
||||
ApiVersion *string `pulumi:"apiVersion"`
|
||||
Kind *string `pulumi:"kind"`
|
||||
Metadata *v1.ObjectMeta `pulumi:"metadata"`
|
||||
// The desired behavior of this APIRateLimit.
|
||||
Spec *APIRateLimitSpec `pulumi:"spec"`
|
||||
// The current status of this APIRateLimit.
|
||||
Status *APIRateLimitStatus `pulumi:"status"`
|
||||
}
|
||||
|
||||
// The set of arguments for constructing a APIRateLimit resource.
|
||||
type APIRateLimitArgs struct {
|
||||
ApiVersion pulumi.StringPtrInput
|
||||
Kind pulumi.StringPtrInput
|
||||
Metadata v1.ObjectMetaPtrInput
|
||||
// The desired behavior of this APIRateLimit.
|
||||
Spec APIRateLimitSpecPtrInput
|
||||
// The current status of this APIRateLimit.
|
||||
Status APIRateLimitStatusPtrInput
|
||||
}
|
||||
|
||||
func (APIRateLimitArgs) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*apirateLimitArgs)(nil)).Elem()
|
||||
}
|
||||
|
||||
type APIRateLimitInput interface {
|
||||
pulumi.Input
|
||||
|
||||
ToAPIRateLimitOutput() APIRateLimitOutput
|
||||
ToAPIRateLimitOutputWithContext(ctx context.Context) APIRateLimitOutput
|
||||
}
|
||||
|
||||
func (*APIRateLimit) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((**APIRateLimit)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (i *APIRateLimit) ToAPIRateLimitOutput() APIRateLimitOutput {
|
||||
return i.ToAPIRateLimitOutputWithContext(context.Background())
|
||||
}
|
||||
|
||||
func (i *APIRateLimit) ToAPIRateLimitOutputWithContext(ctx context.Context) APIRateLimitOutput {
|
||||
return pulumi.ToOutputWithContext(ctx, i).(APIRateLimitOutput)
|
||||
}
|
||||
|
||||
func (i *APIRateLimit) ToOutput(ctx context.Context) pulumix.Output[*APIRateLimit] {
|
||||
return pulumix.Output[*APIRateLimit]{
|
||||
OutputState: i.ToAPIRateLimitOutputWithContext(ctx).OutputState,
|
||||
}
|
||||
}
|
||||
|
||||
type APIRateLimitOutput struct{ *pulumi.OutputState }
|
||||
|
||||
func (APIRateLimitOutput) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((**APIRateLimit)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (o APIRateLimitOutput) ToAPIRateLimitOutput() APIRateLimitOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o APIRateLimitOutput) ToAPIRateLimitOutputWithContext(ctx context.Context) APIRateLimitOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o APIRateLimitOutput) ToOutput(ctx context.Context) pulumix.Output[*APIRateLimit] {
|
||||
return pulumix.Output[*APIRateLimit]{
|
||||
OutputState: o.OutputState,
|
||||
}
|
||||
}
|
||||
|
||||
func (o APIRateLimitOutput) ApiVersion() pulumi.StringPtrOutput {
|
||||
return o.ApplyT(func(v *APIRateLimit) pulumi.StringPtrOutput { return v.ApiVersion }).(pulumi.StringPtrOutput)
|
||||
}
|
||||
|
||||
func (o APIRateLimitOutput) Kind() pulumi.StringPtrOutput {
|
||||
return o.ApplyT(func(v *APIRateLimit) pulumi.StringPtrOutput { return v.Kind }).(pulumi.StringPtrOutput)
|
||||
}
|
||||
|
||||
func (o APIRateLimitOutput) Metadata() v1.ObjectMetaPtrOutput {
|
||||
return o.ApplyT(func(v *APIRateLimit) v1.ObjectMetaPtrOutput { return v.Metadata }).(v1.ObjectMetaPtrOutput)
|
||||
}
|
||||
|
||||
// The desired behavior of this APIRateLimit.
|
||||
func (o APIRateLimitOutput) Spec() APIRateLimitSpecPtrOutput {
|
||||
return o.ApplyT(func(v *APIRateLimit) APIRateLimitSpecPtrOutput { return v.Spec }).(APIRateLimitSpecPtrOutput)
|
||||
}
|
||||
|
||||
// The current status of this APIRateLimit.
|
||||
func (o APIRateLimitOutput) Status() APIRateLimitStatusPtrOutput {
|
||||
return o.ApplyT(func(v *APIRateLimit) APIRateLimitStatusPtrOutput { return v.Status }).(APIRateLimitStatusPtrOutput)
|
||||
}
|
||||
|
||||
func init() {
|
||||
pulumi.RegisterInputType(reflect.TypeOf((*APIRateLimitInput)(nil)).Elem(), &APIRateLimit{})
|
||||
pulumi.RegisterOutputType(APIRateLimitOutput{})
|
||||
}
|
165
crds/kubernetes/hub/v1alpha1/apiversion.go
Normal file
165
crds/kubernetes/hub/v1alpha1/apiversion.go
Normal file
@ -0,0 +1,165 @@
|
||||
// Code generated by crd2pulumi DO NOT EDIT.
|
||||
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
|
||||
|
||||
package v1alpha1
|
||||
|
||||
import (
|
||||
"context"
|
||||
"reflect"
|
||||
|
||||
"antoine-roux.tk/projects/go/pulumi-library/crds/kubernetes/internal"
|
||||
v1 "github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes/meta/v1"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumix"
|
||||
)
|
||||
|
||||
// APIVersion defines a version of an API.
|
||||
type APIVersion struct {
|
||||
pulumi.CustomResourceState
|
||||
|
||||
ApiVersion pulumi.StringPtrOutput `pulumi:"apiVersion"`
|
||||
Kind pulumi.StringPtrOutput `pulumi:"kind"`
|
||||
Metadata v1.ObjectMetaPtrOutput `pulumi:"metadata"`
|
||||
// The desired behavior of this APIVersion.
|
||||
Spec APIVersionSpecPtrOutput `pulumi:"spec"`
|
||||
// The current status of this APIVersion.
|
||||
Status APIVersionStatusPtrOutput `pulumi:"status"`
|
||||
}
|
||||
|
||||
// NewAPIVersion registers a new resource with the given unique name, arguments, and options.
|
||||
func NewAPIVersion(ctx *pulumi.Context,
|
||||
name string, args *APIVersionArgs, opts ...pulumi.ResourceOption) (*APIVersion, error) {
|
||||
if args == nil {
|
||||
args = &APIVersionArgs{}
|
||||
}
|
||||
|
||||
args.ApiVersion = pulumi.StringPtr("hub.traefik.io/v1alpha1")
|
||||
args.Kind = pulumi.StringPtr("APIVersion")
|
||||
opts = internal.PkgResourceDefaultOpts(opts)
|
||||
var resource APIVersion
|
||||
err := ctx.RegisterResource("kubernetes:hub.traefik.io/v1alpha1:APIVersion", name, args, &resource, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resource, nil
|
||||
}
|
||||
|
||||
// GetAPIVersion gets an existing APIVersion resource's state with the given name, ID, and optional
|
||||
// state properties that are used to uniquely qualify the lookup (nil if not required).
|
||||
func GetAPIVersion(ctx *pulumi.Context,
|
||||
name string, id pulumi.IDInput, state *APIVersionState, opts ...pulumi.ResourceOption) (*APIVersion, error) {
|
||||
var resource APIVersion
|
||||
err := ctx.ReadResource("kubernetes:hub.traefik.io/v1alpha1:APIVersion", name, id, state, &resource, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resource, nil
|
||||
}
|
||||
|
||||
// Input properties used for looking up and filtering APIVersion resources.
|
||||
type apiversionState struct {
|
||||
}
|
||||
|
||||
type APIVersionState struct {
|
||||
}
|
||||
|
||||
func (APIVersionState) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*apiversionState)(nil)).Elem()
|
||||
}
|
||||
|
||||
type apiversionArgs struct {
|
||||
ApiVersion *string `pulumi:"apiVersion"`
|
||||
Kind *string `pulumi:"kind"`
|
||||
Metadata *v1.ObjectMeta `pulumi:"metadata"`
|
||||
// The desired behavior of this APIVersion.
|
||||
Spec *APIVersionSpec `pulumi:"spec"`
|
||||
// The current status of this APIVersion.
|
||||
Status *APIVersionStatus `pulumi:"status"`
|
||||
}
|
||||
|
||||
// The set of arguments for constructing a APIVersion resource.
|
||||
type APIVersionArgs struct {
|
||||
ApiVersion pulumi.StringPtrInput
|
||||
Kind pulumi.StringPtrInput
|
||||
Metadata v1.ObjectMetaPtrInput
|
||||
// The desired behavior of this APIVersion.
|
||||
Spec APIVersionSpecPtrInput
|
||||
// The current status of this APIVersion.
|
||||
Status APIVersionStatusPtrInput
|
||||
}
|
||||
|
||||
func (APIVersionArgs) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*apiversionArgs)(nil)).Elem()
|
||||
}
|
||||
|
||||
type APIVersionInput interface {
|
||||
pulumi.Input
|
||||
|
||||
ToAPIVersionOutput() APIVersionOutput
|
||||
ToAPIVersionOutputWithContext(ctx context.Context) APIVersionOutput
|
||||
}
|
||||
|
||||
func (*APIVersion) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((**APIVersion)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (i *APIVersion) ToAPIVersionOutput() APIVersionOutput {
|
||||
return i.ToAPIVersionOutputWithContext(context.Background())
|
||||
}
|
||||
|
||||
func (i *APIVersion) ToAPIVersionOutputWithContext(ctx context.Context) APIVersionOutput {
|
||||
return pulumi.ToOutputWithContext(ctx, i).(APIVersionOutput)
|
||||
}
|
||||
|
||||
func (i *APIVersion) ToOutput(ctx context.Context) pulumix.Output[*APIVersion] {
|
||||
return pulumix.Output[*APIVersion]{
|
||||
OutputState: i.ToAPIVersionOutputWithContext(ctx).OutputState,
|
||||
}
|
||||
}
|
||||
|
||||
type APIVersionOutput struct{ *pulumi.OutputState }
|
||||
|
||||
func (APIVersionOutput) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((**APIVersion)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (o APIVersionOutput) ToAPIVersionOutput() APIVersionOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o APIVersionOutput) ToAPIVersionOutputWithContext(ctx context.Context) APIVersionOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o APIVersionOutput) ToOutput(ctx context.Context) pulumix.Output[*APIVersion] {
|
||||
return pulumix.Output[*APIVersion]{
|
||||
OutputState: o.OutputState,
|
||||
}
|
||||
}
|
||||
|
||||
func (o APIVersionOutput) ApiVersion() pulumi.StringPtrOutput {
|
||||
return o.ApplyT(func(v *APIVersion) pulumi.StringPtrOutput { return v.ApiVersion }).(pulumi.StringPtrOutput)
|
||||
}
|
||||
|
||||
func (o APIVersionOutput) Kind() pulumi.StringPtrOutput {
|
||||
return o.ApplyT(func(v *APIVersion) pulumi.StringPtrOutput { return v.Kind }).(pulumi.StringPtrOutput)
|
||||
}
|
||||
|
||||
func (o APIVersionOutput) Metadata() v1.ObjectMetaPtrOutput {
|
||||
return o.ApplyT(func(v *APIVersion) v1.ObjectMetaPtrOutput { return v.Metadata }).(v1.ObjectMetaPtrOutput)
|
||||
}
|
||||
|
||||
// The desired behavior of this APIVersion.
|
||||
func (o APIVersionOutput) Spec() APIVersionSpecPtrOutput {
|
||||
return o.ApplyT(func(v *APIVersion) APIVersionSpecPtrOutput { return v.Spec }).(APIVersionSpecPtrOutput)
|
||||
}
|
||||
|
||||
// The current status of this APIVersion.
|
||||
func (o APIVersionOutput) Status() APIVersionStatusPtrOutput {
|
||||
return o.ApplyT(func(v *APIVersion) APIVersionStatusPtrOutput { return v.Status }).(APIVersionStatusPtrOutput)
|
||||
}
|
||||
|
||||
func init() {
|
||||
pulumi.RegisterInputType(reflect.TypeOf((*APIVersionInput)(nil)).Elem(), &APIVersion{})
|
||||
pulumi.RegisterOutputType(APIVersionOutput{})
|
||||
}
|
54
crds/kubernetes/hub/v1alpha1/init.go
Normal file
54
crds/kubernetes/hub/v1alpha1/init.go
Normal file
@ -0,0 +1,54 @@
|
||||
// Code generated by crd2pulumi DO NOT EDIT.
|
||||
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
|
||||
|
||||
package v1alpha1
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"antoine-roux.tk/projects/go/pulumi-library/crds/kubernetes/internal"
|
||||
"github.com/blang/semver"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||
)
|
||||
|
||||
type module struct {
|
||||
version semver.Version
|
||||
}
|
||||
|
||||
func (m *module) Version() semver.Version {
|
||||
return m.version
|
||||
}
|
||||
|
||||
func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) {
|
||||
switch typ {
|
||||
case "kubernetes:hub.traefik.io/v1alpha1:API":
|
||||
r = &API{}
|
||||
case "kubernetes:hub.traefik.io/v1alpha1:APIAccess":
|
||||
r = &APIAccess{}
|
||||
case "kubernetes:hub.traefik.io/v1alpha1:APIPortal":
|
||||
r = &APIPortal{}
|
||||
case "kubernetes:hub.traefik.io/v1alpha1:APIRateLimit":
|
||||
r = &APIRateLimit{}
|
||||
case "kubernetes:hub.traefik.io/v1alpha1:APIVersion":
|
||||
r = &APIVersion{}
|
||||
case "kubernetes:hub.traefik.io/v1alpha1:AccessControlPolicy":
|
||||
r = &AccessControlPolicy{}
|
||||
default:
|
||||
return nil, fmt.Errorf("unknown resource type: %s", typ)
|
||||
}
|
||||
|
||||
err = ctx.RegisterResource(typ, name, nil, r, pulumi.URN_(urn))
|
||||
return
|
||||
}
|
||||
|
||||
func init() {
|
||||
version, err := internal.PkgVersion()
|
||||
if err != nil {
|
||||
version = semver.Version{Major: 1}
|
||||
}
|
||||
pulumi.RegisterResourceModule(
|
||||
"crds",
|
||||
"hub.traefik.io/v1alpha1",
|
||||
&module{version},
|
||||
)
|
||||
}
|
10276
crds/kubernetes/hub/v1alpha1/pulumiTypes.go
Normal file
10276
crds/kubernetes/hub/v1alpha1/pulumiTypes.go
Normal file
File diff suppressed because it is too large
Load Diff
@ -31,6 +31,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi
|
||||
r = &Middleware{}
|
||||
case "kubernetes:traefik.io/v1alpha1:MiddlewareTCP":
|
||||
r = &MiddlewareTCP{}
|
||||
case "kubernetes:traefik.io/v1alpha1:ServersTransport":
|
||||
r = &ServersTransport{}
|
||||
case "kubernetes:traefik.io/v1alpha1:ServersTransportTCP":
|
||||
r = &ServersTransportTCP{}
|
||||
case "kubernetes:traefik.io/v1alpha1:TLSOption":
|
||||
|
@ -13,7 +13,8 @@ import (
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumix"
|
||||
)
|
||||
|
||||
// Middleware is the CRD implementation of a Traefik Middleware. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/overview/
|
||||
// Middleware is the CRD implementation of a Traefik Middleware.
|
||||
// More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/overview/
|
||||
type Middleware struct {
|
||||
pulumi.CustomResourceState
|
||||
|
||||
|
@ -13,7 +13,8 @@ import (
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumix"
|
||||
)
|
||||
|
||||
// MiddlewareTCP is the CRD implementation of a Traefik TCP middleware. More info: https://doc.traefik.io/traefik/v2.10/middlewares/overview/
|
||||
// MiddlewareTCP is the CRD implementation of a Traefik TCP middleware.
|
||||
// More info: https://doc.traefik.io/traefik/v3.0/middlewares/overview/
|
||||
type MiddlewareTCP struct {
|
||||
pulumi.CustomResourceState
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
157
crds/kubernetes/traefik/v1alpha1/serversTransport.go
Normal file
157
crds/kubernetes/traefik/v1alpha1/serversTransport.go
Normal file
@ -0,0 +1,157 @@
|
||||
// Code generated by crd2pulumi DO NOT EDIT.
|
||||
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
|
||||
|
||||
package v1alpha1
|
||||
|
||||
import (
|
||||
"context"
|
||||
"reflect"
|
||||
|
||||
"antoine-roux.tk/projects/go/pulumi-library/crds/kubernetes/internal"
|
||||
v1 "github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes/meta/v1"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumix"
|
||||
)
|
||||
|
||||
// ServersTransport is the CRD implementation of a ServersTransport.
|
||||
// If no serversTransport is specified, the default@internal will be used.
|
||||
// The default@internal serversTransport is created from the static configuration.
|
||||
// More info: https://doc.traefik.io/traefik/v3.0/routing/services/#serverstransport_1
|
||||
type ServersTransport struct {
|
||||
pulumi.CustomResourceState
|
||||
|
||||
ApiVersion pulumi.StringPtrOutput `pulumi:"apiVersion"`
|
||||
Kind pulumi.StringPtrOutput `pulumi:"kind"`
|
||||
Metadata v1.ObjectMetaOutput `pulumi:"metadata"`
|
||||
// ServersTransportSpec defines the desired state of a ServersTransport.
|
||||
Spec ServersTransportSpecOutput `pulumi:"spec"`
|
||||
}
|
||||
|
||||
// NewServersTransport registers a new resource with the given unique name, arguments, and options.
|
||||
func NewServersTransport(ctx *pulumi.Context,
|
||||
name string, args *ServersTransportArgs, opts ...pulumi.ResourceOption) (*ServersTransport, error) {
|
||||
if args == nil {
|
||||
args = &ServersTransportArgs{}
|
||||
}
|
||||
|
||||
args.ApiVersion = pulumi.StringPtr("traefik.io/v1alpha1")
|
||||
args.Kind = pulumi.StringPtr("ServersTransport")
|
||||
opts = internal.PkgResourceDefaultOpts(opts)
|
||||
var resource ServersTransport
|
||||
err := ctx.RegisterResource("kubernetes:traefik.io/v1alpha1:ServersTransport", name, args, &resource, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resource, nil
|
||||
}
|
||||
|
||||
// GetServersTransport gets an existing ServersTransport resource's state with the given name, ID, and optional
|
||||
// state properties that are used to uniquely qualify the lookup (nil if not required).
|
||||
func GetServersTransport(ctx *pulumi.Context,
|
||||
name string, id pulumi.IDInput, state *ServersTransportState, opts ...pulumi.ResourceOption) (*ServersTransport, error) {
|
||||
var resource ServersTransport
|
||||
err := ctx.ReadResource("kubernetes:traefik.io/v1alpha1:ServersTransport", name, id, state, &resource, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resource, nil
|
||||
}
|
||||
|
||||
// Input properties used for looking up and filtering ServersTransport resources.
|
||||
type serversTransportState struct {
|
||||
}
|
||||
|
||||
type ServersTransportState struct {
|
||||
}
|
||||
|
||||
func (ServersTransportState) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*serversTransportState)(nil)).Elem()
|
||||
}
|
||||
|
||||
type serversTransportArgs struct {
|
||||
ApiVersion *string `pulumi:"apiVersion"`
|
||||
Kind *string `pulumi:"kind"`
|
||||
Metadata *v1.ObjectMeta `pulumi:"metadata"`
|
||||
// ServersTransportSpec defines the desired state of a ServersTransport.
|
||||
Spec *ServersTransportSpec `pulumi:"spec"`
|
||||
}
|
||||
|
||||
// The set of arguments for constructing a ServersTransport resource.
|
||||
type ServersTransportArgs struct {
|
||||
ApiVersion pulumi.StringPtrInput
|
||||
Kind pulumi.StringPtrInput
|
||||
Metadata v1.ObjectMetaPtrInput
|
||||
// ServersTransportSpec defines the desired state of a ServersTransport.
|
||||
Spec ServersTransportSpecPtrInput
|
||||
}
|
||||
|
||||
func (ServersTransportArgs) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*serversTransportArgs)(nil)).Elem()
|
||||
}
|
||||
|
||||
type ServersTransportInput interface {
|
||||
pulumi.Input
|
||||
|
||||
ToServersTransportOutput() ServersTransportOutput
|
||||
ToServersTransportOutputWithContext(ctx context.Context) ServersTransportOutput
|
||||
}
|
||||
|
||||
func (*ServersTransport) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((**ServersTransport)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (i *ServersTransport) ToServersTransportOutput() ServersTransportOutput {
|
||||
return i.ToServersTransportOutputWithContext(context.Background())
|
||||
}
|
||||
|
||||
func (i *ServersTransport) ToServersTransportOutputWithContext(ctx context.Context) ServersTransportOutput {
|
||||
return pulumi.ToOutputWithContext(ctx, i).(ServersTransportOutput)
|
||||
}
|
||||
|
||||
func (i *ServersTransport) ToOutput(ctx context.Context) pulumix.Output[*ServersTransport] {
|
||||
return pulumix.Output[*ServersTransport]{
|
||||
OutputState: i.ToServersTransportOutputWithContext(ctx).OutputState,
|
||||
}
|
||||
}
|
||||
|
||||
type ServersTransportOutput struct{ *pulumi.OutputState }
|
||||
|
||||
func (ServersTransportOutput) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((**ServersTransport)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (o ServersTransportOutput) ToServersTransportOutput() ServersTransportOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o ServersTransportOutput) ToServersTransportOutputWithContext(ctx context.Context) ServersTransportOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o ServersTransportOutput) ToOutput(ctx context.Context) pulumix.Output[*ServersTransport] {
|
||||
return pulumix.Output[*ServersTransport]{
|
||||
OutputState: o.OutputState,
|
||||
}
|
||||
}
|
||||
|
||||
func (o ServersTransportOutput) ApiVersion() pulumi.StringPtrOutput {
|
||||
return o.ApplyT(func(v *ServersTransport) pulumi.StringPtrOutput { return v.ApiVersion }).(pulumi.StringPtrOutput)
|
||||
}
|
||||
|
||||
func (o ServersTransportOutput) Kind() pulumi.StringPtrOutput {
|
||||
return o.ApplyT(func(v *ServersTransport) pulumi.StringPtrOutput { return v.Kind }).(pulumi.StringPtrOutput)
|
||||
}
|
||||
|
||||
func (o ServersTransportOutput) Metadata() v1.ObjectMetaOutput {
|
||||
return o.ApplyT(func(v *ServersTransport) v1.ObjectMetaOutput { return v.Metadata }).(v1.ObjectMetaOutput)
|
||||
}
|
||||
|
||||
// ServersTransportSpec defines the desired state of a ServersTransport.
|
||||
func (o ServersTransportOutput) Spec() ServersTransportSpecOutput {
|
||||
return o.ApplyT(func(v *ServersTransport) ServersTransportSpecOutput { return v.Spec }).(ServersTransportSpecOutput)
|
||||
}
|
||||
|
||||
func init() {
|
||||
pulumi.RegisterInputType(reflect.TypeOf((*ServersTransportInput)(nil)).Elem(), &ServersTransport{})
|
||||
pulumi.RegisterOutputType(ServersTransportOutput{})
|
||||
}
|
@ -13,7 +13,10 @@ import (
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumix"
|
||||
)
|
||||
|
||||
// ServersTransportTCP is the CRD implementation of a TCPServersTransport. If no tcpServersTransport is specified, a default one named default@internal will be used. The default@internal tcpServersTransport can be configured in the static configuration. More info: https://doc.traefik.io/traefik/v3.0/routing/services/#serverstransport_3
|
||||
// ServersTransportTCP is the CRD implementation of a TCPServersTransport.
|
||||
// If no tcpServersTransport is specified, a default one named default@internal will be used.
|
||||
// The default@internal tcpServersTransport can be configured in the static configuration.
|
||||
// More info: https://doc.traefik.io/traefik/v3.0/routing/services/#serverstransport_3
|
||||
type ServersTransportTCP struct {
|
||||
pulumi.CustomResourceState
|
||||
|
||||
|
@ -13,7 +13,8 @@ import (
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumix"
|
||||
)
|
||||
|
||||
// TLSOption is the CRD implementation of a Traefik TLS Option, allowing to configure some parameters of the TLS connection. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#tls-options
|
||||
// TLSOption is the CRD implementation of a Traefik TLS Option, allowing to configure some parameters of the TLS connection.
|
||||
// More info: https://doc.traefik.io/traefik/v3.0/https/tls/#tls-options
|
||||
type TLSOption struct {
|
||||
pulumi.CustomResourceState
|
||||
|
||||
|
@ -13,7 +13,10 @@ import (
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumix"
|
||||
)
|
||||
|
||||
// TLSStore is the CRD implementation of a Traefik TLS Store. For the time being, only the TLSStore named default is supported. This means that you cannot have two stores that are named default in different Kubernetes namespaces. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#certificates-stores
|
||||
// TLSStore is the CRD implementation of a Traefik TLS Store.
|
||||
// For the time being, only the TLSStore named default is supported.
|
||||
// This means that you cannot have two stores that are named default in different Kubernetes namespaces.
|
||||
// More info: https://doc.traefik.io/traefik/v3.0/https/tls/#certificates-stores
|
||||
type TLSStore struct {
|
||||
pulumi.CustomResourceState
|
||||
|
||||
|
@ -13,7 +13,11 @@ import (
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumix"
|
||||
)
|
||||
|
||||
// TraefikService is the CRD implementation of a Traefik Service. TraefikService object allows to: - Apply weight to Services on load-balancing - Mirror traffic on services More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-traefikservice
|
||||
// TraefikService is the CRD implementation of a Traefik Service.
|
||||
// TraefikService object allows to:
|
||||
// - Apply weight to Services on load-balancing
|
||||
// - Mirror traffic on services
|
||||
// More info: https://doc.traefik.io/traefik/v3.0/routing/providers/kubernetes-crd/#kind-traefikservice
|
||||
type TraefikService struct {
|
||||
pulumi.CustomResourceState
|
||||
|
||||
|
69
go.mod
69
go.mod
@ -1,91 +1,92 @@
|
||||
module antoine-roux.tk/projects/go/pulumi-library
|
||||
|
||||
go 1.21.4
|
||||
go 1.22.2
|
||||
|
||||
require (
|
||||
github.com/blang/semver v3.5.1+incompatible
|
||||
github.com/pulumi/pulumi-kubernetes/sdk/v4 v4.5.4
|
||||
github.com/pulumi/pulumi/sdk/v3 v3.94.2
|
||||
github.com/pulumi/pulumi-kubernetes/sdk/v4 v4.19.0
|
||||
github.com/pulumi/pulumi/sdk/v3 v3.144.1
|
||||
)
|
||||
|
||||
require (
|
||||
dario.cat/mergo v1.0.0 // indirect
|
||||
github.com/BurntSushi/toml v1.2.1 // indirect
|
||||
github.com/Microsoft/go-winio v0.6.1 // indirect
|
||||
github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371 // indirect
|
||||
github.com/acomagu/bufpipe v1.0.4 // indirect
|
||||
github.com/ProtonMail/go-crypto v1.0.0 // indirect
|
||||
github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da // indirect
|
||||
github.com/agext/levenshtein v1.2.3 // indirect
|
||||
github.com/apparentlymart/go-textseg/v13 v13.0.0 // indirect
|
||||
github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect
|
||||
github.com/atotto/clipboard v0.1.4 // indirect
|
||||
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
|
||||
github.com/charmbracelet/bubbles v0.16.1 // indirect
|
||||
github.com/charmbracelet/bubbletea v0.24.2 // indirect
|
||||
github.com/charmbracelet/bubbletea v0.25.0 // indirect
|
||||
github.com/charmbracelet/lipgloss v0.7.1 // indirect
|
||||
github.com/cheggaaa/pb v1.0.29 // indirect
|
||||
github.com/cloudflare/circl v1.3.3 // indirect
|
||||
github.com/cloudflare/circl v1.3.7 // indirect
|
||||
github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81 // indirect
|
||||
github.com/cyphar/filepath-securejoin v0.2.4 // indirect
|
||||
github.com/djherbis/times v1.5.0 // indirect
|
||||
github.com/emirpasic/gods v1.18.1 // indirect
|
||||
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
|
||||
github.com/go-git/go-billy/v5 v5.5.0 // indirect
|
||||
github.com/go-git/go-git/v5 v5.9.0 // indirect
|
||||
github.com/go-git/go-git/v5 v5.12.0 // indirect
|
||||
github.com/gogo/protobuf v1.3.2 // indirect
|
||||
github.com/golang/glog v1.1.0 // indirect
|
||||
github.com/golang/glog v1.2.2 // indirect
|
||||
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
|
||||
github.com/golang/protobuf v1.5.3 // indirect
|
||||
github.com/google/uuid v1.6.0 // indirect
|
||||
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect
|
||||
github.com/hashicorp/errwrap v1.1.0 // indirect
|
||||
github.com/hashicorp/go-multierror v1.1.1 // indirect
|
||||
github.com/hashicorp/hcl/v2 v2.17.0 // indirect
|
||||
github.com/hashicorp/hcl/v2 v2.22.0 // indirect
|
||||
github.com/inconshreveable/mousetrap v1.1.0 // indirect
|
||||
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect
|
||||
github.com/kevinburke/ssh_config v1.2.0 // indirect
|
||||
github.com/lucasb-eyer/go-colorful v1.2.0 // indirect
|
||||
github.com/mattn/go-isatty v0.0.18 // indirect
|
||||
github.com/mattn/go-isatty v0.0.20 // indirect
|
||||
github.com/mattn/go-localereader v0.0.1 // indirect
|
||||
github.com/mattn/go-runewidth v0.0.14 // indirect
|
||||
github.com/mattn/go-runewidth v0.0.15 // indirect
|
||||
github.com/mitchellh/go-ps v1.0.0 // indirect
|
||||
github.com/mitchellh/go-wordwrap v1.0.1 // indirect
|
||||
github.com/muesli/ansi v0.0.0-20211018074035-2e021307bc4b // indirect
|
||||
github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 // indirect
|
||||
github.com/muesli/cancelreader v0.2.2 // indirect
|
||||
github.com/muesli/reflow v0.3.0 // indirect
|
||||
github.com/muesli/termenv v0.15.1 // indirect
|
||||
github.com/muesli/termenv v0.15.2 // indirect
|
||||
github.com/opentracing/basictracer-go v1.1.0 // indirect
|
||||
github.com/opentracing/opentracing-go v1.2.0 // indirect
|
||||
github.com/pgavlin/fx v0.1.6 // indirect
|
||||
github.com/pjbgf/sha1cd v0.3.0 // indirect
|
||||
github.com/pkg/errors v0.9.1 // indirect
|
||||
github.com/pkg/term v1.1.0 // indirect
|
||||
github.com/pulumi/esc v0.5.6 // indirect
|
||||
github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect
|
||||
github.com/pulumi/esc v0.10.0 // indirect
|
||||
github.com/rivo/uniseg v0.4.4 // indirect
|
||||
github.com/rogpeppe/go-internal v1.11.0 // indirect
|
||||
github.com/rogpeppe/go-internal v1.12.0 // indirect
|
||||
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 // indirect
|
||||
github.com/santhosh-tekuri/jsonschema/v5 v5.0.0 // indirect
|
||||
github.com/sergi/go-diff v1.3.1 // indirect
|
||||
github.com/skeema/knownhosts v1.2.0 // indirect
|
||||
github.com/spf13/cobra v1.7.0 // indirect
|
||||
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 // indirect
|
||||
github.com/skeema/knownhosts v1.2.2 // indirect
|
||||
github.com/spf13/cobra v1.8.0 // indirect
|
||||
github.com/spf13/pflag v1.0.5 // indirect
|
||||
github.com/texttheater/golang-levenshtein v1.0.1 // indirect
|
||||
github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7 // indirect
|
||||
github.com/uber/jaeger-client-go v2.30.0+incompatible // indirect
|
||||
github.com/uber/jaeger-lib v2.4.1+incompatible // indirect
|
||||
github.com/xanzy/ssh-agent v0.3.3 // indirect
|
||||
github.com/zclconf/go-cty v1.13.2 // indirect
|
||||
go.uber.org/atomic v1.9.0 // indirect
|
||||
golang.org/x/crypto v0.14.0 // indirect
|
||||
golang.org/x/exp v0.0.0-20231006140011-7918f672742d // indirect
|
||||
golang.org/x/mod v0.13.0 // indirect
|
||||
golang.org/x/net v0.17.0 // indirect
|
||||
golang.org/x/sync v0.4.0 // indirect
|
||||
golang.org/x/sys v0.13.0 // indirect
|
||||
golang.org/x/term v0.13.0 // indirect
|
||||
golang.org/x/text v0.13.0 // indirect
|
||||
golang.org/x/tools v0.14.0 // indirect
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20230706204954-ccb25ca9f130 // indirect
|
||||
google.golang.org/grpc v1.57.1 // indirect
|
||||
google.golang.org/protobuf v1.31.0 // indirect
|
||||
golang.org/x/crypto v0.31.0 // indirect
|
||||
golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8 // indirect
|
||||
golang.org/x/mod v0.18.0 // indirect
|
||||
golang.org/x/net v0.33.0 // indirect
|
||||
golang.org/x/sync v0.10.0 // indirect
|
||||
golang.org/x/sys v0.28.0 // indirect
|
||||
golang.org/x/term v0.27.0 // indirect
|
||||
golang.org/x/text v0.21.0 // indirect
|
||||
golang.org/x/tools v0.22.0 // indirect
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect
|
||||
google.golang.org/grpc v1.67.1 // indirect
|
||||
google.golang.org/protobuf v1.35.1 // indirect
|
||||
gopkg.in/warnings.v0 v0.1.2 // indirect
|
||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||
lukechampine.com/frand v1.4.2 // indirect
|
||||
sourcegraph.com/sourcegraph/appdash v0.0.0-20211028080628-e2786a622600 // indirect
|
||||
)
|
||||
|
169
go.sum
169
go.sum
@ -1,14 +1,14 @@
|
||||
dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk=
|
||||
dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk=
|
||||
github.com/BurntSushi/toml v1.2.1 h1:9F2/+DoOYIOksmaJFPw1tGFy1eDnIJXg+UHjuD8lTak=
|
||||
github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
|
||||
github.com/HdrHistogram/hdrhistogram-go v1.1.2 h1:5IcZpTvzydCQeHzK4Ef/D5rrSqwxob0t8PQPMybUNFM=
|
||||
github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo=
|
||||
github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY=
|
||||
github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow=
|
||||
github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM=
|
||||
github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371 h1:kkhsdkhsCvIsutKu5zLMgWtgh9YxGCNAw8Ad8hjwfYg=
|
||||
github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0=
|
||||
github.com/acomagu/bufpipe v1.0.4 h1:e3H4WUzM3npvo5uv95QuJM3cQspFNtFBzvJ2oNjKIDQ=
|
||||
github.com/acomagu/bufpipe v1.0.4/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4=
|
||||
github.com/ProtonMail/go-crypto v1.0.0 h1:LRuvITjQWX+WIfr930YHG2HNfjR1uOfyf5vE0kC2U78=
|
||||
github.com/ProtonMail/go-crypto v1.0.0/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0=
|
||||
github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da h1:KjTM2ks9d14ZYCvmHS9iAKVt9AyzRSqNU1qabPih5BY=
|
||||
github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da/go.mod h1:eHEWzANqSiWQsof+nXEI9bUVUyV6F53Fp89EuCh2EAA=
|
||||
github.com/agext/levenshtein v1.2.3 h1:YB2fHEn0UJagG8T1rrWknE3ZQzWM06O8AMAatNn7lmo=
|
||||
@ -17,6 +17,8 @@ github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFI
|
||||
github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4=
|
||||
github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6iT90AvPUL1NNfNw=
|
||||
github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo=
|
||||
github.com/apparentlymart/go-textseg/v15 v15.0.0 h1:uYvfpb3DyLSCGWnctWKGj857c6ew1u1fNQOlOtuGxQY=
|
||||
github.com/apparentlymart/go-textseg/v15 v15.0.0/go.mod h1:K8XmNZdhEBkdlyDdvbmmsvpAG721bKi0joRfFdHIWJ4=
|
||||
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio=
|
||||
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs=
|
||||
github.com/atotto/clipboard v0.1.4 h1:EH0zSVneZPSuFR11BlR9YppQTVDbh5+16AmcJi4g1z4=
|
||||
@ -28,17 +30,18 @@ github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnweb
|
||||
github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0=
|
||||
github.com/charmbracelet/bubbles v0.16.1 h1:6uzpAAaT9ZqKssntbvZMlksWHruQLNxg49H5WdeuYSY=
|
||||
github.com/charmbracelet/bubbles v0.16.1/go.mod h1:2QCp9LFlEsBQMvIYERr7Ww2H2bA7xen1idUDIzm/+Xc=
|
||||
github.com/charmbracelet/bubbletea v0.24.2 h1:uaQIKx9Ai6Gdh5zpTbGiWpytMU+CfsPp06RaW2cx/SY=
|
||||
github.com/charmbracelet/bubbletea v0.24.2/go.mod h1:XdrNrV4J8GiyshTtx3DNuYkR1FDaJmO3l2nejekbsgg=
|
||||
github.com/charmbracelet/bubbletea v0.25.0 h1:bAfwk7jRz7FKFl9RzlIULPkStffg5k6pNt5dywy4TcM=
|
||||
github.com/charmbracelet/bubbletea v0.25.0/go.mod h1:EN3QDR1T5ZdWmdfDzYcqOCAps45+QIJbLOBxmVNWNNg=
|
||||
github.com/charmbracelet/lipgloss v0.7.1 h1:17WMwi7N1b1rVWOjMT+rCh7sQkvDU75B2hbZpc5Kc1E=
|
||||
github.com/charmbracelet/lipgloss v0.7.1/go.mod h1:yG0k3giv8Qj8edTCbbg6AlQ5e8KNWpFujkNawKNhE2c=
|
||||
github.com/cheggaaa/pb v1.0.29 h1:FckUN5ngEk2LpvuG0fw1GEFx6LtyY2pWI/Z2QgCnEYo=
|
||||
github.com/cheggaaa/pb v1.0.29/go.mod h1:W40334L7FMC5JKWldsTWbdGjLo0RxUKK73K+TuPxX30=
|
||||
github.com/cloudflare/circl v1.3.3 h1:fE/Qz0QdIGqeWfnwq0RE0R7MI51s0M2E4Ga9kq5AEMs=
|
||||
github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA=
|
||||
github.com/cloudflare/circl v1.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vcU=
|
||||
github.com/cloudflare/circl v1.3.7/go.mod h1:sRTcRWXGLrKw6yIGJ+l7amYJFfAXbZG0kBSc8r4zxgA=
|
||||
github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81 h1:q2hJAaP1k2wIvVRd/hEHD7lacgqrCPS+k8g1MndzfWY=
|
||||
github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81/go.mod h1:YynlIjWYF8myEu6sdkwKIvGQq+cOckRm6So2avqoYAk=
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
|
||||
github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg=
|
||||
github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4=
|
||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
@ -51,31 +54,29 @@ github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a/go.mod h1:Ro8st/El
|
||||
github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc=
|
||||
github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ=
|
||||
github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU=
|
||||
github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w=
|
||||
github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk=
|
||||
github.com/gliderlabs/ssh v0.3.5 h1:OcaySEmAQJgyYcArR+gGGTHCyE7nvhEMTlYY+Dp8CpY=
|
||||
github.com/gliderlabs/ssh v0.3.5/go.mod h1:8XB4KraRrX39qHhT6yxPsHedjA08I/uBVwj4xC+/+z4=
|
||||
github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM=
|
||||
github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE=
|
||||
github.com/gliderlabs/ssh v0.3.7 h1:iV3Bqi942d9huXnzEF2Mt+CY9gLu8DNM4Obd+8bODRE=
|
||||
github.com/gliderlabs/ssh v0.3.7/go.mod h1:zpHEXBstFnQYtGnB8k8kQLol82umzn/2/snG7alWVD8=
|
||||
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI=
|
||||
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic=
|
||||
github.com/go-git/go-billy/v5 v5.5.0 h1:yEY4yhzCDuMGSv83oGxiBotRzhwhNr8VZyphhiu+mTU=
|
||||
github.com/go-git/go-billy/v5 v5.5.0/go.mod h1:hmexnoNsr2SJU1Ju67OaNz5ASJY3+sHgFRpCtpDCKow=
|
||||
github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20230305113008-0c11038e723f h1:Pz0DHeFij3XFhoBRGUDPzSJ+w2UcK5/0JvF8DRI58r8=
|
||||
github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20230305113008-0c11038e723f/go.mod h1:8LHG1a3SRW71ettAD/jW13h8c6AqjVSeL11RAdgaqpo=
|
||||
github.com/go-git/go-git/v5 v5.9.0 h1:cD9SFA7sHVRdJ7AYck1ZaAa/yeuBvGPxwXDL8cxrObY=
|
||||
github.com/go-git/go-git/v5 v5.9.0/go.mod h1:RKIqga24sWdMGZF+1Ekv9kylsDz6LzdTSI2s/OsZWE0=
|
||||
github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4=
|
||||
github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII=
|
||||
github.com/go-git/go-git/v5 v5.12.0 h1:7Md+ndsjrzZxbddRDZjF14qK+NN56sy6wkqaVrjZtys=
|
||||
github.com/go-git/go-git/v5 v5.12.0/go.mod h1:FTM9VKtnI2m65hNI/TenDDDnUf2Q9FHnXYjuz9i5OEY=
|
||||
github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
|
||||
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
|
||||
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
|
||||
github.com/golang/glog v1.1.0 h1:/d3pCKDPWNnvIWe0vVUpNP32qc8U3PDVxySP/y360qE=
|
||||
github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ=
|
||||
github.com/golang/glog v1.2.2 h1:1+mZ9upx1Dh6FmUTFR1naJ77miKiXgALjWOZ3NVFPmY=
|
||||
github.com/golang/glog v1.2.2/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w=
|
||||
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE=
|
||||
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
|
||||
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
|
||||
github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
|
||||
github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
|
||||
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
|
||||
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
|
||||
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
|
||||
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
|
||||
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
|
||||
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 h1:MJG/KsmcqMwFAkh8mTnAwhyKoB+sTAnY4CACC110tbU=
|
||||
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645/go.mod h1:6iZfnjpejD4L/4DwD7NryNaJyCQdzwWwH2MWhCA90Kw=
|
||||
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
|
||||
@ -83,8 +84,8 @@ github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY
|
||||
github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
|
||||
github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo=
|
||||
github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM=
|
||||
github.com/hashicorp/hcl/v2 v2.17.0 h1:z1XvSUyXd1HP10U4lrLg5e0JMVz6CPaJvAgxM0KNZVY=
|
||||
github.com/hashicorp/hcl/v2 v2.17.0/go.mod h1:gJyW2PTShkJqQBKpAmPO3yxMxIuoXkOF2TpqXzrQyx4=
|
||||
github.com/hashicorp/hcl/v2 v2.22.0 h1:hkZ3nCtqeJsDhPRFz5EA9iwcG1hNWGePOTw6oyul12M=
|
||||
github.com/hashicorp/hcl/v2 v2.22.0/go.mod h1:62ZYHrXgPoX8xBnzl8QzbWq4dyDsDtfCRgIq1rbJEvA=
|
||||
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
|
||||
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
|
||||
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A=
|
||||
@ -103,33 +104,31 @@ github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
|
||||
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
|
||||
github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY=
|
||||
github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0=
|
||||
github.com/matryer/is v1.2.0 h1:92UTHpy8CDwaJ08GqLDzhhuixiBUUD1p3AU6PHddz4A=
|
||||
github.com/matryer/is v1.2.0/go.mod h1:2fLPjFQM9rhQ15aVEtbuwhJinnOqrmgXPNdZsdwlWXA=
|
||||
github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
|
||||
github.com/mattn/go-colorable v0.1.12 h1:jF+Du6AlPIjs2BiUiQlKOX0rt3SujHxPnksPKZbaA40=
|
||||
github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4=
|
||||
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
|
||||
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
|
||||
github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
|
||||
github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE=
|
||||
github.com/mattn/go-isatty v0.0.18 h1:DOKFKCQ7FNG2L1rbrmstDN4QVRdS89Nkh85u68Uwp98=
|
||||
github.com/mattn/go-isatty v0.0.18/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
|
||||
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
|
||||
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
|
||||
github.com/mattn/go-localereader v0.0.1 h1:ygSAOl7ZXTx4RdPYinUpg6W99U8jWvWi9Ye2JC/oIi4=
|
||||
github.com/mattn/go-localereader v0.0.1/go.mod h1:8fBrzywKY7BI3czFoHkuzRoWE9C+EiG4R1k4Cjx5p88=
|
||||
github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
|
||||
github.com/mattn/go-runewidth v0.0.12/go.mod h1:RAqKPSqVFrSLVXbA8x7dzmKdmGzieGRCM46jaSJTDAk=
|
||||
github.com/mattn/go-runewidth v0.0.14 h1:+xnbZSEeDbOIg5/mE6JF0w6n9duR1l3/WmbinWVwUuU=
|
||||
github.com/mattn/go-runewidth v0.0.14/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
|
||||
github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U=
|
||||
github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
|
||||
github.com/mitchellh/go-ps v1.0.0 h1:i6ampVEEF4wQFF+bkYfwYgY+F/uYJDktmvLPf7qIgjc=
|
||||
github.com/mitchellh/go-ps v1.0.0/go.mod h1:J4lOc8z8yJs6vUwklHw2XEIiT4z4C40KtWVN3nvg8Pg=
|
||||
github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0=
|
||||
github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0=
|
||||
github.com/muesli/ansi v0.0.0-20211018074035-2e021307bc4b h1:1XF24mVaiu7u+CFywTdcDo2ie1pzzhwjt6RHqzpMU34=
|
||||
github.com/muesli/ansi v0.0.0-20211018074035-2e021307bc4b/go.mod h1:fQuZ0gauxyBcmsdE3ZT4NasjaRdxmbCS0jRHsrWu3Ho=
|
||||
github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 h1:ZK8zHtRHOkbHy6Mmr5D264iyp3TiX5OmNcI5cIARiQI=
|
||||
github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6/go.mod h1:CJlz5H+gyd6CUWT45Oy4q24RdLyn7Md9Vj2/ldJBSIo=
|
||||
github.com/muesli/cancelreader v0.2.2 h1:3I4Kt4BQjOR54NavqnDogx/MIoWBFa0StPA8ELUXHmA=
|
||||
github.com/muesli/cancelreader v0.2.2/go.mod h1:3XuTXfFS2VjM+HTLZY9Ak0l6eUKfijIfMUZ4EgX0QYo=
|
||||
github.com/muesli/reflow v0.3.0 h1:IFsN6K9NfGtjeggFP+68I4chLZV2yIKsXJFNZ+eWh6s=
|
||||
github.com/muesli/reflow v0.3.0/go.mod h1:pbwTDkVPibjO2kyvBQRBxTWEEGDGq0FlB1BIKtnHY/8=
|
||||
github.com/muesli/termenv v0.15.1 h1:UzuTb/+hhlBugQz28rpzey4ZuKcZ03MeKsoG7IJZIxs=
|
||||
github.com/muesli/termenv v0.15.1/go.mod h1:HeAQPTzpfs016yGtA4g00CsdYnVLJvxsS4ANqrZs2sQ=
|
||||
github.com/muesli/termenv v0.15.2 h1:GohcuySI0QmI3wN8Ok9PtKGkgkFIk7y6Vpb5PvrY+Wo=
|
||||
github.com/muesli/termenv v0.15.2/go.mod h1:Epx+iuz8sNs7mNKhxzH4fWXGNpZwUaJKRS1noLXviQ8=
|
||||
github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI=
|
||||
github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M=
|
||||
github.com/opentracing/basictracer-go v1.1.0 h1:Oa1fTSBvAl8pa3U+IJYqrKm0NALwH9OsgwOqDv4xJW0=
|
||||
@ -137,6 +136,8 @@ github.com/opentracing/basictracer-go v1.1.0/go.mod h1:V2HZueSJEp879yv285Aap1BS6
|
||||
github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
|
||||
github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs=
|
||||
github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
|
||||
github.com/pgavlin/fx v0.1.6 h1:r9jEg69DhNoCd3Xh0+5mIbdbS3PqWrVWujkY76MFRTU=
|
||||
github.com/pgavlin/fx v0.1.6/go.mod h1:KWZJ6fqBBSh8GxHYqwYCf3rYE7Gp2p0N8tJp8xv9u9M=
|
||||
github.com/pjbgf/sha1cd v0.3.0 h1:4D5XXmUUBUl/xQ6IjCkEAbqXskkq/4O7LmGn0AqMDs4=
|
||||
github.com/pjbgf/sha1cd v0.3.0/go.mod h1:nZ1rrWOcGJ5uZgEEVL1VUM9iRQiZvWdbZjkKyFzPPsI=
|
||||
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
|
||||
@ -145,30 +146,32 @@ github.com/pkg/term v1.1.0 h1:xIAAdCMh3QIAy+5FrE8Ad8XoDhEU4ufwbaSozViP9kk=
|
||||
github.com/pkg/term v1.1.0/go.mod h1:E25nymQcrSllhX42Ok8MRm1+hyBdHY0dCeiKZ9jpNGw=
|
||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/pulumi/esc v0.5.6 h1:4WV3X7OEVcChIwbSG+JxhZDdmq/q7lFPaSjHRYlPwmI=
|
||||
github.com/pulumi/esc v0.5.6/go.mod h1:wpwNfVS5fV7Kd51j4dJ6FWYlKfxdqyppgp0gtkzqH04=
|
||||
github.com/pulumi/pulumi-kubernetes/sdk/v4 v4.5.4 h1:f+0xGINXUOv64e+GIuYPTUmSCL6cWNI1OoeJx+6rqPk=
|
||||
github.com/pulumi/pulumi-kubernetes/sdk/v4 v4.5.4/go.mod h1:E71mSAsusn1tMAbUUQlXavRdrbFtYpikkcczeWBr6+w=
|
||||
github.com/pulumi/pulumi/sdk/v3 v3.94.2 h1:B8W3CCzA2fX/0730o/7KQXdmqrY5KdgGtiAA6rDMVlk=
|
||||
github.com/pulumi/pulumi/sdk/v3 v3.94.2/go.mod h1:zeqyIODqbb6GrEyhFV6aJET/xBSXSnF7Bw/EjbYZUnU=
|
||||
github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 h1:vkHw5I/plNdTr435cARxCW6q9gc0S/Yxz7Mkd38pOb0=
|
||||
github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE=
|
||||
github.com/pulumi/esc v0.10.0 h1:jzBKzkLVW0mePeanDRfqSQoCJ5yrkux0jIwAkUxpRKE=
|
||||
github.com/pulumi/esc v0.10.0/go.mod h1:2Bfa+FWj/xl8CKqRTWbWgDX0SOD4opdQgvYSURTGK2c=
|
||||
github.com/pulumi/pulumi-kubernetes/sdk/v4 v4.19.0 h1:7AjJpUyW6YHHpZr0bI6Fy1A3/b7ERxq1LAo5mlyNN1Y=
|
||||
github.com/pulumi/pulumi-kubernetes/sdk/v4 v4.19.0/go.mod h1:ATS+UN8pguMxypQAK+SaPewesU+UN5dpf93PNqVuHzs=
|
||||
github.com/pulumi/pulumi/sdk/v3 v3.144.1 h1:QQtCDERihhlfvcmRzqHeBmOER1Fg1VkFj9933Lxqv00=
|
||||
github.com/pulumi/pulumi/sdk/v3 v3.144.1/go.mod h1:/6gxU2XirnLlImBy5OoqV6I4HcjOf+IznNIZNZExZzo=
|
||||
github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
|
||||
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
|
||||
github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis=
|
||||
github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
|
||||
github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M=
|
||||
github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA=
|
||||
github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8=
|
||||
github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4=
|
||||
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
||||
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 h1:OkMGxebDjyw0ULyrTYWeN0UNCCkmCWfjPnIA2W6oviI=
|
||||
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06/go.mod h1:+ePHsJ1keEjQtpvf9HHw0f4ZeJ0TLRsxhunSI2hYJSs=
|
||||
github.com/santhosh-tekuri/jsonschema/v5 v5.0.0 h1:TToq11gyfNlrMFZiYujSekIsPd9AmsA2Bj/iv+s4JHE=
|
||||
github.com/santhosh-tekuri/jsonschema/v5 v5.0.0/go.mod h1:FKdcjfQW6rpZSnxxUvEA5H/cDPdvJ/SZJQLWWXWGrZ0=
|
||||
github.com/sergi/go-diff v1.3.1 h1:xkr+Oxo4BOQKmkn/B9eMK0g5Kg/983T9DqqPHwYqD+8=
|
||||
github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NFbPK1I=
|
||||
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 h1:n661drycOFuPLCN3Uc8sB6B/s6Z4t2xvBgU1htSHuq8=
|
||||
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3/go.mod h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4=
|
||||
github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
|
||||
github.com/skeema/knownhosts v1.2.0 h1:h9r9cf0+u7wSE+M183ZtMGgOJKiL96brpaz5ekfJCpM=
|
||||
github.com/skeema/knownhosts v1.2.0/go.mod h1:g4fPeYpque7P0xefxtGzV81ihjC8sX2IqpAoNkjxbMo=
|
||||
github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I=
|
||||
github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0=
|
||||
github.com/skeema/knownhosts v1.2.2 h1:Iug2P4fLmDw9f41PB6thxUkNUkJzB5i+1/exaj40L3A=
|
||||
github.com/skeema/knownhosts v1.2.2/go.mod h1:xYbVRSPxqBZFrdmDyMmsOs+uX1UZC3nTN3ThzgDxUwo=
|
||||
github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0=
|
||||
github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho=
|
||||
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
|
||||
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
|
||||
github.com/stretchr/objx v0.1.0 h1:4G4v2dO3VZwixGIRoQ5Lfboy6nUhCyYzaqnIAPPhYs4=
|
||||
@ -178,12 +181,10 @@ github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UV
|
||||
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
|
||||
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
|
||||
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
|
||||
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
|
||||
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
|
||||
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
|
||||
github.com/texttheater/golang-levenshtein v1.0.1 h1:+cRNoVrfiwufQPhoMzB6N0Yf/Mqajr6t1lOv8GyGE2U=
|
||||
github.com/texttheater/golang-levenshtein v1.0.1/go.mod h1:PYAKrbF5sAiq9wd+H82hs7gNaen0CplQ9uvm6+enD/8=
|
||||
github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7 h1:X9dsIWPuuEJlPX//UmRKophhOKCGXc46RVIGuttks68=
|
||||
github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7/go.mod h1:UxoP3EypF8JfGEjAII8jx1q8rQyDnX8qdTCs/UQBVIE=
|
||||
github.com/uber/jaeger-client-go v2.30.0+incompatible h1:D6wyKGCecFaSRUpo8lCVbaOOb6ThwMmTEbhRwtKR97o=
|
||||
github.com/uber/jaeger-client-go v2.30.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk=
|
||||
github.com/uber/jaeger-lib v2.4.1+incompatible h1:td4jdvLcExb4cBISKIpHuGoVXh+dVKhn2Um6rjCsSsg=
|
||||
@ -204,18 +205,18 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y
|
||||
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
||||
golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4=
|
||||
golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
|
||||
golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc=
|
||||
golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4=
|
||||
golang.org/x/exp v0.0.0-20231006140011-7918f672742d h1:jtJma62tbqLibJ5sFQz8bKtEM8rJBtfilJ2qTU199MI=
|
||||
golang.org/x/exp v0.0.0-20231006140011-7918f672742d/go.mod h1:ldy0pHrwJyGW56pPQzzkH36rKxoZW1tw7ZJpeKx+hdo=
|
||||
golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U=
|
||||
golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk=
|
||||
golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8 h1:LoYXNGAShUG3m/ehNk4iFctuhGX/+R1ZpfJ4/ia80JM=
|
||||
golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8/go.mod h1:jj3sYF3dwk5D+ghuXyeI3r5MFf+NT2An6/9dOA95KSI=
|
||||
golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
|
||||
golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
|
||||
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
|
||||
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
|
||||
golang.org/x/mod v0.13.0 h1:I/DsJXRlw/8l/0c24sM9yb0T4z9liZTduXvdAWYiysY=
|
||||
golang.org/x/mod v0.13.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
|
||||
golang.org/x/mod v0.18.0 h1:5+9lSbEzPSdWkH32vYPBwEpX8KwDbM52Ud9xBUvNlb0=
|
||||
golang.org/x/mod v0.18.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
|
||||
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
@ -227,15 +228,15 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug
|
||||
golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
|
||||
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
|
||||
golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
|
||||
golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM=
|
||||
golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
|
||||
golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I=
|
||||
golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4=
|
||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.4.0 h1:zxkM55ReGkDlKSM+Fu41A+zmbZuaPVbGMzvvdUPznYQ=
|
||||
golang.org/x/sync v0.4.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
|
||||
golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ=
|
||||
golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
|
||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
@ -256,15 +257,15 @@ golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE=
|
||||
golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA=
|
||||
golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
||||
golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
|
||||
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
|
||||
golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U=
|
||||
golang.org/x/term v0.13.0 h1:bb+I9cTfFazGW51MZqBVmZy7+JEJMouUHTUSKVQLBek=
|
||||
golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U=
|
||||
golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q=
|
||||
golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM=
|
||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
@ -272,8 +273,8 @@ golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
|
||||
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
|
||||
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
|
||||
golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
|
||||
golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k=
|
||||
golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
|
||||
golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo=
|
||||
golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
|
||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
@ -282,20 +283,18 @@ golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roY
|
||||
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
|
||||
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
|
||||
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
|
||||
golang.org/x/tools v0.14.0 h1:jvNa2pY0M4r62jkRQ6RwEZZyPcymeL9XZMLBbV7U2nc=
|
||||
golang.org/x/tools v0.14.0/go.mod h1:uYBEerGOWcJyEORxN+Ek8+TT266gXkNlHdJBwexUsBg=
|
||||
golang.org/x/tools v0.22.0 h1:gqSGLZqv+AI9lIQzniJ0nZDRG5GBPsSi+DRNHWNz6yA=
|
||||
golang.org/x/tools v0.22.0/go.mod h1:aCwcsjqvq7Yqt6TNyX7QMU2enbQ/Gt0bo6krSeEri+c=
|
||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20230706204954-ccb25ca9f130 h1:2FZP5XuJY9zQyGM5N0rtovnoXjiMUEIUMvw0m9wlpLc=
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:8mL13HKkDa+IuJ8yruA3ci0q+0vsUz4m//+ottjwS5o=
|
||||
google.golang.org/grpc v1.57.1 h1:upNTNqv0ES+2ZOOqACwVtS3Il8M12/+Hz41RCPzAjQg=
|
||||
google.golang.org/grpc v1.57.1/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo=
|
||||
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
|
||||
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
|
||||
google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8=
|
||||
google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs=
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU=
|
||||
google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E=
|
||||
google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA=
|
||||
google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA=
|
||||
google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
|
||||
@ -310,7 +309,5 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
lukechampine.com/frand v1.4.2 h1:RzFIpOvkMXuPMBb9maa4ND4wjBn71E1Jpf8BzJHMaVw=
|
||||
lukechampine.com/frand v1.4.2/go.mod h1:4S/TM2ZgrKejMcKMbeLjISpJMO+/eZ1zu3vYX9dtj3s=
|
||||
pgregory.net/rapid v0.5.5 h1:jkgx1TjbQPD/feRoK+S/mXw9e1uj6WilpHrXJowi6oA=
|
||||
pgregory.net/rapid v0.5.5/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04=
|
||||
sourcegraph.com/sourcegraph/appdash v0.0.0-20211028080628-e2786a622600 h1:hfyJ5ku9yFtLVOiSxa3IN+dx5eBQT9mPmKFypAmg8XM=
|
||||
sourcegraph.com/sourcegraph/appdash v0.0.0-20211028080628-e2786a622600/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU=
|
||||
pgregory.net/rapid v0.6.1 h1:4eyrDxyht86tT4Ztm+kvlyNBLIk071gR+ZQdhphc9dQ=
|
||||
pgregory.net/rapid v0.6.1/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04=
|
||||
|
4
main.go
4
main.go
@ -19,13 +19,13 @@ func main() {
|
||||
Image: "nginx",
|
||||
Path: "/api",
|
||||
Health: "/",
|
||||
Ready: "/",
|
||||
},
|
||||
},
|
||||
Public: true,
|
||||
Env: map[string]string{
|
||||
"version": "1.0.0",
|
||||
},
|
||||
//Dns: pulumi.StringRef("pulumi-test-nginx.localdomain"),
|
||||
Dns: pulumi.StringRef("pulumi-test-nginx.localdomain"),
|
||||
AllowAllOrigin: true,
|
||||
})
|
||||
if err != nil {
|
||||
|
@ -20,13 +20,13 @@ type Configuration struct {
|
||||
Replicas *int
|
||||
Env map[string]string
|
||||
AllowAllOrigin bool
|
||||
Public bool
|
||||
}
|
||||
|
||||
type ImagesConfiguration struct {
|
||||
Image string
|
||||
Path string
|
||||
Health string
|
||||
Ready string
|
||||
}
|
||||
|
||||
type CreatedApplication struct {
|
||||
@ -44,7 +44,6 @@ type application struct {
|
||||
Replicas int
|
||||
Env map[string]string
|
||||
AllowAllOrigin bool
|
||||
Public bool
|
||||
|
||||
shouldCreateDns bool
|
||||
shouldCreateCertificate bool
|
||||
@ -55,6 +54,7 @@ type service struct {
|
||||
Image string
|
||||
Path string
|
||||
Health string
|
||||
Ready string
|
||||
}
|
||||
|
||||
func NewApplication(ctx *pulumi.Context, configuration *Configuration) (*CreatedApplication, error) {
|
||||
@ -66,7 +66,6 @@ func NewApplication(ctx *pulumi.Context, configuration *Configuration) (*Created
|
||||
Namespace: configuration.Namespace,
|
||||
Env: configuration.Env,
|
||||
AllowAllOrigin: configuration.AllowAllOrigin,
|
||||
Public: configuration.Public,
|
||||
}
|
||||
|
||||
var preventDuplicatePath []string
|
||||
@ -75,6 +74,7 @@ func NewApplication(ctx *pulumi.Context, configuration *Configuration) (*Created
|
||||
Image: image.Image,
|
||||
Path: image.Path,
|
||||
Health: image.Health,
|
||||
Ready: image.Ready,
|
||||
}
|
||||
if image.Path == "" {
|
||||
serviceConfiguration.Path = "/"
|
||||
@ -82,6 +82,9 @@ func NewApplication(ctx *pulumi.Context, configuration *Configuration) (*Created
|
||||
if image.Health == "" {
|
||||
serviceConfiguration.Health = "/"
|
||||
}
|
||||
if image.Ready == "" {
|
||||
serviceConfiguration.Ready = "/"
|
||||
}
|
||||
if slices.Contains(preventDuplicatePath, serviceConfiguration.Path) {
|
||||
return nil, errors.New("duplicate path in ingress applicationConfiguration")
|
||||
}
|
||||
@ -95,10 +98,6 @@ func NewApplication(ctx *pulumi.Context, configuration *Configuration) (*Created
|
||||
application.Replicas = 1
|
||||
}
|
||||
|
||||
if configuration.Dns != nil && configuration.Public {
|
||||
return nil, errors.New("public exposition and DNS are incompatible")
|
||||
}
|
||||
|
||||
if configuration.Dns != nil {
|
||||
application.Dns = *configuration.Dns
|
||||
application.shouldCreateDns = true
|
||||
@ -106,12 +105,6 @@ func NewApplication(ctx *pulumi.Context, configuration *Configuration) (*Created
|
||||
application.shouldCreateIngress = true
|
||||
}
|
||||
|
||||
if configuration.Public {
|
||||
application.shouldCreateDns = false
|
||||
application.shouldCreateCertificate = false
|
||||
application.shouldCreateIngress = true
|
||||
}
|
||||
|
||||
err := ctx.RegisterComponentResource("pkg:application:CreatedApplication", configuration.Name, application)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@ -153,6 +146,7 @@ func (application *application) createResources(ctx *pulumi.Context) (*CreatedAp
|
||||
ImageReference: &workload.ImageReference{
|
||||
Image: service.Image,
|
||||
Health: service.Health,
|
||||
Ready: service.Ready,
|
||||
},
|
||||
}
|
||||
deployment, err := deploymentConfiguration.CreateDeployment(ctx, namespace, application, appLabels)
|
||||
@ -204,7 +198,6 @@ func (application *application) createResources(ctx *pulumi.Context) (*CreatedAp
|
||||
application.Name,
|
||||
application.Dns,
|
||||
application.AllowAllOrigin,
|
||||
application.Public,
|
||||
ingressServices,
|
||||
)
|
||||
|
||||
|
@ -13,7 +13,6 @@ import (
|
||||
type IngressConfiguration struct {
|
||||
Name string
|
||||
Dns string
|
||||
Public bool
|
||||
ResponseHeaders *traefik.MiddlewareSpecHeadersArgs
|
||||
services []IngressServices
|
||||
}
|
||||
@ -23,12 +22,11 @@ type IngressServices struct {
|
||||
Path string
|
||||
}
|
||||
|
||||
func NewIngressConfiguration(name string, dns string, allowAllOrigin bool, public bool, services []IngressServices) *IngressConfiguration {
|
||||
func NewIngressConfiguration(name string, dns string, allowAllOrigin bool, services []IngressServices) *IngressConfiguration {
|
||||
ingressConfiguration := &IngressConfiguration{
|
||||
Name: name,
|
||||
Dns: dns,
|
||||
services: services,
|
||||
Public: public,
|
||||
}
|
||||
|
||||
if allowAllOrigin {
|
||||
@ -70,6 +68,7 @@ func (ingress *IngressConfiguration) CreateIngress(
|
||||
|
||||
ingressAnnotations := pulumi.StringMap{
|
||||
"traefik.ingress.kubernetes.io/router.middlewares": middlewares,
|
||||
"traefik.ingress.kubernetes.io/router.entrypoints": pulumi.String("websecure"),
|
||||
}
|
||||
|
||||
// https routing
|
||||
@ -89,48 +88,15 @@ func (ingress *IngressConfiguration) CreateIngress(
|
||||
})
|
||||
}
|
||||
|
||||
var hosts pulumi.StringArray
|
||||
var certificateSecretName pulumi.StringOutput
|
||||
var namespaceName pulumi.StringPtrOutput
|
||||
if ingress.Public {
|
||||
ingressAnnotations["traefik.ingress.kubernetes.io/router.entrypoints"] = pulumi.String("exp-websecure")
|
||||
hosts = toPulumiStringArray([]string{"antoine-roux.tk", "antoineroux.tk", "www.antoine-roux.tk", "www.antoineroux.tk"})
|
||||
publicCertificate, err := certManager.GetCertificate(ctx, "nginxfront-certificate", pulumi.ID("default-public/nginxfront"), nil)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
certificateSecretName = publicCertificate.Spec.SecretName()
|
||||
publicNamespace, err := v1.GetNamespace(ctx, "default-public", pulumi.ID("default-public"), nil)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
namespaceName = publicNamespace.Metadata.Name()
|
||||
|
||||
} else {
|
||||
ingressAnnotations["traefik.ingress.kubernetes.io/router.entrypoints"] = pulumi.String("websecure")
|
||||
hosts = toPulumiStringArray([]string{ingress.Dns})
|
||||
certificateSecretName = certificate.Spec.SecretName()
|
||||
|
||||
// create http redirect to https
|
||||
err := ingress.createHttpRedirectIngress(ctx, namespace, parentApplication, ingressPaths)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
namespaceName = namespace.Metadata.Name()
|
||||
// create http redirect to https
|
||||
err := ingress.createHttpRedirectIngress(ctx, namespace, parentApplication, ingressPaths)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
var ingressRules networking.IngressRuleArray
|
||||
for _, host := range hosts {
|
||||
ingressRules = append(ingressRules, networking.IngressRuleArgs{
|
||||
Host: host,
|
||||
Http: &networking.HTTPIngressRuleValueArgs{
|
||||
Paths: ingressPaths,
|
||||
},
|
||||
})
|
||||
}
|
||||
_, err := networking.NewIngress(ctx, fmt.Sprintf("%s-https", ingress.Name), &networking.IngressArgs{
|
||||
_, err = networking.NewIngress(ctx, fmt.Sprintf("%s-https", ingress.Name), &networking.IngressArgs{
|
||||
Metadata: &meta.ObjectMetaArgs{
|
||||
Namespace: namespaceName,
|
||||
Namespace: namespace.Metadata.Name(),
|
||||
Labels: pulumi.StringMap{
|
||||
"app.kubernetes.io/part-of": pulumi.String(ingress.Name),
|
||||
"app.kubernetes.io/managed-by": pulumi.String("pulumi"),
|
||||
@ -139,11 +105,20 @@ func (ingress *IngressConfiguration) CreateIngress(
|
||||
},
|
||||
Spec: &networking.IngressSpecArgs{
|
||||
IngressClassName: pulumi.String("traefik-internal"),
|
||||
Rules: &ingressRules,
|
||||
Rules: &networking.IngressRuleArray{
|
||||
networking.IngressRuleArgs{
|
||||
Host: pulumi.StringPtr(ingress.Dns),
|
||||
Http: &networking.HTTPIngressRuleValueArgs{
|
||||
Paths: ingressPaths,
|
||||
},
|
||||
},
|
||||
},
|
||||
Tls: &networking.IngressTLSArray{
|
||||
networking.IngressTLSArgs{
|
||||
Hosts: hosts,
|
||||
SecretName: certificateSecretName,
|
||||
Hosts: pulumi.StringArray{
|
||||
pulumi.String(ingress.Dns),
|
||||
},
|
||||
SecretName: certificate.Spec.SecretName(),
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -18,6 +18,7 @@ type DeploymentConfiguration struct {
|
||||
type ImageReference struct {
|
||||
Image string
|
||||
Health string
|
||||
Ready string
|
||||
}
|
||||
|
||||
func (deployment *DeploymentConfiguration) CreateDeployment(
|
||||
@ -69,6 +70,14 @@ func (deployment *DeploymentConfiguration) CreateDeployment(
|
||||
Path: pulumi.String(deployment.ImageReference.Health),
|
||||
Port: pulumi.Int(80),
|
||||
},
|
||||
InitialDelaySeconds: pulumi.Int(70),
|
||||
PeriodSeconds: pulumi.Int(15),
|
||||
},
|
||||
ReadinessProbe: &v1.ProbeArgs{
|
||||
HttpGet: &v1.HTTPGetActionArgs{
|
||||
Path: pulumi.String(deployment.ImageReference.Ready),
|
||||
Port: pulumi.Int(80),
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
|
Loading…
Reference in New Issue
Block a user