Skip to content

Releases: GoogleCloudPlatform/marketplace-k8s-app-tools

Managed Updates alpha04

31 May 18:26
efddaaf
Compare
Choose a tag to compare
Pre-release
Support helm tiller upgrade and fix verify (#361)

* Fix verify

This doesn't use KALM, but at least it enables testing of
deployers using v2 schema.

* Support helm upgrade

Managed update alpha03

29 May 18:46
cd96f0d
Compare
Choose a tag to compare
Pre-release
0.8.0-alpha03

Generate passwords and TLS certificates at provisioning time (#359)

Managed update alpha02

22 May 18:17
141d601
Compare
Choose a tag to compare
Pre-release
Add 'enum' property to doc with sample (#354)

* Add 'enum' property with sample

* Update schema.md

Managed update alpha01

17 May 00:34
4f4bff3
Compare
Choose a tag to compare
Pre-release
Support managed updates (#349)

A few notes:
- We handle v2 deployer in this PR. In this updated schema, the images are declared explicitly under `x-google-marketplace.images`. We will use a `Secret` for the parameters, instead of `ConfigMap`. The properties that receive images will be generated by the deployer.
- To __additionally__ indicate that an app supports KALM in a v2 deployer, the following entry in `schema.yaml` v2 is added:

```yaml
x-google-marketplace:
  schemaVersion: v2
  managedUpdates:
    kalmSupported: true
```

Note that it's possible to use v2 deployer without supporting managed updates. In fact, v2 will be the desired implementation for new partners.

Initial cut for supporting Managed Updates

09 May 22:35
Compare
Choose a tag to compare

Summary

The following mpdev commands are added/updated:

# Publish a version of the deployer to a GCS bucket. The bucket stores metadata that points back to the deployer image.
mpdev publish --deployer_image=DEPLOYER_IMAGE --gcs_repo=GCS_REPO_PATH

# Install command now needs --gcs_repo for apps that support managed updates.
mpdev install --deployer=DEPLOYER_IMAGE --parameters=APP_PARAMETERS --gcs_repo=GCS_REPO_PATH

# Look at the available versions and update the app to the latest available one.
# Can also be used with --version to force update to a specific version.
mpdev update --name=APP_NAME --namespace=NAMESPACE [--version=SPECIFIC_VERSION]

Known problems

  • mpdev verify does not yet work.

Add TLS_CERTIFICATE property type

23 Apr 20:47
120d776
Compare
Choose a tag to compare

type: TLS_CERTIFICATE

This property provides an SSL/TLS certificate for the Kubernetes manifest. By default, a self-signed certificate is generated.

Example:

properties:
  certificate:
    type: string
    x-google-marketplace:
      type: TLS_CERTIFICATE
      tlsCertificate:
        generatedProperties:
          base64EncodedPrivateKey: TLS_CERTIFICATE_KEY
          base64EncodedCertificate: TLS_CERTIFICATE_CRT
  • base64EncodedPrivateKey: Denotes the name of a property receive a private key.
  • base64EncodedCertificate: Denotes the name of a property receive a certificate.

You can provide your custom certificate by overwrite the certificate property in the JSON format as following:

{
  "private_key": "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----",
  "certificate": "-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----"
}

In your helm chart, based on the above example, you can handle the certificate:

apiVersion: v1
kind: Secret
metadata:
  name: tls-secret
  namespace: demo
data:
  tls.key: {{ .Values.TLS_CERTIFICATE_KEY }}
  tls.crt: {{ .Values.TLS_CERTIFICATE_CRT }}
type: kubernetes.io/tls

In your envsubst manifest, based on the above example, you can handle the certificate:

apiVersion: v1
kind: Secret
metadata:
  name: tls-secret
  namespace: demo
data:
  tls.key: $TLS_CERTIFICATE_KEY
  tls.crt: $TLS_CERTIFICATE_CRT
type: kubernetes.io/tls

Bug fixes

05 Apr 01:04
a0ced2a
Compare
Choose a tag to compare

Making app verify work without testing artifacts.

Add INGRESS_AVAILABLE property type

18 Mar 16:36
192967a
Compare
Choose a tag to compare

INGRESS_AVAILABLE property type

properties:
  ingressAvailable:
    type: boolean
    x-google-marketplace:
      type: INGRESS_AVAILABLE

This boolean property receives a True value if the cluster is detected to have Ingress controller. The deployer and template can take this signal to adapt the deployment accordingly.

Istio support in deployer

13 Mar 21:52
a7cfcf6
Compare
Choose a tag to compare

Deployer changes:

Adapted deployer to work with Istio.

Added istio field in clusterConstraints

Details in the schema doc.

x-google-marketplace:
  clusterConstraints:
    istio:
      type: OPTIONAL | REQUIRED | UNSUPPORTED

Added ISTIO_ENABLED property

Details in the schema doc.

  • Deployer property
properties:
- name: istioEnabled
  type: boolean
  x-google-marketplace:
    type: ISTIO_ENABLED # Indicates whether the app is being deployed with Istio.

mpdev

Can now publish metadata to GCS using schema v2.

Improve application readiness in tests

11 Feb 21:49
Compare
Choose a tag to compare
0.7.5

Wait for Pod & Job to be ready (#312)