Directories
¶
| Path | Synopsis |
|---|---|
|
charts
|
|
|
openbao-consumers/presets
Package presets ships the values presets of charts/openbao-consumers to Go consumers: the same files `-f` and Argo CD `valueFiles` read, versioned with the module.
|
Package presets ships the values presets of charts/openbao-consumers to Go consumers: the same files `-f` and Argo CD `valueFiles` read, versioned with the module. |
|
cmd
|
|
|
approvercheck
command
Command approvercheck proves whether a set of cert-manager CertificateRequestPolicy objects actually covers a set of CertificateRequests -- the check that the blanket approver can be turned off without stranding a renewal, and that the approver layer for OpenBAO-issued certificates is in place.
|
Command approvercheck proves whether a set of cert-manager CertificateRequestPolicy objects actually covers a set of CertificateRequests -- the check that the blanket approver can be turned off without stranding a renewal, and that the approver layer for OpenBAO-issued certificates is in place. |
|
openbao-hostcert
command
Command openbao-hostcert renews one SSH host certificate from an OpenBAO AWS IAM auth login and, if it changed, reloads sshd.
|
Command openbao-hostcert renews one SSH host certificate from an OpenBAO AWS IAM auth login and, if it changed, reloads sshd. |
|
openbaoctl
command
Command openbaoctl drives the OpenBAO operations that have no Kubernetes or Pulumi resource.
|
Command openbaoctl drives the OpenBAO operations that have no Kubernetes or Pulumi resource. |
|
examples
|
|
|
org
Package org is the library's worked example: one neutral organisation, built up in six capability levels (README.md), every level rendered and checked with no cluster and no cloud account.
|
Package org is the library's worked example: one neutral organisation, built up in six capability levels (README.md), every level rendered and checked with no cluster and no cloud account. |
|
roster
Package roster is a neutral, complete example of an OpenBAO server whose people and jobs sign in through an access-roster issuer (docs/integrations/access-roster.md): the operators' door in root, and one environment namespace whose internal groups sign SSH user certificates, sign database client certificates and read KV secrets.
|
Package roster is a neutral, complete example of an OpenBAO server whose people and jobs sign in through an access-roster issuer (docs/integrations/access-roster.md): the operators' door in root, and one environment namespace whose internal groups sign SSH user certificates, sign database client certificates and read KV secrets. |
|
server
Package server is a neutral, complete example of the server preset (pkg/serverpreset): a three-voter Raft cluster, awskms auto-unseal, and the `aws` IAM auth method as a declarative external plugin — the shape docs/server.md documents, and the one the migration note there proves against.
|
Package server is a neutral, complete example of the server preset (pkg/serverpreset): a three-voter Raft cluster, awskms auto-unseal, and the `aws` IAM auth method as a declarative external plugin — the shape docs/server.md documents, and the one the migration note there proves against. |
|
internal
|
|
|
fakeissuer
Package fakeissuer is an OIDC issuer in the shape of access-roster's access-issuer, small enough to read in one sitting: an RS256 key and an ES384 one, a discovery document, a key set naming both, tokens with a flat groups claim, and the authorization-code flow a confidential client (OpenBAO's web UI door) runs through a browser.
|
Package fakeissuer is an OIDC issuer in the shape of access-roster's access-issuer, small enough to read in one sitting: an RS256 key and an ES384 one, a discovery document, a key set naming both, tokens with a flat groups claim, and the authorization-code flow a confidential client (OpenBAO's web UI door) runs through a browser. |
|
replay
Package replay writes what pkg/apply would register onto a real OpenBAO server over its HTTP API, without Pulumi's engine or the vault provider plugin.
|
Package replay writes what pkg/apply would register onto a real OpenBAO server over its HTTP API, without Pulumi's engine or the vault provider plugin. |
|
pkg
|
|
|
apply
Package apply converges an OpenBAO server onto a model.Desired with the Pulumi vault provider.
|
Package apply converges an OpenBAO server onto a model.Desired with the Pulumi vault provider. |
|
approvercheck
Package approvercheck is an offline port of cert-manager approver-policy's evaluator: it answers, for a set of CertificateRequests and a set of CertificateRequestPolicy objects, whether some policy would approve each request -- independent of which approver happened to decide it first.
|
Package approvercheck is an offline port of cert-manager approver-policy's evaluator: it answers, for a set of CertificateRequests and a set of CertificateRequestPolicy objects, whether some policy would approve each request -- independent of which approver happened to decide it first. |
|
awsserver
Package awsserver provisions what an OpenBAO server needs from AWS as Pulumi Go resources, from caller inputs alone: nothing here names a cluster, an account, a region, a bucket or an e-mail address.
|
Package awsserver provisions what an OpenBAO server needs from AWS as Pulumi Go resources, from caller inputs alone: nothing here names a cluster, an account, a region, a bucket or an e-mail address. |
|
bootstrap
Package bootstrap takes a freshly installed OpenBAO from uninitialized to its first operator login, retires the root token that made that possible, and proves the recovery shares on the way.
|
Package bootstrap takes a freshly installed OpenBAO from uninitialized to its first operator login, retires the root token that made that possible, and proves the recovery shares on the way. |
|
bootstrap/filekeeper
Package filekeeper is a [bootstrap.Keeper] for the reference CLI: every item is a file in one directory, encrypted with age to the recipients the caller names, and read back with the caller's age identity.
|
Package filekeeper is a [bootstrap.Keeper] for the reference CLI: every item is a file in one directory, encrypted with age to the recipients the caller names, and read back with the caller's age identity. |
|
builder
Package builder derives an OpenBAO server's desired state -- everything but its PKI -- from declarative contracts, one per engine, and writes it as a model.Desired for pkg/apply.
|
Package builder derives an OpenBAO server's desired state -- everything but its PKI -- from declarative contracts, one per engine, and writes it as a model.Desired for pkg/apply. |
|
ceremony
Package ceremony performs the certificate ceremonies of a private PKI whose root key lives in AWS KMS (ECC P-384, SIGN_VERIFY, multi-region) and never leaves it.
|
Package ceremony performs the certificate ceremonies of a private PKI whose root key lives in AWS KMS (ECC P-384, SIGN_VERIFY, multi-region) and never leaves it. |
|
custody
Package custody provisions the AWS custody of a KMS-rooted private PKI: per root generation, a multi-region ECC P-384 SIGN_VERIFY key and its replica, protected and retained; two IAM roles (one administers the key and can neither sign nor schedule its deletion, one reads and signs during a ceremony); and a Sign alarm in each custody region, because after the ceremony every signature by a root key is an incident.
|
Package custody provisions the AWS custody of a KMS-rooted private PKI: per root generation, a multi-region ECC P-384 SIGN_VERIFY key and its replica, protected and retained; two IAM roles (one administers the key and can neither sign nor schedule its deletion, one reads and signs during a ceremony); and a Sign alarm in each custody region, because after the ceremony every signature by a root key is an incident. |
|
door
Package door derives the path allow-list of an OpenBAO server's PUBLIC door: the requests a gateway that terminates the client's TLS may route to the server, and nothing else.
|
Package door derives the path allow-list of an OpenBAO server's PUBLIC door: the requests a gateway that terminates the client's TLS may route to the server, and nothing else. |
|
esoaws
Package esoaws lets the External Secrets Operator on a cluster read AWS Systems Manager Parameter Store parameters that live in another AWS account, as Pulumi Go components, from caller inputs alone: nothing here names a cluster, an account, a region or a parameter, and nothing knows which system writes the parameters.
|
Package esoaws lets the External Secrets Operator on a cluster read AWS Systems Manager Parameter Store parameters that live in another AWS account, as Pulumi Go components, from caller inputs alone: nothing here names a cluster, an account, a region or a parameter, and nothing knows which system writes the parameters. |
|
estate
Package estate derives the whole desired state of one OpenBAO server that serves several Kubernetes clusters -- one namespace per environment, the root namespace's jobs and doors, and the private PKI -- from typed inputs, and writes it both as an estate view (Desired, the review of a change) and as the model pkg/apply converges on (Desired.Model).
|
Package estate derives the whole desired state of one OpenBAO server that serves several Kubernetes clusters -- one namespace per environment, the root namespace's jobs and doors, and the private PKI -- from typed inputs, and writes it both as an estate view (Desired, the review of a change) and as the model pkg/apply converges on (Desired.Model). |
|
estate/internal/example
Package example is a small estate with made-up names, for the tests of pkg/estate and its stack.
|
Package example is a small estate with made-up names, for the tests of pkg/estate and its stack. |
|
estate/stack
Package stack is the Pulumi program that applies an estate's desired state (pkg/estate) through pkg/apply.
|
Package stack is the Pulumi program that applies an estate's desired state (pkg/estate) through pkg/apply. |
|
kmssigner
Package kmssigner adapts an AWS KMS ECC_NIST_P384 SIGN_VERIFY key to crypto.Signer.
|
Package kmssigner adapts an AWS KMS ECC_NIST_P384 SIGN_VERIFY key to crypto.Signer. |
|
kv
Package kv is the plain HTTP client for reading and writing one secret in an OpenBAO namespace's KV v2 mount: log in on a JWT mount with a token the caller already holds, read or write, give the token back.
|
Package kv is the plain HTTP client for reading and writing one secret in an OpenBAO namespace's KV v2 mount: log in on a JWT mount with a token the caller already holds, read or write, give the token back. |
|
model
Package model is the desired state of an OpenBAO server, per namespace and per engine: KV mounts, JWT and OIDC auth mounts with their roles, identity groups and their aliases, ACL policies, PKI mounts with their issuers and roles, and SSH mounts with their CA and roles.
|
Package model is the desired state of an OpenBAO server, per namespace and per engine: KV mounts, JWT and OIDC auth mounts with their roles, identity groups and their aliases, ACL policies, PKI mounts with their issuers and roles, and SSH mounts with their CA and roles. |
|
pki
Package pki is the authored contract of a KMS-rooted private PKI: one or more root-key generations, the trust domains signed below them, the leaf roles each domain offers per environment, and the migration and alerting policy that goes with a root that can never be re-signed.
|
Package pki is the authored contract of a KMS-rooted private PKI: one or more root-key generations, the trust domains signed below them, the leaf roles each domain offers per environment, and the migration and alerting policy that goes with a root that can never be re-signed. |
|
serverpreset
Package serverpreset builds the server-side HCL and Helm-values fragments an OpenBAO install running the upstream openbao/openbao-helm chart needs to run an EXTERNAL plugin safely — a listener, Raft storage, an awskms seal, and a declarative plugin block — plus the emptyDir plugin directory and the egress allowlist those pieces need.
|
Package serverpreset builds the server-side HCL and Helm-values fragments an OpenBAO install running the upstream openbao/openbao-helm chart needs to run an EXTERNAL plugin safely — a listener, Raft storage, an awskms seal, and a declarative plugin block — plus the emptyDir plugin directory and the egress allowlist those pieces need. |
Click to show internal directories.
Click to hide internal directories.