Skip to content

Commit

Permalink
add DopplerHQ/kubernetes-operator
Browse files Browse the repository at this point in the history
Signed-off-by: Sebastian Hoß <[email protected]>
  • Loading branch information
sebhoss committed Feb 11, 2024
1 parent 4ce89f8 commit 78ff997
Show file tree
Hide file tree
Showing 9 changed files with 391 additions and 0 deletions.
4 changes: 4 additions & 0 deletions .reuse/dep5
Original file line number Diff line number Diff line change
Expand Up @@ -307,6 +307,10 @@ Files: crd-catalog/dmesser/cockroachdb-operator/*
Copyright: The dmesser/cockroachdb-operator Authors
License: Apache-2.0

Files: crd-catalog/DopplerHQ/kubernetes-operator/*
Copyright: The DopplerHQ/kubernetes-operator Authors
License: Apache-2.0

Files: crd-catalog/eclipse-che/che-operator/*
Copyright: The eclipse-che/che-operator Authors
License: EPL-2.0
Expand Down
7 changes: 7 additions & 0 deletions code-generator/src/catalog.rs
Original file line number Diff line number Diff line change
Expand Up @@ -812,6 +812,13 @@ pub const CRD_V1_SOURCES: &'static [UpstreamSource] = &[
"https://github.com/dmesser/cockroachdb-operator/blob/main/config/crd/bases/charts.operatorhub.io_cockroachdbs.yaml",
],
},
UpstreamSource {
project_name: "DopplerHQ/kubernetes-operator",
license: APACHE_V2,
urls: &[
"https://github.com/DopplerHQ/kubernetes-operator/blob/main/config/crd/bases/secrets.doppler.com_dopplersecrets.yaml",
],
},
UpstreamSource {
project_name: "eclipse-che/che-operator",
license: EPL_V2,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
--derive=PartialEq
Original file line number Diff line number Diff line change
@@ -0,0 +1,188 @@
apiVersion: "apiextensions.k8s.io/v1"
kind: "CustomResourceDefinition"
metadata:
annotations:
controller-gen.kubebuilder.io/version: "v0.4.1"
name: "dopplersecrets.secrets.doppler.com"
spec:
group: "secrets.doppler.com"
names:
kind: "DopplerSecret"
listKind: "DopplerSecretList"
plural: "dopplersecrets"
singular: "dopplersecret"
scope: "Namespaced"
versions:
- name: "v1alpha1"
schema:
openAPIV3Schema:
description: "DopplerSecret is the Schema for the dopplersecrets 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: "DopplerSecretSpec defines the desired state of DopplerSecret"
properties:
config:
description: "The Doppler config"
type: "string"
format:
description: "Format enables the downloading of secrets as a file"
enum:
- "json"
- "dotnet-json"
- "env"
- "yaml"
- "docker"
type: "string"
host:
default: "https://api.doppler.com"
description: "The Doppler API host"
type: "string"
managedSecret:
description: "The Kubernetes secret where the operator will store and sync the fetched secrets"
properties:
name:
description: "The name of the Secret resource"
type: "string"
namespace:
description: "Namespace of the resource being referred to. Ignored if not cluster scoped"
type: "string"
type:
default: "Opaque"
description: "The secret type of the managed secret"
enum:
- "Opaque"
- "kubernetes.io/tls"
- "kubernetes.io/service-account-token"
- "kubernetes.io/dockercfg"
- "kubernetes.io/dockerconfigjson"
- "kubernetes.io/basic-auth"
- "kubernetes.io/ssh-auth"
- "bootstrap.kubernetes.io/token"
type: "string"
required:
- "name"
type: "object"
nameTransformer:
description: "The environment variable compatible secrets name transformer to apply"
enum:
- "upper-camel"
- "camel"
- "lower-snake"
- "tf-var"
- "dotnet-env"
- "lower-kebab"
type: "string"
processors:
additionalProperties:
properties:
asName:
description: "The mapped name of the field in the managed secret, defaults to the original Doppler secret name for Opaque Kubernetes secrets. If omitted for other types, the value is not copied to the managed secret."
type: "string"
type:
default: "plain"
description: "The type of process to be performed, either \"plain\" or \"base64\""
enum:
- "plain"
- "base64"
type: "string"
type: "object"
description: "A list of processors to transform the data during ingestion"
type: "object"
project:
description: "The Doppler project"
type: "string"
resyncSeconds:
default: 60
description: "The number of seconds to wait between resyncs"
format: "int64"
type: "integer"
secrets:
description: "A list of secrets to sync from the config"
items:
type: "string"
type: "array"
tokenSecret:
description: "The Kubernetes secret containing the Doppler service token"
properties:
name:
description: "The name of the Secret resource"
type: "string"
namespace:
description: "Namespace of the resource being referred to. Ignored if not cluster scoped"
type: "string"
required:
- "name"
type: "object"
verifyTLS:
default: true
description: "Whether or not to verify TLS"
type: "boolean"
type: "object"
status:
description: "DopplerSecretStatus defines the observed state of DopplerSecret"
properties:
conditions:
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.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"
required:
- "conditions"
type: "object"
type: "object"
served: true
storage: true
subresources:
status: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
1 change: 1 addition & 0 deletions kube-custom-resources-rs/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -259,6 +259,7 @@ schemas_schemahero_io = []
scylla_scylladb_com = []
secretgenerator_mittwald_de = []
secrets_crossplane_io = []
secrets_doppler_com = []
secrets_hashicorp_com = []
secscan_quay_redhat_com = []
security_internal_openshift_io = []
Expand Down
7 changes: 7 additions & 0 deletions kube-custom-resources-rs/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2083,6 +2083,11 @@ apiVersion `secretgenerator.mittwald.de/v1alpha1`:
apiVersion `secrets.crossplane.io/v1alpha1`:
- `StoreConfig`
## secrets_doppler_com
apiVersion `secrets.doppler.com/v1alpha1`:
- `DopplerSecret`
## secrets_hashicorp_com
apiVersion `secrets.hashicorp.com/v1beta1`:
Expand Down Expand Up @@ -2862,6 +2867,8 @@ pub mod scylla_scylladb_com;
pub mod secretgenerator_mittwald_de;
#[cfg(feature = "secrets_crossplane_io")]
pub mod secrets_crossplane_io;
#[cfg(feature = "secrets_doppler_com")]
pub mod secrets_doppler_com;
#[cfg(feature = "secrets_hashicorp_com")]
pub mod secrets_hashicorp_com;
#[cfg(feature = "secscan_quay_redhat_com")]
Expand Down
1 change: 1 addition & 0 deletions kube-custom-resources-rs/src/secrets_doppler_com/mod.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
pub mod v1alpha1;
Loading

0 comments on commit 78ff997

Please sign in to comment.