RAPD provides several built-in component types. The specification description for each component follows the same data schema, and the characteristics of different component types are determined by the “traits” they contain.
Webservice Container
Containerized workload components provides services via network endpoints.
Specification
Component Type
Category
Description
webservice.container
Workload
Containerized webservice component.
Cluster Type
Built-in
Description
kubernetes
v
Kubernetes clusters may be the deployment targets of containerized webservice components.
Worker Container
Containerized workload components for processing jobs in the background.
Specification
Component Type
Category
Description
worker.container
Workload
Containerized worker component.
Cluster Type
Built-in
Description
kubernetes
v
Kubernetes clusters may be the deployment targets of containerized worker components.
StatefulSet Container
Containerized workload components provides stateful services via network endpoints.
Specification
Component Type
Category
Description
statefulset.container
Workload
Containerized worker component.
Cluster Type
Built-in
Description
kubernetes
v
Kubernetes clusters may be the deployment targets of containerized worker components.
MySQL Database
MySQL-compatible database service.
Example
apiVersion: po.rapd.app/v1beta1
kind: Application
metadata:
labels:
auto.mavis.work/environment: default
name: mysql-app
spec:
version: "1.0"
revisionHistory: 3
components:
- type: database.mysql
name: mysql
target: bind-mysql
Specification
Component Type
Category
Description
database.mysql
Support service
MySQL database. Multiple MySQL databases might be provided by a single MySQL cluster.
Cluster Type
Built-in
Description
mysql.gcp-cloudsql
GCP Cloud SQL for MySQL
Connection Secret
Name
Type
Required
Default
Description
host
string
v
port
string
v
username
string
v
login username
password
string
v
login password
db
string
Connecting database If non-exist, it indicates that this user has privileges across all databases
PostgreSQL Database
PostgreSQL-compatible database service.
Example
apiVersion: po.rapd.app/v1beta1
kind: Application
metadata:
labels:
auto.mavis.work/environment: default
name: postgres-app
spec:
version: "1.0"
revisionHistory: 3
components:
- type: database.postgresql
name: mypostgres
target: bind-postgres
Specification
Component Type
Category
Description
database.postgredql
Support service
PostgreSQL database. Multiple PostgreSQL databases might be provided by a single PostgreSQL cluster.
Cluster Type
Built-in
Description
postgresql.gcp-cloudsql
GCP Cloud SQL for PostrgreSQL
Connection Secret
Name
Type
Required
Default
Description
host
string
v
port
string
v
username
string
v
login username
password
string
v
login password
db
string
v
Connecting database
schema
string
Connecting schema If non-exist, it indicates that this user has privileges on database and all schemas on this database
Redis Service
Redis caching service.
Example
apiVersion: po.rapd.app/v1beta1
kind: Application
metadata:
labels:
auto.mavis.work/environment: default
name: redis-app-gcp
spec:
version: "1.0"
revisionHistory: 3
components:
- type: caching.redis
name: redis
target: bind-redis-gcp
Specification
Component Type
Category
Description
caching.redis
Support service
Redis caching service.
Cluster Type
Built-in
Description
redis.gcp-cluster
v
GCP Memorystore
Connection Secret
Name
Type
Required
Default
Description
host
string
v
port
string
v
username
string
""
An empty username indicates that connecting to Redis does not require a username
password
string
""
An empty password indicates that connecting to Redis does not require a password
db
string
Connecting database If non-exist, it indicates that this user has privileges across all databases
API Gateway
The component supports Kuberntes Gateway API. This component is a dependency for webservice components to work properly.
Example
apiVersion: po.rapd.app/v1beta1
kind: Application
metadata:
labels:
auto.mavis.work/environment: default
name: gateway
spec:
version: "1.0"
revisionHistory: 3
components:
- type: networking.api-gateway
name: kong
target: default
Specification
Component Type
Category
Description
networking.api-gateway
Support service
API gateway.
Cluster Type
Built-in
Description
kubernetes
v
Using Kong gateway to support the Gateway API behind the scene。