--- # GitOps Toolkit revision v0.2.4 # Components: source-controller,kustomize-controller,helm-controller,notification-controller apiVersion: v1 kind: Namespace metadata: labels: app.kubernetes.io/instance: flux-system app.kubernetes.io/version: v0.2.4 name: flux-system --- apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: labels: app.kubernetes.io/instance: flux-system app.kubernetes.io/version: v0.2.4 name: allow-scraping namespace: flux-system spec: ingress: - from: - namespaceSelector: {} ports: - port: 8080 protocol: TCP podSelector: {} policyTypes: - Ingress --- apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: labels: app.kubernetes.io/instance: flux-system app.kubernetes.io/version: v0.2.4 name: allow-webhooks namespace: flux-system spec: ingress: - from: - namespaceSelector: {} podSelector: matchLabels: app: notification-controller policyTypes: - Ingress --- apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: labels: app.kubernetes.io/instance: flux-system app.kubernetes.io/version: v0.2.4 name: deny-ingress namespace: flux-system spec: ingress: - from: - podSelector: {} podSelector: {} policyTypes: - Ingress --- apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: labels: app.kubernetes.io/instance: flux-system app.kubernetes.io/version: v0.2.4 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.4 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.4 name: cluster-reconciler-flux-system roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - kind: ServiceAccount name: default namespace: flux-system --- 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.4 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: 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, 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 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: [] --- 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.4 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, 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 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: [] --- 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.4 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: [] --- 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.4 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 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: [] --- apiVersion: v1 kind: Service metadata: labels: app.kubernetes.io/instance: flux-system app.kubernetes.io/version: v0.2.4 control-plane: controller name: source-controller namespace: flux-system spec: ports: - name: http port: 80 protocol: TCP targetPort: http selector: app: source-controller type: ClusterIP --- apiVersion: apps/v1 kind: Deployment metadata: labels: app.kubernetes.io/instance: flux-system app.kubernetes.io/version: v0.2.4 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=http://notification-controller/ - --watch-all-namespaces=true - --log-level=info - --log-json - --enable-leader-election - --storage-path=/data env: - name: RUNTIME_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace image: registry1.dsop.io/ironbank/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 imagePullSecrets: - name: ironbank nodeSelector: kubernetes.io/arch: amd64 kubernetes.io/os: linux terminationGracePeriodSeconds: 10 volumes: - emptyDir: {} name: data - emptyDir: {} name: tmp --- 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.4 name: kustomizations.kustomize.toolkit.fluxcd.io spec: group: kustomize.toolkit.fluxcd.io names: kind: Kustomization listKind: KustomizationList plural: kustomizations shortNames: - ks singular: kustomization 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: v1beta1 schema: openAPIV3Schema: description: Kustomization is the Schema for the kustomizations 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: KustomizationSpec defines the desired state of a kustomization. properties: decryption: description: Decrypt Kubernetes secrets before applying them on the cluster. properties: provider: description: Provider is the name of the decryption engine. enum: - sops type: string secretRef: description: The secret name containing the private OpenPGP keys used for decryption. 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: - provider type: object dependsOn: description: DependsOn may contain a dependency.CrossNamespaceDependencyReference slice with references to Kustomization resources that must be ready before this Kustomization 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 healthChecks: description: A list of resources to be included in the health assessment. items: description: CrossNamespaceObjectReference contains enough information to let you locate the typed referenced object at cluster level properties: apiVersion: description: API version of the referent, defaults to 'apps/v1' type: string kind: description: Kind of the referent type: string name: description: Name of the referent type: string namespace: description: Namespace of the referent type: string required: - kind - name type: object type: array interval: description: The interval at which to reconcile the kustomization. type: string kubeConfig: description: The KubeConfig for reconciling the Kustomization on a remote cluster. 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 Kustomization. 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 Kustomization. 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 path: description: Path to the directory containing the kustomization file. pattern: ^\./ type: string prune: description: Prune enables garbage collection. type: boolean serviceAccount: description: The Kubernetes service account used for applying the kustomization. properties: name: description: Name is the name of the service account being referenced. type: string namespace: description: Namespace is the namespace of the service account being referenced. type: string required: - name - namespace type: object sourceRef: description: Reference of the source where the kustomization file is. properties: apiVersion: description: API version of the referent type: string kind: description: Kind of the referent enum: - GitRepository - Bucket type: string name: description: Name of the referent type: string namespace: description: Namespace of the referent, defaults to the Kustomization namespace type: string required: - kind - name type: object suspend: description: This flag tells the controller to suspend subsequent kustomize executions, it does not apply to already started executions. Defaults to false. type: boolean targetNamespace: description: TargetNamespace sets or overrides the namespace in the kustomization.yaml file. maxLength: 63 minLength: 1 type: string timeout: description: Timeout for validation, apply and health checking operations. Defaults to 'Interval' duration. type: string validation: description: Validate the Kubernetes objects before applying them on the cluster. The validation strategy can be 'client' (local dry-run) or 'server' (APIServer dry-run). enum: - client - server type: string required: - interval - path - prune - sourceRef type: object status: description: KustomizationStatus defines the observed state of a kustomization. properties: conditions: 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 lastAppliedRevision: description: The last successfully applied revision. The revision format for Git sources is <branch|tag>/<commit-sha>. type: string lastAttemptedRevision: description: LastAttemptedRevision is the revision 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 observedGeneration: description: ObservedGeneration is the last reconciled generation. format: int64 type: integer snapshot: description: The last successfully applied revision metadata. properties: checksum: description: The manifests sha1 checksum. type: string entries: description: A list of Kubernetes kinds grouped by namespace. items: description: Snapshot holds the metadata of namespaced Kubernetes objects properties: kinds: additionalProperties: type: string description: The list of Kubernetes kinds. type: object namespace: description: The namespace of this entry. type: string required: - kinds type: object type: array required: - checksum - entries type: object type: object type: object served: true storage: true subresources: status: {} status: acceptedNames: kind: "" plural: "" conditions: [] storedVersions: [] --- apiVersion: apps/v1 kind: Deployment metadata: labels: app.kubernetes.io/instance: flux-system app.kubernetes.io/version: v0.2.4 control-plane: controller name: kustomize-controller namespace: flux-system spec: replicas: 1 selector: matchLabels: app: kustomize-controller template: metadata: annotations: prometheus.io/port: "8080" prometheus.io/scrape: "true" labels: app: kustomize-controller spec: containers: - args: - --events-addr=http://notification-controller/ - --watch-all-namespaces=true - --log-level=info - --log-json - --enable-leader-election env: - name: RUNTIME_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace image: registry1.dsop.io/ironbank/fluxcd/kustomize-controller:v0.2.1 imagePullPolicy: IfNotPresent livenessProbe: httpGet: path: /healthz port: healthz name: manager ports: - containerPort: 8080 name: http-prom - containerPort: 9440 name: healthz protocol: TCP readinessProbe: httpGet: path: /readyz port: healthz resources: limits: cpu: 1000m memory: 1Gi requests: cpu: 100m memory: 64Mi securityContext: allowPrivilegeEscalation: false readOnlyRootFilesystem: true volumeMounts: - mountPath: /tmp name: temp imagePullSecrets: - name: ironbank nodeSelector: kubernetes.io/arch: amd64 kubernetes.io/os: linux terminationGracePeriodSeconds: 10 volumes: - emptyDir: {} name: temp --- 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.4 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 kubeConfig: description: KubeConfig for reconciling the HelmRelease on a remote cluster. 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 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 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: [] --- apiVersion: apps/v1 kind: Deployment metadata: labels: app.kubernetes.io/instance: flux-system app.kubernetes.io/version: v0.2.4 control-plane: controller name: helm-controller namespace: flux-system spec: replicas: 1 selector: matchLabels: app: helm-controller template: metadata: annotations: prometheus.io/port: "8080" prometheus.io/scrape: "true" labels: app: helm-controller spec: containers: - args: - --events-addr=http://notification-controller/ - --watch-all-namespaces=true - --log-level=info - --log-json - --enable-leader-election env: - name: RUNTIME_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace image: registry1.dsop.io/ironbank/fluxcd/helm-controller:v0.2.0 imagePullPolicy: IfNotPresent livenessProbe: httpGet: path: /metrics port: http-prom name: manager ports: - containerPort: 8080 name: http-prom resources: limits: cpu: 1000m memory: 1Gi requests: cpu: 100m memory: 64Mi securityContext: allowPrivilegeEscalation: false readOnlyRootFilesystem: true volumeMounts: - mountPath: /tmp name: temp imagePullSecrets: - name: ironbank nodeSelector: kubernetes.io/arch: amd64 kubernetes.io/os: linux terminationGracePeriodSeconds: 10 volumes: - emptyDir: {} name: temp --- 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.4 name: alerts.notification.toolkit.fluxcd.io spec: group: notification.toolkit.fluxcd.io names: kind: Alert listKind: AlertList plural: alerts singular: alert 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: v1beta1 schema: openAPIV3Schema: description: Alert is the Schema for the alerts 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: AlertSpec defines an alerting rule for events involving a list of objects properties: eventSeverity: default: info description: Filter events based on severity, defaults to ('info'). If set to 'info' no events will be filtered. enum: - info - error type: string eventSources: description: Filter events based on the involved objects items: description: CrossNamespaceObjectReference contains enough information to let you locate the typed referenced object at cluster level properties: apiVersion: description: API version of the referent type: string kind: description: Kind of the referent enum: - Bucket - GitRepository - Kustomization - HelmRelease - HelmChart - HelmRepository type: string name: description: Name of the referent maxLength: 53 minLength: 1 type: string namespace: description: Namespace of the referent maxLength: 53 minLength: 1 type: string required: - name type: object type: array providerRef: description: Send events using this provider 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 subsequent events dispatching. Defaults to false. type: boolean required: - eventSources - providerRef type: object status: description: AlertStatus defines the observed state of Alert properties: conditions: 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 type: object type: object served: true storage: true subresources: status: {} status: acceptedNames: kind: "" plural: "" conditions: [] storedVersions: [] --- 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.4 name: providers.notification.toolkit.fluxcd.io spec: group: notification.toolkit.fluxcd.io names: kind: Provider listKind: ProviderList plural: providers singular: provider 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: v1beta1 schema: openAPIV3Schema: description: Provider is the Schema for the providers 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: ProviderSpec defines the desired state of Provider properties: address: description: HTTP/S webhook address of this provider pattern: ^(http|https):// type: string channel: description: Alert channel for this provider type: string proxy: description: HTTP/S address of the proxy pattern: ^(http|https):// type: string secretRef: description: Secret reference containing the provider webhook URL 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: description: Type of provider enum: - slack - discord - msteams - rocket - generic - github - gitlab - bitbucket type: string username: description: Bot username for this provider type: string required: - type type: object status: description: ProviderStatus defines the observed state of Provider properties: conditions: 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 type: object type: object served: true storage: true subresources: status: {} status: acceptedNames: kind: "" plural: "" conditions: [] storedVersions: [] --- 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.4 name: receivers.notification.toolkit.fluxcd.io spec: group: notification.toolkit.fluxcd.io names: kind: Receiver listKind: ReceiverList plural: receivers singular: receiver 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: v1beta1 schema: openAPIV3Schema: description: Receiver is the Schema for the receivers 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: ReceiverSpec defines the desired state of Receiver properties: events: description: A list of events to handle, e.g. 'push' for GitHub or 'Push Hook' for GitLab. items: type: string type: array resources: description: A list of resources to be notified about changes. items: description: CrossNamespaceObjectReference contains enough information to let you locate the typed referenced object at cluster level properties: apiVersion: description: API version of the referent type: string kind: description: Kind of the referent enum: - Bucket - GitRepository - Kustomization - HelmRelease - HelmChart - HelmRepository type: string name: description: Name of the referent maxLength: 53 minLength: 1 type: string namespace: description: Namespace of the referent maxLength: 53 minLength: 1 type: string required: - name type: object type: array secretRef: description: Secret reference containing the token used to validate the payload authenticity 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 subsequent events handling. Defaults to false. type: boolean type: description: Type of webhook sender, used to determine the validation procedure and payload deserialization. enum: - generic - github - gitlab - bitbucket - harbor type: string required: - resources - type type: object status: description: ReceiverStatus defines the observed state of Receiver properties: conditions: 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 url: description: Generated webhook URL in the format of '/hook/sha256sum(token+name+namespace)'. type: string type: object type: object served: true storage: true subresources: status: {} status: acceptedNames: kind: "" plural: "" conditions: [] storedVersions: [] --- apiVersion: v1 kind: Service metadata: labels: app.kubernetes.io/instance: flux-system app.kubernetes.io/version: v0.2.4 control-plane: controller name: notification-controller namespace: flux-system spec: ports: - name: http port: 80 protocol: TCP targetPort: http selector: app: notification-controller type: ClusterIP --- apiVersion: v1 kind: Service metadata: labels: app.kubernetes.io/instance: flux-system app.kubernetes.io/version: v0.2.4 control-plane: controller name: webhook-receiver namespace: flux-system spec: ports: - name: http port: 80 protocol: TCP targetPort: http-webhook selector: app: notification-controller type: ClusterIP --- apiVersion: apps/v1 kind: Deployment metadata: labels: app.kubernetes.io/instance: flux-system app.kubernetes.io/version: v0.2.4 control-plane: controller name: notification-controller namespace: flux-system spec: replicas: 1 selector: matchLabels: app: notification-controller template: metadata: annotations: prometheus.io/port: "8080" prometheus.io/scrape: "true" labels: app: notification-controller spec: containers: - args: - --watch-all-namespaces=true - --log-level=info - --log-json - --enable-leader-election env: - name: RUNTIME_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace image: registry1.dsop.io/ironbank/fluxcd/notification-controller:v0.2.1 imagePullPolicy: IfNotPresent livenessProbe: httpGet: path: /metrics port: http-prom name: manager ports: - containerPort: 9090 name: http - containerPort: 9292 name: http-webhook - containerPort: 8080 name: http-prom resources: limits: cpu: 1000m memory: 1Gi requests: cpu: 100m memory: 64Mi securityContext: allowPrivilegeEscalation: false readOnlyRootFilesystem: true volumeMounts: - mountPath: /tmp name: temp imagePullSecrets: - name: ironbank nodeSelector: kubernetes.io/arch: amd64 kubernetes.io/os: linux terminationGracePeriodSeconds: 10 volumes: - emptyDir: {} name: temp ---