mirror of
https://github.com/lukaszraczylo/jobs-manager-operator.git
synced 2026-10-17 06:07:29 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1a3472290d
|
||
|
|
dc2799ad57
|
||
|
|
2bccb0e8b8
|
||
|
|
249ccb1dac
|
||
|
|
4217f7ed25 |
@@ -0,0 +1,11 @@
|
|||||||
|
# To get started with Dependabot version updates, you'll need to specify which
|
||||||
|
# package ecosystems to update and where the package manifests are located.
|
||||||
|
# Please see the documentation for all configuration options:
|
||||||
|
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
|
||||||
|
|
||||||
|
version: 2
|
||||||
|
updates:
|
||||||
|
- package-ecosystem: "gomod" # See documentation for possible values
|
||||||
|
directory: "/" # Location of package manifests
|
||||||
|
schedule:
|
||||||
|
interval: "weekly"
|
||||||
@@ -163,7 +163,7 @@ $(ENVTEST): $(LOCALBIN)
|
|||||||
test -s $(LOCALBIN)/setup-envtest || GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-runtime/tools/setup-envtest@latest
|
test -s $(LOCALBIN)/setup-envtest || GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-runtime/tools/setup-envtest@latest
|
||||||
|
|
||||||
helmify:
|
helmify:
|
||||||
$(call go-get-tool,$(HELMIFY),github.com/arttor/helmify/cmd/helmify@v0.3.7)
|
$(call go-get-tool,$(HELMIFY),github.com/arttor/helmify/cmd/helmify@v0.4.10)
|
||||||
|
|
||||||
helm: manifests kustomize helmify
|
helm: manifests kustomize helmify
|
||||||
$(KUSTOMIZE) build config/default | $(HELMIFY)
|
$(KUSTOMIZE) build config/default | $(HELMIFY)
|
||||||
@@ -1,5 +1,23 @@
|
|||||||
# Kubernetes Jobs Manager Operator
|
# Kubernetes Jobs Manager Operator
|
||||||
|
|
||||||
|
- [Kubernetes Jobs Manager Operator](#kubernetes-jobs-manager-operator)
|
||||||
|
- [Description](#description)
|
||||||
|
- [Getting Started](#getting-started)
|
||||||
|
- [Installation with helm](#installation-with-helm)
|
||||||
|
- [Prerequisites for local runs](#prerequisites-for-local-runs)
|
||||||
|
- [Jobs configuration](#jobs-configuration)
|
||||||
|
- [How does it look in practice?](#how-does-it-look-in-practice)
|
||||||
|
- [Things to remember](#things-to-remember)
|
||||||
|
- [Available params](#available-params)
|
||||||
|
- [Kustomization and references](#kustomization-and-references)
|
||||||
|
- [Running on the cluster](#running-on-the-cluster)
|
||||||
|
- [Manual installation](#manual-installation)
|
||||||
|
- [Manually uninstall CRDs](#manually-uninstall-crds)
|
||||||
|
- [Manually undeploy controller](#manually-undeploy-controller)
|
||||||
|
- [How it works](#how-it-works)
|
||||||
|
- [License](#license)
|
||||||
|
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
This operator is responsible for managing the lifecycle of complicated workflows which consist of multiple jobs and making their management easy, without need for dozens of yaml files and doing magic with ordering.
|
This operator is responsible for managing the lifecycle of complicated workflows which consist of multiple jobs and making their management easy, without need for dozens of yaml files and doing magic with ordering.
|
||||||
|
|
||||||
|
|||||||
@@ -13,12 +13,12 @@ type: application
|
|||||||
# This is the chart version. This version number should be incremented each time you make changes
|
# This is the chart version. This version number should be incremented each time you make changes
|
||||||
# to the chart and its templates, including the app version.
|
# to the chart and its templates, including the app version.
|
||||||
# Versions are expected to follow Semantic Versioning (https://semver.org/)
|
# Versions are expected to follow Semantic Versioning (https://semver.org/)
|
||||||
version: 0.0.24
|
version: 0.0.33
|
||||||
# This is the version number of the application being deployed. This version number should be
|
# This is the version number of the application being deployed. This version number should be
|
||||||
# incremented each time you make changes to the application. Versions are not expected to
|
# incremented each time you make changes to the application. Versions are not expected to
|
||||||
# follow Semantic Versioning. They should reflect the version the application is using.
|
# follow Semantic Versioning. They should reflect the version the application is using.
|
||||||
# It is recommended to use it with quotes.
|
# It is recommended to use it with quotes.
|
||||||
appVersion: "0.0.24"
|
appVersion: "0.0.33"
|
||||||
keywords:
|
keywords:
|
||||||
- operator
|
- operator
|
||||||
- jobs
|
- jobs
|
||||||
|
|||||||
@@ -1,13 +1,3 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: ServiceAccount
|
|
||||||
metadata:
|
|
||||||
name: {{ include "chart.fullname" . }}-controller-manager
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/component: rbac
|
|
||||||
app.kubernetes.io/created-by: jobs-manager-operator
|
|
||||||
app.kubernetes.io/part-of: jobs-manager-operator
|
|
||||||
{{- include "chart.labels" . | nindent 4 }}
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
metadata:
|
metadata:
|
||||||
@@ -49,16 +39,11 @@ spec:
|
|||||||
values:
|
values:
|
||||||
- linux
|
- linux
|
||||||
containers:
|
containers:
|
||||||
- args:
|
- args: {{- toYaml .Values.controllerManager.kubeRbacProxy.args | nindent 8 }}
|
||||||
- --secure-listen-address=0.0.0.0:8443
|
|
||||||
- --upstream=http://127.0.0.1:8080/
|
|
||||||
- --logtostderr=true
|
|
||||||
- --v=0
|
|
||||||
env:
|
env:
|
||||||
- name: KUBERNETES_CLUSTER_DOMAIN
|
- name: KUBERNETES_CLUSTER_DOMAIN
|
||||||
value: {{ .Values.kubernetesClusterDomain }}
|
value: {{ quote .Values.kubernetesClusterDomain }}
|
||||||
image: {{ .Values.controllerManager.kubeRbacProxy.image.repository }}:{{ .Values.controllerManager.kubeRbacProxy.image.tag
|
image: {{ .Values.controllerManager.kubeRbacProxy.image.repository }}:{{ .Values.controllerManager.kubeRbacProxy.image.tag | default .Chart.AppVersion }}
|
||||||
| default .Chart.AppVersion }}
|
|
||||||
name: kube-rbac-proxy
|
name: kube-rbac-proxy
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 8443
|
- containerPort: 8443
|
||||||
@@ -66,22 +51,15 @@ spec:
|
|||||||
protocol: TCP
|
protocol: TCP
|
||||||
resources: {{- toYaml .Values.controllerManager.kubeRbacProxy.resources | nindent
|
resources: {{- toYaml .Values.controllerManager.kubeRbacProxy.resources | nindent
|
||||||
10 }}
|
10 }}
|
||||||
securityContext:
|
securityContext: {{- toYaml .Values.controllerManager.kubeRbacProxy.containerSecurityContext
|
||||||
allowPrivilegeEscalation: false
|
| nindent 10 }}
|
||||||
capabilities:
|
- args: {{- toYaml .Values.controllerManager.manager.args | nindent 8 }}
|
||||||
drop:
|
|
||||||
- ALL
|
|
||||||
- args:
|
|
||||||
- --health-probe-bind-address=:8081
|
|
||||||
- --metrics-bind-address=127.0.0.1:8080
|
|
||||||
- --leader-elect
|
|
||||||
command:
|
command:
|
||||||
- /manager
|
- /manager
|
||||||
env:
|
env:
|
||||||
- name: KUBERNETES_CLUSTER_DOMAIN
|
- name: KUBERNETES_CLUSTER_DOMAIN
|
||||||
value: {{ .Values.kubernetesClusterDomain }}
|
value: {{ quote .Values.kubernetesClusterDomain }}
|
||||||
image: {{ .Values.controllerManager.manager.image.repository }}:{{ .Values.controllerManager.manager.image.tag
|
image: {{ .Values.controllerManager.manager.image.repository }}:{{ .Values.controllerManager.manager.image.tag | default .Chart.AppVersion }}
|
||||||
| default .Chart.AppVersion }}
|
|
||||||
livenessProbe:
|
livenessProbe:
|
||||||
httpGet:
|
httpGet:
|
||||||
path: /healthz
|
path: /healthz
|
||||||
@@ -95,13 +73,8 @@ spec:
|
|||||||
port: 8081
|
port: 8081
|
||||||
initialDelaySeconds: 5
|
initialDelaySeconds: 5
|
||||||
periodSeconds: 10
|
periodSeconds: 10
|
||||||
resources: {{- toYaml .Values.controllerManager.manager.resources | nindent 10
|
resources: {{- toYaml .Values.controllerManager.manager.resources | nindent 10 }}
|
||||||
}}
|
securityContext: {{- toYaml .Values.controllerManager.manager.containerSecurityContext | nindent 10 }}
|
||||||
securityContext:
|
|
||||||
allowPrivilegeEscalation: false
|
|
||||||
capabilities:
|
|
||||||
drop:
|
|
||||||
- ALL
|
|
||||||
securityContext:
|
securityContext:
|
||||||
runAsNonRoot: true
|
runAsNonRoot: true
|
||||||
serviceAccountName: {{ include "chart.fullname" . }}-controller-manager
|
serviceAccountName: {{ include "chart.fullname" . }}-controller-manager
|
||||||
|
|||||||
@@ -747,7 +747,7 @@ spec:
|
|||||||
and the sum of memory limits of all containers
|
and the sum of memory limits of all containers
|
||||||
in a pod. The default is nil which means
|
in a pod. The default is nil which means
|
||||||
that the limit is undefined. More info:
|
that the limit is undefined. More info:
|
||||||
http://kubernetes.io/docs/user-guide/volumes#emptydir'
|
https://kubernetes.io/docs/concepts/storage/volumes#emptydir'
|
||||||
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
||||||
x-kubernetes-int-or-string: true
|
x-kubernetes-int-or-string: true
|
||||||
type: object
|
type: object
|
||||||
@@ -962,7 +962,8 @@ spec:
|
|||||||
\n This is an alpha field and
|
\n This is an alpha field and
|
||||||
requires enabling the DynamicResourceAllocation
|
requires enabling the DynamicResourceAllocation
|
||||||
feature gate. \n This field
|
feature gate. \n This field
|
||||||
is immutable."
|
is immutable. It can only be
|
||||||
|
set for containers."
|
||||||
items:
|
items:
|
||||||
description: ResourceClaim references
|
description: ResourceClaim references
|
||||||
one entry in PodSpec.ResourceClaims.
|
one entry in PodSpec.ResourceClaims.
|
||||||
@@ -1009,7 +1010,8 @@ spec:
|
|||||||
it defaults to Limits if that
|
it defaults to Limits if that
|
||||||
is explicitly specified, otherwise
|
is explicitly specified, otherwise
|
||||||
to an implementation-defined
|
to an implementation-defined
|
||||||
value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
value. Requests cannot exceed
|
||||||
|
Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
selector:
|
selector:
|
||||||
@@ -2827,7 +2829,7 @@ spec:
|
|||||||
and the sum of memory limits of all containers
|
and the sum of memory limits of all containers
|
||||||
in a pod. The default is nil which means
|
in a pod. The default is nil which means
|
||||||
that the limit is undefined. More info:
|
that the limit is undefined. More info:
|
||||||
http://kubernetes.io/docs/user-guide/volumes#emptydir'
|
https://kubernetes.io/docs/concepts/storage/volumes#emptydir'
|
||||||
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
||||||
x-kubernetes-int-or-string: true
|
x-kubernetes-int-or-string: true
|
||||||
type: object
|
type: object
|
||||||
@@ -3042,7 +3044,8 @@ spec:
|
|||||||
\n This is an alpha field and
|
\n This is an alpha field and
|
||||||
requires enabling the DynamicResourceAllocation
|
requires enabling the DynamicResourceAllocation
|
||||||
feature gate. \n This field
|
feature gate. \n This field
|
||||||
is immutable."
|
is immutable. It can only be
|
||||||
|
set for containers."
|
||||||
items:
|
items:
|
||||||
description: ResourceClaim references
|
description: ResourceClaim references
|
||||||
one entry in PodSpec.ResourceClaims.
|
one entry in PodSpec.ResourceClaims.
|
||||||
@@ -3089,7 +3092,8 @@ spec:
|
|||||||
it defaults to Limits if that
|
it defaults to Limits if that
|
||||||
is explicitly specified, otherwise
|
is explicitly specified, otherwise
|
||||||
to an implementation-defined
|
to an implementation-defined
|
||||||
value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
value. Requests cannot exceed
|
||||||
|
Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
selector:
|
selector:
|
||||||
@@ -4856,7 +4860,7 @@ spec:
|
|||||||
be the minimum value between the SizeLimit specified
|
be the minimum value between the SizeLimit specified
|
||||||
here and the sum of memory limits of all containers
|
here and the sum of memory limits of all containers
|
||||||
in a pod. The default is nil which means that
|
in a pod. The default is nil which means that
|
||||||
the limit is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir'
|
the limit is undefined. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir'
|
||||||
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
||||||
x-kubernetes-int-or-string: true
|
x-kubernetes-int-or-string: true
|
||||||
type: object
|
type: object
|
||||||
@@ -5051,7 +5055,8 @@ spec:
|
|||||||
that are used by this container. \n
|
that are used by this container. \n
|
||||||
This is an alpha field and requires
|
This is an alpha field and requires
|
||||||
enabling the DynamicResourceAllocation
|
enabling the DynamicResourceAllocation
|
||||||
feature gate. \n This field is immutable."
|
feature gate. \n This field is immutable.
|
||||||
|
It can only be set for containers."
|
||||||
items:
|
items:
|
||||||
description: ResourceClaim references
|
description: ResourceClaim references
|
||||||
one entry in PodSpec.ResourceClaims.
|
one entry in PodSpec.ResourceClaims.
|
||||||
@@ -5094,7 +5099,8 @@ spec:
|
|||||||
a container, it defaults to Limits
|
a container, it defaults to Limits
|
||||||
if that is explicitly specified, otherwise
|
if that is explicitly specified, otherwise
|
||||||
to an implementation-defined value.
|
to an implementation-defined value.
|
||||||
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
Requests cannot exceed Limits. More
|
||||||
|
info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
selector:
|
selector:
|
||||||
@@ -6747,7 +6753,7 @@ spec:
|
|||||||
between the SizeLimit specified here and the sum of
|
between the SizeLimit specified here and the sum of
|
||||||
memory limits of all containers in a pod. The default
|
memory limits of all containers in a pod. The default
|
||||||
is nil which means that the limit is undefined. More
|
is nil which means that the limit is undefined. More
|
||||||
info: http://kubernetes.io/docs/user-guide/volumes#emptydir'
|
info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir'
|
||||||
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
||||||
x-kubernetes-int-or-string: true
|
x-kubernetes-int-or-string: true
|
||||||
type: object
|
type: object
|
||||||
@@ -6925,7 +6931,8 @@ spec:
|
|||||||
defined in spec.resourceClaims, that are
|
defined in spec.resourceClaims, that are
|
||||||
used by this container. \n This is an alpha
|
used by this container. \n This is an alpha
|
||||||
field and requires enabling the DynamicResourceAllocation
|
field and requires enabling the DynamicResourceAllocation
|
||||||
feature gate. \n This field is immutable."
|
feature gate. \n This field is immutable.
|
||||||
|
It can only be set for containers."
|
||||||
items:
|
items:
|
||||||
description: ResourceClaim references one
|
description: ResourceClaim references one
|
||||||
entry in PodSpec.ResourceClaims.
|
entry in PodSpec.ResourceClaims.
|
||||||
@@ -6967,7 +6974,8 @@ spec:
|
|||||||
Requests is omitted for a container, it
|
Requests is omitted for a container, it
|
||||||
defaults to Limits if that is explicitly
|
defaults to Limits if that is explicitly
|
||||||
specified, otherwise to an implementation-defined
|
specified, otherwise to an implementation-defined
|
||||||
value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
value. Requests cannot exceed Limits. More
|
||||||
|
info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
selector:
|
selector:
|
||||||
|
|||||||
@@ -0,0 +1,11 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: {{ include "chart.fullname" . }}-controller-manager
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/component: rbac
|
||||||
|
app.kubernetes.io/created-by: jobs-manager-operator
|
||||||
|
app.kubernetes.io/part-of: jobs-manager-operator
|
||||||
|
{{- include "chart.labels" . | nindent 4 }}
|
||||||
|
annotations:
|
||||||
|
{{- toYaml .Values.controllerManager.serviceAccount.annotations | nindent 4 }}
|
||||||
@@ -1,5 +1,15 @@
|
|||||||
controllerManager:
|
controllerManager:
|
||||||
kubeRbacProxy:
|
kubeRbacProxy:
|
||||||
|
args:
|
||||||
|
- --secure-listen-address=0.0.0.0:8443
|
||||||
|
- --upstream=http://127.0.0.1:8080/
|
||||||
|
- --logtostderr=true
|
||||||
|
- --v=0
|
||||||
|
containerSecurityContext:
|
||||||
|
allowPrivilegeEscalation: false
|
||||||
|
capabilities:
|
||||||
|
drop:
|
||||||
|
- ALL
|
||||||
image:
|
image:
|
||||||
repository: gcr.io/kubebuilder/kube-rbac-proxy
|
repository: gcr.io/kubebuilder/kube-rbac-proxy
|
||||||
tag: v0.13.1
|
tag: v0.13.1
|
||||||
@@ -11,9 +21,18 @@ controllerManager:
|
|||||||
cpu: 5m
|
cpu: 5m
|
||||||
memory: 64Mi
|
memory: 64Mi
|
||||||
manager:
|
manager:
|
||||||
|
args:
|
||||||
|
- --health-probe-bind-address=:8081
|
||||||
|
- --metrics-bind-address=127.0.0.1:8080
|
||||||
|
- --leader-elect
|
||||||
|
containerSecurityContext:
|
||||||
|
allowPrivilegeEscalation: false
|
||||||
|
capabilities:
|
||||||
|
drop:
|
||||||
|
- ALL
|
||||||
image:
|
image:
|
||||||
repository: ghcr.io/lukaszraczylo/jobs-manager-operator
|
repository: ghcr.io/lukaszraczylo/jobs-manager-operator
|
||||||
tag: latest
|
tag: 0.0.33
|
||||||
resources:
|
resources:
|
||||||
limits:
|
limits:
|
||||||
cpu: 500m
|
cpu: 500m
|
||||||
@@ -22,6 +41,8 @@ controllerManager:
|
|||||||
cpu: 10m
|
cpu: 10m
|
||||||
memory: 64Mi
|
memory: 64Mi
|
||||||
replicas: 1
|
replicas: 1
|
||||||
|
serviceAccount:
|
||||||
|
annotations: {}
|
||||||
kubernetesClusterDomain: cluster.local
|
kubernetesClusterDomain: cluster.local
|
||||||
metricsService:
|
metricsService:
|
||||||
ports:
|
ports:
|
||||||
|
|||||||
@@ -52,6 +52,9 @@ func (cp *connPackage) compileParameters(params ...jobsmanagerv1beta1.ManagedJob
|
|||||||
if params.ImagePullSecrets != nil {
|
if params.ImagePullSecrets != nil {
|
||||||
cparams.ImagePullSecrets = append(cparams.ImagePullSecrets, params.ImagePullSecrets...)
|
cparams.ImagePullSecrets = append(cparams.ImagePullSecrets, params.ImagePullSecrets...)
|
||||||
}
|
}
|
||||||
|
if params.ImagePullPolicy != "" {
|
||||||
|
cparams.ImagePullPolicy = params.ImagePullPolicy
|
||||||
|
}
|
||||||
if params.Labels != nil {
|
if params.Labels != nil {
|
||||||
cparams.Labels = make(map[string]string)
|
cparams.Labels = make(map[string]string)
|
||||||
for k, v := range params.Labels {
|
for k, v := range params.Labels {
|
||||||
|
|||||||
@@ -54,11 +54,11 @@ require (
|
|||||||
go.uber.org/multierr v1.11.0 // indirect
|
go.uber.org/multierr v1.11.0 // indirect
|
||||||
go.uber.org/zap v1.25.0 // indirect
|
go.uber.org/zap v1.25.0 // indirect
|
||||||
golang.org/x/exp v0.0.0-20230905200255-921286631fa9 // indirect
|
golang.org/x/exp v0.0.0-20230905200255-921286631fa9 // indirect
|
||||||
golang.org/x/net v0.15.0 // indirect
|
golang.org/x/net v0.19.0 // indirect
|
||||||
golang.org/x/oauth2 v0.12.0 // indirect
|
golang.org/x/oauth2 v0.12.0 // indirect
|
||||||
golang.org/x/sys v0.12.0 // indirect
|
golang.org/x/sys v0.15.0 // indirect
|
||||||
golang.org/x/term v0.12.0 // indirect
|
golang.org/x/term v0.15.0 // indirect
|
||||||
golang.org/x/text v0.13.0 // indirect
|
golang.org/x/text v0.14.0 // indirect
|
||||||
golang.org/x/time v0.3.0 // indirect
|
golang.org/x/time v0.3.0 // indirect
|
||||||
golang.org/x/tools v0.13.0 // indirect
|
golang.org/x/tools v0.13.0 // indirect
|
||||||
gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect
|
gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect
|
||||||
|
|||||||
@@ -162,8 +162,8 @@ golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwY
|
|||||||
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
|
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
|
||||||
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
|
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
|
||||||
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
|
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
|
||||||
golang.org/x/net v0.15.0 h1:ugBLEUaxABaB5AJqW9enI0ACdci2RUd4eP51NTBvuJ8=
|
golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c=
|
||||||
golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk=
|
golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U=
|
||||||
golang.org/x/oauth2 v0.12.0 h1:smVPGxink+n1ZI5pkQa8y6fZT0RW0MgCO5bFpepy4B4=
|
golang.org/x/oauth2 v0.12.0 h1:smVPGxink+n1ZI5pkQa8y6fZT0RW0MgCO5bFpepy4B4=
|
||||||
golang.org/x/oauth2 v0.12.0/go.mod h1:A74bZ3aGXgCY0qaIC9Ahg6Lglin4AMAco8cIv9baba4=
|
golang.org/x/oauth2 v0.12.0/go.mod h1:A74bZ3aGXgCY0qaIC9Ahg6Lglin4AMAco8cIv9baba4=
|
||||||
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
@@ -187,18 +187,18 @@ golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBc
|
|||||||
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.12.0 h1:CM0HF96J0hcLAwsHPJZjfdNzs0gftsLfgKt57wWHJ0o=
|
golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc=
|
||||||
golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.15.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-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.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
||||||
golang.org/x/term v0.12.0 h1:/ZfYdc3zq+q02Rv9vGqTeSItdzZTSNDmfTi0mBAuidU=
|
golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4=
|
||||||
golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU=
|
golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0=
|
||||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
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.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||||
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
|
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
|
||||||
golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
|
golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
|
||||||
golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k=
|
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
|
||||||
golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
|
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
|
||||||
golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4=
|
golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4=
|
||||||
golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||||
|
|||||||
Reference in New Issue
Block a user