provider-infisical is a Crossplane provider that
is built using Upjet code
generation tools and exposes XRM-conformant managed resources for the
Infisical API.
Install the provider by using the following command after changing the image tag to the latest release:
up ctp provider install xpkg.upbound.io/infisical-inc/provider-infisical:v0.1.4
Alternatively, you can use declarative installation:
cat <<EOF | kubectl apply -f -
apiVersion: pkg.crossplane.io/v1
kind: Provider
metadata:
name: provider-infisical
spec:
package: xpkg.upbound.io/infisical-inc/provider-infisical:v0.1.4
EOF
Before using the provider, create a Kubernetes Secret that contains your Infisical API credentials.
apiVersion: v1
kind: Secret
metadata:
name: example-creds
namespace: crossplane-system
type: Opaque
stringData:
credentials: |
{
"auth": {
"universal": {
"client_id": "52eae513-7722-4bf0-af84-54cb1fa7d603",
"client_secret": "672ae0e2a7b3ee97000d992ffc16726618cb3e4a43776978ca89f33e29ffdda0"
}
}
}This requires you to setup Kubernetes Auth with the controller's service account.
apiVersion: v1
kind: Secret
metadata:
name: example-creds-1
namespace: crossplane-system
type: Opaque
stringData:
credentials: |
{
"auth": {
"kubernetes": {
"identity_id": "81310d3c-aa51-4299-93df-3a7f983aee1a"
}
}
}This requires you to setup Token Auth.
apiVersion: v1
kind: Secret
metadata:
name: example-creds-1
namespace: crossplane-system
type: Opaque
stringData:
credentials: |
{
"auth": {
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXV..."
}
}apiVersion: infisical.crossplane.io/v1beta1
kind: ProviderConfig
metadata:
name: default
spec:
host: https://app.infisical.com
credentials:
source: Secret
secretRef:
namespace: crossplane-system
name: example-creds
key: credentialsNow you can use providerConfigRef.name: default in your managed resources.
You can see the API reference here.
Run code-generation pipeline:
go run cmd/generator/main.go "$PWD"Run against a Kubernetes cluster:
make runBuild, push, and install:
make allBuild binary:
make buildFor filing bugs, suggesting improvements, or requesting new features, please open an issue.