-
Notifications
You must be signed in to change notification settings - Fork 230
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
89a756e
commit 2e63c81
Showing
7 changed files
with
281 additions
and
10 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,83 @@ | ||
{ | ||
"description": "HCPAuth is the Schema for the hcpauths 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": "HCPAuthSpec defines the desired state of HCPAuth", | ||
"properties": { | ||
"allowedNamespaces": { | ||
"description": "AllowedNamespaces Kubernetes Namespaces which are allow-listed for use with this AuthMethod. This field allows administrators to customize which Kubernetes namespaces are authorized to use with this AuthMethod. While Vault will still enforce its own rules, this has the added configurability of restricting which HCPAuthMethods can be used by which namespaces. Accepted values: []{\"*\"} - wildcard, all namespaces. []{\"a\", \"b\"} - list of namespaces. unset - disallow all namespaces except the Operator's the HCPAuthMethod's namespace, this is the default behavior.", | ||
"items": { | ||
"type": "string" | ||
}, | ||
"type": "array" | ||
}, | ||
"method": { | ||
"default": "servicePrincipal", | ||
"description": "Method to use when authenticating to Vault.", | ||
"enum": [ | ||
"servicePrincipal" | ||
], | ||
"type": "string" | ||
}, | ||
"organizationID": { | ||
"description": "OrganizationID of the HCP organization.", | ||
"type": "string" | ||
}, | ||
"projectID": { | ||
"description": "ProjectID of the HCP project.", | ||
"type": "string" | ||
}, | ||
"servicePrincipal": { | ||
"description": "ServicePrincipal provides the necessary configuration for authenticating to HCP using a service principal. For security reasons, only project-level service principals should ever be used.", | ||
"properties": { | ||
"secretRef": { | ||
"description": "SecretRef is the name of a Kubernetes secret in the consumer's (VDS/VSS/PKI/HCP) namespace which provides the HCP ServicePrincipal clientID, and clientSecret. The secret data must have the following structure { \"clientID\": \"clientID\", \"clientSecret\": \"clientSecret\", }", | ||
"type": "string" | ||
} | ||
}, | ||
"required": [ | ||
"secretRef" | ||
], | ||
"type": "object", | ||
"additionalProperties": false | ||
} | ||
}, | ||
"required": [ | ||
"organizationID", | ||
"projectID" | ||
], | ||
"type": "object", | ||
"additionalProperties": false | ||
}, | ||
"status": { | ||
"description": "HCPAuthStatus defines the observed state of HCPAuth", | ||
"properties": { | ||
"error": { | ||
"type": "string" | ||
}, | ||
"valid": { | ||
"description": "Valid auth mechanism.", | ||
"type": "boolean" | ||
} | ||
}, | ||
"required": [ | ||
"error", | ||
"valid" | ||
], | ||
"type": "object", | ||
"additionalProperties": false | ||
} | ||
}, | ||
"type": "object" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,115 @@ | ||
{ | ||
"description": "HCPVaultSecretsApp is the Schema for the hcpvaultsecretsapps 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": "HCPVaultSecretsAppSpec defines the desired state of HCPVaultSecretsApp", | ||
"properties": { | ||
"appName": { | ||
"description": "AppName of the Vault Secrets Application that is to be synced.", | ||
"type": "string" | ||
}, | ||
"destination": { | ||
"description": "Destination provides configuration necessary for syncing the HCP Vault Application secrets to Kubernetes.", | ||
"properties": { | ||
"annotations": { | ||
"additionalProperties": { | ||
"type": "string" | ||
}, | ||
"description": "Annotations to apply to the Secret. Requires Create to be set to true.", | ||
"type": "object" | ||
}, | ||
"create": { | ||
"description": "Create the destination Secret. If the Secret already exists this should be set to false.", | ||
"type": "boolean" | ||
}, | ||
"labels": { | ||
"additionalProperties": { | ||
"type": "string" | ||
}, | ||
"description": "Labels to apply to the Secret. Requires Create to be set to true.", | ||
"type": "object" | ||
}, | ||
"name": { | ||
"description": "Name of the Secret", | ||
"type": "string" | ||
}, | ||
"type": { | ||
"description": "Type of Kubernetes Secret. Requires Create to be set to true. Defaults to Opaque.", | ||
"type": "string" | ||
} | ||
}, | ||
"required": [ | ||
"name" | ||
], | ||
"type": "object", | ||
"additionalProperties": false | ||
}, | ||
"hcpAuthRef": { | ||
"description": "HCPAuthRef to the HCPAuth resource, can be prefixed with a namespace, eg: `namespaceA/vaultAuthRefB`. If no namespace prefix is provided it will default to the namespace of the HCPAuth CR. If no value is specified for HCPAuthRef the Operator will default to the `default` HCPAuth, configured in its own Kubernetes namespace. HCPAuthRef string `json:\"hcpAuthRef,omitempty\"`", | ||
"type": "string" | ||
}, | ||
"refreshAfter": { | ||
"default": "600s", | ||
"description": "RefreshAfter a period of time, in duration notation e.g. 30s, 1m, 24h", | ||
"pattern": "^([0-9]+(\\.[0-9]+)?(s|m|h))$", | ||
"type": "string" | ||
}, | ||
"rolloutRestartTargets": { | ||
"description": "RolloutRestartTargets should be configured whenever the application(s) consuming the HCP Vault Secrets App does not support dynamically reloading a rotated secret. In that case one, or more RolloutRestartTarget(s) can be configured here. The Operator will trigger a \"rollout-restart\" for each target whenever the Vault secret changes between reconciliation events. See RolloutRestartTarget for more details.", | ||
"items": { | ||
"description": "RolloutRestartTarget provides the configuration required to perform a rollout-restart of the supported resources upon Vault Secret rotation. The rollout-restart is triggered by patching the target resource's 'spec.template.metadata.annotations' to include 'vso.secrets.hashicorp.com/restartedAt' with a timestamp value of when the trigger was executed. E.g. vso.secrets.hashicorp.com/restartedAt: \"2023-03-23T13:39:31Z\" \n Supported resources: Deployment, DaemonSet, StatefulSet", | ||
"properties": { | ||
"kind": { | ||
"enum": [ | ||
"Deployment", | ||
"DaemonSet", | ||
"StatefulSet" | ||
], | ||
"type": "string" | ||
}, | ||
"name": { | ||
"type": "string" | ||
} | ||
}, | ||
"required": [ | ||
"kind", | ||
"name" | ||
], | ||
"type": "object", | ||
"additionalProperties": false | ||
}, | ||
"type": "array" | ||
} | ||
}, | ||
"required": [ | ||
"appName", | ||
"destination" | ||
], | ||
"type": "object", | ||
"additionalProperties": false | ||
}, | ||
"status": { | ||
"description": "HCPVaultSecretsAppStatus defines the observed state of HCPVaultSecretsApp", | ||
"properties": { | ||
"secretMAC": { | ||
"description": "SecretMAC used when deciding whether new Vault secret data should be synced. \n The controller will compare the \"new\" HCP Vault Secrets App data to this value using HMAC, if they are different, then the data will be synced to the Destination. \n The SecretMac is also used to detect drift in the Destination Secret's Data. If drift is detected the data will be synced to the Destination.", | ||
"type": "string" | ||
} | ||
}, | ||
"type": "object", | ||
"additionalProperties": false | ||
} | ||
}, | ||
"type": "object" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.