Skip to content

Project

Usage example

Example
apiVersion: aiven.io/v1alpha1
kind: Project
metadata:
  name: my-project
spec:
  authSecretRef:
    name: aiven-token
    key: token

  connInfoSecretTarget:
    name: project-secret
    prefix: MY_SECRET_PREFIX_
    annotations:
      foo: bar
    labels:
      baz: egg

  tags:
    env: prod

  billingAddress: NYC
  cloud: aws-eu-west-1

Info

To create this resource, a Secret containing Aiven token must be created first.

Apply the resource with:

kubectl apply -f example.yaml

Verify the newly created Project:

kubectl get projects my-project

The output is similar to the following:

Name          
my-project    

To view the details of the Secret, use the following command:

kubectl describe secret project-secret

You can use the jq to quickly decode the Secret:

kubectl get secret project-secret -o json | jq '.data | map_values(@base64d)'

The output is similar to the following:

{
    "PROJECT_CA_CERT": "<secret>",
}

Project

Project is the Schema for the projects API.

Exposes secret keys

PROJECT_CA_CERT.

Required

  • apiVersion (string). Value aiven.io/v1alpha1.
  • kind (string). Value Project.
  • metadata (object). Data that identifies the object, including a name string and optional namespace.
  • spec (object). ProjectSpec defines the desired state of Project. See below for nested schema.

spec

Appears on Project.

ProjectSpec defines the desired state of Project.

Optional

  • accountId (string, MaxLength: 32). Account ID.
  • authSecretRef (object). Authentication reference to Aiven token in a secret. See below for nested schema.
  • billingAddress (string, MaxLength: 1000). Billing name and address of the project.
  • billingCurrency (string, Enum: AUD, CAD, CHF, DKK, EUR, GBP, NOK, SEK, USD). Billing currency.
  • billingEmails (array of strings, MaxItems: 10). Billing contact emails of the project.
  • billingExtraText (string, MaxLength: 1000). Extra text to be included in all project invoices, e.g. purchase order or cost center number.
  • billingGroupId (string, Immutable, MinLength: 36, MaxLength: 36). BillingGroup ID.
  • cardId (string, MaxLength: 64). Credit card ID; The ID may be either last 4 digits of the card or the actual ID.
  • cloud (string, MaxLength: 256). Target cloud, example: aws-eu-central-1.
  • connInfoSecretTarget (object). Secret configuration. See below for nested schema.
  • connInfoSecretTargetDisabled (boolean, Immutable). When true, the secret containing connection information will not be created, defaults to false. This field cannot be changed after resource creation.
  • copyFromProject (string, Immutable, MaxLength: 63). Project name from which to copy settings to the new project.
  • countryCode (string, MinLength: 2, MaxLength: 2). Billing country code of the project.
  • tags (object, AdditionalProperties: string). Tags are key-value pairs that allow you to categorize projects.
  • technicalEmails (array of strings, MaxItems: 10). Technical contact emails of the project.

authSecretRef

Appears on spec.

Authentication reference to Aiven token in a secret.

Required

  • key (string, MinLength: 1).
  • name (string, MinLength: 1).

connInfoSecretTarget

Appears on spec.

Secret configuration.

Required

  • name (string, Immutable). Name of the secret resource to be created. By default, it is equal to the resource name.

Optional

  • annotations (object, AdditionalProperties: string). Annotations added to the secret.
  • labels (object, AdditionalProperties: string). Labels added to the secret.
  • prefix (string). Prefix for the secret's keys. Added "as is" without any transformations. By default, is equal to the kind name in uppercase + underscore, e.g. KAFKA_, REDIS_, etc.