The Shipa Developer Hub

Welcome to the Shipa developer hub. You'll find comprehensive guides and documentation to help you start working with Shipa as quickly as possible, as well as support if you get stuck. Let's jump right in!

Get Started    Changelog

Cluster Management

By leveraging Shipa, you can quickly bind existing frameworks to different clusters, abstracting Kubernetes completely away from your developer while enabling applications to be seamlessly deployed across multiple clusters.

apiVersion: shipa.crossplane.io/v1alpha1
kind: Cluster
metadata:
  name: cr-cluster-1
spec:
  forProvider:
    name: cr-cluster-1
    endpoint:
      addresses: ["https://k8s-api.url:443"]
      caCert: |
        -----BEGIN CERTIFICATE-----
        <cert conten>
        -----END CERTIFICATE-----
      token: <token content>
    resources:
      frameworks:
        name: ["crossplane-framework-dev", "crossplane-framework-prod"]
    ingressControllers:
      type: "istio"
      serviceType: "clusterip"
      ingressIp: "10.10.10.20"
      debug: false

Top-Level Attributes

Component

Type

Description

apiVersion

string

the version of the API.

kind

string

the kind of custom resource that will be created by Shipa.

Cluster is the kind used by Shipa for binding frameworks to different clusters.

metadata

the name of the custom resource that will be created by Shipa.

spec

the specification that will be used by Shipa when binding the cluster to existing Shipa frameworks.

Metadata

Component

Type

Description

name

string

the name of the custom resource that will be created by Shipa.

Specification

Component path: spec > forProvider

Component

Type

Description

name

string

the name that will be used by Shipa as the cluster identifier when binding frameworks to it.

It does not need to match your cluster name.

Required: Yes

endpoint

the Kubernetes cluster API address, token, and certificate that Shipa should use when connecting with the cluster.

Required: Yes

resources

defines the Shipa frameworks that should be bound to the cluster

Required: Yes

ingressControllers

specific ingress configuration that should be used by Shipa when binding frameworks to the cluster.

If not defined, Shipa will automatically select Traefik and pre-configure it

Required: No

Endpoint

Component path: spec > forProvider > endpoint

Component

Type

Description

addresses

string

the Kubernetes cluster API address that Shipa should use when connecting to the cluster.

you can find detailed information on how to find your cluster information here

Required: Yes

caCert

string

the CA Cert that should be used by Shipa when connecting to the cluster API.

you can find detailed information on how to find your cluster information here

Required: Yes

token

string

the Shipa admin account token that was previously added to your cluster so Shipa can successfully connect to it.

you can find detailed information on how to create a service account for Shipa in your cluster here

Required: Yes

Resources

Component path: spec > forProvider > resources

Component

Type

Definition

frameworks

string

the name of the frameworks that should be bound to the cluster.

Required: Yes

Ingress Controllers

Component path: spec > forProvider > ingressControllers

Component

Type

Definition

type

string

the ingress controller that should be used by Shipa when connecting frameworks to the cluster.

Options:

  • istio
  • traefik

Required: No

If you are binding frameworks where Istio is the selected ingress controller, make sure Istio is already installed and available in the cluster. More information available here

If not specified, Shipa will automatically use and configure Traefik.

serviceType

string

the service type that should be used by Shipa when deploying applications through the framework to the cluster.

If not selected, Shipa will automatically assign LoadBalancer as the default option.

Options:

  • loadbalancer
  • clusterip
  • nodeport

Required: No

debug

bool

the level of logging produced when using the selected ingress controller.

Required: No

ingressIp

string

the ingress controller IP that Shipa should use when creating application endpoints.

Required: No
Condition: If Traefik is selected, Shipa can auto-configure it. If Istio is selected, then you must enter the Istio service IP. More information available here

Updated 4 months ago


Cluster Management


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.