Merge "Update Flux manifests"
This commit is contained in:
commit
4c0cbecf6d
@ -1,5 +1,6 @@
|
|||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
|
namespace: flux-system
|
||||||
resources:
|
resources:
|
||||||
- ../../function/flux/base
|
- ../../function/flux/base
|
||||||
- ../../function/flux/source-controller
|
- ../../function/flux/source-controller
|
||||||
|
@ -87,9 +87,9 @@ images:
|
|||||||
helm_operator: docker.io/fluxcd/helm-operator:1.2.0
|
helm_operator: docker.io/fluxcd/helm-operator:1.2.0
|
||||||
flux:
|
flux:
|
||||||
helm_controller: # helm-controller Deployment
|
helm_controller: # helm-controller Deployment
|
||||||
manager: ghcr.io/fluxcd/helm-controller:v0.2.0
|
manager: ghcr.io/fluxcd/helm-controller:v0.4.3
|
||||||
source_controller: # source-controller Deployment
|
source_controller: # source-controller Deployment
|
||||||
manager: ghcr.io/fluxcd/source-controller:v0.2.1
|
manager: ghcr.io/fluxcd/source-controller:v0.5.3
|
||||||
cert-manager:
|
cert-manager:
|
||||||
repository: "quay.io/jetstack"
|
repository: "quay.io/jetstack"
|
||||||
|
|
||||||
|
11
manifests/function/flux/README.md
Normal file
11
manifests/function/flux/README.md
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
# Flux
|
||||||
|
|
||||||
|
## How to Update
|
||||||
|
|
||||||
|
To update the version of upstream manifests used by a given function:
|
||||||
|
|
||||||
|
1. Update the versions (git refs) specified in the `dependencies` section
|
||||||
|
of the Kptfile at the root of the function.
|
||||||
|
2. Run [`kpt pkg sync .`](https://github.com/GoogleContainerTools/kpt/blob/master/site/content/en/reference/pkg/sync/_index.md) from the root of the function.
|
||||||
|
3. Update any container image references in VariableCatalogues to match
|
||||||
|
these new versions.
|
13
manifests/function/flux/base/Kptfile
Normal file
13
manifests/function/flux/base/Kptfile
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
apiVersion: kpt.dev/v1alpha1
|
||||||
|
kind: Kptfile
|
||||||
|
dependencies:
|
||||||
|
- name: upstream/rbac
|
||||||
|
git:
|
||||||
|
repo: "https://github.com/fluxcd/flux2"
|
||||||
|
directory: "manifests/rbac"
|
||||||
|
ref: "v0.5.1"
|
||||||
|
- name: upstream/policies
|
||||||
|
git:
|
||||||
|
repo: "https://github.com/fluxcd/flux2"
|
||||||
|
directory: "manifests/policies"
|
||||||
|
ref: "v0.5.1"
|
@ -2,5 +2,5 @@ apiVersion: kustomize.config.k8s.io/v1beta1
|
|||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
resources:
|
resources:
|
||||||
- namespace.yaml
|
- namespace.yaml
|
||||||
- rbac
|
- upstream/rbac
|
||||||
- policies
|
- upstream/policies
|
||||||
|
@ -1,7 +1,4 @@
|
|||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Namespace
|
kind: Namespace
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
|
||||||
app.kubernetes.io/instance: flux-system
|
|
||||||
app.kubernetes.io/version: v0.2.0
|
|
||||||
name: flux-system
|
name: flux-system
|
||||||
|
@ -1,4 +0,0 @@
|
|||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
|
||||||
kind: Kustomization
|
|
||||||
resources:
|
|
||||||
- role.yaml
|
|
@ -1,80 +0,0 @@
|
|||||||
apiVersion: rbac.authorization.k8s.io/v1
|
|
||||||
kind: Role
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/instance: flux-system
|
|
||||||
app.kubernetes.io/version: v0.2.0
|
|
||||||
name: crd-controller-flux-system
|
|
||||||
namespace: flux-system
|
|
||||||
rules:
|
|
||||||
- apiGroups:
|
|
||||||
- source.toolkit.fluxcd.io
|
|
||||||
resources:
|
|
||||||
- '*'
|
|
||||||
verbs:
|
|
||||||
- '*'
|
|
||||||
- apiGroups:
|
|
||||||
- kustomize.toolkit.fluxcd.io
|
|
||||||
resources:
|
|
||||||
- '*'
|
|
||||||
verbs:
|
|
||||||
- '*'
|
|
||||||
- apiGroups:
|
|
||||||
- helm.toolkit.fluxcd.io
|
|
||||||
resources:
|
|
||||||
- '*'
|
|
||||||
verbs:
|
|
||||||
- '*'
|
|
||||||
- apiGroups:
|
|
||||||
- notification.toolkit.fluxcd.io
|
|
||||||
resources:
|
|
||||||
- '*'
|
|
||||||
verbs:
|
|
||||||
- '*'
|
|
||||||
- apiGroups:
|
|
||||||
- ""
|
|
||||||
resources:
|
|
||||||
- configmaps
|
|
||||||
- configmaps/status
|
|
||||||
verbs:
|
|
||||||
- '*'
|
|
||||||
- apiGroups:
|
|
||||||
- ""
|
|
||||||
resources:
|
|
||||||
- events
|
|
||||||
verbs:
|
|
||||||
- create
|
|
||||||
- patch
|
|
||||||
---
|
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
|
||||||
kind: RoleBinding
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/instance: flux-system
|
|
||||||
app.kubernetes.io/version: v0.2.0
|
|
||||||
name: crd-controller-flux-system
|
|
||||||
namespace: flux-system
|
|
||||||
roleRef:
|
|
||||||
apiGroup: rbac.authorization.k8s.io
|
|
||||||
kind: Role
|
|
||||||
name: crd-controller-flux-system
|
|
||||||
subjects:
|
|
||||||
- kind: ServiceAccount
|
|
||||||
name: default
|
|
||||||
namespace: flux-system
|
|
||||||
---
|
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
|
||||||
kind: ClusterRoleBinding
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/instance: flux-system
|
|
||||||
app.kubernetes.io/version: v0.2.0
|
|
||||||
name: cluster-reconciler-flux-system
|
|
||||||
roleRef:
|
|
||||||
apiGroup: rbac.authorization.k8s.io
|
|
||||||
kind: ClusterRole
|
|
||||||
name: cluster-admin
|
|
||||||
subjects:
|
|
||||||
- kind: ServiceAccount
|
|
||||||
name: default
|
|
||||||
namespace: flux-system
|
|
20
manifests/function/flux/base/upstream/policies/Kptfile
Normal file
20
manifests/function/flux/base/upstream/policies/Kptfile
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
apiVersion: kpt.dev/v1alpha1
|
||||||
|
kind: Kptfile
|
||||||
|
upstream:
|
||||||
|
type: git
|
||||||
|
git:
|
||||||
|
commit: 0ba6fc1b366bd6f2ce231d3ac8a95eac57ff8554
|
||||||
|
repo: https://github.com/fluxcd/flux2
|
||||||
|
directory: manifests/policies
|
||||||
|
ref: v0.5.1
|
||||||
|
dependencies:
|
||||||
|
- name: upstream/rbac
|
||||||
|
git:
|
||||||
|
repo: https://github.com/fluxcd/flux2
|
||||||
|
directory: manifests/rbac
|
||||||
|
ref: v0.5.1
|
||||||
|
- name: upstream/policies
|
||||||
|
git:
|
||||||
|
repo: https://github.com/fluxcd/flux2
|
||||||
|
directory: manifests/policies
|
||||||
|
ref: v0.5.1
|
@ -0,0 +1,14 @@
|
|||||||
|
apiVersion: networking.k8s.io/v1
|
||||||
|
kind: NetworkPolicy
|
||||||
|
metadata:
|
||||||
|
name: allow-scraping
|
||||||
|
spec:
|
||||||
|
policyTypes:
|
||||||
|
- Ingress
|
||||||
|
ingress:
|
||||||
|
- from:
|
||||||
|
- namespaceSelector: {}
|
||||||
|
ports:
|
||||||
|
- protocol: TCP
|
||||||
|
port: 8080
|
||||||
|
podSelector: {}
|
@ -0,0 +1,13 @@
|
|||||||
|
apiVersion: networking.k8s.io/v1
|
||||||
|
kind: NetworkPolicy
|
||||||
|
metadata:
|
||||||
|
name: allow-webhooks
|
||||||
|
spec:
|
||||||
|
policyTypes:
|
||||||
|
- Ingress
|
||||||
|
ingress:
|
||||||
|
- from:
|
||||||
|
- namespaceSelector: {}
|
||||||
|
podSelector:
|
||||||
|
matchLabels:
|
||||||
|
app: notification-controller
|
@ -1,15 +1,11 @@
|
|||||||
# Only allow ingress from within the same namespace.
|
|
||||||
# Note: This will need to be opened up if Prometheus is running
|
|
||||||
# in a different namespace.
|
|
||||||
apiVersion: networking.k8s.io/v1
|
apiVersion: networking.k8s.io/v1
|
||||||
kind: NetworkPolicy
|
kind: NetworkPolicy
|
||||||
metadata:
|
metadata:
|
||||||
name: deny-ingress
|
name: deny-ingress
|
||||||
namespace: flux-system
|
|
||||||
spec:
|
spec:
|
||||||
podSelector: {}
|
|
||||||
policyTypes:
|
policyTypes:
|
||||||
- Ingress
|
- Ingress
|
||||||
ingress:
|
ingress:
|
||||||
- from:
|
- from:
|
||||||
- podSelector: {}
|
- podSelector: {}
|
||||||
|
podSelector: {}
|
@ -1,4 +1,6 @@
|
|||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
resources:
|
resources:
|
||||||
- helmreleases.helm.toolkit.fluxcd.io.yaml
|
- deny-ingress.yaml
|
||||||
|
- allow-scraping.yaml
|
||||||
|
- allow-webhooks.yaml
|
20
manifests/function/flux/base/upstream/rbac/Kptfile
Normal file
20
manifests/function/flux/base/upstream/rbac/Kptfile
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
apiVersion: kpt.dev/v1alpha1
|
||||||
|
kind: Kptfile
|
||||||
|
upstream:
|
||||||
|
type: git
|
||||||
|
git:
|
||||||
|
commit: 0ba6fc1b366bd6f2ce231d3ac8a95eac57ff8554
|
||||||
|
repo: https://github.com/fluxcd/flux2
|
||||||
|
directory: manifests/rbac
|
||||||
|
ref: v0.5.1
|
||||||
|
dependencies:
|
||||||
|
- name: upstream/rbac
|
||||||
|
git:
|
||||||
|
repo: https://github.com/fluxcd/flux2
|
||||||
|
directory: manifests/rbac
|
||||||
|
ref: v0.5.1
|
||||||
|
- name: upstream/policies
|
||||||
|
git:
|
||||||
|
repo: https://github.com/fluxcd/flux2
|
||||||
|
directory: manifests/policies
|
||||||
|
ref: v0.5.1
|
12
manifests/function/flux/base/upstream/rbac/cluster-role.yaml
Normal file
12
manifests/function/flux/base/upstream/rbac/cluster-role.yaml
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: ClusterRoleBinding
|
||||||
|
metadata:
|
||||||
|
name: cluster-reconciler
|
||||||
|
roleRef:
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
kind: ClusterRole
|
||||||
|
name: cluster-admin
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: default
|
||||||
|
namespace: system
|
@ -1,4 +1,5 @@
|
|||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
resources:
|
resources:
|
||||||
- deny-ingress.yaml
|
- role.yaml
|
||||||
|
- cluster-role.yaml
|
43
manifests/function/flux/base/upstream/rbac/role.yaml
Normal file
43
manifests/function/flux/base/upstream/rbac/role.yaml
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: Role
|
||||||
|
metadata:
|
||||||
|
name: crd-controller
|
||||||
|
rules:
|
||||||
|
- apiGroups: ['source.toolkit.fluxcd.io']
|
||||||
|
resources: ['*']
|
||||||
|
verbs: ['*']
|
||||||
|
- apiGroups: ['kustomize.toolkit.fluxcd.io']
|
||||||
|
resources: ['*']
|
||||||
|
verbs: ['*']
|
||||||
|
- apiGroups: ['helm.toolkit.fluxcd.io']
|
||||||
|
resources: ['*']
|
||||||
|
verbs: ['*']
|
||||||
|
- apiGroups: ['notification.toolkit.fluxcd.io']
|
||||||
|
resources: ['*']
|
||||||
|
verbs: ['*']
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- configmaps
|
||||||
|
- configmaps/status
|
||||||
|
verbs: ['*']
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- events
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
|
- patch
|
||||||
|
---
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: RoleBinding
|
||||||
|
metadata:
|
||||||
|
name: crd-controller
|
||||||
|
roleRef:
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
kind: Role
|
||||||
|
name: crd-controller
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: default
|
||||||
|
namespace: system
|
13
manifests/function/flux/helm-controller/Kptfile
Normal file
13
manifests/function/flux/helm-controller/Kptfile
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
apiVersion: kpt.dev/v1alpha1
|
||||||
|
kind: Kptfile
|
||||||
|
dependencies:
|
||||||
|
- name: upstream/crd
|
||||||
|
git:
|
||||||
|
repo: "https://github.com/fluxcd/helm-controller"
|
||||||
|
directory: "config/crd"
|
||||||
|
ref: "v0.4.3"
|
||||||
|
- name: upstream/manager
|
||||||
|
git:
|
||||||
|
repo: "https://github.com/fluxcd/helm-controller"
|
||||||
|
directory: "config/manager"
|
||||||
|
ref: "v0.4.3"
|
@ -1,374 +0,0 @@
|
|||||||
apiVersion: apiextensions.k8s.io/v1
|
|
||||||
kind: CustomResourceDefinition
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
controller-gen.kubebuilder.io/version: v0.3.0
|
|
||||||
creationTimestamp: null
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/instance: flux-system
|
|
||||||
app.kubernetes.io/version: v0.2.0
|
|
||||||
name: helmreleases.helm.toolkit.fluxcd.io
|
|
||||||
spec:
|
|
||||||
group: helm.toolkit.fluxcd.io
|
|
||||||
names:
|
|
||||||
kind: HelmRelease
|
|
||||||
listKind: HelmReleaseList
|
|
||||||
plural: helmreleases
|
|
||||||
shortNames:
|
|
||||||
- hr
|
|
||||||
singular: helmrelease
|
|
||||||
scope: Namespaced
|
|
||||||
versions:
|
|
||||||
- additionalPrinterColumns:
|
|
||||||
- jsonPath: .status.conditions[?(@.type=="Ready")].status
|
|
||||||
name: Ready
|
|
||||||
type: string
|
|
||||||
- jsonPath: .status.conditions[?(@.type=="Ready")].message
|
|
||||||
name: Status
|
|
||||||
type: string
|
|
||||||
- jsonPath: .metadata.creationTimestamp
|
|
||||||
name: Age
|
|
||||||
type: date
|
|
||||||
name: v2beta1
|
|
||||||
schema:
|
|
||||||
openAPIV3Schema:
|
|
||||||
description: HelmRelease is the Schema for the helmreleases API
|
|
||||||
properties:
|
|
||||||
apiVersion:
|
|
||||||
description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
|
||||||
type: string
|
|
||||||
kind:
|
|
||||||
description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
|
||||||
type: string
|
|
||||||
metadata:
|
|
||||||
type: object
|
|
||||||
spec:
|
|
||||||
description: HelmReleaseSpec defines the desired state of a Helm release.
|
|
||||||
properties:
|
|
||||||
chart:
|
|
||||||
description: Chart defines the template of the v1beta1.HelmChart that should be created for this HelmRelease.
|
|
||||||
properties:
|
|
||||||
spec:
|
|
||||||
description: Spec holds the template for the v1beta1.HelmChartSpec for this HelmRelease.
|
|
||||||
properties:
|
|
||||||
chart:
|
|
||||||
description: The name or path the Helm chart is available at in the SourceRef.
|
|
||||||
type: string
|
|
||||||
interval:
|
|
||||||
description: Interval at which to check the v1beta1.Source for updates. Defaults to 'HelmReleaseSpec.Interval'.
|
|
||||||
type: string
|
|
||||||
sourceRef:
|
|
||||||
description: The name and namespace of the v1beta1.Source the chart is available at.
|
|
||||||
properties:
|
|
||||||
apiVersion:
|
|
||||||
description: APIVersion of the referent.
|
|
||||||
type: string
|
|
||||||
kind:
|
|
||||||
description: Kind of the referent.
|
|
||||||
enum:
|
|
||||||
- HelmRepository
|
|
||||||
- GitRepository
|
|
||||||
- Bucket
|
|
||||||
type: string
|
|
||||||
name:
|
|
||||||
description: Name of the referent.
|
|
||||||
maxLength: 253
|
|
||||||
minLength: 1
|
|
||||||
type: string
|
|
||||||
namespace:
|
|
||||||
description: Namespace of the referent.
|
|
||||||
maxLength: 63
|
|
||||||
minLength: 1
|
|
||||||
type: string
|
|
||||||
required:
|
|
||||||
- name
|
|
||||||
type: object
|
|
||||||
valuesFile:
|
|
||||||
description: Alternative values file to use as the default chart values, expected to be a relative path in the SourceRef. Ignored when omitted.
|
|
||||||
type: string
|
|
||||||
version:
|
|
||||||
description: Version semver expression, ignored for charts from v1beta1.GitRepository and v1beta1.Bucket sources. Defaults to latest when omitted.
|
|
||||||
type: string
|
|
||||||
required:
|
|
||||||
- chart
|
|
||||||
- sourceRef
|
|
||||||
type: object
|
|
||||||
required:
|
|
||||||
- spec
|
|
||||||
type: object
|
|
||||||
dependsOn:
|
|
||||||
description: DependsOn may contain a dependency.CrossNamespaceDependencyReference slice with references to HelmRelease resources that must be ready before this HelmRelease can be reconciled.
|
|
||||||
items:
|
|
||||||
description: CrossNamespaceDependencyReference holds the reference to a dependency.
|
|
||||||
properties:
|
|
||||||
name:
|
|
||||||
description: Name holds the name reference of a dependency.
|
|
||||||
type: string
|
|
||||||
namespace:
|
|
||||||
description: Namespace holds the namespace reference of a dependency.
|
|
||||||
type: string
|
|
||||||
required:
|
|
||||||
- name
|
|
||||||
type: object
|
|
||||||
type: array
|
|
||||||
install:
|
|
||||||
description: Install holds the configuration for Helm install actions for this HelmRelease.
|
|
||||||
properties:
|
|
||||||
disableHooks:
|
|
||||||
description: DisableHooks prevents hooks from running during the Helm install action.
|
|
||||||
type: boolean
|
|
||||||
disableOpenAPIValidation:
|
|
||||||
description: DisableOpenAPIValidation prevents the Helm install action from validating rendered templates against the Kubernetes OpenAPI Schema.
|
|
||||||
type: boolean
|
|
||||||
disableWait:
|
|
||||||
description: DisableWait disables the waiting for resources to be ready after a Helm install has been performed.
|
|
||||||
type: boolean
|
|
||||||
remediation:
|
|
||||||
description: Remediation holds the remediation configuration for when the Helm install action for the HelmRelease fails. The default is to not perform any action.
|
|
||||||
properties:
|
|
||||||
ignoreTestFailures:
|
|
||||||
description: IgnoreTestFailures tells the controller to skip remediation when the Helm tests are run after an install action but fail. Defaults to 'Test.IgnoreFailures'.
|
|
||||||
type: boolean
|
|
||||||
remediateLastFailure:
|
|
||||||
description: RemediateLastFailure tells the controller to remediate the last failure, when no retries remain. Defaults to 'false'.
|
|
||||||
type: boolean
|
|
||||||
retries:
|
|
||||||
description: Retries is the number of retries that should be attempted on failures before bailing. Remediation, using an uninstall, is performed between each attempt. Defaults to '0', a negative integer equals to unlimited retries.
|
|
||||||
type: integer
|
|
||||||
type: object
|
|
||||||
replace:
|
|
||||||
description: Replace tells the Helm install action to re-use the 'ReleaseName', but only if that name is a deleted release which remains in the history.
|
|
||||||
type: boolean
|
|
||||||
skipCRDs:
|
|
||||||
description: SkipCRDs tells the Helm install action to not install any CRDs. By default, CRDs are installed if not already present.
|
|
||||||
type: boolean
|
|
||||||
timeout:
|
|
||||||
description: Timeout is the time to wait for any individual Kubernetes operation (like Jobs for hooks) during the performance of a Helm install action. Defaults to 'HelmReleaseSpec.Timeout'.
|
|
||||||
type: string
|
|
||||||
type: object
|
|
||||||
interval:
|
|
||||||
description: Interval at which to reconcile the Helm release.
|
|
||||||
type: string
|
|
||||||
maxHistory:
|
|
||||||
description: MaxHistory is the number of revisions saved by Helm for this HelmRelease. Use '0' for an unlimited number of revisions; defaults to '10'.
|
|
||||||
type: integer
|
|
||||||
releaseName:
|
|
||||||
description: ReleaseName used for the Helm release. Defaults to a composition of '[TargetNamespace-]Name'.
|
|
||||||
maxLength: 53
|
|
||||||
minLength: 1
|
|
||||||
type: string
|
|
||||||
rollback:
|
|
||||||
description: Rollback holds the configuration for Helm rollback actions for this HelmRelease.
|
|
||||||
properties:
|
|
||||||
cleanupOnFail:
|
|
||||||
description: CleanupOnFail allows deletion of new resources created during the Helm rollback action when it fails.
|
|
||||||
type: boolean
|
|
||||||
disableHooks:
|
|
||||||
description: DisableHooks prevents hooks from running during the Helm rollback action.
|
|
||||||
type: boolean
|
|
||||||
disableWait:
|
|
||||||
description: DisableWait disables the waiting for resources to be ready after a Helm rollback has been performed.
|
|
||||||
type: boolean
|
|
||||||
force:
|
|
||||||
description: Force forces resource updates through a replacement strategy.
|
|
||||||
type: boolean
|
|
||||||
recreate:
|
|
||||||
description: Recreate performs pod restarts for the resource if applicable.
|
|
||||||
type: boolean
|
|
||||||
timeout:
|
|
||||||
description: Timeout is the time to wait for any individual Kubernetes operation (like Jobs for hooks) during the performance of a Helm rollback action. Defaults to 'HelmReleaseSpec.Timeout'.
|
|
||||||
type: string
|
|
||||||
type: object
|
|
||||||
suspend:
|
|
||||||
description: Suspend tells the controller to suspend reconciliation for this HelmRelease, it does not apply to already started reconciliations. Defaults to false.
|
|
||||||
type: boolean
|
|
||||||
targetNamespace:
|
|
||||||
description: TargetNamespace to target when performing operations for the HelmRelease. Defaults to the namespace of the HelmRelease.
|
|
||||||
maxLength: 63
|
|
||||||
minLength: 1
|
|
||||||
type: string
|
|
||||||
test:
|
|
||||||
description: Test holds the configuration for Helm test actions for this HelmRelease.
|
|
||||||
properties:
|
|
||||||
enable:
|
|
||||||
description: Enable enables Helm test actions for this HelmRelease after an Helm install or upgrade action has been performed.
|
|
||||||
type: boolean
|
|
||||||
ignoreFailures:
|
|
||||||
description: IgnoreFailures tells the controller to skip remediation when the Helm tests are run but fail. Can be overwritten for tests run after install or upgrade actions in 'Install.IgnoreTestFailures' and 'Upgrade.IgnoreTestFailures'.
|
|
||||||
type: boolean
|
|
||||||
timeout:
|
|
||||||
description: Timeout is the time to wait for any individual Kubernetes operation during the performance of a Helm test action. Defaults to 'HelmReleaseSpec.Timeout'.
|
|
||||||
type: string
|
|
||||||
type: object
|
|
||||||
timeout:
|
|
||||||
description: Timeout is the time to wait for any individual Kubernetes operation (like Jobs for hooks) during the performance of a Helm action. Defaults to '5m0s'.
|
|
||||||
type: string
|
|
||||||
uninstall:
|
|
||||||
description: Uninstall holds the configuration for Helm uninstall actions for this HelmRelease.
|
|
||||||
properties:
|
|
||||||
disableHooks:
|
|
||||||
description: DisableHooks prevents hooks from running during the Helm rollback action.
|
|
||||||
type: boolean
|
|
||||||
keepHistory:
|
|
||||||
description: KeepHistory tells Helm to remove all associated resources and mark the release as deleted, but retain the release history.
|
|
||||||
type: boolean
|
|
||||||
timeout:
|
|
||||||
description: Timeout is the time to wait for any individual Kubernetes operation (like Jobs for hooks) during the performance of a Helm uninstall action. Defaults to 'HelmReleaseSpec.Timeout'.
|
|
||||||
type: string
|
|
||||||
type: object
|
|
||||||
upgrade:
|
|
||||||
description: Upgrade holds the configuration for Helm upgrade actions for this HelmRelease.
|
|
||||||
properties:
|
|
||||||
cleanupOnFail:
|
|
||||||
description: CleanupOnFail allows deletion of new resources created during the Helm upgrade action when it fails.
|
|
||||||
type: boolean
|
|
||||||
disableHooks:
|
|
||||||
description: DisableHooks prevents hooks from running during the Helm upgrade action.
|
|
||||||
type: boolean
|
|
||||||
disableOpenAPIValidation:
|
|
||||||
description: DisableOpenAPIValidation prevents the Helm upgrade action from validating rendered templates against the Kubernetes OpenAPI Schema.
|
|
||||||
type: boolean
|
|
||||||
disableWait:
|
|
||||||
description: DisableWait disables the waiting for resources to be ready after a Helm upgrade has been performed.
|
|
||||||
type: boolean
|
|
||||||
force:
|
|
||||||
description: Force forces resource updates through a replacement strategy.
|
|
||||||
type: boolean
|
|
||||||
preserveValues:
|
|
||||||
description: PreserveValues will make Helm reuse the last release's values and merge in overrides from 'Values'. Setting this flag makes the HelmRelease non-declarative.
|
|
||||||
type: boolean
|
|
||||||
remediation:
|
|
||||||
description: Remediation holds the remediation configuration for when the Helm upgrade action for the HelmRelease fails. The default is to not perform any action.
|
|
||||||
properties:
|
|
||||||
ignoreTestFailures:
|
|
||||||
description: IgnoreTestFailures tells the controller to skip remediation when the Helm tests are run after an upgrade action but fail. Defaults to 'Test.IgnoreFailures'.
|
|
||||||
type: boolean
|
|
||||||
remediateLastFailure:
|
|
||||||
description: RemediateLastFailure tells the controller to remediate the last failure, when no retries remain. Defaults to 'false' unless 'Retries' is greater than 0.
|
|
||||||
type: boolean
|
|
||||||
retries:
|
|
||||||
description: Retries is the number of retries that should be attempted on failures before bailing. Remediation, using 'Strategy', is performed between each attempt. Defaults to '0', a negative integer equals to unlimited retries.
|
|
||||||
type: integer
|
|
||||||
strategy:
|
|
||||||
description: Strategy to use for failure remediation. Defaults to 'rollback'.
|
|
||||||
enum:
|
|
||||||
- rollback
|
|
||||||
- uninstall
|
|
||||||
type: string
|
|
||||||
type: object
|
|
||||||
timeout:
|
|
||||||
description: Timeout is the time to wait for any individual Kubernetes operation (like Jobs for hooks) during the performance of a Helm upgrade action. Defaults to 'HelmReleaseSpec.Timeout'.
|
|
||||||
type: string
|
|
||||||
type: object
|
|
||||||
values:
|
|
||||||
description: Values holds the values for this Helm release.
|
|
||||||
x-kubernetes-preserve-unknown-fields: true
|
|
||||||
valuesFrom:
|
|
||||||
description: ValuesFrom holds references to resources containing Helm values for this HelmRelease, and information about how they should be merged.
|
|
||||||
items:
|
|
||||||
description: ValuesReference contains a reference to a resource containing Helm values, and optionally the key they can be found at.
|
|
||||||
properties:
|
|
||||||
kind:
|
|
||||||
description: Kind of the values referent, valid values are ('Secret', 'ConfigMap').
|
|
||||||
enum:
|
|
||||||
- Secret
|
|
||||||
- ConfigMap
|
|
||||||
type: string
|
|
||||||
name:
|
|
||||||
description: Name of the values referent. Should reside in the same namespace as the referring resource.
|
|
||||||
maxLength: 253
|
|
||||||
minLength: 1
|
|
||||||
type: string
|
|
||||||
optional:
|
|
||||||
description: Optional marks this ValuesReference as optional. When set, a not found error for the values reference is ignored, but any ValuesKey, TargetPath or transient error will still result in a reconciliation failure.
|
|
||||||
type: boolean
|
|
||||||
targetPath:
|
|
||||||
description: TargetPath is the YAML dot notation path the value should be merged at. When set, the ValuesKey is expected to be a single flat value. Defaults to 'None', which results in the values getting merged at the root.
|
|
||||||
type: string
|
|
||||||
valuesKey:
|
|
||||||
description: ValuesKey is the data key where the values.yaml or a specific value can be found at. Defaults to 'values.yaml'.
|
|
||||||
type: string
|
|
||||||
required:
|
|
||||||
- kind
|
|
||||||
- name
|
|
||||||
type: object
|
|
||||||
type: array
|
|
||||||
required:
|
|
||||||
- chart
|
|
||||||
- interval
|
|
||||||
type: object
|
|
||||||
status:
|
|
||||||
description: HelmReleaseStatus defines the observed state of a HelmRelease.
|
|
||||||
properties:
|
|
||||||
conditions:
|
|
||||||
description: Conditions holds the conditions for the HelmRelease.
|
|
||||||
items:
|
|
||||||
description: Condition contains condition information of a toolkit resource.
|
|
||||||
properties:
|
|
||||||
lastTransitionTime:
|
|
||||||
description: LastTransitionTime is the timestamp corresponding to the last status change of this condition.
|
|
||||||
format: date-time
|
|
||||||
type: string
|
|
||||||
message:
|
|
||||||
description: Message is a human readable description of the details of the last transition, complementing reason.
|
|
||||||
type: string
|
|
||||||
reason:
|
|
||||||
description: Reason is a brief machine readable explanation for the condition's last transition.
|
|
||||||
type: string
|
|
||||||
status:
|
|
||||||
description: Status of the condition, one of ('True', 'False', 'Unknown').
|
|
||||||
type: string
|
|
||||||
type:
|
|
||||||
description: Type of the condition.
|
|
||||||
type: string
|
|
||||||
required:
|
|
||||||
- status
|
|
||||||
- type
|
|
||||||
type: object
|
|
||||||
type: array
|
|
||||||
failures:
|
|
||||||
description: Failures is the reconciliation failure count against the latest desired state. It is reset after a successful reconciliation.
|
|
||||||
format: int64
|
|
||||||
type: integer
|
|
||||||
helmChart:
|
|
||||||
description: HelmChart is the namespaced name of the HelmChart resource created by the controller for the HelmRelease.
|
|
||||||
type: string
|
|
||||||
installFailures:
|
|
||||||
description: InstallFailures is the install failure count against the latest desired state. It is reset after a successful reconciliation.
|
|
||||||
format: int64
|
|
||||||
type: integer
|
|
||||||
lastAppliedRevision:
|
|
||||||
description: LastAppliedRevision is the revision of the last successfully applied source.
|
|
||||||
type: string
|
|
||||||
lastAttemptedRevision:
|
|
||||||
description: LastAttemptedRevision is the revision of the last reconciliation attempt.
|
|
||||||
type: string
|
|
||||||
lastAttemptedValuesChecksum:
|
|
||||||
description: LastAttemptedValuesChecksum is the SHA1 checksum of the values of the last reconciliation attempt.
|
|
||||||
type: string
|
|
||||||
lastHandledReconcileAt:
|
|
||||||
description: LastHandledReconcileAt is the last manual reconciliation request (by annotating the HelmRelease) handled by the reconciler.
|
|
||||||
type: string
|
|
||||||
lastReleaseRevision:
|
|
||||||
description: LastReleaseRevision is the revision of the last successful Helm release.
|
|
||||||
type: integer
|
|
||||||
observedGeneration:
|
|
||||||
description: ObservedGeneration is the last observed generation.
|
|
||||||
format: int64
|
|
||||||
type: integer
|
|
||||||
upgradeFailures:
|
|
||||||
description: UpgradeFailures is the upgrade failure count against the latest desired state. It is reset after a successful reconciliation.
|
|
||||||
format: int64
|
|
||||||
type: integer
|
|
||||||
type: object
|
|
||||||
type: object
|
|
||||||
served: true
|
|
||||||
storage: true
|
|
||||||
subresources:
|
|
||||||
status: {}
|
|
||||||
status:
|
|
||||||
acceptedNames:
|
|
||||||
kind: ""
|
|
||||||
plural: ""
|
|
||||||
conditions: []
|
|
||||||
storedVersions: []
|
|
@ -2,7 +2,6 @@ apiVersion: apps/v1
|
|||||||
kind: Deployment
|
kind: Deployment
|
||||||
metadata:
|
metadata:
|
||||||
name: helm-controller
|
name: helm-controller
|
||||||
namespace: flux-system
|
|
||||||
spec:
|
spec:
|
||||||
template:
|
template:
|
||||||
spec:
|
spec:
|
@ -1,5 +1,7 @@
|
|||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
resources:
|
resources:
|
||||||
- crd
|
- upstream/crd
|
||||||
- manager
|
- upstream/manager
|
||||||
|
patchesStrategicMerge:
|
||||||
|
- deployment_toleration_patch.yaml
|
@ -1,7 +0,0 @@
|
|||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
|
||||||
kind: Kustomization
|
|
||||||
resources:
|
|
||||||
- deployment.yaml
|
|
||||||
|
|
||||||
patchesStrategicMerge:
|
|
||||||
- deployment_toleration_patch.yaml
|
|
20
manifests/function/flux/helm-controller/upstream/crd/Kptfile
Normal file
20
manifests/function/flux/helm-controller/upstream/crd/Kptfile
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
apiVersion: kpt.dev/v1alpha1
|
||||||
|
kind: Kptfile
|
||||||
|
upstream:
|
||||||
|
type: git
|
||||||
|
git:
|
||||||
|
commit: a09ab789782adde93419b324c7374aa92049b868
|
||||||
|
repo: https://github.com/fluxcd/helm-controller
|
||||||
|
directory: config/crd
|
||||||
|
ref: v0.4.3
|
||||||
|
dependencies:
|
||||||
|
- name: upstream/crd
|
||||||
|
git:
|
||||||
|
repo: https://github.com/fluxcd/helm-controller
|
||||||
|
directory: config/crd
|
||||||
|
ref: v0.4.3
|
||||||
|
- name: upstream/manager
|
||||||
|
git:
|
||||||
|
repo: https://github.com/fluxcd/helm-controller
|
||||||
|
directory: config/manager
|
||||||
|
ref: v0.4.3
|
@ -0,0 +1,553 @@
|
|||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
|
kind: CustomResourceDefinition
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
controller-gen.kubebuilder.io/version: v0.3.0
|
||||||
|
creationTimestamp: null
|
||||||
|
name: helmreleases.helm.toolkit.fluxcd.io
|
||||||
|
spec:
|
||||||
|
group: helm.toolkit.fluxcd.io
|
||||||
|
names:
|
||||||
|
kind: HelmRelease
|
||||||
|
listKind: HelmReleaseList
|
||||||
|
plural: helmreleases
|
||||||
|
shortNames:
|
||||||
|
- hr
|
||||||
|
singular: helmrelease
|
||||||
|
scope: Namespaced
|
||||||
|
versions:
|
||||||
|
- additionalPrinterColumns:
|
||||||
|
- jsonPath: .status.conditions[?(@.type=="Ready")].status
|
||||||
|
name: Ready
|
||||||
|
type: string
|
||||||
|
- jsonPath: .status.conditions[?(@.type=="Ready")].message
|
||||||
|
name: Status
|
||||||
|
type: string
|
||||||
|
- jsonPath: .metadata.creationTimestamp
|
||||||
|
name: Age
|
||||||
|
type: date
|
||||||
|
name: v2beta1
|
||||||
|
schema:
|
||||||
|
openAPIV3Schema:
|
||||||
|
description: HelmRelease is the Schema for the helmreleases API
|
||||||
|
properties:
|
||||||
|
apiVersion:
|
||||||
|
description: 'APIVersion defines the versioned schema of this representation
|
||||||
|
of an object. Servers should convert recognized schemas to the latest
|
||||||
|
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
||||||
|
type: string
|
||||||
|
kind:
|
||||||
|
description: 'Kind is a string value representing the REST resource this
|
||||||
|
object represents. Servers may infer this from the endpoint the client
|
||||||
|
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
||||||
|
type: string
|
||||||
|
metadata:
|
||||||
|
type: object
|
||||||
|
spec:
|
||||||
|
description: HelmReleaseSpec defines the desired state of a Helm release.
|
||||||
|
properties:
|
||||||
|
chart:
|
||||||
|
description: Chart defines the template of the v1beta1.HelmChart that
|
||||||
|
should be created for this HelmRelease.
|
||||||
|
properties:
|
||||||
|
spec:
|
||||||
|
description: Spec holds the template for the v1beta1.HelmChartSpec
|
||||||
|
for this HelmRelease.
|
||||||
|
properties:
|
||||||
|
chart:
|
||||||
|
description: The name or path the Helm chart is available
|
||||||
|
at in the SourceRef.
|
||||||
|
type: string
|
||||||
|
interval:
|
||||||
|
description: Interval at which to check the v1beta1.Source
|
||||||
|
for updates. Defaults to 'HelmReleaseSpec.Interval'.
|
||||||
|
type: string
|
||||||
|
sourceRef:
|
||||||
|
description: The name and namespace of the v1beta1.Source
|
||||||
|
the chart is available at.
|
||||||
|
properties:
|
||||||
|
apiVersion:
|
||||||
|
description: APIVersion of the referent.
|
||||||
|
type: string
|
||||||
|
kind:
|
||||||
|
description: Kind of the referent.
|
||||||
|
enum:
|
||||||
|
- HelmRepository
|
||||||
|
- GitRepository
|
||||||
|
- Bucket
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
description: Name of the referent.
|
||||||
|
maxLength: 253
|
||||||
|
minLength: 1
|
||||||
|
type: string
|
||||||
|
namespace:
|
||||||
|
description: Namespace of the referent.
|
||||||
|
maxLength: 63
|
||||||
|
minLength: 1
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- name
|
||||||
|
type: object
|
||||||
|
valuesFile:
|
||||||
|
description: Alternative values file to use as the default
|
||||||
|
chart values, expected to be a relative path in the SourceRef.
|
||||||
|
Ignored when omitted.
|
||||||
|
type: string
|
||||||
|
version:
|
||||||
|
default: '*'
|
||||||
|
description: Version semver expression, ignored for charts
|
||||||
|
from v1beta1.GitRepository and v1beta1.Bucket sources. Defaults
|
||||||
|
to latest when omitted.
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- chart
|
||||||
|
- sourceRef
|
||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- spec
|
||||||
|
type: object
|
||||||
|
dependsOn:
|
||||||
|
description: DependsOn may contain a dependency.CrossNamespaceDependencyReference
|
||||||
|
slice with references to HelmRelease resources that must be ready
|
||||||
|
before this HelmRelease can be reconciled.
|
||||||
|
items:
|
||||||
|
description: CrossNamespaceDependencyReference holds the reference
|
||||||
|
to a dependency.
|
||||||
|
properties:
|
||||||
|
name:
|
||||||
|
description: Name holds the name reference of a dependency.
|
||||||
|
type: string
|
||||||
|
namespace:
|
||||||
|
description: Namespace holds the namespace reference of a dependency.
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- name
|
||||||
|
type: object
|
||||||
|
type: array
|
||||||
|
install:
|
||||||
|
description: Install holds the configuration for Helm install actions
|
||||||
|
for this HelmRelease.
|
||||||
|
properties:
|
||||||
|
createNamespace:
|
||||||
|
description: CreateNamespace tells the Helm install action to
|
||||||
|
create the HelmReleaseSpec.TargetNamespace if it does not exist
|
||||||
|
yet. On uninstall, the namespace will not be garbage collected.
|
||||||
|
type: boolean
|
||||||
|
disableHooks:
|
||||||
|
description: DisableHooks prevents hooks from running during the
|
||||||
|
Helm install action.
|
||||||
|
type: boolean
|
||||||
|
disableOpenAPIValidation:
|
||||||
|
description: DisableOpenAPIValidation prevents the Helm install
|
||||||
|
action from validating rendered templates against the Kubernetes
|
||||||
|
OpenAPI Schema.
|
||||||
|
type: boolean
|
||||||
|
disableWait:
|
||||||
|
description: DisableWait disables the waiting for resources to
|
||||||
|
be ready after a Helm install has been performed.
|
||||||
|
type: boolean
|
||||||
|
remediation:
|
||||||
|
description: Remediation holds the remediation configuration for
|
||||||
|
when the Helm install action for the HelmRelease fails. The
|
||||||
|
default is to not perform any action.
|
||||||
|
properties:
|
||||||
|
ignoreTestFailures:
|
||||||
|
description: IgnoreTestFailures tells the controller to skip
|
||||||
|
remediation when the Helm tests are run after an install
|
||||||
|
action but fail. Defaults to 'Test.IgnoreFailures'.
|
||||||
|
type: boolean
|
||||||
|
remediateLastFailure:
|
||||||
|
description: RemediateLastFailure tells the controller to
|
||||||
|
remediate the last failure, when no retries remain. Defaults
|
||||||
|
to 'false'.
|
||||||
|
type: boolean
|
||||||
|
retries:
|
||||||
|
description: Retries is the number of retries that should
|
||||||
|
be attempted on failures before bailing. Remediation, using
|
||||||
|
an uninstall, is performed between each attempt. Defaults
|
||||||
|
to '0', a negative integer equals to unlimited retries.
|
||||||
|
type: integer
|
||||||
|
type: object
|
||||||
|
replace:
|
||||||
|
description: Replace tells the Helm install action to re-use the
|
||||||
|
'ReleaseName', but only if that name is a deleted release which
|
||||||
|
remains in the history.
|
||||||
|
type: boolean
|
||||||
|
skipCRDs:
|
||||||
|
description: SkipCRDs tells the Helm install action to not install
|
||||||
|
any CRDs. By default, CRDs are installed if not already present.
|
||||||
|
type: boolean
|
||||||
|
timeout:
|
||||||
|
description: Timeout is the time to wait for any individual Kubernetes
|
||||||
|
operation (like Jobs for hooks) during the performance of a
|
||||||
|
Helm install action. Defaults to 'HelmReleaseSpec.Timeout'.
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
interval:
|
||||||
|
description: Interval at which to reconcile the Helm release.
|
||||||
|
type: string
|
||||||
|
kubeConfig:
|
||||||
|
description: KubeConfig for reconciling the HelmRelease on a remote
|
||||||
|
cluster. When specified, KubeConfig takes precedence over ServiceAccountName.
|
||||||
|
properties:
|
||||||
|
secretRef:
|
||||||
|
description: SecretRef holds the name to a secret that contains
|
||||||
|
a 'value' key with the kubeconfig file as the value. It must
|
||||||
|
be in the same namespace as the HelmRelease. It is recommended
|
||||||
|
that the kubeconfig is self-contained, and the secret is regularly
|
||||||
|
updated if credentials such as a cloud-access-token expire.
|
||||||
|
Cloud specific `cmd-path` auth helpers will not function without
|
||||||
|
adding binaries and credentials to the Pod that is responsible
|
||||||
|
for reconciling the HelmRelease.
|
||||||
|
properties:
|
||||||
|
name:
|
||||||
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind, uid?'
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
type: object
|
||||||
|
maxHistory:
|
||||||
|
description: MaxHistory is the number of revisions saved by Helm for
|
||||||
|
this HelmRelease. Use '0' for an unlimited number of revisions;
|
||||||
|
defaults to '10'.
|
||||||
|
type: integer
|
||||||
|
releaseName:
|
||||||
|
description: ReleaseName used for the Helm release. Defaults to a
|
||||||
|
composition of '[TargetNamespace-]Name'.
|
||||||
|
maxLength: 53
|
||||||
|
minLength: 1
|
||||||
|
type: string
|
||||||
|
rollback:
|
||||||
|
description: Rollback holds the configuration for Helm rollback actions
|
||||||
|
for this HelmRelease.
|
||||||
|
properties:
|
||||||
|
cleanupOnFail:
|
||||||
|
description: CleanupOnFail allows deletion of new resources created
|
||||||
|
during the Helm rollback action when it fails.
|
||||||
|
type: boolean
|
||||||
|
disableHooks:
|
||||||
|
description: DisableHooks prevents hooks from running during the
|
||||||
|
Helm rollback action.
|
||||||
|
type: boolean
|
||||||
|
disableWait:
|
||||||
|
description: DisableWait disables the waiting for resources to
|
||||||
|
be ready after a Helm rollback has been performed.
|
||||||
|
type: boolean
|
||||||
|
force:
|
||||||
|
description: Force forces resource updates through a replacement
|
||||||
|
strategy.
|
||||||
|
type: boolean
|
||||||
|
recreate:
|
||||||
|
description: Recreate performs pod restarts for the resource if
|
||||||
|
applicable.
|
||||||
|
type: boolean
|
||||||
|
timeout:
|
||||||
|
description: Timeout is the time to wait for any individual Kubernetes
|
||||||
|
operation (like Jobs for hooks) during the performance of a
|
||||||
|
Helm rollback action. Defaults to 'HelmReleaseSpec.Timeout'.
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
serviceAccountName:
|
||||||
|
description: The name of the Kubernetes service account to impersonate
|
||||||
|
when reconciling this HelmRelease.
|
||||||
|
type: string
|
||||||
|
suspend:
|
||||||
|
description: Suspend tells the controller to suspend reconciliation
|
||||||
|
for this HelmRelease, it does not apply to already started reconciliations.
|
||||||
|
Defaults to false.
|
||||||
|
type: boolean
|
||||||
|
targetNamespace:
|
||||||
|
description: TargetNamespace to target when performing operations
|
||||||
|
for the HelmRelease. Defaults to the namespace of the HelmRelease.
|
||||||
|
maxLength: 63
|
||||||
|
minLength: 1
|
||||||
|
type: string
|
||||||
|
test:
|
||||||
|
description: Test holds the configuration for Helm test actions for
|
||||||
|
this HelmRelease.
|
||||||
|
properties:
|
||||||
|
enable:
|
||||||
|
description: Enable enables Helm test actions for this HelmRelease
|
||||||
|
after an Helm install or upgrade action has been performed.
|
||||||
|
type: boolean
|
||||||
|
ignoreFailures:
|
||||||
|
description: IgnoreFailures tells the controller to skip remediation
|
||||||
|
when the Helm tests are run but fail. Can be overwritten for
|
||||||
|
tests run after install or upgrade actions in 'Install.IgnoreTestFailures'
|
||||||
|
and 'Upgrade.IgnoreTestFailures'.
|
||||||
|
type: boolean
|
||||||
|
timeout:
|
||||||
|
description: Timeout is the time to wait for any individual Kubernetes
|
||||||
|
operation during the performance of a Helm test action. Defaults
|
||||||
|
to 'HelmReleaseSpec.Timeout'.
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
timeout:
|
||||||
|
description: Timeout is the time to wait for any individual Kubernetes
|
||||||
|
operation (like Jobs for hooks) during the performance of a Helm
|
||||||
|
action. Defaults to '5m0s'.
|
||||||
|
type: string
|
||||||
|
uninstall:
|
||||||
|
description: Uninstall holds the configuration for Helm uninstall
|
||||||
|
actions for this HelmRelease.
|
||||||
|
properties:
|
||||||
|
disableHooks:
|
||||||
|
description: DisableHooks prevents hooks from running during the
|
||||||
|
Helm rollback action.
|
||||||
|
type: boolean
|
||||||
|
keepHistory:
|
||||||
|
description: KeepHistory tells Helm to remove all associated resources
|
||||||
|
and mark the release as deleted, but retain the release history.
|
||||||
|
type: boolean
|
||||||
|
timeout:
|
||||||
|
description: Timeout is the time to wait for any individual Kubernetes
|
||||||
|
operation (like Jobs for hooks) during the performance of a
|
||||||
|
Helm uninstall action. Defaults to 'HelmReleaseSpec.Timeout'.
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
upgrade:
|
||||||
|
description: Upgrade holds the configuration for Helm upgrade actions
|
||||||
|
for this HelmRelease.
|
||||||
|
properties:
|
||||||
|
cleanupOnFail:
|
||||||
|
description: CleanupOnFail allows deletion of new resources created
|
||||||
|
during the Helm upgrade action when it fails.
|
||||||
|
type: boolean
|
||||||
|
disableHooks:
|
||||||
|
description: DisableHooks prevents hooks from running during the
|
||||||
|
Helm upgrade action.
|
||||||
|
type: boolean
|
||||||
|
disableOpenAPIValidation:
|
||||||
|
description: DisableOpenAPIValidation prevents the Helm upgrade
|
||||||
|
action from validating rendered templates against the Kubernetes
|
||||||
|
OpenAPI Schema.
|
||||||
|
type: boolean
|
||||||
|
disableWait:
|
||||||
|
description: DisableWait disables the waiting for resources to
|
||||||
|
be ready after a Helm upgrade has been performed.
|
||||||
|
type: boolean
|
||||||
|
force:
|
||||||
|
description: Force forces resource updates through a replacement
|
||||||
|
strategy.
|
||||||
|
type: boolean
|
||||||
|
preserveValues:
|
||||||
|
description: PreserveValues will make Helm reuse the last release's
|
||||||
|
values and merge in overrides from 'Values'. Setting this flag
|
||||||
|
makes the HelmRelease non-declarative.
|
||||||
|
type: boolean
|
||||||
|
remediation:
|
||||||
|
description: Remediation holds the remediation configuration for
|
||||||
|
when the Helm upgrade action for the HelmRelease fails. The
|
||||||
|
default is to not perform any action.
|
||||||
|
properties:
|
||||||
|
ignoreTestFailures:
|
||||||
|
description: IgnoreTestFailures tells the controller to skip
|
||||||
|
remediation when the Helm tests are run after an upgrade
|
||||||
|
action but fail. Defaults to 'Test.IgnoreFailures'.
|
||||||
|
type: boolean
|
||||||
|
remediateLastFailure:
|
||||||
|
description: RemediateLastFailure tells the controller to
|
||||||
|
remediate the last failure, when no retries remain. Defaults
|
||||||
|
to 'false' unless 'Retries' is greater than 0.
|
||||||
|
type: boolean
|
||||||
|
retries:
|
||||||
|
description: Retries is the number of retries that should
|
||||||
|
be attempted on failures before bailing. Remediation, using
|
||||||
|
'Strategy', is performed between each attempt. Defaults
|
||||||
|
to '0', a negative integer equals to unlimited retries.
|
||||||
|
type: integer
|
||||||
|
strategy:
|
||||||
|
description: Strategy to use for failure remediation. Defaults
|
||||||
|
to 'rollback'.
|
||||||
|
enum:
|
||||||
|
- rollback
|
||||||
|
- uninstall
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
timeout:
|
||||||
|
description: Timeout is the time to wait for any individual Kubernetes
|
||||||
|
operation (like Jobs for hooks) during the performance of a
|
||||||
|
Helm upgrade action. Defaults to 'HelmReleaseSpec.Timeout'.
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
values:
|
||||||
|
description: Values holds the values for this Helm release.
|
||||||
|
x-kubernetes-preserve-unknown-fields: true
|
||||||
|
valuesFrom:
|
||||||
|
description: ValuesFrom holds references to resources containing Helm
|
||||||
|
values for this HelmRelease, and information about how they should
|
||||||
|
be merged.
|
||||||
|
items:
|
||||||
|
description: ValuesReference contains a reference to a resource
|
||||||
|
containing Helm values, and optionally the key they can be found
|
||||||
|
at.
|
||||||
|
properties:
|
||||||
|
kind:
|
||||||
|
description: Kind of the values referent, valid values are ('Secret',
|
||||||
|
'ConfigMap').
|
||||||
|
enum:
|
||||||
|
- Secret
|
||||||
|
- ConfigMap
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
description: Name of the values referent. Should reside in the
|
||||||
|
same namespace as the referring resource.
|
||||||
|
maxLength: 253
|
||||||
|
minLength: 1
|
||||||
|
type: string
|
||||||
|
optional:
|
||||||
|
description: Optional marks this ValuesReference as optional.
|
||||||
|
When set, a not found error for the values reference is ignored,
|
||||||
|
but any ValuesKey, TargetPath or transient error will still
|
||||||
|
result in a reconciliation failure.
|
||||||
|
type: boolean
|
||||||
|
targetPath:
|
||||||
|
description: TargetPath is the YAML dot notation path the value
|
||||||
|
should be merged at. When set, the ValuesKey is expected to
|
||||||
|
be a single flat value. Defaults to 'None', which results
|
||||||
|
in the values getting merged at the root.
|
||||||
|
type: string
|
||||||
|
valuesKey:
|
||||||
|
description: ValuesKey is the data key where the values.yaml
|
||||||
|
or a specific value can be found at. Defaults to 'values.yaml'.
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- kind
|
||||||
|
- name
|
||||||
|
type: object
|
||||||
|
type: array
|
||||||
|
required:
|
||||||
|
- chart
|
||||||
|
- interval
|
||||||
|
type: object
|
||||||
|
status:
|
||||||
|
description: HelmReleaseStatus defines the observed state of a HelmRelease.
|
||||||
|
properties:
|
||||||
|
conditions:
|
||||||
|
description: Conditions holds the conditions for the HelmRelease.
|
||||||
|
items:
|
||||||
|
description: "Condition contains details for one aspect of the current
|
||||||
|
state of this API Resource. --- This struct is intended for direct
|
||||||
|
use as an array at the field path .status.conditions. For example,
|
||||||
|
type FooStatus struct{ // Represents the observations of a
|
||||||
|
foo's current state. // Known .status.conditions.type are:
|
||||||
|
\"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type
|
||||||
|
\ // +patchStrategy=merge // +listType=map // +listMapKey=type
|
||||||
|
\ Conditions []metav1.Condition `json:\"conditions,omitempty\"
|
||||||
|
patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`
|
||||||
|
\n // other fields }"
|
||||||
|
properties:
|
||||||
|
lastTransitionTime:
|
||||||
|
description: lastTransitionTime is the last time the condition
|
||||||
|
transitioned from one status to another. This should be when
|
||||||
|
the underlying condition changed. If that is not known, then
|
||||||
|
using the time when the API field changed is acceptable.
|
||||||
|
format: date-time
|
||||||
|
type: string
|
||||||
|
message:
|
||||||
|
description: message is a human readable message indicating
|
||||||
|
details about the transition. This may be an empty string.
|
||||||
|
maxLength: 32768
|
||||||
|
type: string
|
||||||
|
observedGeneration:
|
||||||
|
description: observedGeneration represents the .metadata.generation
|
||||||
|
that the condition was set based upon. For instance, if .metadata.generation
|
||||||
|
is currently 12, but the .status.conditions[x].observedGeneration
|
||||||
|
is 9, the condition is out of date with respect to the current
|
||||||
|
state of the instance.
|
||||||
|
format: int64
|
||||||
|
minimum: 0
|
||||||
|
type: integer
|
||||||
|
reason:
|
||||||
|
description: reason contains a programmatic identifier indicating
|
||||||
|
the reason for the condition's last transition. Producers
|
||||||
|
of specific condition types may define expected values and
|
||||||
|
meanings for this field, and whether the values are considered
|
||||||
|
a guaranteed API. The value should be a CamelCase string.
|
||||||
|
This field may not be empty.
|
||||||
|
maxLength: 1024
|
||||||
|
minLength: 1
|
||||||
|
pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
|
||||||
|
type: string
|
||||||
|
status:
|
||||||
|
description: status of the condition, one of True, False, Unknown.
|
||||||
|
enum:
|
||||||
|
- "True"
|
||||||
|
- "False"
|
||||||
|
- Unknown
|
||||||
|
type: string
|
||||||
|
type:
|
||||||
|
description: type of condition in CamelCase or in foo.example.com/CamelCase.
|
||||||
|
--- Many .condition.type values are consistent across resources
|
||||||
|
like Available, but because arbitrary conditions can be useful
|
||||||
|
(see .node.status.conditions), the ability to deconflict is
|
||||||
|
important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
|
||||||
|
maxLength: 316
|
||||||
|
pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- lastTransitionTime
|
||||||
|
- message
|
||||||
|
- reason
|
||||||
|
- status
|
||||||
|
- type
|
||||||
|
type: object
|
||||||
|
type: array
|
||||||
|
failures:
|
||||||
|
description: Failures is the reconciliation failure count against
|
||||||
|
the latest desired state. It is reset after a successful reconciliation.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
|
helmChart:
|
||||||
|
description: HelmChart is the namespaced name of the HelmChart resource
|
||||||
|
created by the controller for the HelmRelease.
|
||||||
|
type: string
|
||||||
|
installFailures:
|
||||||
|
description: InstallFailures is the install failure count against
|
||||||
|
the latest desired state. It is reset after a successful reconciliation.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
|
lastAppliedRevision:
|
||||||
|
description: LastAppliedRevision is the revision of the last successfully
|
||||||
|
applied source.
|
||||||
|
type: string
|
||||||
|
lastAttemptedRevision:
|
||||||
|
description: LastAttemptedRevision is the revision of the last reconciliation
|
||||||
|
attempt.
|
||||||
|
type: string
|
||||||
|
lastAttemptedValuesChecksum:
|
||||||
|
description: LastAttemptedValuesChecksum is the SHA1 checksum of the
|
||||||
|
values of the last reconciliation attempt.
|
||||||
|
type: string
|
||||||
|
lastHandledReconcileAt:
|
||||||
|
description: LastHandledReconcileAt holds the value of the most recent
|
||||||
|
reconcile request value, so a change can be detected.
|
||||||
|
type: string
|
||||||
|
lastReleaseRevision:
|
||||||
|
description: LastReleaseRevision is the revision of the last successful
|
||||||
|
Helm release.
|
||||||
|
type: integer
|
||||||
|
observedGeneration:
|
||||||
|
description: ObservedGeneration is the last observed generation.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
|
upgradeFailures:
|
||||||
|
description: UpgradeFailures is the upgrade failure count against
|
||||||
|
the latest desired state. It is reset after a successful reconciliation.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
|
type: object
|
||||||
|
type: object
|
||||||
|
served: true
|
||||||
|
storage: true
|
||||||
|
subresources:
|
||||||
|
status: {}
|
||||||
|
status:
|
||||||
|
acceptedNames:
|
||||||
|
kind: ""
|
||||||
|
plural: ""
|
||||||
|
conditions: []
|
||||||
|
storedVersions: []
|
@ -0,0 +1,5 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- bases/helm.toolkit.fluxcd.io_helmreleases.yaml
|
||||||
|
# +kubebuilder:scaffold:crdkustomizeresource
|
@ -0,0 +1,20 @@
|
|||||||
|
apiVersion: kpt.dev/v1alpha1
|
||||||
|
kind: Kptfile
|
||||||
|
upstream:
|
||||||
|
type: git
|
||||||
|
git:
|
||||||
|
commit: a09ab789782adde93419b324c7374aa92049b868
|
||||||
|
repo: https://github.com/fluxcd/helm-controller
|
||||||
|
directory: config/manager
|
||||||
|
ref: v0.4.3
|
||||||
|
dependencies:
|
||||||
|
- name: upstream/crd
|
||||||
|
git:
|
||||||
|
repo: https://github.com/fluxcd/helm-controller
|
||||||
|
directory: config/crd
|
||||||
|
ref: v0.4.3
|
||||||
|
- name: upstream/manager
|
||||||
|
git:
|
||||||
|
repo: https://github.com/fluxcd/helm-controller
|
||||||
|
directory: config/manager
|
||||||
|
ref: v0.4.3
|
@ -1,47 +1,54 @@
|
|||||||
apiVersion: apps/v1
|
apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
|
||||||
app.kubernetes.io/instance: flux-system
|
|
||||||
app.kubernetes.io/version: v0.2.0
|
|
||||||
control-plane: controller
|
|
||||||
name: helm-controller
|
name: helm-controller
|
||||||
namespace: flux-system
|
labels:
|
||||||
|
control-plane: controller
|
||||||
spec:
|
spec:
|
||||||
replicas: 1
|
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
app: helm-controller
|
app: helm-controller
|
||||||
|
replicas: 1
|
||||||
template:
|
template:
|
||||||
metadata:
|
metadata:
|
||||||
annotations:
|
|
||||||
prometheus.io/port: "8080"
|
|
||||||
prometheus.io/scrape: "true"
|
|
||||||
labels:
|
labels:
|
||||||
app: helm-controller
|
app: helm-controller
|
||||||
|
annotations:
|
||||||
|
prometheus.io/scrape: "true"
|
||||||
|
prometheus.io/port: "8080"
|
||||||
spec:
|
spec:
|
||||||
|
terminationGracePeriodSeconds: 10
|
||||||
containers:
|
containers:
|
||||||
- args:
|
- name: manager
|
||||||
- --events-addr=
|
image: fluxcd/helm-controller
|
||||||
- --watch-all-namespaces=true
|
imagePullPolicy: IfNotPresent
|
||||||
- --log-level=info
|
securityContext:
|
||||||
- --log-json
|
allowPrivilegeEscalation: false
|
||||||
- --enable-leader-election
|
readOnlyRootFilesystem: true
|
||||||
|
ports:
|
||||||
|
- containerPort: 8080
|
||||||
|
name: http-prom
|
||||||
|
- containerPort: 9440
|
||||||
|
name: healthz
|
||||||
|
protocol: TCP
|
||||||
env:
|
env:
|
||||||
- name: RUNTIME_NAMESPACE
|
- name: RUNTIME_NAMESPACE
|
||||||
valueFrom:
|
valueFrom:
|
||||||
fieldRef:
|
fieldRef:
|
||||||
fieldPath: metadata.namespace
|
fieldPath: metadata.namespace
|
||||||
image: ghcr.io/fluxcd/helm-controller:v0.1.3
|
args:
|
||||||
imagePullPolicy: IfNotPresent
|
- --watch-all-namespaces
|
||||||
|
- --log-level=info
|
||||||
|
- --log-json
|
||||||
|
- --enable-leader-election
|
||||||
|
readinessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: /readyz
|
||||||
|
port: healthz
|
||||||
livenessProbe:
|
livenessProbe:
|
||||||
httpGet:
|
httpGet:
|
||||||
path: /metrics
|
path: /healthz
|
||||||
port: http-prom
|
port: healthz
|
||||||
name: manager
|
|
||||||
ports:
|
|
||||||
- containerPort: 8080
|
|
||||||
name: http-prom
|
|
||||||
resources:
|
resources:
|
||||||
limits:
|
limits:
|
||||||
cpu: 1000m
|
cpu: 1000m
|
||||||
@ -49,16 +56,9 @@ spec:
|
|||||||
requests:
|
requests:
|
||||||
cpu: 100m
|
cpu: 100m
|
||||||
memory: 64Mi
|
memory: 64Mi
|
||||||
securityContext:
|
|
||||||
allowPrivilegeEscalation: false
|
|
||||||
readOnlyRootFilesystem: true
|
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- mountPath: /tmp
|
- name: temp
|
||||||
name: temp
|
mountPath: /tmp
|
||||||
nodeSelector:
|
|
||||||
kubernetes.io/arch: amd64
|
|
||||||
kubernetes.io/os: linux
|
|
||||||
terminationGracePeriodSeconds: 10
|
|
||||||
volumes:
|
volumes:
|
||||||
- emptyDir: {}
|
- name: temp
|
||||||
name: temp
|
emptyDir: {}
|
@ -0,0 +1,8 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- deployment.yaml
|
||||||
|
images:
|
||||||
|
- name: fluxcd/helm-controller
|
||||||
|
newName: fluxcd/helm-controller
|
||||||
|
newTag: v0.4.3
|
13
manifests/function/flux/source-controller/Kptfile
Normal file
13
manifests/function/flux/source-controller/Kptfile
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
apiVersion: kpt.dev/v1alpha1
|
||||||
|
kind: Kptfile
|
||||||
|
dependencies:
|
||||||
|
- name: upstream/crd
|
||||||
|
git:
|
||||||
|
repo: "https://github.com/fluxcd/source-controller"
|
||||||
|
directory: "config/crd"
|
||||||
|
ref: "v0.5.3"
|
||||||
|
- name: upstream/manager
|
||||||
|
git:
|
||||||
|
repo: "https://github.com/fluxcd/source-controller"
|
||||||
|
directory: "config/manager"
|
||||||
|
ref: "v0.5.3"
|
@ -1,158 +0,0 @@
|
|||||||
apiVersion: apiextensions.k8s.io/v1
|
|
||||||
kind: CustomResourceDefinition
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
controller-gen.kubebuilder.io/version: v0.3.0
|
|
||||||
creationTimestamp: null
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/instance: flux-system
|
|
||||||
app.kubernetes.io/version: v0.2.0
|
|
||||||
name: buckets.source.toolkit.fluxcd.io
|
|
||||||
spec:
|
|
||||||
group: source.toolkit.fluxcd.io
|
|
||||||
names:
|
|
||||||
kind: Bucket
|
|
||||||
listKind: BucketList
|
|
||||||
plural: buckets
|
|
||||||
singular: bucket
|
|
||||||
scope: Namespaced
|
|
||||||
versions:
|
|
||||||
- additionalPrinterColumns:
|
|
||||||
- jsonPath: .spec.url
|
|
||||||
name: URL
|
|
||||||
type: string
|
|
||||||
- jsonPath: .status.conditions[?(@.type=="Ready")].status
|
|
||||||
name: Ready
|
|
||||||
type: string
|
|
||||||
- jsonPath: .status.conditions[?(@.type=="Ready")].message
|
|
||||||
name: Status
|
|
||||||
type: string
|
|
||||||
- jsonPath: .metadata.creationTimestamp
|
|
||||||
name: Age
|
|
||||||
type: date
|
|
||||||
name: v1beta1
|
|
||||||
schema:
|
|
||||||
openAPIV3Schema:
|
|
||||||
description: Bucket is the Schema for the buckets API
|
|
||||||
properties:
|
|
||||||
apiVersion:
|
|
||||||
description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
|
||||||
type: string
|
|
||||||
kind:
|
|
||||||
description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
|
||||||
type: string
|
|
||||||
metadata:
|
|
||||||
type: object
|
|
||||||
spec:
|
|
||||||
description: BucketSpec defines the desired state of an S3 compatible bucket
|
|
||||||
properties:
|
|
||||||
bucketName:
|
|
||||||
description: The bucket name.
|
|
||||||
type: string
|
|
||||||
endpoint:
|
|
||||||
description: The bucket endpoint address.
|
|
||||||
type: string
|
|
||||||
ignore:
|
|
||||||
description: Ignore overrides the set of excluded patterns in the .sourceignore format (which is the same as .gitignore).
|
|
||||||
type: string
|
|
||||||
insecure:
|
|
||||||
description: Insecure allows connecting to a non-TLS S3 HTTP endpoint.
|
|
||||||
type: boolean
|
|
||||||
interval:
|
|
||||||
description: The interval at which to check for bucket updates.
|
|
||||||
type: string
|
|
||||||
provider:
|
|
||||||
description: The S3 compatible storage provider name, default ('generic').
|
|
||||||
enum:
|
|
||||||
- generic
|
|
||||||
- aws
|
|
||||||
type: string
|
|
||||||
region:
|
|
||||||
description: The bucket region.
|
|
||||||
type: string
|
|
||||||
secretRef:
|
|
||||||
description: The name of the secret containing authentication credentials for the Bucket.
|
|
||||||
properties:
|
|
||||||
name:
|
|
||||||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
|
|
||||||
type: string
|
|
||||||
type: object
|
|
||||||
timeout:
|
|
||||||
description: The timeout for download operations, default ('20s').
|
|
||||||
type: string
|
|
||||||
required:
|
|
||||||
- bucketName
|
|
||||||
- endpoint
|
|
||||||
- interval
|
|
||||||
type: object
|
|
||||||
status:
|
|
||||||
description: BucketStatus defines the observed state of a bucket
|
|
||||||
properties:
|
|
||||||
artifact:
|
|
||||||
description: Artifact represents the output of the last successful Bucket sync.
|
|
||||||
properties:
|
|
||||||
checksum:
|
|
||||||
description: Checksum is the SHA1 checksum of the artifact.
|
|
||||||
type: string
|
|
||||||
lastUpdateTime:
|
|
||||||
description: LastUpdateTime is the timestamp corresponding to the last update of this artifact.
|
|
||||||
format: date-time
|
|
||||||
type: string
|
|
||||||
path:
|
|
||||||
description: Path is the relative file path of this artifact.
|
|
||||||
type: string
|
|
||||||
revision:
|
|
||||||
description: Revision is a human readable identifier traceable in the origin source system. It can be a Git commit sha, Git tag, a Helm index timestamp, a Helm chart version, etc.
|
|
||||||
type: string
|
|
||||||
url:
|
|
||||||
description: URL is the HTTP address of this artifact.
|
|
||||||
type: string
|
|
||||||
required:
|
|
||||||
- path
|
|
||||||
- url
|
|
||||||
type: object
|
|
||||||
conditions:
|
|
||||||
description: Conditions holds the conditions for the Bucket.
|
|
||||||
items:
|
|
||||||
description: Condition contains condition information of a toolkit resource.
|
|
||||||
properties:
|
|
||||||
lastTransitionTime:
|
|
||||||
description: LastTransitionTime is the timestamp corresponding to the last status change of this condition.
|
|
||||||
format: date-time
|
|
||||||
type: string
|
|
||||||
message:
|
|
||||||
description: Message is a human readable description of the details of the last transition, complementing reason.
|
|
||||||
type: string
|
|
||||||
reason:
|
|
||||||
description: Reason is a brief machine readable explanation for the condition's last transition.
|
|
||||||
type: string
|
|
||||||
status:
|
|
||||||
description: Status of the condition, one of ('True', 'False', 'Unknown').
|
|
||||||
type: string
|
|
||||||
type:
|
|
||||||
description: Type of the condition.
|
|
||||||
type: string
|
|
||||||
required:
|
|
||||||
- status
|
|
||||||
- type
|
|
||||||
type: object
|
|
||||||
type: array
|
|
||||||
observedGeneration:
|
|
||||||
description: ObservedGeneration is the last observed generation.
|
|
||||||
format: int64
|
|
||||||
type: integer
|
|
||||||
url:
|
|
||||||
description: URL is the download link for the artifact output of the last Bucket sync.
|
|
||||||
type: string
|
|
||||||
type: object
|
|
||||||
type: object
|
|
||||||
served: true
|
|
||||||
storage: true
|
|
||||||
subresources:
|
|
||||||
status: {}
|
|
||||||
status:
|
|
||||||
acceptedNames:
|
|
||||||
kind: ""
|
|
||||||
plural: ""
|
|
||||||
conditions: []
|
|
||||||
storedVersions: []
|
|
@ -1,177 +0,0 @@
|
|||||||
apiVersion: apiextensions.k8s.io/v1
|
|
||||||
kind: CustomResourceDefinition
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
controller-gen.kubebuilder.io/version: v0.3.0
|
|
||||||
creationTimestamp: null
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/instance: flux-system
|
|
||||||
app.kubernetes.io/version: v0.2.0
|
|
||||||
name: gitrepositories.source.toolkit.fluxcd.io
|
|
||||||
spec:
|
|
||||||
group: source.toolkit.fluxcd.io
|
|
||||||
names:
|
|
||||||
kind: GitRepository
|
|
||||||
listKind: GitRepositoryList
|
|
||||||
plural: gitrepositories
|
|
||||||
singular: gitrepository
|
|
||||||
scope: Namespaced
|
|
||||||
versions:
|
|
||||||
- additionalPrinterColumns:
|
|
||||||
- jsonPath: .spec.url
|
|
||||||
name: URL
|
|
||||||
type: string
|
|
||||||
- jsonPath: .status.conditions[?(@.type=="Ready")].status
|
|
||||||
name: Ready
|
|
||||||
type: string
|
|
||||||
- jsonPath: .status.conditions[?(@.type=="Ready")].message
|
|
||||||
name: Status
|
|
||||||
type: string
|
|
||||||
- jsonPath: .metadata.creationTimestamp
|
|
||||||
name: Age
|
|
||||||
type: date
|
|
||||||
name: v1beta1
|
|
||||||
schema:
|
|
||||||
openAPIV3Schema:
|
|
||||||
description: GitRepository is the Schema for the gitrepositories API
|
|
||||||
properties:
|
|
||||||
apiVersion:
|
|
||||||
description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
|
||||||
type: string
|
|
||||||
kind:
|
|
||||||
description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
|
||||||
type: string
|
|
||||||
metadata:
|
|
||||||
type: object
|
|
||||||
spec:
|
|
||||||
description: GitRepositorySpec defines the desired state of a Git repository.
|
|
||||||
properties:
|
|
||||||
ignore:
|
|
||||||
description: Ignore overrides the set of excluded patterns in the .sourceignore format (which is the same as .gitignore). If not provided, a default will be used, consult the documentation for your version to find out what those are.
|
|
||||||
type: string
|
|
||||||
interval:
|
|
||||||
description: The interval at which to check for repository updates.
|
|
||||||
type: string
|
|
||||||
ref:
|
|
||||||
description: The git reference to checkout and monitor for changes, defaults to master branch.
|
|
||||||
properties:
|
|
||||||
branch:
|
|
||||||
description: The git branch to checkout, defaults to master.
|
|
||||||
type: string
|
|
||||||
commit:
|
|
||||||
description: The git commit sha to checkout, if specified tag filters will be ignored.
|
|
||||||
type: string
|
|
||||||
semver:
|
|
||||||
description: The git tag semver expression, takes precedence over tag.
|
|
||||||
type: string
|
|
||||||
tag:
|
|
||||||
description: The git tag to checkout, takes precedence over branch.
|
|
||||||
type: string
|
|
||||||
type: object
|
|
||||||
secretRef:
|
|
||||||
description: The secret name containing the Git credentials. For HTTPS repositories the secret must contain username and password fields. For SSH repositories the secret must contain identity, identity.pub and known_hosts fields.
|
|
||||||
properties:
|
|
||||||
name:
|
|
||||||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
|
|
||||||
type: string
|
|
||||||
type: object
|
|
||||||
timeout:
|
|
||||||
description: The timeout for remote git operations like cloning, default to 20s.
|
|
||||||
type: string
|
|
||||||
url:
|
|
||||||
description: The repository URL, can be a HTTP or SSH address.
|
|
||||||
pattern: ^(http|https|ssh)://
|
|
||||||
type: string
|
|
||||||
verify:
|
|
||||||
description: Verify OpenPGP signature for the commit that HEAD points to.
|
|
||||||
properties:
|
|
||||||
mode:
|
|
||||||
description: Mode describes what git object should be verified, currently ('head').
|
|
||||||
enum:
|
|
||||||
- head
|
|
||||||
type: string
|
|
||||||
secretRef:
|
|
||||||
description: The secret name containing the public keys of all trusted git authors.
|
|
||||||
properties:
|
|
||||||
name:
|
|
||||||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
|
|
||||||
type: string
|
|
||||||
type: object
|
|
||||||
required:
|
|
||||||
- mode
|
|
||||||
type: object
|
|
||||||
required:
|
|
||||||
- interval
|
|
||||||
- url
|
|
||||||
type: object
|
|
||||||
status:
|
|
||||||
description: GitRepositoryStatus defines the observed state of a Git repository.
|
|
||||||
properties:
|
|
||||||
artifact:
|
|
||||||
description: Artifact represents the output of the last successful repository sync.
|
|
||||||
properties:
|
|
||||||
checksum:
|
|
||||||
description: Checksum is the SHA1 checksum of the artifact.
|
|
||||||
type: string
|
|
||||||
lastUpdateTime:
|
|
||||||
description: LastUpdateTime is the timestamp corresponding to the last update of this artifact.
|
|
||||||
format: date-time
|
|
||||||
type: string
|
|
||||||
path:
|
|
||||||
description: Path is the relative file path of this artifact.
|
|
||||||
type: string
|
|
||||||
revision:
|
|
||||||
description: Revision is a human readable identifier traceable in the origin source system. It can be a Git commit sha, Git tag, a Helm index timestamp, a Helm chart version, etc.
|
|
||||||
type: string
|
|
||||||
url:
|
|
||||||
description: URL is the HTTP address of this artifact.
|
|
||||||
type: string
|
|
||||||
required:
|
|
||||||
- path
|
|
||||||
- url
|
|
||||||
type: object
|
|
||||||
conditions:
|
|
||||||
description: Conditions holds the conditions for the GitRepository.
|
|
||||||
items:
|
|
||||||
description: Condition contains condition information of a toolkit resource.
|
|
||||||
properties:
|
|
||||||
lastTransitionTime:
|
|
||||||
description: LastTransitionTime is the timestamp corresponding to the last status change of this condition.
|
|
||||||
format: date-time
|
|
||||||
type: string
|
|
||||||
message:
|
|
||||||
description: Message is a human readable description of the details of the last transition, complementing reason.
|
|
||||||
type: string
|
|
||||||
reason:
|
|
||||||
description: Reason is a brief machine readable explanation for the condition's last transition.
|
|
||||||
type: string
|
|
||||||
status:
|
|
||||||
description: Status of the condition, one of ('True', 'False', 'Unknown').
|
|
||||||
type: string
|
|
||||||
type:
|
|
||||||
description: Type of the condition.
|
|
||||||
type: string
|
|
||||||
required:
|
|
||||||
- status
|
|
||||||
- type
|
|
||||||
type: object
|
|
||||||
type: array
|
|
||||||
observedGeneration:
|
|
||||||
description: ObservedGeneration is the last observed generation.
|
|
||||||
format: int64
|
|
||||||
type: integer
|
|
||||||
url:
|
|
||||||
description: URL is the download link for the artifact output of the last repository sync.
|
|
||||||
type: string
|
|
||||||
type: object
|
|
||||||
type: object
|
|
||||||
served: true
|
|
||||||
storage: true
|
|
||||||
subresources:
|
|
||||||
status: {}
|
|
||||||
status:
|
|
||||||
acceptedNames:
|
|
||||||
kind: ""
|
|
||||||
plural: ""
|
|
||||||
conditions: []
|
|
||||||
storedVersions: []
|
|
@ -1,165 +0,0 @@
|
|||||||
apiVersion: apiextensions.k8s.io/v1
|
|
||||||
kind: CustomResourceDefinition
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
controller-gen.kubebuilder.io/version: v0.3.0
|
|
||||||
creationTimestamp: null
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/instance: flux-system
|
|
||||||
app.kubernetes.io/version: v0.2.0
|
|
||||||
name: helmcharts.source.toolkit.fluxcd.io
|
|
||||||
spec:
|
|
||||||
group: source.toolkit.fluxcd.io
|
|
||||||
names:
|
|
||||||
kind: HelmChart
|
|
||||||
listKind: HelmChartList
|
|
||||||
plural: helmcharts
|
|
||||||
singular: helmchart
|
|
||||||
scope: Namespaced
|
|
||||||
versions:
|
|
||||||
- additionalPrinterColumns:
|
|
||||||
- jsonPath: .spec.chart
|
|
||||||
name: Chart
|
|
||||||
type: string
|
|
||||||
- jsonPath: .spec.version
|
|
||||||
name: Version
|
|
||||||
type: string
|
|
||||||
- jsonPath: .spec.sourceRef.kind
|
|
||||||
name: Source Kind
|
|
||||||
type: string
|
|
||||||
- jsonPath: .spec.sourceRef.name
|
|
||||||
name: Source Name
|
|
||||||
type: string
|
|
||||||
- jsonPath: .status.conditions[?(@.type=="Ready")].status
|
|
||||||
name: Ready
|
|
||||||
type: string
|
|
||||||
- jsonPath: .status.conditions[?(@.type=="Ready")].message
|
|
||||||
name: Status
|
|
||||||
type: string
|
|
||||||
- jsonPath: .metadata.creationTimestamp
|
|
||||||
name: Age
|
|
||||||
type: date
|
|
||||||
name: v1beta1
|
|
||||||
schema:
|
|
||||||
openAPIV3Schema:
|
|
||||||
description: HelmChart is the Schema for the helmcharts API
|
|
||||||
properties:
|
|
||||||
apiVersion:
|
|
||||||
description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
|
||||||
type: string
|
|
||||||
kind:
|
|
||||||
description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
|
||||||
type: string
|
|
||||||
metadata:
|
|
||||||
type: object
|
|
||||||
spec:
|
|
||||||
description: HelmChartSpec defines the desired state of a Helm chart.
|
|
||||||
properties:
|
|
||||||
chart:
|
|
||||||
description: The name or path the Helm chart is available at in the SourceRef.
|
|
||||||
type: string
|
|
||||||
interval:
|
|
||||||
description: The interval at which to check the Source for updates.
|
|
||||||
type: string
|
|
||||||
sourceRef:
|
|
||||||
description: The reference to the Source the chart is available at.
|
|
||||||
properties:
|
|
||||||
apiVersion:
|
|
||||||
description: APIVersion of the referent.
|
|
||||||
type: string
|
|
||||||
kind:
|
|
||||||
description: Kind of the referent, valid values are ('HelmRepository', 'GitRepository', 'Bucket').
|
|
||||||
enum:
|
|
||||||
- HelmRepository
|
|
||||||
- GitRepository
|
|
||||||
- Bucket
|
|
||||||
type: string
|
|
||||||
name:
|
|
||||||
description: Name of the referent.
|
|
||||||
type: string
|
|
||||||
required:
|
|
||||||
- kind
|
|
||||||
- name
|
|
||||||
type: object
|
|
||||||
valuesFile:
|
|
||||||
description: Alternative values file to use as the default chart values, expected to be a relative path in the SourceRef. Ignored when omitted.
|
|
||||||
type: string
|
|
||||||
version:
|
|
||||||
description: The chart version semver expression, ignored for charts from GitRepository and Bucket sources. Defaults to latest when omitted.
|
|
||||||
type: string
|
|
||||||
required:
|
|
||||||
- chart
|
|
||||||
- interval
|
|
||||||
- sourceRef
|
|
||||||
type: object
|
|
||||||
status:
|
|
||||||
description: HelmChartStatus defines the observed state of the HelmChart.
|
|
||||||
properties:
|
|
||||||
artifact:
|
|
||||||
description: Artifact represents the output of the last successful chart sync.
|
|
||||||
properties:
|
|
||||||
checksum:
|
|
||||||
description: Checksum is the SHA1 checksum of the artifact.
|
|
||||||
type: string
|
|
||||||
lastUpdateTime:
|
|
||||||
description: LastUpdateTime is the timestamp corresponding to the last update of this artifact.
|
|
||||||
format: date-time
|
|
||||||
type: string
|
|
||||||
path:
|
|
||||||
description: Path is the relative file path of this artifact.
|
|
||||||
type: string
|
|
||||||
revision:
|
|
||||||
description: Revision is a human readable identifier traceable in the origin source system. It can be a Git commit sha, Git tag, a Helm index timestamp, a Helm chart version, etc.
|
|
||||||
type: string
|
|
||||||
url:
|
|
||||||
description: URL is the HTTP address of this artifact.
|
|
||||||
type: string
|
|
||||||
required:
|
|
||||||
- path
|
|
||||||
- url
|
|
||||||
type: object
|
|
||||||
conditions:
|
|
||||||
description: Conditions holds the conditions for the HelmChart.
|
|
||||||
items:
|
|
||||||
description: Condition contains condition information of a toolkit resource.
|
|
||||||
properties:
|
|
||||||
lastTransitionTime:
|
|
||||||
description: LastTransitionTime is the timestamp corresponding to the last status change of this condition.
|
|
||||||
format: date-time
|
|
||||||
type: string
|
|
||||||
message:
|
|
||||||
description: Message is a human readable description of the details of the last transition, complementing reason.
|
|
||||||
type: string
|
|
||||||
reason:
|
|
||||||
description: Reason is a brief machine readable explanation for the condition's last transition.
|
|
||||||
type: string
|
|
||||||
status:
|
|
||||||
description: Status of the condition, one of ('True', 'False', 'Unknown').
|
|
||||||
type: string
|
|
||||||
type:
|
|
||||||
description: Type of the condition.
|
|
||||||
type: string
|
|
||||||
required:
|
|
||||||
- status
|
|
||||||
- type
|
|
||||||
type: object
|
|
||||||
type: array
|
|
||||||
observedGeneration:
|
|
||||||
description: ObservedGeneration is the last observed generation.
|
|
||||||
format: int64
|
|
||||||
type: integer
|
|
||||||
url:
|
|
||||||
description: URL is the download link for the last chart pulled.
|
|
||||||
type: string
|
|
||||||
type: object
|
|
||||||
type: object
|
|
||||||
served: true
|
|
||||||
storage: true
|
|
||||||
subresources:
|
|
||||||
status: {}
|
|
||||||
status:
|
|
||||||
acceptedNames:
|
|
||||||
kind: ""
|
|
||||||
plural: ""
|
|
||||||
conditions: []
|
|
||||||
storedVersions: []
|
|
@ -1,139 +0,0 @@
|
|||||||
apiVersion: apiextensions.k8s.io/v1
|
|
||||||
kind: CustomResourceDefinition
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
controller-gen.kubebuilder.io/version: v0.3.0
|
|
||||||
creationTimestamp: null
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/instance: flux-system
|
|
||||||
app.kubernetes.io/version: v0.2.0
|
|
||||||
name: helmrepositories.source.toolkit.fluxcd.io
|
|
||||||
spec:
|
|
||||||
group: source.toolkit.fluxcd.io
|
|
||||||
names:
|
|
||||||
kind: HelmRepository
|
|
||||||
listKind: HelmRepositoryList
|
|
||||||
plural: helmrepositories
|
|
||||||
singular: helmrepository
|
|
||||||
scope: Namespaced
|
|
||||||
versions:
|
|
||||||
- additionalPrinterColumns:
|
|
||||||
- jsonPath: .spec.url
|
|
||||||
name: URL
|
|
||||||
type: string
|
|
||||||
- jsonPath: .status.conditions[?(@.type=="Ready")].status
|
|
||||||
name: Ready
|
|
||||||
type: string
|
|
||||||
- jsonPath: .status.conditions[?(@.type=="Ready")].message
|
|
||||||
name: Status
|
|
||||||
type: string
|
|
||||||
- jsonPath: .metadata.creationTimestamp
|
|
||||||
name: Age
|
|
||||||
type: date
|
|
||||||
name: v1beta1
|
|
||||||
schema:
|
|
||||||
openAPIV3Schema:
|
|
||||||
description: HelmRepository is the Schema for the helmrepositories API
|
|
||||||
properties:
|
|
||||||
apiVersion:
|
|
||||||
description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
|
||||||
type: string
|
|
||||||
kind:
|
|
||||||
description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
|
||||||
type: string
|
|
||||||
metadata:
|
|
||||||
type: object
|
|
||||||
spec:
|
|
||||||
description: HelmRepositorySpec defines the reference to a Helm repository.
|
|
||||||
properties:
|
|
||||||
interval:
|
|
||||||
description: The interval at which to check the upstream for updates.
|
|
||||||
type: string
|
|
||||||
secretRef:
|
|
||||||
description: The name of the secret containing authentication credentials for the Helm repository. For HTTP/S basic auth the secret must contain username and password fields. For TLS the secret must contain caFile, keyFile and caCert fields.
|
|
||||||
properties:
|
|
||||||
name:
|
|
||||||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
|
|
||||||
type: string
|
|
||||||
type: object
|
|
||||||
timeout:
|
|
||||||
description: The timeout of index downloading, defaults to 60s.
|
|
||||||
type: string
|
|
||||||
url:
|
|
||||||
description: The Helm repository URL, a valid URL contains at least a protocol and host.
|
|
||||||
type: string
|
|
||||||
required:
|
|
||||||
- interval
|
|
||||||
- url
|
|
||||||
type: object
|
|
||||||
status:
|
|
||||||
description: HelmRepositoryStatus defines the observed state of the HelmRepository.
|
|
||||||
properties:
|
|
||||||
artifact:
|
|
||||||
description: Artifact represents the output of the last successful repository sync.
|
|
||||||
properties:
|
|
||||||
checksum:
|
|
||||||
description: Checksum is the SHA1 checksum of the artifact.
|
|
||||||
type: string
|
|
||||||
lastUpdateTime:
|
|
||||||
description: LastUpdateTime is the timestamp corresponding to the last update of this artifact.
|
|
||||||
format: date-time
|
|
||||||
type: string
|
|
||||||
path:
|
|
||||||
description: Path is the relative file path of this artifact.
|
|
||||||
type: string
|
|
||||||
revision:
|
|
||||||
description: Revision is a human readable identifier traceable in the origin source system. It can be a Git commit sha, Git tag, a Helm index timestamp, a Helm chart version, etc.
|
|
||||||
type: string
|
|
||||||
url:
|
|
||||||
description: URL is the HTTP address of this artifact.
|
|
||||||
type: string
|
|
||||||
required:
|
|
||||||
- path
|
|
||||||
- url
|
|
||||||
type: object
|
|
||||||
conditions:
|
|
||||||
description: Conditions holds the conditions for the HelmRepository.
|
|
||||||
items:
|
|
||||||
description: Condition contains condition information of a toolkit resource.
|
|
||||||
properties:
|
|
||||||
lastTransitionTime:
|
|
||||||
description: LastTransitionTime is the timestamp corresponding to the last status change of this condition.
|
|
||||||
format: date-time
|
|
||||||
type: string
|
|
||||||
message:
|
|
||||||
description: Message is a human readable description of the details of the last transition, complementing reason.
|
|
||||||
type: string
|
|
||||||
reason:
|
|
||||||
description: Reason is a brief machine readable explanation for the condition's last transition.
|
|
||||||
type: string
|
|
||||||
status:
|
|
||||||
description: Status of the condition, one of ('True', 'False', 'Unknown').
|
|
||||||
type: string
|
|
||||||
type:
|
|
||||||
description: Type of the condition.
|
|
||||||
type: string
|
|
||||||
required:
|
|
||||||
- status
|
|
||||||
- type
|
|
||||||
type: object
|
|
||||||
type: array
|
|
||||||
observedGeneration:
|
|
||||||
description: ObservedGeneration is the last observed generation.
|
|
||||||
format: int64
|
|
||||||
type: integer
|
|
||||||
url:
|
|
||||||
description: URL is the download link for the last index fetched.
|
|
||||||
type: string
|
|
||||||
type: object
|
|
||||||
type: object
|
|
||||||
served: true
|
|
||||||
storage: true
|
|
||||||
subresources:
|
|
||||||
status: {}
|
|
||||||
status:
|
|
||||||
acceptedNames:
|
|
||||||
kind: ""
|
|
||||||
plural: ""
|
|
||||||
conditions: []
|
|
||||||
storedVersions: []
|
|
@ -1,7 +0,0 @@
|
|||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
|
||||||
kind: Kustomization
|
|
||||||
resources:
|
|
||||||
- buckets.source.toolkit.fluxcd.io.yaml
|
|
||||||
- gitrepositories.source.toolkit.fluxcd.io.yaml
|
|
||||||
- helmcharts.source.toolkit.fluxcd.io.yaml
|
|
||||||
- helmrepositories.source.toolkit.fluxcd.io.yaml
|
|
@ -2,7 +2,6 @@ apiVersion: apps/v1
|
|||||||
kind: Deployment
|
kind: Deployment
|
||||||
metadata:
|
metadata:
|
||||||
name: source-controller
|
name: source-controller
|
||||||
namespace: flux-system
|
|
||||||
spec:
|
spec:
|
||||||
template:
|
template:
|
||||||
spec:
|
spec:
|
@ -1,5 +1,7 @@
|
|||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
resources:
|
resources:
|
||||||
- crd
|
- upstream/crd
|
||||||
- manager
|
- upstream/manager
|
||||||
|
patchesStrategicMerge:
|
||||||
|
- deployment_toleration_patch.yaml
|
||||||
|
@ -1,81 +0,0 @@
|
|||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/instance: flux-system
|
|
||||||
app.kubernetes.io/version: v0.2.0
|
|
||||||
control-plane: controller
|
|
||||||
name: source-controller
|
|
||||||
namespace: flux-system
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: source-controller
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
prometheus.io/port: "8080"
|
|
||||||
prometheus.io/scrape: "true"
|
|
||||||
labels:
|
|
||||||
app: source-controller
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- args:
|
|
||||||
- --events-addr=
|
|
||||||
- --watch-all-namespaces=true
|
|
||||||
- --log-level=info
|
|
||||||
- --log-json
|
|
||||||
- --enable-leader-election
|
|
||||||
- --storage-path=/data
|
|
||||||
env:
|
|
||||||
- name: RUNTIME_NAMESPACE
|
|
||||||
valueFrom:
|
|
||||||
fieldRef:
|
|
||||||
fieldPath: metadata.namespace
|
|
||||||
- name: http_proxy
|
|
||||||
value: REPLACEMENT_HTTP_PROXY
|
|
||||||
- name: https_proxy
|
|
||||||
value: REPLACEMENT_HTTPS_PROXY
|
|
||||||
- name: no_proxy
|
|
||||||
value: REPLACEMENT_NO_PROXY
|
|
||||||
image: ghcr.io/fluxcd/source-controller:v0.2.1
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
livenessProbe:
|
|
||||||
httpGet:
|
|
||||||
path: /
|
|
||||||
port: http
|
|
||||||
name: manager
|
|
||||||
ports:
|
|
||||||
- containerPort: 9090
|
|
||||||
name: http
|
|
||||||
- containerPort: 8080
|
|
||||||
name: http-prom
|
|
||||||
readinessProbe:
|
|
||||||
httpGet:
|
|
||||||
path: /
|
|
||||||
port: http
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: 1000m
|
|
||||||
memory: 1Gi
|
|
||||||
requests:
|
|
||||||
cpu: 50m
|
|
||||||
memory: 64Mi
|
|
||||||
securityContext:
|
|
||||||
allowPrivilegeEscalation: false
|
|
||||||
readOnlyRootFilesystem: true
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /data
|
|
||||||
name: data
|
|
||||||
- mountPath: /tmp
|
|
||||||
name: tmp
|
|
||||||
nodeSelector:
|
|
||||||
kubernetes.io/arch: amd64
|
|
||||||
kubernetes.io/os: linux
|
|
||||||
terminationGracePeriodSeconds: 10
|
|
||||||
volumes:
|
|
||||||
- emptyDir: {}
|
|
||||||
name: data
|
|
||||||
- emptyDir: {}
|
|
||||||
name: tmp
|
|
@ -0,0 +1,20 @@
|
|||||||
|
apiVersion: kpt.dev/v1alpha1
|
||||||
|
kind: Kptfile
|
||||||
|
upstream:
|
||||||
|
type: git
|
||||||
|
git:
|
||||||
|
commit: c602c5d85093a8e38fae993fee0ed743c8615e46
|
||||||
|
repo: https://github.com/fluxcd/source-controller
|
||||||
|
directory: config/crd
|
||||||
|
ref: v0.5.2
|
||||||
|
dependencies:
|
||||||
|
- name: upstream/crd
|
||||||
|
git:
|
||||||
|
repo: https://github.com/fluxcd/source-controller
|
||||||
|
directory: config/crd
|
||||||
|
ref: v0.5.2
|
||||||
|
- name: upstream/manager
|
||||||
|
git:
|
||||||
|
repo: https://github.com/fluxcd/source-controller
|
||||||
|
directory: config/manager
|
||||||
|
ref: v0.5.2
|
@ -0,0 +1,226 @@
|
|||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
|
kind: CustomResourceDefinition
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
controller-gen.kubebuilder.io/version: v0.3.0
|
||||||
|
creationTimestamp: null
|
||||||
|
name: buckets.source.toolkit.fluxcd.io
|
||||||
|
spec:
|
||||||
|
group: source.toolkit.fluxcd.io
|
||||||
|
names:
|
||||||
|
kind: Bucket
|
||||||
|
listKind: BucketList
|
||||||
|
plural: buckets
|
||||||
|
singular: bucket
|
||||||
|
scope: Namespaced
|
||||||
|
versions:
|
||||||
|
- additionalPrinterColumns:
|
||||||
|
- jsonPath: .spec.url
|
||||||
|
name: URL
|
||||||
|
type: string
|
||||||
|
- jsonPath: .status.conditions[?(@.type=="Ready")].status
|
||||||
|
name: Ready
|
||||||
|
type: string
|
||||||
|
- jsonPath: .status.conditions[?(@.type=="Ready")].message
|
||||||
|
name: Status
|
||||||
|
type: string
|
||||||
|
- jsonPath: .metadata.creationTimestamp
|
||||||
|
name: Age
|
||||||
|
type: date
|
||||||
|
name: v1beta1
|
||||||
|
schema:
|
||||||
|
openAPIV3Schema:
|
||||||
|
description: Bucket is the Schema for the buckets API
|
||||||
|
properties:
|
||||||
|
apiVersion:
|
||||||
|
description: 'APIVersion defines the versioned schema of this representation
|
||||||
|
of an object. Servers should convert recognized schemas to the latest
|
||||||
|
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
||||||
|
type: string
|
||||||
|
kind:
|
||||||
|
description: 'Kind is a string value representing the REST resource this
|
||||||
|
object represents. Servers may infer this from the endpoint the client
|
||||||
|
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
||||||
|
type: string
|
||||||
|
metadata:
|
||||||
|
type: object
|
||||||
|
spec:
|
||||||
|
description: BucketSpec defines the desired state of an S3 compatible
|
||||||
|
bucket
|
||||||
|
properties:
|
||||||
|
bucketName:
|
||||||
|
description: The bucket name.
|
||||||
|
type: string
|
||||||
|
endpoint:
|
||||||
|
description: The bucket endpoint address.
|
||||||
|
type: string
|
||||||
|
ignore:
|
||||||
|
description: Ignore overrides the set of excluded patterns in the
|
||||||
|
.sourceignore format (which is the same as .gitignore). If not provided,
|
||||||
|
a default will be used, consult the documentation for your version
|
||||||
|
to find out what those are.
|
||||||
|
type: string
|
||||||
|
insecure:
|
||||||
|
description: Insecure allows connecting to a non-TLS S3 HTTP endpoint.
|
||||||
|
type: boolean
|
||||||
|
interval:
|
||||||
|
description: The interval at which to check for bucket updates.
|
||||||
|
type: string
|
||||||
|
provider:
|
||||||
|
default: generic
|
||||||
|
description: The S3 compatible storage provider name, default ('generic').
|
||||||
|
enum:
|
||||||
|
- generic
|
||||||
|
- aws
|
||||||
|
type: string
|
||||||
|
region:
|
||||||
|
description: The bucket region.
|
||||||
|
type: string
|
||||||
|
secretRef:
|
||||||
|
description: The name of the secret containing authentication credentials
|
||||||
|
for the Bucket.
|
||||||
|
properties:
|
||||||
|
name:
|
||||||
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind, uid?'
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
suspend:
|
||||||
|
description: This flag tells the controller to suspend the reconciliation
|
||||||
|
of this source.
|
||||||
|
type: boolean
|
||||||
|
timeout:
|
||||||
|
default: 20s
|
||||||
|
description: The timeout for download operations, defaults to 20s.
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- bucketName
|
||||||
|
- endpoint
|
||||||
|
- interval
|
||||||
|
type: object
|
||||||
|
status:
|
||||||
|
description: BucketStatus defines the observed state of a bucket
|
||||||
|
properties:
|
||||||
|
artifact:
|
||||||
|
description: Artifact represents the output of the last successful
|
||||||
|
Bucket sync.
|
||||||
|
properties:
|
||||||
|
checksum:
|
||||||
|
description: Checksum is the SHA1 checksum of the artifact.
|
||||||
|
type: string
|
||||||
|
lastUpdateTime:
|
||||||
|
description: LastUpdateTime is the timestamp corresponding to
|
||||||
|
the last update of this artifact.
|
||||||
|
format: date-time
|
||||||
|
type: string
|
||||||
|
path:
|
||||||
|
description: Path is the relative file path of this artifact.
|
||||||
|
type: string
|
||||||
|
revision:
|
||||||
|
description: Revision is a human readable identifier traceable
|
||||||
|
in the origin source system. It can be a Git commit SHA, Git
|
||||||
|
tag, a Helm index timestamp, a Helm chart version, etc.
|
||||||
|
type: string
|
||||||
|
url:
|
||||||
|
description: URL is the HTTP address of this artifact.
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- path
|
||||||
|
- url
|
||||||
|
type: object
|
||||||
|
conditions:
|
||||||
|
description: Conditions holds the conditions for the Bucket.
|
||||||
|
items:
|
||||||
|
description: "Condition contains details for one aspect of the current
|
||||||
|
state of this API Resource. --- This struct is intended for direct
|
||||||
|
use as an array at the field path .status.conditions. For example,
|
||||||
|
type FooStatus struct{ // Represents the observations of a
|
||||||
|
foo's current state. // Known .status.conditions.type are:
|
||||||
|
\"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type
|
||||||
|
\ // +patchStrategy=merge // +listType=map // +listMapKey=type
|
||||||
|
\ Conditions []metav1.Condition `json:\"conditions,omitempty\"
|
||||||
|
patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`
|
||||||
|
\n // other fields }"
|
||||||
|
properties:
|
||||||
|
lastTransitionTime:
|
||||||
|
description: lastTransitionTime is the last time the condition
|
||||||
|
transitioned from one status to another. This should be when
|
||||||
|
the underlying condition changed. If that is not known, then
|
||||||
|
using the time when the API field changed is acceptable.
|
||||||
|
format: date-time
|
||||||
|
type: string
|
||||||
|
message:
|
||||||
|
description: message is a human readable message indicating
|
||||||
|
details about the transition. This may be an empty string.
|
||||||
|
maxLength: 32768
|
||||||
|
type: string
|
||||||
|
observedGeneration:
|
||||||
|
description: observedGeneration represents the .metadata.generation
|
||||||
|
that the condition was set based upon. For instance, if .metadata.generation
|
||||||
|
is currently 12, but the .status.conditions[x].observedGeneration
|
||||||
|
is 9, the condition is out of date with respect to the current
|
||||||
|
state of the instance.
|
||||||
|
format: int64
|
||||||
|
minimum: 0
|
||||||
|
type: integer
|
||||||
|
reason:
|
||||||
|
description: reason contains a programmatic identifier indicating
|
||||||
|
the reason for the condition's last transition. Producers
|
||||||
|
of specific condition types may define expected values and
|
||||||
|
meanings for this field, and whether the values are considered
|
||||||
|
a guaranteed API. The value should be a CamelCase string.
|
||||||
|
This field may not be empty.
|
||||||
|
maxLength: 1024
|
||||||
|
minLength: 1
|
||||||
|
pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
|
||||||
|
type: string
|
||||||
|
status:
|
||||||
|
description: status of the condition, one of True, False, Unknown.
|
||||||
|
enum:
|
||||||
|
- "True"
|
||||||
|
- "False"
|
||||||
|
- Unknown
|
||||||
|
type: string
|
||||||
|
type:
|
||||||
|
description: type of condition in CamelCase or in foo.example.com/CamelCase.
|
||||||
|
--- Many .condition.type values are consistent across resources
|
||||||
|
like Available, but because arbitrary conditions can be useful
|
||||||
|
(see .node.status.conditions), the ability to deconflict is
|
||||||
|
important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
|
||||||
|
maxLength: 316
|
||||||
|
pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- lastTransitionTime
|
||||||
|
- message
|
||||||
|
- reason
|
||||||
|
- status
|
||||||
|
- type
|
||||||
|
type: object
|
||||||
|
type: array
|
||||||
|
lastHandledReconcileAt:
|
||||||
|
description: LastHandledReconcileAt holds the value of the most recent
|
||||||
|
reconcile request value, so a change can be detected.
|
||||||
|
type: string
|
||||||
|
observedGeneration:
|
||||||
|
description: ObservedGeneration is the last observed generation.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
|
url:
|
||||||
|
description: URL is the download link for the artifact output of the
|
||||||
|
last Bucket sync.
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
type: object
|
||||||
|
served: true
|
||||||
|
storage: true
|
||||||
|
subresources:
|
||||||
|
status: {}
|
||||||
|
status:
|
||||||
|
acceptedNames:
|
||||||
|
kind: ""
|
||||||
|
plural: ""
|
||||||
|
conditions: []
|
||||||
|
storedVersions: []
|
@ -0,0 +1,262 @@
|
|||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
|
kind: CustomResourceDefinition
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
controller-gen.kubebuilder.io/version: v0.3.0
|
||||||
|
creationTimestamp: null
|
||||||
|
name: gitrepositories.source.toolkit.fluxcd.io
|
||||||
|
spec:
|
||||||
|
group: source.toolkit.fluxcd.io
|
||||||
|
names:
|
||||||
|
kind: GitRepository
|
||||||
|
listKind: GitRepositoryList
|
||||||
|
plural: gitrepositories
|
||||||
|
singular: gitrepository
|
||||||
|
scope: Namespaced
|
||||||
|
versions:
|
||||||
|
- additionalPrinterColumns:
|
||||||
|
- jsonPath: .spec.url
|
||||||
|
name: URL
|
||||||
|
type: string
|
||||||
|
- jsonPath: .status.conditions[?(@.type=="Ready")].status
|
||||||
|
name: Ready
|
||||||
|
type: string
|
||||||
|
- jsonPath: .status.conditions[?(@.type=="Ready")].message
|
||||||
|
name: Status
|
||||||
|
type: string
|
||||||
|
- jsonPath: .metadata.creationTimestamp
|
||||||
|
name: Age
|
||||||
|
type: date
|
||||||
|
name: v1beta1
|
||||||
|
schema:
|
||||||
|
openAPIV3Schema:
|
||||||
|
description: GitRepository is the Schema for the gitrepositories API
|
||||||
|
properties:
|
||||||
|
apiVersion:
|
||||||
|
description: 'APIVersion defines the versioned schema of this representation
|
||||||
|
of an object. Servers should convert recognized schemas to the latest
|
||||||
|
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
||||||
|
type: string
|
||||||
|
kind:
|
||||||
|
description: 'Kind is a string value representing the REST resource this
|
||||||
|
object represents. Servers may infer this from the endpoint the client
|
||||||
|
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
||||||
|
type: string
|
||||||
|
metadata:
|
||||||
|
type: object
|
||||||
|
spec:
|
||||||
|
description: GitRepositorySpec defines the desired state of a Git repository.
|
||||||
|
properties:
|
||||||
|
gitImplementation:
|
||||||
|
default: go-git
|
||||||
|
description: Determines which git client library to use. Defaults
|
||||||
|
to go-git, valid values are ('go-git', 'libgit2').
|
||||||
|
enum:
|
||||||
|
- go-git
|
||||||
|
- libgit2
|
||||||
|
type: string
|
||||||
|
ignore:
|
||||||
|
description: Ignore overrides the set of excluded patterns in the
|
||||||
|
.sourceignore format (which is the same as .gitignore). If not provided,
|
||||||
|
a default will be used, consult the documentation for your version
|
||||||
|
to find out what those are.
|
||||||
|
type: string
|
||||||
|
interval:
|
||||||
|
description: The interval at which to check for repository updates.
|
||||||
|
type: string
|
||||||
|
ref:
|
||||||
|
description: The Git reference to checkout and monitor for changes,
|
||||||
|
defaults to master branch.
|
||||||
|
properties:
|
||||||
|
branch:
|
||||||
|
default: master
|
||||||
|
description: The Git branch to checkout, defaults to master.
|
||||||
|
type: string
|
||||||
|
commit:
|
||||||
|
description: The Git commit SHA to checkout, if specified Tag
|
||||||
|
filters will be ignored.
|
||||||
|
type: string
|
||||||
|
semver:
|
||||||
|
description: The Git tag semver expression, takes precedence over
|
||||||
|
Tag.
|
||||||
|
type: string
|
||||||
|
tag:
|
||||||
|
description: The Git tag to checkout, takes precedence over Branch.
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
secretRef:
|
||||||
|
description: The secret name containing the Git credentials. For HTTPS
|
||||||
|
repositories the secret must contain username and password fields.
|
||||||
|
For SSH repositories the secret must contain identity, identity.pub
|
||||||
|
and known_hosts fields.
|
||||||
|
properties:
|
||||||
|
name:
|
||||||
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind, uid?'
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
suspend:
|
||||||
|
description: This flag tells the controller to suspend the reconciliation
|
||||||
|
of this source.
|
||||||
|
type: boolean
|
||||||
|
timeout:
|
||||||
|
default: 20s
|
||||||
|
description: The timeout for remote Git operations like cloning, defaults
|
||||||
|
to 20s.
|
||||||
|
type: string
|
||||||
|
url:
|
||||||
|
description: The repository URL, can be a HTTP/S or SSH address.
|
||||||
|
pattern: ^(http|https|ssh)://
|
||||||
|
type: string
|
||||||
|
verify:
|
||||||
|
description: Verify OpenPGP signature for the Git commit HEAD points
|
||||||
|
to.
|
||||||
|
properties:
|
||||||
|
mode:
|
||||||
|
description: Mode describes what git object should be verified,
|
||||||
|
currently ('head').
|
||||||
|
enum:
|
||||||
|
- head
|
||||||
|
type: string
|
||||||
|
secretRef:
|
||||||
|
description: The secret name containing the public keys of all
|
||||||
|
trusted Git authors.
|
||||||
|
properties:
|
||||||
|
name:
|
||||||
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind, uid?'
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- mode
|
||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- interval
|
||||||
|
- url
|
||||||
|
type: object
|
||||||
|
status:
|
||||||
|
description: GitRepositoryStatus defines the observed state of a Git repository.
|
||||||
|
properties:
|
||||||
|
artifact:
|
||||||
|
description: Artifact represents the output of the last successful
|
||||||
|
repository sync.
|
||||||
|
properties:
|
||||||
|
checksum:
|
||||||
|
description: Checksum is the SHA1 checksum of the artifact.
|
||||||
|
type: string
|
||||||
|
lastUpdateTime:
|
||||||
|
description: LastUpdateTime is the timestamp corresponding to
|
||||||
|
the last update of this artifact.
|
||||||
|
format: date-time
|
||||||
|
type: string
|
||||||
|
path:
|
||||||
|
description: Path is the relative file path of this artifact.
|
||||||
|
type: string
|
||||||
|
revision:
|
||||||
|
description: Revision is a human readable identifier traceable
|
||||||
|
in the origin source system. It can be a Git commit SHA, Git
|
||||||
|
tag, a Helm index timestamp, a Helm chart version, etc.
|
||||||
|
type: string
|
||||||
|
url:
|
||||||
|
description: URL is the HTTP address of this artifact.
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- path
|
||||||
|
- url
|
||||||
|
type: object
|
||||||
|
conditions:
|
||||||
|
description: Conditions holds the conditions for the GitRepository.
|
||||||
|
items:
|
||||||
|
description: "Condition contains details for one aspect of the current
|
||||||
|
state of this API Resource. --- This struct is intended for direct
|
||||||
|
use as an array at the field path .status.conditions. For example,
|
||||||
|
type FooStatus struct{ // Represents the observations of a
|
||||||
|
foo's current state. // Known .status.conditions.type are:
|
||||||
|
\"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type
|
||||||
|
\ // +patchStrategy=merge // +listType=map // +listMapKey=type
|
||||||
|
\ Conditions []metav1.Condition `json:\"conditions,omitempty\"
|
||||||
|
patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`
|
||||||
|
\n // other fields }"
|
||||||
|
properties:
|
||||||
|
lastTransitionTime:
|
||||||
|
description: lastTransitionTime is the last time the condition
|
||||||
|
transitioned from one status to another. This should be when
|
||||||
|
the underlying condition changed. If that is not known, then
|
||||||
|
using the time when the API field changed is acceptable.
|
||||||
|
format: date-time
|
||||||
|
type: string
|
||||||
|
message:
|
||||||
|
description: message is a human readable message indicating
|
||||||
|
details about the transition. This may be an empty string.
|
||||||
|
maxLength: 32768
|
||||||
|
type: string
|
||||||
|
observedGeneration:
|
||||||
|
description: observedGeneration represents the .metadata.generation
|
||||||
|
that the condition was set based upon. For instance, if .metadata.generation
|
||||||
|
is currently 12, but the .status.conditions[x].observedGeneration
|
||||||
|
is 9, the condition is out of date with respect to the current
|
||||||
|
state of the instance.
|
||||||
|
format: int64
|
||||||
|
minimum: 0
|
||||||
|
type: integer
|
||||||
|
reason:
|
||||||
|
description: reason contains a programmatic identifier indicating
|
||||||
|
the reason for the condition's last transition. Producers
|
||||||
|
of specific condition types may define expected values and
|
||||||
|
meanings for this field, and whether the values are considered
|
||||||
|
a guaranteed API. The value should be a CamelCase string.
|
||||||
|
This field may not be empty.
|
||||||
|
maxLength: 1024
|
||||||
|
minLength: 1
|
||||||
|
pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
|
||||||
|
type: string
|
||||||
|
status:
|
||||||
|
description: status of the condition, one of True, False, Unknown.
|
||||||
|
enum:
|
||||||
|
- "True"
|
||||||
|
- "False"
|
||||||
|
- Unknown
|
||||||
|
type: string
|
||||||
|
type:
|
||||||
|
description: type of condition in CamelCase or in foo.example.com/CamelCase.
|
||||||
|
--- Many .condition.type values are consistent across resources
|
||||||
|
like Available, but because arbitrary conditions can be useful
|
||||||
|
(see .node.status.conditions), the ability to deconflict is
|
||||||
|
important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
|
||||||
|
maxLength: 316
|
||||||
|
pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- lastTransitionTime
|
||||||
|
- message
|
||||||
|
- reason
|
||||||
|
- status
|
||||||
|
- type
|
||||||
|
type: object
|
||||||
|
type: array
|
||||||
|
lastHandledReconcileAt:
|
||||||
|
description: LastHandledReconcileAt holds the value of the most recent
|
||||||
|
reconcile request value, so a change can be detected.
|
||||||
|
type: string
|
||||||
|
observedGeneration:
|
||||||
|
description: ObservedGeneration is the last observed generation.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
|
url:
|
||||||
|
description: URL is the download link for the artifact output of the
|
||||||
|
last repository sync.
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
type: object
|
||||||
|
served: true
|
||||||
|
storage: true
|
||||||
|
subresources:
|
||||||
|
status: {}
|
||||||
|
status:
|
||||||
|
acceptedNames:
|
||||||
|
kind: ""
|
||||||
|
plural: ""
|
||||||
|
conditions: []
|
||||||
|
storedVersions: []
|
@ -0,0 +1,229 @@
|
|||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
|
kind: CustomResourceDefinition
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
controller-gen.kubebuilder.io/version: v0.3.0
|
||||||
|
creationTimestamp: null
|
||||||
|
name: helmcharts.source.toolkit.fluxcd.io
|
||||||
|
spec:
|
||||||
|
group: source.toolkit.fluxcd.io
|
||||||
|
names:
|
||||||
|
kind: HelmChart
|
||||||
|
listKind: HelmChartList
|
||||||
|
plural: helmcharts
|
||||||
|
singular: helmchart
|
||||||
|
scope: Namespaced
|
||||||
|
versions:
|
||||||
|
- additionalPrinterColumns:
|
||||||
|
- jsonPath: .spec.chart
|
||||||
|
name: Chart
|
||||||
|
type: string
|
||||||
|
- jsonPath: .spec.version
|
||||||
|
name: Version
|
||||||
|
type: string
|
||||||
|
- jsonPath: .spec.sourceRef.kind
|
||||||
|
name: Source Kind
|
||||||
|
type: string
|
||||||
|
- jsonPath: .spec.sourceRef.name
|
||||||
|
name: Source Name
|
||||||
|
type: string
|
||||||
|
- jsonPath: .status.conditions[?(@.type=="Ready")].status
|
||||||
|
name: Ready
|
||||||
|
type: string
|
||||||
|
- jsonPath: .status.conditions[?(@.type=="Ready")].message
|
||||||
|
name: Status
|
||||||
|
type: string
|
||||||
|
- jsonPath: .metadata.creationTimestamp
|
||||||
|
name: Age
|
||||||
|
type: date
|
||||||
|
name: v1beta1
|
||||||
|
schema:
|
||||||
|
openAPIV3Schema:
|
||||||
|
description: HelmChart is the Schema for the helmcharts API
|
||||||
|
properties:
|
||||||
|
apiVersion:
|
||||||
|
description: 'APIVersion defines the versioned schema of this representation
|
||||||
|
of an object. Servers should convert recognized schemas to the latest
|
||||||
|
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
||||||
|
type: string
|
||||||
|
kind:
|
||||||
|
description: 'Kind is a string value representing the REST resource this
|
||||||
|
object represents. Servers may infer this from the endpoint the client
|
||||||
|
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
||||||
|
type: string
|
||||||
|
metadata:
|
||||||
|
type: object
|
||||||
|
spec:
|
||||||
|
description: HelmChartSpec defines the desired state of a Helm chart.
|
||||||
|
properties:
|
||||||
|
chart:
|
||||||
|
description: The name or path the Helm chart is available at in the
|
||||||
|
SourceRef.
|
||||||
|
type: string
|
||||||
|
interval:
|
||||||
|
description: The interval at which to check the Source for updates.
|
||||||
|
type: string
|
||||||
|
sourceRef:
|
||||||
|
description: The reference to the Source the chart is available at.
|
||||||
|
properties:
|
||||||
|
apiVersion:
|
||||||
|
description: APIVersion of the referent.
|
||||||
|
type: string
|
||||||
|
kind:
|
||||||
|
description: Kind of the referent, valid values are ('HelmRepository',
|
||||||
|
'GitRepository', 'Bucket').
|
||||||
|
enum:
|
||||||
|
- HelmRepository
|
||||||
|
- GitRepository
|
||||||
|
- Bucket
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
description: Name of the referent.
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- kind
|
||||||
|
- name
|
||||||
|
type: object
|
||||||
|
suspend:
|
||||||
|
description: This flag tells the controller to suspend the reconciliation
|
||||||
|
of this source.
|
||||||
|
type: boolean
|
||||||
|
valuesFile:
|
||||||
|
description: Alternative values file to use as the default chart values,
|
||||||
|
expected to be a relative path in the SourceRef. Ignored when omitted.
|
||||||
|
type: string
|
||||||
|
version:
|
||||||
|
default: '*'
|
||||||
|
description: The chart version semver expression, ignored for charts
|
||||||
|
from GitRepository and Bucket sources. Defaults to latest when omitted.
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- chart
|
||||||
|
- interval
|
||||||
|
- sourceRef
|
||||||
|
type: object
|
||||||
|
status:
|
||||||
|
description: HelmChartStatus defines the observed state of the HelmChart.
|
||||||
|
properties:
|
||||||
|
artifact:
|
||||||
|
description: Artifact represents the output of the last successful
|
||||||
|
chart sync.
|
||||||
|
properties:
|
||||||
|
checksum:
|
||||||
|
description: Checksum is the SHA1 checksum of the artifact.
|
||||||
|
type: string
|
||||||
|
lastUpdateTime:
|
||||||
|
description: LastUpdateTime is the timestamp corresponding to
|
||||||
|
the last update of this artifact.
|
||||||
|
format: date-time
|
||||||
|
type: string
|
||||||
|
path:
|
||||||
|
description: Path is the relative file path of this artifact.
|
||||||
|
type: string
|
||||||
|
revision:
|
||||||
|
description: Revision is a human readable identifier traceable
|
||||||
|
in the origin source system. It can be a Git commit SHA, Git
|
||||||
|
tag, a Helm index timestamp, a Helm chart version, etc.
|
||||||
|
type: string
|
||||||
|
url:
|
||||||
|
description: URL is the HTTP address of this artifact.
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- path
|
||||||
|
- url
|
||||||
|
type: object
|
||||||
|
conditions:
|
||||||
|
description: Conditions holds the conditions for the HelmChart.
|
||||||
|
items:
|
||||||
|
description: "Condition contains details for one aspect of the current
|
||||||
|
state of this API Resource. --- This struct is intended for direct
|
||||||
|
use as an array at the field path .status.conditions. For example,
|
||||||
|
type FooStatus struct{ // Represents the observations of a
|
||||||
|
foo's current state. // Known .status.conditions.type are:
|
||||||
|
\"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type
|
||||||
|
\ // +patchStrategy=merge // +listType=map // +listMapKey=type
|
||||||
|
\ Conditions []metav1.Condition `json:\"conditions,omitempty\"
|
||||||
|
patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`
|
||||||
|
\n // other fields }"
|
||||||
|
properties:
|
||||||
|
lastTransitionTime:
|
||||||
|
description: lastTransitionTime is the last time the condition
|
||||||
|
transitioned from one status to another. This should be when
|
||||||
|
the underlying condition changed. If that is not known, then
|
||||||
|
using the time when the API field changed is acceptable.
|
||||||
|
format: date-time
|
||||||
|
type: string
|
||||||
|
message:
|
||||||
|
description: message is a human readable message indicating
|
||||||
|
details about the transition. This may be an empty string.
|
||||||
|
maxLength: 32768
|
||||||
|
type: string
|
||||||
|
observedGeneration:
|
||||||
|
description: observedGeneration represents the .metadata.generation
|
||||||
|
that the condition was set based upon. For instance, if .metadata.generation
|
||||||
|
is currently 12, but the .status.conditions[x].observedGeneration
|
||||||
|
is 9, the condition is out of date with respect to the current
|
||||||
|
state of the instance.
|
||||||
|
format: int64
|
||||||
|
minimum: 0
|
||||||
|
type: integer
|
||||||
|
reason:
|
||||||
|
description: reason contains a programmatic identifier indicating
|
||||||
|
the reason for the condition's last transition. Producers
|
||||||
|
of specific condition types may define expected values and
|
||||||
|
meanings for this field, and whether the values are considered
|
||||||
|
a guaranteed API. The value should be a CamelCase string.
|
||||||
|
This field may not be empty.
|
||||||
|
maxLength: 1024
|
||||||
|
minLength: 1
|
||||||
|
pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
|
||||||
|
type: string
|
||||||
|
status:
|
||||||
|
description: status of the condition, one of True, False, Unknown.
|
||||||
|
enum:
|
||||||
|
- "True"
|
||||||
|
- "False"
|
||||||
|
- Unknown
|
||||||
|
type: string
|
||||||
|
type:
|
||||||
|
description: type of condition in CamelCase or in foo.example.com/CamelCase.
|
||||||
|
--- Many .condition.type values are consistent across resources
|
||||||
|
like Available, but because arbitrary conditions can be useful
|
||||||
|
(see .node.status.conditions), the ability to deconflict is
|
||||||
|
important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
|
||||||
|
maxLength: 316
|
||||||
|
pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- lastTransitionTime
|
||||||
|
- message
|
||||||
|
- reason
|
||||||
|
- status
|
||||||
|
- type
|
||||||
|
type: object
|
||||||
|
type: array
|
||||||
|
lastHandledReconcileAt:
|
||||||
|
description: LastHandledReconcileAt holds the value of the most recent
|
||||||
|
reconcile request value, so a change can be detected.
|
||||||
|
type: string
|
||||||
|
observedGeneration:
|
||||||
|
description: ObservedGeneration is the last observed generation.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
|
url:
|
||||||
|
description: URL is the download link for the last chart pulled.
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
type: object
|
||||||
|
served: true
|
||||||
|
storage: true
|
||||||
|
subresources:
|
||||||
|
status: {}
|
||||||
|
status:
|
||||||
|
acceptedNames:
|
||||||
|
kind: ""
|
||||||
|
plural: ""
|
||||||
|
conditions: []
|
||||||
|
storedVersions: []
|
@ -0,0 +1,204 @@
|
|||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
|
kind: CustomResourceDefinition
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
controller-gen.kubebuilder.io/version: v0.3.0
|
||||||
|
creationTimestamp: null
|
||||||
|
name: helmrepositories.source.toolkit.fluxcd.io
|
||||||
|
spec:
|
||||||
|
group: source.toolkit.fluxcd.io
|
||||||
|
names:
|
||||||
|
kind: HelmRepository
|
||||||
|
listKind: HelmRepositoryList
|
||||||
|
plural: helmrepositories
|
||||||
|
singular: helmrepository
|
||||||
|
scope: Namespaced
|
||||||
|
versions:
|
||||||
|
- additionalPrinterColumns:
|
||||||
|
- jsonPath: .spec.url
|
||||||
|
name: URL
|
||||||
|
type: string
|
||||||
|
- jsonPath: .status.conditions[?(@.type=="Ready")].status
|
||||||
|
name: Ready
|
||||||
|
type: string
|
||||||
|
- jsonPath: .status.conditions[?(@.type=="Ready")].message
|
||||||
|
name: Status
|
||||||
|
type: string
|
||||||
|
- jsonPath: .metadata.creationTimestamp
|
||||||
|
name: Age
|
||||||
|
type: date
|
||||||
|
name: v1beta1
|
||||||
|
schema:
|
||||||
|
openAPIV3Schema:
|
||||||
|
description: HelmRepository is the Schema for the helmrepositories API
|
||||||
|
properties:
|
||||||
|
apiVersion:
|
||||||
|
description: 'APIVersion defines the versioned schema of this representation
|
||||||
|
of an object. Servers should convert recognized schemas to the latest
|
||||||
|
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
||||||
|
type: string
|
||||||
|
kind:
|
||||||
|
description: 'Kind is a string value representing the REST resource this
|
||||||
|
object represents. Servers may infer this from the endpoint the client
|
||||||
|
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
||||||
|
type: string
|
||||||
|
metadata:
|
||||||
|
type: object
|
||||||
|
spec:
|
||||||
|
description: HelmRepositorySpec defines the reference to a Helm repository.
|
||||||
|
properties:
|
||||||
|
interval:
|
||||||
|
description: The interval at which to check the upstream for updates.
|
||||||
|
type: string
|
||||||
|
secretRef:
|
||||||
|
description: The name of the secret containing authentication credentials
|
||||||
|
for the Helm repository. For HTTP/S basic auth the secret must contain
|
||||||
|
username and password fields. For TLS the secret must contain a
|
||||||
|
certFile and keyFile, and/or caCert fields.
|
||||||
|
properties:
|
||||||
|
name:
|
||||||
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind, uid?'
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
suspend:
|
||||||
|
description: This flag tells the controller to suspend the reconciliation
|
||||||
|
of this source.
|
||||||
|
type: boolean
|
||||||
|
timeout:
|
||||||
|
default: 60s
|
||||||
|
description: The timeout of index downloading, defaults to 60s.
|
||||||
|
type: string
|
||||||
|
url:
|
||||||
|
description: The Helm repository URL, a valid URL contains at least
|
||||||
|
a protocol and host.
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- interval
|
||||||
|
- url
|
||||||
|
type: object
|
||||||
|
status:
|
||||||
|
description: HelmRepositoryStatus defines the observed state of the HelmRepository.
|
||||||
|
properties:
|
||||||
|
artifact:
|
||||||
|
description: Artifact represents the output of the last successful
|
||||||
|
repository sync.
|
||||||
|
properties:
|
||||||
|
checksum:
|
||||||
|
description: Checksum is the SHA1 checksum of the artifact.
|
||||||
|
type: string
|
||||||
|
lastUpdateTime:
|
||||||
|
description: LastUpdateTime is the timestamp corresponding to
|
||||||
|
the last update of this artifact.
|
||||||
|
format: date-time
|
||||||
|
type: string
|
||||||
|
path:
|
||||||
|
description: Path is the relative file path of this artifact.
|
||||||
|
type: string
|
||||||
|
revision:
|
||||||
|
description: Revision is a human readable identifier traceable
|
||||||
|
in the origin source system. It can be a Git commit SHA, Git
|
||||||
|
tag, a Helm index timestamp, a Helm chart version, etc.
|
||||||
|
type: string
|
||||||
|
url:
|
||||||
|
description: URL is the HTTP address of this artifact.
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- path
|
||||||
|
- url
|
||||||
|
type: object
|
||||||
|
conditions:
|
||||||
|
description: Conditions holds the conditions for the HelmRepository.
|
||||||
|
items:
|
||||||
|
description: "Condition contains details for one aspect of the current
|
||||||
|
state of this API Resource. --- This struct is intended for direct
|
||||||
|
use as an array at the field path .status.conditions. For example,
|
||||||
|
type FooStatus struct{ // Represents the observations of a
|
||||||
|
foo's current state. // Known .status.conditions.type are:
|
||||||
|
\"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type
|
||||||
|
\ // +patchStrategy=merge // +listType=map // +listMapKey=type
|
||||||
|
\ Conditions []metav1.Condition `json:\"conditions,omitempty\"
|
||||||
|
patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`
|
||||||
|
\n // other fields }"
|
||||||
|
properties:
|
||||||
|
lastTransitionTime:
|
||||||
|
description: lastTransitionTime is the last time the condition
|
||||||
|
transitioned from one status to another. This should be when
|
||||||
|
the underlying condition changed. If that is not known, then
|
||||||
|
using the time when the API field changed is acceptable.
|
||||||
|
format: date-time
|
||||||
|
type: string
|
||||||
|
message:
|
||||||
|
description: message is a human readable message indicating
|
||||||
|
details about the transition. This may be an empty string.
|
||||||
|
maxLength: 32768
|
||||||
|
type: string
|
||||||
|
observedGeneration:
|
||||||
|
description: observedGeneration represents the .metadata.generation
|
||||||
|
that the condition was set based upon. For instance, if .metadata.generation
|
||||||
|
is currently 12, but the .status.conditions[x].observedGeneration
|
||||||
|
is 9, the condition is out of date with respect to the current
|
||||||
|
state of the instance.
|
||||||
|
format: int64
|
||||||
|
minimum: 0
|
||||||
|
type: integer
|
||||||
|
reason:
|
||||||
|
description: reason contains a programmatic identifier indicating
|
||||||
|
the reason for the condition's last transition. Producers
|
||||||
|
of specific condition types may define expected values and
|
||||||
|
meanings for this field, and whether the values are considered
|
||||||
|
a guaranteed API. The value should be a CamelCase string.
|
||||||
|
This field may not be empty.
|
||||||
|
maxLength: 1024
|
||||||
|
minLength: 1
|
||||||
|
pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
|
||||||
|
type: string
|
||||||
|
status:
|
||||||
|
description: status of the condition, one of True, False, Unknown.
|
||||||
|
enum:
|
||||||
|
- "True"
|
||||||
|
- "False"
|
||||||
|
- Unknown
|
||||||
|
type: string
|
||||||
|
type:
|
||||||
|
description: type of condition in CamelCase or in foo.example.com/CamelCase.
|
||||||
|
--- Many .condition.type values are consistent across resources
|
||||||
|
like Available, but because arbitrary conditions can be useful
|
||||||
|
(see .node.status.conditions), the ability to deconflict is
|
||||||
|
important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
|
||||||
|
maxLength: 316
|
||||||
|
pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- lastTransitionTime
|
||||||
|
- message
|
||||||
|
- reason
|
||||||
|
- status
|
||||||
|
- type
|
||||||
|
type: object
|
||||||
|
type: array
|
||||||
|
lastHandledReconcileAt:
|
||||||
|
description: LastHandledReconcileAt holds the value of the most recent
|
||||||
|
reconcile request value, so a change can be detected.
|
||||||
|
type: string
|
||||||
|
observedGeneration:
|
||||||
|
description: ObservedGeneration is the last observed generation.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
|
url:
|
||||||
|
description: URL is the download link for the last index fetched.
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
type: object
|
||||||
|
served: true
|
||||||
|
storage: true
|
||||||
|
subresources:
|
||||||
|
status: {}
|
||||||
|
status:
|
||||||
|
acceptedNames:
|
||||||
|
kind: ""
|
||||||
|
plural: ""
|
||||||
|
conditions: []
|
||||||
|
storedVersions: []
|
@ -0,0 +1,8 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- bases/source.toolkit.fluxcd.io_gitrepositories.yaml
|
||||||
|
- bases/source.toolkit.fluxcd.io_helmrepositories.yaml
|
||||||
|
- bases/source.toolkit.fluxcd.io_helmcharts.yaml
|
||||||
|
- bases/source.toolkit.fluxcd.io_buckets.yaml
|
||||||
|
# +kubebuilder:scaffold:crdkustomizeresource
|
@ -0,0 +1,20 @@
|
|||||||
|
apiVersion: kpt.dev/v1alpha1
|
||||||
|
kind: Kptfile
|
||||||
|
upstream:
|
||||||
|
type: git
|
||||||
|
git:
|
||||||
|
commit: c602c5d85093a8e38fae993fee0ed743c8615e46
|
||||||
|
repo: https://github.com/fluxcd/source-controller
|
||||||
|
directory: config/manager
|
||||||
|
ref: v0.5.2
|
||||||
|
dependencies:
|
||||||
|
- name: upstream/crd
|
||||||
|
git:
|
||||||
|
repo: https://github.com/fluxcd/source-controller
|
||||||
|
directory: config/crd
|
||||||
|
ref: v0.5.2
|
||||||
|
- name: upstream/manager
|
||||||
|
git:
|
||||||
|
repo: https://github.com/fluxcd/source-controller
|
||||||
|
directory: config/manager
|
||||||
|
ref: v0.5.2
|
@ -0,0 +1,69 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: source-controller
|
||||||
|
labels:
|
||||||
|
control-plane: controller
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: source-controller
|
||||||
|
replicas: 1
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: source-controller
|
||||||
|
annotations:
|
||||||
|
prometheus.io/scrape: "true"
|
||||||
|
prometheus.io/port: "8080"
|
||||||
|
spec:
|
||||||
|
terminationGracePeriodSeconds: 10
|
||||||
|
containers:
|
||||||
|
- name: manager
|
||||||
|
image: fluxcd/source-controller
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
securityContext:
|
||||||
|
allowPrivilegeEscalation: false
|
||||||
|
readOnlyRootFilesystem: true
|
||||||
|
ports:
|
||||||
|
- containerPort: 9090
|
||||||
|
name: http
|
||||||
|
- containerPort: 8080
|
||||||
|
name: http-prom
|
||||||
|
env:
|
||||||
|
- name: RUNTIME_NAMESPACE
|
||||||
|
valueFrom:
|
||||||
|
fieldRef:
|
||||||
|
fieldPath: metadata.namespace
|
||||||
|
args:
|
||||||
|
- --watch-all-namespaces
|
||||||
|
- --log-level=info
|
||||||
|
- --log-json
|
||||||
|
- --enable-leader-election
|
||||||
|
- --storage-path=/data
|
||||||
|
- --storage-adv-addr=source-controller.$(RUNTIME_NAMESPACE).svc.cluster.local.
|
||||||
|
livenessProbe:
|
||||||
|
httpGet:
|
||||||
|
port: http
|
||||||
|
path: /
|
||||||
|
readinessProbe:
|
||||||
|
httpGet:
|
||||||
|
port: http
|
||||||
|
path: /
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 1000m
|
||||||
|
memory: 1Gi
|
||||||
|
requests:
|
||||||
|
cpu: 50m
|
||||||
|
memory: 64Mi
|
||||||
|
volumeMounts:
|
||||||
|
- name: data
|
||||||
|
mountPath: /data
|
||||||
|
- name: tmp
|
||||||
|
mountPath: /tmp
|
||||||
|
volumes:
|
||||||
|
- name: data
|
||||||
|
emptyDir: {}
|
||||||
|
- name: tmp
|
||||||
|
emptyDir: {}
|
@ -1,8 +1,9 @@
|
|||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
resources:
|
resources:
|
||||||
- deployment.yaml
|
|
||||||
- service.yaml
|
- service.yaml
|
||||||
|
- deployment.yaml
|
||||||
patchesStrategicMerge:
|
images:
|
||||||
- deployment_toleration_patch.yaml
|
- name: fluxcd/source-controller
|
||||||
|
newName: fluxcd/source-controller
|
||||||
|
newTag: v0.5.2
|
@ -1,18 +1,15 @@
|
|||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
|
||||||
app.kubernetes.io/instance: flux-system
|
|
||||||
app.kubernetes.io/version: v0.2.0
|
|
||||||
control-plane: controller
|
|
||||||
name: source-controller
|
name: source-controller
|
||||||
namespace: flux-system
|
labels:
|
||||||
|
control-plane: controller
|
||||||
spec:
|
spec:
|
||||||
|
type: ClusterIP
|
||||||
|
selector:
|
||||||
|
app: source-controller
|
||||||
ports:
|
ports:
|
||||||
- name: http
|
- name: http
|
||||||
port: 80
|
port: 80
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
targetPort: http
|
targetPort: http
|
||||||
selector:
|
|
||||||
app: source-controller
|
|
||||||
type: ClusterIP
|
|
@ -27,5 +27,10 @@ airshipctl phase run workload-target --debug
|
|||||||
echo "Ensure we can reach ingress controller default backend"
|
echo "Ensure we can reach ingress controller default backend"
|
||||||
if [ "404" != "$(curl --head --write-out '%{http_code}' --silent --output /dev/null $TARGET_IP:$TARGET_PORT/should-404)" ]; then
|
if [ "404" != "$(curl --head --write-out '%{http_code}' --silent --output /dev/null $TARGET_IP:$TARGET_PORT/should-404)" ]; then
|
||||||
echo -e "\nFailed to reach ingress controller default backend."
|
echo -e "\nFailed to reach ingress controller default backend."
|
||||||
|
|
||||||
|
kubectl --kubeconfig $KUBECONFIG --context $KUBECONFIG_TARGET_CONTEXT get all -n flux-system
|
||||||
|
kubectl --kubeconfig $KUBECONFIG --context $KUBECONFIG_TARGET_CONTEXT logs -n flux-system -l app=helm-controller
|
||||||
|
kubectl --kubeconfig $KUBECONFIG --context $KUBECONFIG_TARGET_CONTEXT get hr --all-namespaces -o yaml
|
||||||
|
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
Loading…
x
Reference in New Issue
Block a user