Types
- ADBConfig
- APIConfig
- AndroidDevice
- AndroidDeviceConfig
- AndroidDeviceConfigSpec
- AndroidDeviceSpec
- AndroidFarm
- AndroidFarmSpec
- AppConfig
- AuthConfig
- DeviceGroup
- DeviceManagementPolicy
- EmulatorConfig
- GlobalProviderConfig
- HostUSBConfig
- PodManagementPolicy
- ProcessorConfig
- ProviderConfig
- ReaperConfig
- RethinkDBConfig
- RethinkDBProxyConfig
- STFConfig
- STFImage
- STFOAuth
- StorageConfig
- TCPRedirConfig
- TLSConfig
- TraefikConfig
- TraefikDashboard
- TraefikDeployment
- TriproxyAppConfig
- TriproxyDevConfig
- Volume
- WebsocketConfig
Package v1alpha1 contains API Schema definitions for the android v1alpha1 API group
Resource Types:
(Appears on: DeviceGroup, STFConfig)
ADBConfig represents configuration options for the adb containers
Field | Description |
---|---|
image string |
Image for the adb servers. Defaults to |
imagePullPolicy Kubernetes core/v1.PullPolicy |
The pull policy to attach to deployments using this image. |
imagePullSecrets []Kubernetes core/v1.LocalObjectReference |
Any pull secrets required for downloading the image. |
resources Kubernetes core/v1.ResourceRequirements |
The resource restraints for the provider adb sidecars. |
(Appears on: STFConfig)
APIConfig represents configuration options for the api servers
Field | Description |
---|---|
resources Kubernetes core/v1.ResourceRequirements |
The resource restraints for the stf api servers |
replicas int32 |
The number of api server replicas to run |
AndroidDevice is the Schema for the androiddevices API
Field | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|
metadata Kubernetes meta/v1.ObjectMeta |
Refer to the Kubernetes API documentation for the fields of the metadata field. |
||||||||
spec AndroidDeviceSpec |
|
||||||||
status AndroidDeviceStatus |
AndroidDeviceConfig is the Schema for the androiddeviceconfigs API
Field | Description | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
metadata Kubernetes meta/v1.ObjectMeta |
Refer to the Kubernetes API documentation for the fields of the metadata field. |
||||||||||||||||||||||||||
spec AndroidDeviceConfigSpec |
|
||||||||||||||||||||||||||
status AndroidDeviceConfigStatus |
(Appears on: AndroidDeviceConfig, AndroidDeviceSpec, EmulatorConfig)
AndroidDeviceConfigSpec defines the desired state of AndroidDeviceConfig
Field | Description |
---|---|
dockerImage string |
The docker image to use for emulator devices |
imagePullPolicy Kubernetes core/v1.PullPolicy |
The pull policy to use for emulator pods |
imagePullSecrets []Kubernetes core/v1.LocalObjectReference |
Pull secrets required for the docker image. |
adbPort int32 |
The ADB port that the emulator listens on. Defaults to 5555. A sidecar will be spawned within emulator pods that redirects external traffic to this port. |
command []string |
An optional command to run when starting an emulator image |
args []string |
Any arguments to pass to the above command. |
extraPorts []Kubernetes core/v1.ContainerPort |
Extra port mappings to apply to the emulator pods. |
extraEnvVars []Kubernetes core/v1.EnvVar |
Extra environment variables to supply to the emulator pods. |
kvmEnabled bool |
Whether to mount the kvm device to the pods, will require that the operator can launch privileged pods. |
volumes []Volume |
A list of volume configurations to apply to the emulator pods. |
resources Kubernetes core/v1.ResourceRequirements |
Resource restraints to place on the emulators. |
startupJobTemplates []string |
A list of AndroidJobTemplates to execute against new instances. TODO: Very very very beta |
tcpRedir TCPRedirConfig |
Configuration for the tcp redirection side car |
(Appears on: AndroidDevice)
AndroidDeviceSpec defines the desired state of AndroidDevice
Field | Description |
---|---|
configRef Kubernetes core/v1.LocalObjectReference |
A reference to an AndroidDeviceConfig to use for the emulators in this group. |
deviceConfig AndroidDeviceConfigSpec |
Any overrides to the config represented by the ConfigRef. Any values supplied here will be merged into the found AndroidDeviceConfig, with fields in this object taking precedence over existing ones in the AndroidDeviceConfig. |
hostname string |
A hostname to apply to the device (used by AndroidFarm controller) |
subdomain string |
A subdomain to apply to the device (used by AndroidFarm controller) |
AndroidFarm is the Schema for the androidfarms API
Field | Description | ||||||
---|---|---|---|---|---|---|---|
metadata Kubernetes meta/v1.ObjectMeta |
Refer to the Kubernetes API documentation for the fields of the metadata field. |
||||||
spec AndroidFarmSpec |
|
||||||
status AndroidFarmStatus |
(Appears on: AndroidFarm)
AndroidFarmSpec defines the desired state of AndroidFarm
Field | Description |
---|---|
deviceGroups []*github.com/tinyzimmer/android-farm-operator/pkg/apis/android/v1alpha1.DeviceGroup |
A list of device groups and their configurations to run on the cluster |
deviceManagementPolicy DeviceManagementPolicy |
A device management policy to apply globally unless overridden on the group level |
stfConfig STFConfig |
The configuration for the OpenSTF Deployment |
(Appears on: STFConfig)
AppConfig represents configuration options for the app deployments
Field | Description |
---|---|
resources Kubernetes core/v1.ResourceRequirements |
The resource restraints for the app deployment |
replicas int32 |
The number of app replicas to run |
(Appears on: STFConfig)
STFAuth represents the authentication configuration for OpenSTF.
Field | Description |
---|---|
mock bool |
Use the stf mock authentication adapter. |
oauth STFOAuth |
Use OAuth with the provided parameters for authentication. |
resources Kubernetes core/v1.ResourceRequirements |
Auth deployment resource requirements. |
DeviceGroup represents a collection of android devices that share a common configuration.
Field | Description |
---|---|
name string |
A name for the device group, this field is required. The name is prefixed to all resources created for the group. |
provider ProviderConfig |
STF provider configurations for this device group. |
adb ADBConfig |
ADB configurations for this device group |
emulators EmulatorConfig |
A configuration for emulated devices running in pods on the kubernetes cluster |
hostUSB HostUSBConfig |
A configuration for connecting host usb devices to the AndroidFarm. |
omitFromSTF bool |
TODO: implement |
(Appears on: AndroidFarmSpec, EmulatorConfig)
DeviceManagementPolicy represents a policy for managing concurrency during the creation and updating of emulator pods.
Field | Description |
---|---|
podManagementPolicy PodManagementPolicy |
The type of policy to enforce, currently only OrderedReady. |
concurrency int32 |
The maximum number of devices that can be booting at any point in time. |
(Appears on: DeviceGroup)
EmulatorConfig is a configuration for virtual emulators running in pods on the kubernetes cluster.
Field | Description |
---|---|
namespace string |
The namespace to run the device group, defaults to the default namespace. |
count int32 |
The number of devices to run in the group. Defaults to no devices. |
hostnameTemplate string |
A go-template to use for configuring the hostname of the devices. Currently only {{ .Index }} is passed to thte template, but more will come. A headless service is put in front of device groups to make the individual pods accessible by their hostname/subdomain |
subdomain string |
A subdomain to use for the pods in the device group. This also becomes the name of the headless service. |
deviceManagementPolicy DeviceManagementPolicy |
A policy for managing concurrency during provisioning/updates of android emulators. |
configRef Kubernetes core/v1.LocalObjectReference |
A reference to an AndroidDeviceConfig to use for the emulators in this group. |
deviceConfig AndroidDeviceConfigSpec |
Any overrides to the config represented by the ConfigRef. Any values supplied here will be merged into the found AndroidDeviceConfig, with fields in this object taking precedence over existing ones in the AndroidDeviceConfig. |
(Appears on: STFConfig)
GlobalProviderConfig represents global configuration options for the provider deployments
Field | Description |
---|---|
resources Kubernetes core/v1.ResourceRequirements |
The resource restraints for the app deployment |
(Appears on: DeviceGroup)
HostUSBConfig is a configuration for connecting devices attached physically to the kubernetes hosts.
Field | Description |
---|---|
nodeName string |
The node to launch an ADB server on for binding devices to STF. |
maxDevices int32 |
Specify the maximum number of devices expected to run on this host. This is required because for lack of a better solution we dynamically allocate provider service ports at the moment and we need to determine how many to do for a usb farm. |
PodManagementPolicy (string
alias)
(Appears on: DeviceManagementPolicy)
(Appears on: STFConfig)
ProcessorConfig represents configuration options for the processor deployments
Field | Description |
---|---|
resources Kubernetes core/v1.ResourceRequirements |
The resource restraints for the app deployment |
(Appears on: DeviceGroup)
Field | Description |
---|---|
startPort int32 |
The starting port to use for provider services. Defaults to 15000. If specifying multiple device groups, you should set this explicitly for each group and ensure they are not able to overlap. (~4 ports per device) |
clusterLocalADB bool |
When set to true, the provider will advertise it’s cluster local service address for adb connections. The default behavior is to advertise the external app hostname. This ultimately affects where tcp routes to the adb ports are setup from. If not using cluster local adb - they are set up on the main traefik instance and the provider traefik instance. If using cluster-local adb they are only set up on the provider traefik instance. |
hostnameOverride string |
Override the public hostname to advertise on provider instances |
persistDeviceState bool |
Set to true to persist device state (apps, accounts, caches) between user sessions. |
traefik TraefikDeployment |
Configurations for the provider traefik deployment |
resources Kubernetes core/v1.ResourceRequirements |
Resource requirements for this group’s provider instance. These will override any resources set in the global provider configuration. |
(Appears on: STFConfig)
ReaperConfig represents configuration options for the reaper deployments
Field | Description |
---|---|
resources Kubernetes core/v1.ResourceRequirements |
The resource restraints for the app deployment |
(Appears on: STFConfig)
RethinkDBConfig represents configurations for the RethinkDB StatefulSet.
Field | Description |
---|---|
version string |
The version of rethinkdb to run. Defaults to 2.4. |
imagePullPolicy Kubernetes core/v1.PullPolicy |
The pull policy to use for the rethinkdb image. |
replicas int32 |
The number of rethinkdb replicas per shard to make. |
shards int32 |
The number of shards to use for each table in the stf database. |
pvcSpec Kubernetes core/v1.PersistentVolumeClaimSpec |
A PVCSpec to use for RethinkDB persistence. |
resources Kubernetes core/v1.ResourceRequirements |
Resource restraints for the rethinkdb instances |
(Appears on: STFConfig)
RethinkDBProxyConfig represents configuration options for the rethinkdb proxy deployment.
Field | Description |
---|---|
replicas int32 |
The number of proxy instances to run |
resources Kubernetes core/v1.ResourceRequirements |
Resource restraints for the proxy instances |
(Appears on: AndroidFarmSpec)
STFConfig represents configuration options for the OpenSTF deployment in this AndroidFarm.
Field | Description |
---|---|
appHostname string |
The external hostname to use when configuring OpenSTF services. The OpenSTF deployment must be accessible at this address (or IP). |
secret string |
The name of the kubernetes secret containing secrets for configuring OpenSTF. |
stfSecretKey string |
The key in the above secret where the OpenSTF secret is. Defaults to ‘stf-secret’. |
serviceAccount string |
A kubernetes service account to attach to OpenSTF deployments. This can be required if you are launching privileged pods that need to be validated against a PodSecurityPolicy, e.g. for host usb devices. |
namespace string |
The namespace to provision the STF deployments in. Defaults to the default namespace. |
stfImage STFImage |
The docker image configuration to use for the STF services. |
adb ADBConfig |
ADB global configuration options - can be overridden on the device group level |
api APIConfig |
API extra configuration options |
app AppConfig |
App extra configuration options |
auth AuthConfig |
Authentication configuration options |
processor ProcessorConfig |
Processor configuration options |
provider GlobalProviderConfig |
Provider global configuration options - can be overridden on the device group level |
reaper ReaperConfig |
Reaper configuration options |
triproxyApp TriproxyAppConfig |
Triproxy App configuration options |
triproxyDev TriproxyDevConfig |
Triproxy Dev configuration options |
websocket WebsocketConfig |
Websocket configuration options |
traefik TraefikConfig |
A configuration for the traefik deployment/routes put in front of the STF deployments. |
rethinkdb RethinkDBConfig |
A configuration for the RethinKDB statefulset. |
rethinkdbProxy RethinkDBProxyConfig |
A configuration for the rethinkdb proxy deployment |
storage StorageConfig |
A configuration for the OpenSTF storage services. |
(Appears on: STFConfig)
STFImage is the configuration for the docker image used in STF deployments.
Field | Description |
---|---|
image string |
Image is the repository to download the image from. Defaults to openstf/stf:latest. |
imagePullPolicy Kubernetes core/v1.PullPolicy |
The pull policy to attach to deployments using this image. |
imagePullSecrets []Kubernetes core/v1.LocalObjectReference |
Any pull secrets required for downloading the image. |
(Appears on: AuthConfig)
STFOauth represents an OAuth configuration to use for the STF oauth adapter.
Field | Description |
---|---|
authorizationURL string |
The Authorization URL for the OAuth service |
tokenURL string |
The Token URL for the OAuth service. |
userInfoURL string |
The User Info URL for the OAuth service. |
scopes []string |
The scopes needed for OAuth. |
callbackURL string |
The OAuth callback URL. TODO : This doesn’t need to be required and can default to: http(s):///auth/oauth/callback |
clientIDKey string |
The key in the STF secret that contains the client id. Defaults to ‘client-id’. |
clientSecretKey string |
The key in the STF secret that contains the client secret key. Defaults to ‘client-secret’. |
(Appears on: STFConfig)
STFStorageConfig represents configurations for the OpenSTF storage service.
Field | Description |
---|---|
replicas int32 |
The number of stf-storage replicas to run |
pvcSpec Kubernetes core/v1.PersistentVolumeClaimSpec |
A PVC spec to use for storage persistence. If specifying more than one replica, only one PVC will be created and it should allow ReadWriteMany. |
resources Kubernetes core/v1.ResourceRequirements |
Storage deployments resource requirements. |
(Appears on: AndroidDeviceConfigSpec)
Field | Description |
---|---|
enabled bool |
Whether to run a sidecar with emulator pods that redirects TCP traffic on the adb port to the emulator adb server listening on the loopback interface. This is required for the image used in this repository, but if you are using an image that exposes ADB on all interfaces itself, this is not required. |
image string |
Image is the repository to download the image from. Defaults to quay.io/tinyzimmer/goredir whose source is in this repository. |
imagePullPolicy Kubernetes core/v1.PullPolicy |
The pull policy to attach to deployments using this image. |
imagePullSecrets []Kubernetes core/v1.LocalObjectReference |
Any pull secrets required for downloading the image. |
(Appears on: TraefikConfig)
SSLConfig represents the SSL configuration for the STF deployments. Specify an empty object to configure SSL with traefik’s default self-signed certificate. Should only be done for testing.
Field | Description |
---|---|
tlsSecret Kubernetes core/v1.LocalObjectReference |
Specifies a preexisting TLS secret in the cluster to use. It must follow the standard format with a tls.crt and tls.key. |
issuerRef github.com/jetstack/cert-manager/pkg/apis/meta/v1.ObjectReference |
A cert-manager issuer reference to use to provision a TLS secret. Currently requires cert-manager >= v0.14.0. |
external bool |
Specify that SSL is managed externally. OpenSTF will be configured to know it is being served over HTTPS, but you will be responsible for terminating TLS before sending traffic to the traefik instance. When using this option, traefik will listen for requests on port 80, and you can set up an ingress to |
(Appears on: STFConfig)
TraefikConfig represents configurations for the traefik deployment placed in front of the OpenSTF services.
Field | Description |
---|---|
useIngressRoute bool |
(WIP) - use IngressRoute CRDs for an existing traefik deployment instead of creating a standalone traefik service. |
deployment TraefikDeployment |
Configuration options for the traefik deployment. |
tls TLSConfig |
TLS configurations for traefik |
(Appears on: TraefikDeployment)
TraefikDashboard represents configuration options for the Traefik dashboard.
Field | Description |
---|---|
host string |
The hostname that should route to the traefik dashboard. |
ipWhitelist []string |
A list of IP addresses to whitelist for dashboard access. |
(Appears on: ProviderConfig, TraefikConfig)
TraefikDeployment represents configuration options for the traefik deployment.
Field | Description |
---|---|
replicas int32 |
The number of traefik instances to run. |
version string |
The version of traefik to run, only >2.0 supported. Defaults to 2.2.0. |
annotations map[string]string |
Extra annotations to apply to the traefik service |
serviceType string |
The type of service to create for Traefik. Defaults to LoadBalancer. If using external SSL from a pre-existing ingress controller, you’ll want to set this to ClusterIP. |
accessLogs bool |
Set to true if you wish for traefik to produce access logs |
dashboard TraefikDashboard |
A configuration for the traefik dashboard |
resources Kubernetes core/v1.ResourceRequirements |
Resource restraints for the traefik deployment |
(Appears on: STFConfig)
TriproxyAppConfig represents configuration options for the triproxy app deployments
Field | Description |
---|---|
resources Kubernetes core/v1.ResourceRequirements |
The resource restraints for the app deployment |
(Appears on: STFConfig)
TriproxyDevConfig represents configuration options for the triproxy dev deployments
Field | Description |
---|---|
resources Kubernetes core/v1.ResourceRequirements |
The resource restraints for the app deployment |
(Appears on: AndroidDeviceConfigSpec)
Volume represents a volume configuration for the emulator.
Field | Description |
---|---|
volumePrefix string |
A prefix to apply to PVCs created for devices using this configuration. |
mountPoint string |
Where to mount the volume in emulator pods. |
pvcSpec Kubernetes core/v1.PersistentVolumeClaimSpec |
A PVC spec to use for creating the emulator volumes. |
(Appears on: STFConfig)
WebsocketConfig represents configuration options for the websocket deployments
Field | Description |
---|---|
resources Kubernetes core/v1.ResourceRequirements |
The resource restraints for the app deployment |
Generated with gen-crd-api-reference-docs
on git commit 9dc9099
.