API Reference
Packagesโ
| Package | Resource types |
|---|---|
skiperator.kartverket.no/v1alpha1 | Application Routing SKIPJob |
skiperator.kartverket.no/v1beta1 | SKIPJob |
Package skiperator.kartverket.no/v1alpha1โ
Resource types in this package:
Applicationโ
| Field | Value |
|---|---|
| Package | skiperator.kartverket.no/v1alpha1 |
| API version | skiperator.kartverket.no/v1alpha1 |
| Kind | Application |
Application
Root object for Application resource. An application resource is a resource for easily managing a Dockerized container within the context of a Kartverket cluster. This allows product teams to avoid the need to set up networking on the cluster, as well as a lot of out of the box security features.
| Name | Type | Description | Required |
|---|---|---|---|
| apiVersion | string | skiperator.kartverket.no/v1alpha1 | true |
| kind | string | Application | true |
| metadata | object | Refer to the Kubernetes API documentation for the fields of the metadata field. | true |
| spec | object | false | |
| status | object | ApplicationStatus is a specialized status specific to the Application kind. | false |
Application.specโ
Parent| Name | Type | Description | Required |
|---|---|---|---|
| image | string | The image the application will run. This image will be added to a Deployment resource | true |
| port | integer | The port the deployment exposes | true |
| accessPolicy | object | The root AccessPolicy for managing zero trust access to your Application. See AccessPolicy for more information. | false |
| additionalPorts | []object | An optional list of extra port to expose on a pod level basis, | false |
| appProtocol | enum | Protocol that the application speaks. Enum: http, tcp, udp | false |
| authorizationSettings | object | Used for allow listing certain default blocked endpoints, such as /actuator/ end points | false |
| command | []string | Override the command set in the Dockerfile. Usually only used when debugging | false |
| enablePDB | boolean | Whether to enable automatic Pod Disruption Budget creation for this application. Default: | false |
| env | []object | Environment variables that will be set inside the Deployment's Pod. See https://pkg.go.dev/k8s.io/api/core/v1#EnvVar for examples. | false |
| envFrom | []object | Environment variables mounted from files. When specified all the keys of the | false |
| filesFrom | []object | Mounting volumes into the Deployment are done using the FilesFrom argument | false |
| gcp | object | GCP is used to configure Google Cloud Platform specific settings for the application. | false |
| idporten | object | Settings for IDPorten integration with Digitaliseringsdirektoratet | false |
| ingresses | []string | Any external hostnames that route to this application. Using a skip.statkart.no-address | false |
| istioSettings | object | IstioSettings are used to configure istio specific resources such as telemetry. Currently, adjusting sampling Default: | false |
| labels | map[string]string | Labels can be used if you want every resource created by your application to | false |
| liveness | object | Liveness probes define a resource that returns 200 OK when the app is running | false |
| maskinporten | object | Settings for Maskinporten integration with Digitaliseringsdirektoratet | false |
| podSettings | object | PodSettings are used to apply specific settings to the Pod Template used by Skiperator to create Deployments. This allows you to set | false |
| priority | enum | An optional priority. Supported values are 'low', 'medium' and 'high'. Enum: low, medium, high | false |
| prometheus | object | Optional settings for how Prometheus compatible metrics should be scraped. | false |
| readiness | object | Readiness probes define a resource that returns 200 OK when the app is running | false |
| redirectToHTTPS | boolean | Controls whether the application will automatically redirect all HTTP calls to HTTPS via the istio VirtualService. Default: | false |
| replicas | JSON | The number of replicas can either be specified as a static number as follows: | false |
| resourceLabels | map[string]map[string]string | ResourceLabels can be used if you want to add a label to a specific resources created by | false |
| resources | object | ResourceRequirements to apply to the deployment. It's common to set some of these to | false |
| startup | object | Kubernetes uses startup probes to know when a container application has started. | false |
| stateful | object | Stateful, when set with enabled=true, generates a StatefulSet instead of a Deployment. | false |
| strategy | object | Defines an alternative strategy for the Kubernetes deployment. This is useful when | false |
| team | string | Team specifies the team who owns this particular app. | false |
Application.spec.accessPolicyโ
ParentThe root AccessPolicy for managing zero trust access to your Application. See AccessPolicy for more information.
| Name | Type | Description | Required |
|---|---|---|---|
| inbound | object | Inbound specifies the ingress rules. Which apps on the cluster can talk to this app? | false |
| outbound | object | Outbound specifies egress rules. Which apps on the cluster and the | false |
Application.spec.accessPolicy.inboundโ
ParentInbound specifies the ingress rules. Which apps on the cluster can talk to this app?
| Name | Type | Description | Required |
|---|---|---|---|
| rules | []object | The rules list specifies a list of applications. When no namespace is | true |
Application.spec.accessPolicy.inbound.rules[index]โ
ParentInternalRule
The rules list specifies a list of applications. When no namespace is specified it refers to an app in the current namespace. For apps in other namespaces, namespace is required.
| Name | Type | Description | Required |
|---|---|---|---|
| application | string | The name of the Application you are allowing traffic to/from. If you wish to allow traffic from a SKIPJob, this field should | true |
| namespace | string | The namespace in which the Application you are allowing traffic to/from resides. If unset, uses namespace of Application. | false |
| namespacesByLabel | map[string]string | Namespace label value-pair in which the Application you are allowing traffic to/from resides. If both namespace and namespacesByLabel are set, namespace takes precedence and namespacesByLabel is omitted. | false |
| ports | []object | The ports to allow for the above application. | false |
Application.spec.accessPolicy.inbound.rules[index].ports[index]โ
ParentNetworkPolicyPort describes a port to allow traffic on
| Name | Type | Description | Required |
|---|---|---|---|
| endPort | integer | endPort indicates that the range of ports from port to endPort if set, inclusive, Format: int32 | false |
| port | int or string | port represents the port on the given protocol. This can either be a numerical or named | false |
| protocol | string | protocol represents the protocol (TCP, UDP, or SCTP) which traffic must match. | false |
Application.spec.accessPolicy.outboundโ
ParentOutbound specifies egress rules. Which apps on the cluster and the internet is the Application allowed to send requests to?
| Name | Type | Description | Required |
|---|---|---|---|
| external | []object | External specifies which applications on the internet the application | false |
| rules | []object | Rules apply the same in-cluster rules as InboundPolicy | false |
Application.spec.accessPolicy.outbound.external[index]โ
ParentExternalRule
Describes a rule for allowing your Application to route traffic to external applications and hosts.
| Name | Type | Description | Required |
|---|---|---|---|
| host | string | The allowed hostname. Note that this does not include subdomains. | true |
| ip | string | Non-HTTP requests (i.e. using the TCP protocol) need to use IP in addition to hostname | false |
| ports | []object | The ports to allow for the above hostname. When not specified HTTP and | false |
Application.spec.accessPolicy.outbound.external[index].ports[index]โ
ParentExternalPort
A custom port describing an external host
| Name | Type | Description | Required |
|---|---|---|---|
| name | string | Name is required and is an arbitrary name. Must be unique within all ExternalRule ports. | true |
| port | integer | The port number of the external host | true |
| protocol | enum | The protocol to use for communication with the host. Supported protocols are: HTTP, HTTPS, TCP and TLS. Enum: HTTP, HTTPS, TCP, TLS | true |
Application.spec.accessPolicy.outbound.rules[index]โ
ParentInternalRule
The rules list specifies a list of applications. When no namespace is specified it refers to an app in the current namespace. For apps in other namespaces, namespace is required.
| Name | Type | Description | Required |
|---|---|---|---|
| application | string | The name of the Application you are allowing traffic to/from. If you wish to allow traffic from a SKIPJob, this field should | true |
| namespace | string | The namespace in which the Application you are allowing traffic to/from resides. If unset, uses namespace of Application. | false |
| namespacesByLabel | map[string]string | Namespace label value-pair in which the Application you are allowing traffic to/from resides. If both namespace and namespacesByLabel are set, namespace takes precedence and namespacesByLabel is omitted. | false |
| ports | []object | The ports to allow for the above application. | false |
Application.spec.accessPolicy.outbound.rules[index].ports[index]โ
ParentNetworkPolicyPort describes a port to allow traffic on
| Name | Type | Description | Required |
|---|---|---|---|
| endPort | integer | endPort indicates that the range of ports from port to endPort if set, inclusive, Format: int32 | false |
| port | int or string | port represents the port on the given protocol. This can either be a numerical or named | false |
| protocol | string | protocol represents the protocol (TCP, UDP, or SCTP) which traffic must match. | false |
Application.spec.additionalPorts[index]โ
Parent| Name | Type | Description | Required |
|---|---|---|---|
| name | string | true | |
| port | integer | Format: int32 | true |
| protocol | enum | Protocol defines network protocols supported for things like container ports. Enum: TCP, UDP, SCTP | true |
Application.spec.authorizationSettingsโ
ParentUsed for allow listing certain default blocked endpoints, such as /actuator/ end points
| Name | Type | Description | Required |
|---|---|---|---|
| allowAll | boolean | Allows all endpoints by not creating an AuthorizationPolicy, and ignores the content of AllowList. Default: | false |
| allowList | []string | Allows specific endpoints. Common endpoints one might want to allow include /actuator/health, /actuator/startup, /actuator/info. | false |
Application.spec.env[index]โ
ParentEnvVar represents an environment variable present in a Container.
| Name | Type | Description | Required |
|---|---|---|---|
| name | string | Name of the environment variable. | true |
| value | string | Variable references $(VAR_NAME) are expanded | false |
| valueFrom | object | Source for the environment variable's value. Cannot be used if value is not empty. | false |
Application.spec.env[index].valueFromโ
ParentSource for the environment variable's value. Cannot be used if value is not empty.
| Name | Type | Description | Required |
|---|---|---|---|
| configMapKeyRef | object | Selects a key of a ConfigMap. | false |
| fieldRef | object | Selects a field of the pod: supports metadata.name, metadata.namespace, | false |
| fileKeyRef | object | FileKeyRef selects a key of the env file. | false |
| resourceFieldRef | object | Selects a resource of the container: only resources limits and requests | false |
| secretKeyRef | object | Selects a key of a secret in the pod's namespace | false |
Application.spec.env[index].valueFrom.configMapKeyRefโ
ParentSelects a key of a ConfigMap.
| Name | Type | Description | Required |
|---|---|---|---|
| key | string | The key to select. | true |
| name | string | Name of the referent. Default: `` | false |
| optional | boolean | Specify whether the ConfigMap or its key must be defined | false |
Application.spec.env[index].valueFrom.fieldRefโ
ParentSelects a field of the pod: supports metadata.name, metadata.namespace, metadata.labels['<KEY>'], metadata.annotations['<KEY>'],
spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.
| Name | Type | Description | Required |
|---|---|---|---|
| fieldPath | string | Path of the field to select in the specified API version. | true |
| apiVersion | string | Version of the schema the FieldPath is written in terms of, defaults to "v1". | false |
Application.spec.env[index].valueFrom.fileKeyRefโ
ParentFileKeyRef selects a key of the env file. Requires the EnvFiles feature gate to be enabled.
| Name | Type | Description | Required |
|---|---|---|---|
| key | string | The key within the env file. An invalid key will prevent the pod from starting. | true |
| path | string | The path within the volume from which to select the file. | true |
| volumeName | string | The name of the volume mount containing the env file. | true |
| optional | boolean | Specify whether the file or its key must be defined. If the file or key Default: | false |
Application.spec.env[index].valueFrom.resourceFieldRefโ
ParentSelects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.
| Name | Type | Description | Required |
|---|---|---|---|
| resource | string | Required: resource to select | true |
| containerName | string | Container name: required for volumes, optional for env vars | false |
| divisor | int or string | Specifies the output format of the exposed resources, defaults to "1" | false |
Application.spec.env[index].valueFrom.secretKeyRefโ
ParentSelects a key of a secret in the pod's namespace
| Name | Type | Description | Required |
|---|---|---|---|
| key | string | The key of the secret to select from. Must be a valid secret key. | true |
| name | string | Name of the referent. Default: `` | false |
| optional | boolean | Specify whether the Secret or its key must be defined | false |
Application.spec.envFrom[index]โ
Parent| Name | Type | Description | Required |
|---|---|---|---|
| configMap | string | Name of Kubernetes ConfigMap in which the deployment should mount environment variables from. Must be in the same namespace as the Application | false |
| secret | string | Name of Kubernetes Secret in which the deployment should mount environment variables from. Must be in the same namespace as the Application | false |
Application.spec.filesFrom[index]โ
ParentFilesFrom
Struct representing information needed to mount a Kubernetes resource as a file to a Pod's directory. One of ConfigMap, Secret, EmptyDir or PersistentVolumeClaim must be present, and just represent the name of the resource in question NB. Out-of-the-box, skiperator provides a writable 'emptyDir'-volume at '/tmp'
| Name | Type | Description | Required |
|---|---|---|---|
| mountPath | string | The path to mount the file in the Pods directory. Required. | true |
| configMap | string | false | |
| defaultMode | integer | defaultMode is optional: mode bits used to set permissions on created files by default. | false |
| emptyDir | string | false | |
| persistentVolumeClaim | string | false | |
| secret | string | false |
Application.spec.gcpโ
ParentGCP is used to configure Google Cloud Platform specific settings for the application.
| Name | Type | Description | Required |
|---|---|---|---|
| auth | object | Configuration for authenticating a Pod with Google Cloud Platform | false |
| cloudSqlProxy | object | CloudSQL is used to deploy a CloudSQL proxy sidecar in the pod. | false |
Application.spec.gcp.authโ
ParentConfiguration for authenticating a Pod with Google Cloud Platform For authentication with GCP, to use services like Secret Manager and/or Pub/Sub we need to set the GCP Service Account Pods should identify as. To allow this, we need the IAM role iam.workloadIdentityUser set on a GCP service account and bind this to the Pod's Kubernetes SA. Documentation on how this is done can be found here (Closed Wiki): https://kartverket.atlassian.net/wiki/spaces/SKIPDOK/pages/422346824/Autentisering+mot+GCP+som+Kubernetes+SA
| Name | Type | Description | Required |
|---|---|---|---|
| serviceAccount | string | Name of the service account in which you are trying to authenticate your pod with | true |
Application.spec.gcp.cloudSqlProxyโ
ParentCloudSQL is used to deploy a CloudSQL proxy sidecar in the pod. This is useful for connecting to CloudSQL databases that require Cloud SQL Auth Proxy.
| Name | Type | Description | Required |
|---|---|---|---|
| connectionName | string | Connection name for the CloudSQL instance. Found in the Google Cloud Console under your CloudSQL resource. | true |
| ip | string | The IP address of the CloudSQL instance. This is used to create a serviceentry for the CloudSQL proxy. | true |
| serviceAccount | string | Service account used by cloudsql auth proxy. This service account must have the roles/cloudsql.client role. | true |
| publicIP | boolean | Default: | false |
| version | string | Image version for the CloudSQL proxy sidecar. | false |
Application.spec.idportenโ
ParentSettings for IDPorten integration with Digitaliseringsdirektoratet
| Name | Type | Description | Required |
|---|---|---|---|
| enabled | boolean | Whether to enable provisioning of an ID-porten client. | true |
| accessTokenLifetime | integer | AccessTokenLifetime is the lifetime in seconds for any issued access token from ID-porten. Minimum: 1 | false |
| clientName | string | The name of the Client as shown in Digitaliseringsdirektoratet's Samarbeidsportal | false |
| clientURI | string | ClientURI is the URL shown to the user at ID-porten when displaying a 'back' button or on errors. | false |
| frontchannelLogoutPath | string | FrontchannelLogoutPath is a valid path for your application where ID-porten sends a request to whenever the user has | false |
| integrationType | enum | IntegrationType is used to make sensible choices for your client. Enum: krr, idporten, api_klient | false |
| postLogoutRedirectPath | string | PostLogoutRedirectPath is a simpler verison of PostLogoutRedirectURIs | false |
| postLogoutRedirectURIs | []string | PostLogoutRedirectURIs are valid URIs that ID-porten will allow redirecting the end-user to after a single logout | false |
| redirectPath | string | RedirectPath is a valid path that ID-porten redirects back to after a successful authorization request. | false |
| requestAuthentication | object | RequestAuthentication specifies how incoming JWTs should be validated. | false |
| scopes | []string | Register different oauth2 Scopes on your client. | false |
| sessionLifetime | integer | SessionLifetime is the maximum lifetime in seconds for any given user's session in your application. Minimum: 3600 | false |
Application.spec.idporten.requestAuthenticationโ
ParentRequestAuthentication specifies how incoming JWTs should be validated.
| Name | Type | Description | Required |
|---|---|---|---|
| enabled | boolean | Whether to enable JWT validation. | true |
| forwardJwt | boolean | If set to Default: | false |
| ignorePaths | []string | IgnorePaths specifies paths that do not require an authenticated JWT. | false |
| outputClaimToHeaders | []object | This field specifies a list of operations to copy the claim to HTTP headers on a successfully verified token. | false |
| paths | []string | Paths specifies paths that require an authenticated JWT. | false |
| secretName | string | The name of the Kubernetes Secret containing OAuth2 credentials. | false |
| tokenLocation | enum | Where to find the JWT in the incoming request Enum: header, cookie | false |
Application.spec.idporten.requestAuthentication.outputClaimToHeaders[index]โ
Parent| Name | Type | Description | Required |
|---|---|---|---|
| claim | string | The claim to be copied. | true |
| header | string | The name of the HTTP header for which the specified claim will be copied to. | true |
Application.spec.istioSettingsโ
ParentIstioSettings are used to configure istio specific resources such as telemetry. Currently, adjusting sampling interval for tracing is the only supported option. By default, tracing is enabled with a random sampling percentage of 10%.
| Name | Type | Description | Required |
|---|---|---|---|
| retries | object | Retries is configurable automatic retries for requests towards the application. | false |
| telemetry | object | Telemetry is a placeholder for all relevant telemetry types, and may be extended in the future to configure additional telemetry settings. Default: | false |
Application.spec.istioSettings.retriesโ
ParentRetries is configurable automatic retries for requests towards the application. By default requests falling under: "connect-failure,refused-stream,unavailable,cancelled" will be retried.
| Name | Type | Description | Required |
|---|---|---|---|
| attempts | integer | Attempts is the number of retries to be allowed for a given request before giving up. The interval between retries will be determined automatically (25ms+). Format: int32 | false |
| perTryTimeout | string | PerTryTimeout is the timeout per attempt for a given request, including the initial call and any retries. Format: 1h/1m/1s/1ms. MUST be >=1ms. Format: duration | false |
| retryOnHttpResponseCodes | []int or string | RetryOnHttpResponseCodes HTTP response codes that should trigger a retry. A typical value is [503]. | false |
Application.spec.istioSettings.telemetryโ
ParentTelemetry is a placeholder for all relevant telemetry types, and may be extended in the future to configure additional telemetry settings.
| Name | Type | Description | Required |
|---|---|---|---|
| tracing | []object | Tracing is a list of tracing configurations for the telemetry resource. Normally only one tracing configuration is needed. Default: | false |
Application.spec.istioSettings.telemetry.tracing[index]โ
ParentTracing contains relevant settings for tracing in the telemetry configuration
| Name | Type | Description | Required |
|---|---|---|---|
| randomSamplingPercentage | integer | RandomSamplingPercentage is the percentage of requests that should be sampled for tracing, specified by a whole number between 0-100. Default: | false |
Application.spec.livenessโ
ParentLiveness probes define a resource that returns 200 OK when the app is running as intended. Returning a non-200 code will make kubernetes restart the app. Liveness is optional, but when provided, path and port are required
See Probe for structure definition.
| Name | Type | Description | Required |
|---|---|---|---|
| path | string | The path to access on the HTTP server | true |
| port | int or string | Number of the port to access on the container | true |
| failureThreshold | integer | Minimum consecutive failures for the probe to be considered failed after Format: int32 | false |
| initialDelay | integer | Delay sending the first probe by X seconds. Can be useful for applications that Format: int32 | false |
| period | integer | Number of seconds Kubernetes waits between each probe. Defaults to 10 seconds. Format: int32 | false |
| successThreshold | integer | Minimum consecutive successes for the probe to be considered successful after having failed. Format: int32 | false |
| timeout | integer | Number of seconds after which the probe times out. Defaults to 1 second. Format: int32 | false |
Application.spec.maskinportenโ
ParentSettings for Maskinporten integration with Digitaliseringsdirektoratet
| Name | Type | Description | Required |
|---|---|---|---|
| enabled | boolean | If enabled, provisions and configures a Maskinporten client with consumed scopes and/or Exposed scopes with DigDir. | true |
| clientName | string | The name of the Client as shown in Digitaliseringsdirektoratet's Samarbeidsportal | false |
| requestAuthentication | object | RequestAuthentication specifies how incoming JWTs should be validated. | false |
| scopes | object | Schema to configure Maskinporten clients with consumed scopes and/or exposed scopes. | false |
Application.spec.maskinporten.requestAuthenticationโ
ParentRequestAuthentication specifies how incoming JWTs should be validated.
| Name | Type | Description | Required |
|---|---|---|---|
| enabled | boolean | Whether to enable JWT validation. | true |
| forwardJwt | boolean | If set to Default: | false |
| ignorePaths | []string | IgnorePaths specifies paths that do not require an authenticated JWT. | false |
| outputClaimToHeaders | []object | This field specifies a list of operations to copy the claim to HTTP headers on a successfully verified token. | false |
| paths | []string | Paths specifies paths that require an authenticated JWT. | false |
| secretName | string | The name of the Kubernetes Secret containing OAuth2 credentials. | false |
| tokenLocation | enum | Where to find the JWT in the incoming request Enum: header, cookie | false |
Application.spec.maskinporten.requestAuthentication.outputClaimToHeaders[index]โ
Parent| Name | Type | Description | Required |
|---|---|---|---|
| claim | string | The claim to be copied. | true |
| header | string | The name of the HTTP header for which the specified claim will be copied to. | true |
Application.spec.maskinporten.scopesโ
ParentSchema to configure Maskinporten clients with consumed scopes and/or exposed scopes.
| Name | Type | Description | Required |
|---|---|---|---|
| consumes | []object | This is the Schema for the consumes and exposes API. | false |
| exposes | []object |
| false |
Application.spec.maskinporten.scopes.consumes[index]โ
Parent| Name | Type | Description | Required |
|---|---|---|---|
| name | string | The scope consumed by the application to gain access to an external organization API. | true |
Application.spec.maskinporten.scopes.exposes[index]โ
Parent| Name | Type | Description | Required |
|---|---|---|---|
| enabled | boolean | If Enabled the configured scope is available to be used and consumed by organizations granted access. | true |
| name | string | The actual subscope combined with | true |
| product | string | The product-area your application belongs to e.g. arbeid, helse ... | true |
| accessibleForAll | boolean | Allow any organization to access the scope. | false |
| allowedIntegrations | []string | Whitelisting of integration's allowed. | false |
| atMaxAge | integer | Max time in seconds for a issued access_token. Minimum: 30 | false |
| consumers | []object | External consumers granted access to this scope and able to request access_token. | false |
| delegationSource | enum | Delegation source for the scope. Default is empty, which means no delegation is allowed. Enum: altinn | false |
| separator | string | Separator is the character that separates | false |
| visibility | enum | Visibility controls the scope's visibility. Enum: private, public | false |
Application.spec.maskinporten.scopes.exposes[index].consumers[index]โ
Parent| Name | Type | Description | Required |
|---|---|---|---|
| orgno | string | The external business/organization number. | true |
| name | string | This is a describing field intended for clarity not used for any other purpose. | false |
Application.spec.podSettingsโ
ParentPodSettings are used to apply specific settings to the Pod Template used by Skiperator to create Deployments. This allows you to set things like annotations on the Pod to change the behaviour of sidecars, and set relevant Pod options such as TerminationGracePeriodSeconds.
| Name | Type | Description | Required |
|---|---|---|---|
| annotations | map[string]string | Annotations that are set on Pods created by Skiperator. These annotations can for example be used to change the behaviour of sidecars and similar. | false |
| disablePodSpreadTopologyConstraints | boolean | DisablePodSpreadTopologyConstraints specifies whether to disable the addition of Pod Topology Spread Constraints to Default: | false |
| terminationGracePeriodSeconds | integer | TerminationGracePeriodSeconds determines how long Kubernetes waits after a SIGTERM signal sent to a Pod before terminating the pod. If your application uses longer than Format: int64 | false |
Application.spec.prometheusโ
ParentOptional settings for how Prometheus compatible metrics should be scraped.
| Name | Type | Description | Required |
|---|---|---|---|
| port | int or string | The port number or name where metrics are exposed (at the Pod level). | true |
| allowAllMetrics | boolean | Setting AllowAllMetrics to true will ensure all exposed metrics are scraped. Otherwise, a list of predefined Default: | false |
| path | string | The HTTP path where Prometheus compatible metrics exists Default: | false |
| scrapeInterval | string | ScrapeInterval specifies the interval at which Prometheus should scrape the metrics. Default: | false |
Application.spec.readinessโ
ParentReadiness probes define a resource that returns 200 OK when the app is running as intended. Kubernetes will wait until the resource returns 200 OK before marking the pod as Running and progressing with the deployment strategy. Readiness is optional, but when provided, path and port are required
| Name | Type | Description | Required |
|---|---|---|---|
| path | string | The path to access on the HTTP server | true |
| port | int or string | Number of the port to access on the container | true |
| failureThreshold | integer | Minimum consecutive failures for the probe to be considered failed after Format: int32 | false |
| initialDelay | integer | Delay sending the first probe by X seconds. Can be useful for applications that Format: int32 | false |
| period | integer | Number of seconds Kubernetes waits between each probe. Defaults to 10 seconds. Format: int32 | false |
| successThreshold | integer | Minimum consecutive successes for the probe to be considered successful after having failed. Format: int32 | false |
| timeout | integer | Number of seconds after which the probe times out. Defaults to 1 second. Format: int32 | false |
Application.spec.resourcesโ
ParentResourceRequirements to apply to the deployment. It's common to set some of these to prevent the app from swelling in resource usage and consuming all the resources of other apps on the cluster.
| Name | Type | Description | Required |
|---|---|---|---|
| limits | map[string]int or string | Limits set the maximum the app is allowed to use. Exceeding this limit will | false |
| requests | map[string]int or string | Requests set the initial allocation that is done for the app and will | false |
Application.spec.startupโ
ParentKubernetes uses startup probes to know when a container application has started. If such a probe is configured, it disables liveness and readiness checks until it succeeds, making sure those probes don't interfere with the application startup. This can be used to adopt liveness checks on slow starting containers, avoiding them getting killed by Kubernetes before they are up and running. Startup is optional, but when provided, path and port are required
| Name | Type | Description | Required |
|---|---|---|---|
| path | string | The path to access on the HTTP server | true |
| port | int or string | Number of the port to access on the container | true |
| failureThreshold | integer | Minimum consecutive failures for the probe to be considered failed after Format: int32 | false |
| initialDelay | integer | Delay sending the first probe by X seconds. Can be useful for applications that Format: int32 | false |
| period | integer | Number of seconds Kubernetes waits between each probe. Defaults to 10 seconds. Format: int32 | false |
| successThreshold | integer | Minimum consecutive successes for the probe to be considered successful after having failed. Format: int32 | false |
| timeout | integer | Number of seconds after which the probe times out. Defaults to 1 second. Format: int32 | false |
Application.spec.statefulโ
ParentStateful, when set with enabled=true, generates a StatefulSet instead of a Deployment. Requires VolumeClaimTemplates. Disallows Strategy.Type=Recreate and HPA-range replicas. The enabled flag is immutable - delete and recreate the Application to change.
| Name | Type | Description | Required |
|---|---|---|---|
| enabled | boolean | When true, generates a StatefulSet instead of a Deployment. Default: | false |
| partition | integer | Staged rollouts - only pods with ordinal >= Partition are updated. Format: int32 | false |
| podManagementPolicy | enum | Controls pod creation and update order. OrderedReady creates pods one at a time, Parallel creates them simultaneously. Enum: OrderedReady, Parallel | false |
| pvcRetentionWhenDeleted | enum | PVC fate when the StatefulSet is deleted. Defaults to Retain. Enum: Retain, Delete | false |
| pvcRetentionWhenScaled | enum | PVC fate when the StatefulSet is scaled down. Defaults to Retain. Enum: Retain, Delete | false |
| volumeClaimTemplates | []object | Per-pod PersistentVolumeClaims provisioned by the StatefulSet controller. | false |
Application.spec.stateful.volumeClaimTemplates[index]โ
ParentVolumeClaimTemplate describes a per-pod PersistentVolumeClaim provisioned by the StatefulSet controller. Name serves as both the pod volume reference and the PVC prefix
| Name | Type | Description | Required |
|---|---|---|---|
| mountPath | string | Where the volume is mounted inside the container | true |
| name | string | Pod volume name and PVC name prefix. Resulting PVCs are named | true |
| spec | object | PVC spec | true |
| annotations | map[string]string | Optional annotations applied to PVCs | false |
| labels | map[string]string | Optional labels applied to PVCs | false |
| subPath | string | Subpath within the volume to mount instead of its root | false |
Application.spec.stateful.volumeClaimTemplates[index].specโ
ParentPVC spec
| Name | Type | Description | Required |
|---|---|---|---|
| accessModes | []string | accessModes contains the desired access modes the volume should have. | false |
| dataSource | object | dataSource field can be used to specify either: | false |
| dataSourceRef | object | dataSourceRef specifies the object from which to populate the volume with data, if a non-empty | false |
| resources | object | resources represents the minimum resources the volume should have. | false |
| selector | object | selector is a label query over volumes to consider for binding. | false |
| storageClassName | string | storageClassName is the name of the StorageClass required by the claim. | false |
| volumeAttributesClassName | string | volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim. | false |
| volumeMode | string | volumeMode defines what type of volume is required by the claim. | false |
| volumeName | string | volumeName is the binding reference to the PersistentVolume backing this claim. | false |
Application.spec.stateful.volumeClaimTemplates[index].spec.dataSourceโ
ParentdataSource field can be used to specify either:
- An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
- An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef, and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. If the namespace is specified, then dataSourceRef will not be copied to dataSource.
| Name | Type | Description | Required |
|---|---|---|---|
| kind | string | Kind is the type of resource being referenced | true |
| name | string | Name is the name of resource being referenced | true |
| apiGroup | string | APIGroup is the group for the resource being referenced. | false |
Application.spec.stateful.volumeClaimTemplates[index].spec.dataSourceRefโ
ParentdataSourceRef specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the dataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, when namespace isn't specified in dataSourceRef, both fields (dataSource and dataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. When namespace is specified in dataSourceRef, dataSource isn't set to the same value and must be empty. There are three important differences between dataSource and dataSourceRef:
- While dataSource only allows two specific types of objects, dataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects.
- While dataSource ignores disallowed values (dropping them), dataSourceRef preserves all values, and generates an error if a disallowed value is specified.
- While dataSource only allows local objects, dataSourceRef allows objects in any namespaces. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
| Name | Type | Description | Required |
|---|---|---|---|
| kind | string | Kind is the type of resource being referenced | true |
| name | string | Name is the name of resource being referenced | true |
| apiGroup | string | APIGroup is the group for the resource being referenced. | false |
| namespace | string | Namespace is the namespace of resource being referenced | false |
Application.spec.stateful.volumeClaimTemplates[index].spec.resourcesโ
Parentresources represents the minimum resources the volume should have. Users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
| Name | Type | Description | Required |
|---|---|---|---|
| limits | map[string]int or string | Limits describes the maximum amount of compute resources allowed. | false |
| requests | map[string]int or string | Requests describes the minimum amount of compute resources required. | false |
Application.spec.stateful.volumeClaimTemplates[index].spec.selectorโ
Parentselector is a label query over volumes to consider for binding.
| Name | Type | Description | Required |
|---|---|---|---|
| matchExpressions | []object | matchExpressions is a list of label selector requirements. The requirements are ANDed. | false |
| matchLabels | map[string]string | matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels | false |
Application.spec.stateful.volumeClaimTemplates[index].spec.selector.matchExpressions[index]โ
ParentA label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
| Name | Type | Description | Required |
|---|---|---|---|
| key | string | key is the label key that the selector applies to. | true |
| operator | string | operator represents a key's relationship to a set of values. | true |
| values | []string | values is an array of string values. If the operator is In or NotIn, | false |
Application.spec.strategyโ
ParentDefines an alternative strategy for the Kubernetes deployment. This is useful when the default strategy, RollingUpdate, is not usable. Setting type to Recreate will take down all the pods before starting new pods, whereas the default of RollingUpdate will try to start the new pods before taking down the old ones.
Valid values are: RollingUpdate, Recreate. Default is RollingUpdate
| Name | Type | Description | Required |
|---|---|---|---|
| type | enum | Valid values are: RollingUpdate, Recreate. Default is RollingUpdate Enum: RollingUpdate, Recreate | false |
Application.statusโ
ParentApplicationStatus is a specialized status specific to the Application kind.
| Name | Type | Description | Required |
|---|---|---|---|
| accessPolicies | string | Indicates if access policies are valid | true |
| conditions | []object | true | |
| subresources | map[string]object | true | |
| summary | object | Status | true |
| applicationKind | string | Kind generated for this Application after a successful reconcile. | false |
Application.status.conditions[index]โ
ParentCondition contains details for one aspect of the current state of this API Resource.
| Name | Type | Description | Required |
|---|---|---|---|
| lastTransitionTime | string | lastTransitionTime is the last time the condition transitioned from one status to another. Format: date-time | true |
| message | string | message is a human readable message indicating details about the transition. | true |
| reason | string | reason contains a programmatic identifier indicating the reason for the condition's last transition. | true |
| status | enum | status of the condition, one of True, False, Unknown. Enum: True, False, Unknown | true |
| type | string | type of condition in CamelCase or in foo.example.com/CamelCase. | true |
| observedGeneration | integer | observedGeneration represents the .metadata.generation that the condition was set based upon. Format: int64 | false |
Application.status.subresources[key]โ
ParentStatus
| Name | Type | Description | Required |
|---|---|---|---|
| message | string | Default: | true |
| status | string | Default: | true |
| timestamp | string | true |
Application.status.summaryโ
ParentStatus
| Name | Type | Description | Required |
|---|---|---|---|
| message | string | Default: | true |
| status | string | Default: | true |
| timestamp | string | true |
Routingโ
| Field | Value |
|---|---|
| Package | skiperator.kartverket.no/v1alpha1 |
| API version | skiperator.kartverket.no/v1alpha1 |
| Kind | Routing |
| Name | Type | Description | Required |
|---|---|---|---|
| apiVersion | string | skiperator.kartverket.no/v1alpha1 | true |
| kind | string | Routing | true |
| metadata | object | Refer to the Kubernetes API documentation for the fields of the metadata field. | true |
| spec | object | true | |
| status | object | SkiperatorStatus | false |
Routing.specโ
Parent| Name | Type | Description | Required |
|---|---|---|---|
| hostname | string | true | |
| routes | []object | true | |
| redirectToHTTPS | boolean | Default: | false |
Routing.spec.routes[index]โ
Parent| Name | Type | Description | Required |
|---|---|---|---|
| pathPrefix | string | true | |
| targetApp | string | true | |
| port | integer | Format: int32 | false |
| rewriteUri | boolean | Default: | false |
Routing.statusโ
ParentSkiperatorStatus
A status field shown on a Skiperator resource which contains information regarding deployment of the resource.
| Name | Type | Description | Required |
|---|---|---|---|
| accessPolicies | string | Indicates if access policies are valid | true |
| conditions | []object | true | |
| subresources | map[string]object | true | |
| summary | object | Status | true |
Routing.status.conditions[index]โ
ParentCondition contains details for one aspect of the current state of this API Resource.
| Name | Type | Description | Required |
|---|---|---|---|
| lastTransitionTime | string | lastTransitionTime is the last time the condition transitioned from one status to another. Format: date-time | true |
| message | string | message is a human readable message indicating details about the transition. | true |
| reason | string | reason contains a programmatic identifier indicating the reason for the condition's last transition. | true |
| status | enum | status of the condition, one of True, False, Unknown. Enum: True, False, Unknown | true |
| type | string | type of condition in CamelCase or in foo.example.com/CamelCase. | true |
| observedGeneration | integer | observedGeneration represents the .metadata.generation that the condition was set based upon. Format: int64 | false |
Routing.status.subresources[key]โ
ParentStatus
| Name | Type | Description | Required |
|---|---|---|---|
| message | string | Default: | true |
| status | string | Default: | true |
| timestamp | string | true |
Routing.status.summaryโ
ParentStatus
| Name | Type | Description | Required |
|---|---|---|---|
| message | string | Default: | true |
| status | string | Default: | true |
| timestamp | string | true |
SKIPJobโ
| Field | Value |
|---|---|
| Package | skiperator.kartverket.no/v1alpha1 |
| API version | skiperator.kartverket.no/v1alpha1 |
| Kind | SKIPJob |
SKIPJob is the deprecated schema for the SKIPJobs API. Please migrate to v1beta1.
| Name | Type | Description | Required |
|---|---|---|---|
| apiVersion | string | skiperator.kartverket.no/v1alpha1 | true |
| kind | string | SKIPJob | true |
| metadata | object | Refer to the Kubernetes API documentation for the fields of the metadata field. | true |
| spec | object | SKIPJobSpec defines the desired state of SKIPJob | true |
| status | object | SkiperatorStatus | false |
SKIPJob.specโ
ParentSKIPJobSpec defines the desired state of SKIPJob
A SKIPJob is either defined as a one-off or a scheduled job. If the Cron field is set for SKIPJob, it may not be removed. If the Cron field is unset, it may not be added. The Container field of a SKIPJob is only mutable if the Cron field is set. If unset, you must delete your SKIPJob to change container settings.
| Name | Type | Description | Required |
|---|---|---|---|
| container | object | Settings for the Pods running in the job. Fields are mostly the same as an Application, and are (probably) better documented there. Some fields are omitted, but none added. | true |
| cron | object | Settings for the Job if you are running a scheduled job. Optional as Jobs may be one-off. | false |
| istioSettings | object | IstioSettings are used to configure istio specific resources such as telemetry. Currently, adjusting sampling Default: | false |
| job | object | Settings for the actual Job. If you use a scheduled job, the settings in here will also specify the template of the job. | false |
| labels | map[string]string | Labels can be used if you want every resource created by your SKIPJob to | false |
| prometheus | object | Prometheus settings for pod running in job. Fields are identical to Application and if set, | false |
| team | string | Team specifies the team who owns this particular SKIPJob. | false |
SKIPJob.spec.containerโ
ParentSettings for the Pods running in the job. Fields are mostly the same as an Application, and are (probably) better documented there. Some fields are omitted, but none added. Once set, you may not change Container without deleting your current SKIPJob
| Name | Type | Description | Required |
|---|---|---|---|
| image | string | true | |
| accessPolicy | object | AccessPolicy | false |
| additionalPorts | []object | false | |
| command | []string | false | |
| env | []object | false | |
| envFrom | []object | false | |
| filesFrom | []object | false | |
| gcp | object | GCP | false |
| liveness | object | Probe | false |
| podSettings | object | PodSettings | false |
| priority | enum | Enum: low, medium, high | false |
| readiness | object | Probe | false |
| resources | object | ResourceRequirements | false |
| restartPolicy | enum | RestartPolicy describes how the container should be restarted. Enum: OnFailure, Never | false |
| startup | object | Probe | false |
SKIPJob.spec.container.accessPolicyโ
ParentAccessPolicy
Zero trust dictates that only applications with a reason for being able to access another resource should be able to reach it. This is set up by default by denying all ingress and egress traffic from the Pods in the Deployment. The AccessPolicy field is an allowlist of other applications and hostnames that are allowed to talk with this Application and which resources this app can talk to
| Name | Type | Description | Required |
|---|---|---|---|
| inbound | object | Inbound specifies the ingress rules. Which apps on the cluster can talk to this app? | false |
| outbound | object | Outbound specifies egress rules. Which apps on the cluster and the | false |
SKIPJob.spec.container.accessPolicy.inboundโ
ParentInbound specifies the ingress rules. Which apps on the cluster can talk to this app?
| Name | Type | Description | Required |
|---|---|---|---|
| rules | []object | The rules list specifies a list of applications. When no namespace is | true |
SKIPJob.spec.container.accessPolicy.inbound.rules[index]โ
ParentInternalRule
The rules list specifies a list of applications. When no namespace is specified it refers to an app in the current namespace. For apps in other namespaces, namespace is required.
| Name | Type | Description | Required |
|---|---|---|---|
| application | string | The name of the Application you are allowing traffic to/from. If you wish to allow traffic from a SKIPJob, this field should | true |
| namespace | string | The namespace in which the Application you are allowing traffic to/from resides. If unset, uses namespace of Application. | false |
| namespacesByLabel | map[string]string | Namespace label value-pair in which the Application you are allowing traffic to/from resides. If both namespace and namespacesByLabel are set, namespace takes precedence and namespacesByLabel is omitted. | false |
| ports | []object | The ports to allow for the above application. | false |
SKIPJob.spec.container.accessPolicy.inbound.rules[index].ports[index]โ
ParentNetworkPolicyPort describes a port to allow traffic on
| Name | Type | Description | Required |
|---|---|---|---|
| endPort | integer | endPort indicates that the range of ports from port to endPort if set, inclusive, Format: int32 | false |
| port | int or string | port represents the port on the given protocol. This can either be a numerical or named | false |
| protocol | string | protocol represents the protocol (TCP, UDP, or SCTP) which traffic must match. | false |
SKIPJob.spec.container.accessPolicy.outboundโ
ParentOutbound specifies egress rules. Which apps on the cluster and the internet is the Application allowed to send requests to?
| Name | Type | Description | Required |
|---|---|---|---|
| external | []object | External specifies which applications on the internet the application | false |
| rules | []object | Rules apply the same in-cluster rules as InboundPolicy | false |
SKIPJob.spec.container.accessPolicy.outbound.external[index]โ
ParentExternalRule
Describes a rule for allowing your Application to route traffic to external applications and hosts.
| Name | Type | Description | Required |
|---|---|---|---|
| host | string | The allowed hostname. Note that this does not include subdomains. | true |
| ip | string | Non-HTTP requests (i.e. using the TCP protocol) need to use IP in addition to hostname | false |
| ports | []object | The ports to allow for the above hostname. When not specified HTTP and | false |
SKIPJob.spec.container.accessPolicy.outbound.external[index].ports[index]โ
ParentExternalPort
A custom port describing an external host
| Name | Type | Description | Required |
|---|---|---|---|
| name | string | Name is required and is an arbitrary name. Must be unique within all ExternalRule ports. | true |
| port | integer | The port number of the external host | true |
| protocol | enum | The protocol to use for communication with the host. Supported protocols are: HTTP, HTTPS, TCP and TLS. Enum: HTTP, HTTPS, TCP, TLS | true |
SKIPJob.spec.container.accessPolicy.outbound.rules[index]โ
ParentInternalRule
The rules list specifies a list of applications. When no namespace is specified it refers to an app in the current namespace. For apps in other namespaces, namespace is required.
| Name | Type | Description | Required |
|---|---|---|---|
| application | string | The name of the Application you are allowing traffic to/from. If you wish to allow traffic from a SKIPJob, this field should | true |
| namespace | string | The namespace in which the Application you are allowing traffic to/from resides. If unset, uses namespace of Application. | false |
| namespacesByLabel | map[string]string | Namespace label value-pair in which the Application you are allowing traffic to/from resides. If both namespace and namespacesByLabel are set, namespace takes precedence and namespacesByLabel is omitted. | false |
| ports | []object | The ports to allow for the above application. | false |
SKIPJob.spec.container.accessPolicy.outbound.rules[index].ports[index]โ
ParentNetworkPolicyPort describes a port to allow traffic on
| Name | Type | Description | Required |
|---|---|---|---|
| endPort | integer | endPort indicates that the range of ports from port to endPort if set, inclusive, Format: int32 | false |
| port | int or string | port represents the port on the given protocol. This can either be a numerical or named | false |
| protocol | string | protocol represents the protocol (TCP, UDP, or SCTP) which traffic must match. | false |
SKIPJob.spec.container.additionalPorts[index]โ
Parent| Name | Type | Description | Required |
|---|---|---|---|
| name | string | true | |
| port | integer | Format: int32 | true |
| protocol | enum | Protocol defines network protocols supported for things like container ports. Enum: TCP, UDP, SCTP | true |
SKIPJob.spec.container.env[index]โ
ParentEnvVar represents an environment variable present in a Container.
| Name | Type | Description | Required |
|---|---|---|---|
| name | string | Name of the environment variable. | true |
| value | string | Variable references $(VAR_NAME) are expanded | false |
| valueFrom | object | Source for the environment variable's value. Cannot be used if value is not empty. | false |
SKIPJob.spec.container.env[index].valueFromโ
ParentSource for the environment variable's value. Cannot be used if value is not empty.
| Name | Type | Description | Required |
|---|---|---|---|
| configMapKeyRef | object | Selects a key of a ConfigMap. | false |
| fieldRef | object | Selects a field of the pod: supports metadata.name, metadata.namespace, | false |
| fileKeyRef | object | FileKeyRef selects a key of the env file. | false |
| resourceFieldRef | object | Selects a resource of the container: only resources limits and requests | false |
| secretKeyRef | object | Selects a key of a secret in the pod's namespace | false |
SKIPJob.spec.container.env[index].valueFrom.configMapKeyRefโ
ParentSelects a key of a ConfigMap.
| Name | Type | Description | Required |
|---|---|---|---|
| key | string | The key to select. | true |
| name | string | Name of the referent. Default: `` | false |
| optional | boolean | Specify whether the ConfigMap or its key must be defined | false |
SKIPJob.spec.container.env[index].valueFrom.fieldRefโ
ParentSelects a field of the pod: supports metadata.name, metadata.namespace, metadata.labels['<KEY>'], metadata.annotations['<KEY>'],
spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.
| Name | Type | Description | Required |
|---|---|---|---|
| fieldPath | string | Path of the field to select in the specified API version. | true |
| apiVersion | string | Version of the schema the FieldPath is written in terms of, defaults to "v1". | false |
SKIPJob.spec.container.env[index].valueFrom.fileKeyRefโ
ParentFileKeyRef selects a key of the env file. Requires the EnvFiles feature gate to be enabled.
| Name | Type | Description | Required |
|---|---|---|---|
| key | string | The key within the env file. An invalid key will prevent the pod from starting. | true |
| path | string | The path within the volume from which to select the file. | true |
| volumeName | string | The name of the volume mount containing the env file. | true |
| optional | boolean | Specify whether the file or its key must be defined. If the file or key Default: | false |
SKIPJob.spec.container.env[index].valueFrom.resourceFieldRefโ
ParentSelects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.
| Name | Type | Description | Required |
|---|---|---|---|
| resource | string | Required: resource to select | true |
| containerName | string | Container name: required for volumes, optional for env vars | false |
| divisor | int or string | Specifies the output format of the exposed resources, defaults to "1" | false |
SKIPJob.spec.container.env[index].valueFrom.secretKeyRefโ
ParentSelects a key of a secret in the pod's namespace
| Name | Type | Description | Required |
|---|---|---|---|
| key | string | The key of the secret to select from. Must be a valid secret key. | true |
| name | string | Name of the referent. Default: `` | false |
| optional | boolean | Specify whether the Secret or its key must be defined | false |
SKIPJob.spec.container.envFrom[index]โ
Parent| Name | Type | Description | Required |
|---|---|---|---|
| configMap | string | Name of Kubernetes ConfigMap in which the deployment should mount environment variables from. Must be in the same namespace as the Application | false |
| secret | string | Name of Kubernetes Secret in which the deployment should mount environment variables from. Must be in the same namespace as the Application | false |
SKIPJob.spec.container.filesFrom[index]โ
ParentFilesFrom
Struct representing information needed to mount a Kubernetes resource as a file to a Pod's directory. One of ConfigMap, Secret, EmptyDir or PersistentVolumeClaim must be present, and just represent the name of the resource in question NB. Out-of-the-box, skiperator provides a writable 'emptyDir'-volume at '/tmp'
| Name | Type | Description | Required |
|---|---|---|---|
| mountPath | string | The path to mount the file in the Pods directory. Required. | true |
| configMap | string | false | |
| defaultMode | integer | defaultMode is optional: mode bits used to set permissions on created files by default. | false |
| emptyDir | string | false | |
| persistentVolumeClaim | string | false | |
| secret | string | false |
SKIPJob.spec.container.gcpโ
ParentGCP
Configuration for interacting with Google Cloud Platform
| Name | Type | Description | Required |
|---|---|---|---|
| auth | object | Configuration for authenticating a Pod with Google Cloud Platform | false |
| cloudSqlProxy | object | CloudSQL is used to deploy a CloudSQL proxy sidecar in the pod. | false |
SKIPJob.spec.container.gcp.authโ
ParentConfiguration for authenticating a Pod with Google Cloud Platform For authentication with GCP, to use services like Secret Manager and/or Pub/Sub we need to set the GCP Service Account Pods should identify as. To allow this, we need the IAM role iam.workloadIdentityUser set on a GCP service account and bind this to the Pod's Kubernetes SA. Documentation on how this is done can be found here (Closed Wiki): https://kartverket.atlassian.net/wiki/spaces/SKIPDOK/pages/422346824/Autentisering+mot+GCP+som+Kubernetes+SA
| Name | Type | Description | Required |
|---|---|---|---|
| serviceAccount | string | Name of the service account in which you are trying to authenticate your pod with | true |
SKIPJob.spec.container.gcp.cloudSqlProxyโ
ParentCloudSQL is used to deploy a CloudSQL proxy sidecar in the pod. This is useful for connecting to CloudSQL databases that require Cloud SQL Auth Proxy.
| Name | Type | Description | Required |
|---|---|---|---|
| connectionName | string | Connection name for the CloudSQL instance. Found in the Google Cloud Console under your CloudSQL resource. | true |
| ip | string | The IP address of the CloudSQL instance. This is used to create a serviceentry for the CloudSQL proxy. | true |
| serviceAccount | string | Service account used by cloudsql auth proxy. This service account must have the roles/cloudsql.client role. | true |
| publicIP | boolean | Default: | false |
| version | string | Image version for the CloudSQL proxy sidecar. | false |
SKIPJob.spec.container.livenessโ
ParentProbe
Type configuration for all types of Kubernetes probes.
| Name | Type | Description | Required |
|---|---|---|---|
| path | string | The path to access on the HTTP server | true |
| port | int or string | Number of the port to access on the container | true |
| failureThreshold | integer | Minimum consecutive failures for the probe to be considered failed after Format: int32 | false |
| initialDelay | integer | Delay sending the first probe by X seconds. Can be useful for applications that Format: int32 | false |
| period | integer | Number of seconds Kubernetes waits between each probe. Defaults to 10 seconds. Format: int32 | false |
| successThreshold | integer | Minimum consecutive successes for the probe to be considered successful after having failed. Format: int32 | false |
| timeout | integer | Number of seconds after which the probe times out. Defaults to 1 second. Format: int32 | false |
SKIPJob.spec.container.podSettingsโ
ParentPodSettings
| Name | Type | Description | Required |
|---|---|---|---|
| annotations | map[string]string | Annotations that are set on Pods created by Skiperator. These annotations can for example be used to change the behaviour of sidecars and similar. | false |
| disablePodSpreadTopologyConstraints | boolean | DisablePodSpreadTopologyConstraints specifies whether to disable the addition of Pod Topology Spread Constraints to Default: | false |
| terminationGracePeriodSeconds | integer | TerminationGracePeriodSeconds determines how long Kubernetes waits after a SIGTERM signal sent to a Pod before terminating the pod. If your application uses longer than Format: int64 | false |
SKIPJob.spec.container.readinessโ
ParentProbe
Type configuration for all types of Kubernetes probes.
| Name | Type | Description | Required |
|---|---|---|---|
| path | string | The path to access on the HTTP server | true |
| port | int or string | Number of the port to access on the container | true |
| failureThreshold | integer | Minimum consecutive failures for the probe to be considered failed after Format: int32 | false |
| initialDelay | integer | Delay sending the first probe by X seconds. Can be useful for applications that Format: int32 | false |
| period | integer | Number of seconds Kubernetes waits between each probe. Defaults to 10 seconds. Format: int32 | false |
| successThreshold | integer | Minimum consecutive successes for the probe to be considered successful after having failed. Format: int32 | false |
| timeout | integer | Number of seconds after which the probe times out. Defaults to 1 second. Format: int32 | false |
SKIPJob.spec.container.resourcesโ
ParentResourceRequirements
A simplified version of the Kubernetes native ResourceRequirement field, in which only Limits and Requests are present. For the units used for resources, see https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#resource-units-in-kubernetes
| Name | Type | Description | Required |
|---|---|---|---|
| limits | map[string]int or string | Limits set the maximum the app is allowed to use. Exceeding this limit will | false |
| requests | map[string]int or string | Requests set the initial allocation that is done for the app and will | false |
SKIPJob.spec.container.startupโ
ParentProbe
Type configuration for all types of Kubernetes probes.
| Name | Type | Description | Required |
|---|---|---|---|
| path | string | The path to access on the HTTP server | true |
| port | int or string | Number of the port to access on the container | true |
| failureThreshold | integer | Minimum consecutive failures for the probe to be considered failed after Format: int32 | false |
| initialDelay | integer | Delay sending the first probe by X seconds. Can be useful for applications that Format: int32 | false |
| period | integer | Number of seconds Kubernetes waits between each probe. Defaults to 10 seconds. Format: int32 | false |
| successThreshold | integer | Minimum consecutive successes for the probe to be considered successful after having failed. Format: int32 | false |
| timeout | integer | Number of seconds after which the probe times out. Defaults to 1 second. Format: int32 | false |
SKIPJob.spec.cronโ
ParentSettings for the Job if you are running a scheduled job. Optional as Jobs may be one-off.
| Name | Type | Description | Required |
|---|---|---|---|
| schedule | string | A CronJob string for denoting the schedule of this job. See https://crontab.guru/ for help creating CronJob strings. | true |
| allowConcurrency | enum | Denotes how Kubernetes should react to multiple instances of the Job being started at the same time. Enum: Allow, Forbid, Replace | false |
| startingDeadlineSeconds | integer | Denotes the deadline in seconds for starting a job on its schedule, if for some reason the Job's controller was not ready upon the scheduled time. Format: int64 | false |
| suspend | boolean | If set to true, this tells Kubernetes to suspend this Job till the field is set to false. If the Job is active while this field is set to true, | false |
| timeZone | string | The time zone name for the given schedule, see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones. If not specified, | false |
SKIPJob.spec.istioSettingsโ
ParentIstioSettings are used to configure istio specific resources such as telemetry. Currently, adjusting sampling interval for tracing is the only supported option. By default, tracing is enabled with a random sampling percentage of 10%.
| Name | Type | Description | Required |
|---|---|---|---|
| telemetry | object | Telemetry is a placeholder for all relevant telemetry types, and may be extended in the future to configure additional telemetry settings. Default: | false |
SKIPJob.spec.istioSettings.telemetryโ
ParentTelemetry is a placeholder for all relevant telemetry types, and may be extended in the future to configure additional telemetry settings.
| Name | Type | Description | Required |
|---|---|---|---|
| tracing | []object | Tracing is a list of tracing configurations for the telemetry resource. Normally only one tracing configuration is needed. Default: | false |
SKIPJob.spec.istioSettings.telemetry.tracing[index]โ
ParentTracing contains relevant settings for tracing in the telemetry configuration
| Name | Type | Description | Required |
|---|---|---|---|
| randomSamplingPercentage | integer | RandomSamplingPercentage is the percentage of requests that should be sampled for tracing, specified by a whole number between 0-100. Default: | false |
SKIPJob.spec.jobโ
ParentSettings for the actual Job. If you use a scheduled job, the settings in here will also specify the template of the job.
| Name | Type | Description | Required |
|---|---|---|---|
| activeDeadlineSeconds | integer | ActiveDeadlineSeconds denotes a duration in seconds started from when the job is first active. If the deadline is reached during the job's workload Format: int64 | false |
| backoffLimit | integer | Specifies the number of retry attempts before determining the job as failed. Defaults to 6. Format: int32 | false |
| suspend | boolean | If set to true, this tells Kubernetes to suspend this Job till the field is set to false. If the Job is active while this field is set to false, | false |
| ttlSecondsAfterFinished | integer | The number of seconds to wait before removing the Job after it has finished. If unset, Job will not be cleaned up. Format: int32 | false |
SKIPJob.spec.prometheusโ
ParentPrometheus settings for pod running in job. Fields are identical to Application and if set, a podmonitoring object is created.
| Name | Type | Description | Required |
|---|---|---|---|
| port | int or string | The port number or name where metrics are exposed (at the Pod level). | true |
| allowAllMetrics | boolean | Setting AllowAllMetrics to true will ensure all exposed metrics are scraped. Otherwise, a list of predefined Default: | false |
| path | string | The HTTP path where Prometheus compatible metrics exists Default: | false |
| scrapeInterval | string | ScrapeInterval specifies the interval at which Prometheus should scrape the metrics. Default: | false |
SKIPJob.statusโ
ParentSkiperatorStatus
A status field shown on a Skiperator resource which contains information regarding deployment of the resource.
| Name | Type | Description | Required |
|---|---|---|---|
| accessPolicies | string | Indicates if access policies are valid | true |
| conditions | []object | true | |
| subresources | map[string]object | true | |
| summary | object | Status | true |
SKIPJob.status.conditions[index]โ
ParentCondition contains details for one aspect of the current state of this API Resource.
| Name | Type | Description | Required |
|---|---|---|---|
| lastTransitionTime | string | lastTransitionTime is the last time the condition transitioned from one status to another. Format: date-time | true |
| message | string | message is a human readable message indicating details about the transition. | true |
| reason | string | reason contains a programmatic identifier indicating the reason for the condition's last transition. | true |
| status | enum | status of the condition, one of True, False, Unknown. Enum: True, False, Unknown | true |
| type | string | type of condition in CamelCase or in foo.example.com/CamelCase. | true |
| observedGeneration | integer | observedGeneration represents the .metadata.generation that the condition was set based upon. Format: int64 | false |
SKIPJob.status.subresources[key]โ
ParentStatus
| Name | Type | Description | Required |
|---|---|---|---|
| message | string | Default: | true |
| status | string | Default: | true |
| timestamp | string | true |
SKIPJob.status.summaryโ
ParentStatus
| Name | Type | Description | Required |
|---|---|---|---|
| message | string | Default: | true |
| status | string | Default: | true |
| timestamp | string | true |
Package skiperator.kartverket.no/v1beta1โ
Resource types in this package:
SKIPJobโ
| Field | Value |
|---|---|
| Package | skiperator.kartverket.no/v1beta1 |
| API version | skiperator.kartverket.no/v1beta1 |
| Kind | SKIPJob |
SKIPJob is the supported schema for the SKIPJobs API.
| Name | Type | Description | Required |
|---|---|---|---|
| apiVersion | string | skiperator.kartverket.no/v1beta1 | true |
| kind | string | SKIPJob | true |
| metadata | object | Refer to the Kubernetes API documentation for the fields of the metadata field. | true |
| spec | object | SKIPJobSpec defines the desired state of SKIPJob | true |
| status | object | SkiperatorStatus | false |
SKIPJob.specโ
ParentSKIPJobSpec defines the desired state of SKIPJob
A SKIPJob is either defined as a one-off or a scheduled job. If the Cron field is set for SKIPJob, it may not be removed. If the Cron field is unset, it may not be added.
| Name | Type | Description | Required |
|---|---|---|---|
| image | string | true | |
| accessPolicy | object | AccessPolicy | false |
| additionalPorts | []object | false | |
| command | []string | false | |
| cron | object | Settings for the Job if you are running a scheduled job. Optional as Jobs may be one-off. | false |
| env | []object | false | |
| envFrom | []object | false | |
| filesFrom | []object | false | |
| gcp | object | GCP | false |
| istioSettings | object | IstioSettings are used to configure istio specific resources such as telemetry. Currently, adjusting sampling Default: | false |
| job | object | Settings for the actual Job. If you use a scheduled job, the settings in here will also specify the template of the job. | false |
| labels | map[string]string | Labels can be used if you want every resource created by your SKIPJob to | false |
| liveness | object | Probe | false |
| podSettings | object | PodSettings | false |
| priority | enum | Enum: low, medium, high | false |
| prometheus | object | Prometheus settings for pod running in job. Fields are identical to Application and if set, | false |
| readiness | object | Probe | false |
| resources | object | ResourceRequirements | false |
| restartPolicy | enum | RestartPolicy describes how the container should be restarted. Enum: OnFailure, Never | false |
| startup | object | Probe | false |
| team | string | Team specifies the team who owns this particular SKIPJob. | false |
SKIPJob.spec.accessPolicyโ
ParentAccessPolicy
Zero trust dictates that only applications with a reason for being able to access another resource should be able to reach it. This is set up by default by denying all ingress and egress traffic from the Pods in the Deployment. The AccessPolicy field is an allowlist of other applications and hostnames that are allowed to talk with this Application and which resources this app can talk to
| Name | Type | Description | Required |
|---|---|---|---|
| inbound | object | Inbound specifies the ingress rules. Which apps on the cluster can talk to this app? | false |
| outbound | object | Outbound specifies egress rules. Which apps on the cluster and the | false |
SKIPJob.spec.accessPolicy.inboundโ
ParentInbound specifies the ingress rules. Which apps on the cluster can talk to this app?
| Name | Type | Description | Required |
|---|---|---|---|
| rules | []object | The rules list specifies a list of applications. When no namespace is | true |
SKIPJob.spec.accessPolicy.inbound.rules[index]โ
ParentInternalRule
The rules list specifies a list of applications. When no namespace is specified it refers to an app in the current namespace. For apps in other namespaces, namespace is required.
| Name | Type | Description | Required |
|---|---|---|---|
| application | string | The name of the Application you are allowing traffic to/from. If you wish to allow traffic from a SKIPJob, this field should | true |
| namespace | string | The namespace in which the Application you are allowing traffic to/from resides. If unset, uses namespace of Application. | false |
| namespacesByLabel | map[string]string | Namespace label value-pair in which the Application you are allowing traffic to/from resides. If both namespace and namespacesByLabel are set, namespace takes precedence and namespacesByLabel is omitted. | false |
| ports | []object | The ports to allow for the above application. | false |
SKIPJob.spec.accessPolicy.inbound.rules[index].ports[index]โ
ParentNetworkPolicyPort describes a port to allow traffic on
| Name | Type | Description | Required |
|---|---|---|---|
| endPort | integer | endPort indicates that the range of ports from port to endPort if set, inclusive, Format: int32 | false |
| port | int or string | port represents the port on the given protocol. This can either be a numerical or named | false |
| protocol | string | protocol represents the protocol (TCP, UDP, or SCTP) which traffic must match. | false |
SKIPJob.spec.accessPolicy.outboundโ
ParentOutbound specifies egress rules. Which apps on the cluster and the internet is the Application allowed to send requests to?
| Name | Type | Description | Required |
|---|---|---|---|
| external | []object | External specifies which applications on the internet the application | false |
| rules | []object | Rules apply the same in-cluster rules as InboundPolicy | false |
SKIPJob.spec.accessPolicy.outbound.external[index]โ
ParentExternalRule
Describes a rule for allowing your Application to route traffic to external applications and hosts.
| Name | Type | Description | Required |
|---|---|---|---|
| host | string | The allowed hostname. Note that this does not include subdomains. | true |
| ip | string | Non-HTTP requests (i.e. using the TCP protocol) need to use IP in addition to hostname | false |
| ports | []object | The ports to allow for the above hostname. When not specified HTTP and | false |
SKIPJob.spec.accessPolicy.outbound.external[index].ports[index]โ
ParentExternalPort
A custom port describing an external host
| Name | Type | Description | Required |
|---|---|---|---|
| name | string | Name is required and is an arbitrary name. Must be unique within all ExternalRule ports. | true |
| port | integer | The port number of the external host | true |
| protocol | enum | The protocol to use for communication with the host. Supported protocols are: HTTP, HTTPS, TCP and TLS. Enum: HTTP, HTTPS, TCP, TLS | true |
SKIPJob.spec.accessPolicy.outbound.rules[index]โ
ParentInternalRule
The rules list specifies a list of applications. When no namespace is specified it refers to an app in the current namespace. For apps in other namespaces, namespace is required.
| Name | Type | Description | Required |
|---|---|---|---|
| application | string | The name of the Application you are allowing traffic to/from. If you wish to allow traffic from a SKIPJob, this field should | true |
| namespace | string | The namespace in which the Application you are allowing traffic to/from resides. If unset, uses namespace of Application. | false |
| namespacesByLabel | map[string]string | Namespace label value-pair in which the Application you are allowing traffic to/from resides. If both namespace and namespacesByLabel are set, namespace takes precedence and namespacesByLabel is omitted. | false |
| ports | []object | The ports to allow for the above application. | false |
SKIPJob.spec.accessPolicy.outbound.rules[index].ports[index]โ
ParentNetworkPolicyPort describes a port to allow traffic on
| Name | Type | Description | Required |
|---|---|---|---|
| endPort | integer | endPort indicates that the range of ports from port to endPort if set, inclusive, Format: int32 | false |
| port | int or string | port represents the port on the given protocol. This can either be a numerical or named | false |
| protocol | string | protocol represents the protocol (TCP, UDP, or SCTP) which traffic must match. | false |
SKIPJob.spec.additionalPorts[index]โ
Parent| Name | Type | Description | Required |
|---|---|---|---|
| name | string | true | |
| port | integer | Format: int32 | true |
| protocol | enum | Protocol defines network protocols supported for things like container ports. Enum: TCP, UDP, SCTP | true |
SKIPJob.spec.cronโ
ParentSettings for the Job if you are running a scheduled job. Optional as Jobs may be one-off.
| Name | Type | Description | Required |
|---|---|---|---|
| schedule | string | A CronJob string for denoting the schedule of this job. See https://crontab.guru/ for help creating CronJob strings. | true |
| allowConcurrency | enum | Denotes how Kubernetes should react to multiple instances of the Job being started at the same time. Enum: Allow, Forbid, Replace | false |
| startingDeadlineSeconds | integer | Denotes the deadline in seconds for starting a job on its schedule, if for some reason the Job's controller was not ready upon the scheduled time. Format: int64 | false |
| suspend | boolean | If set to true, this tells Kubernetes to suspend this Job till the field is set to false. If the Job is active while this field is set to true, | false |
| timeZone | string | The time zone name for the given schedule, see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones. If not specified, | false |
SKIPJob.spec.env[index]โ
ParentEnvVar represents an environment variable present in a Container.
| Name | Type | Description | Required |
|---|---|---|---|
| name | string | Name of the environment variable. | true |
| value | string | Variable references $(VAR_NAME) are expanded | false |
| valueFrom | object | Source for the environment variable's value. Cannot be used if value is not empty. | false |
SKIPJob.spec.env[index].valueFromโ
ParentSource for the environment variable's value. Cannot be used if value is not empty.
| Name | Type | Description | Required |
|---|---|---|---|
| configMapKeyRef | object | Selects a key of a ConfigMap. | false |
| fieldRef | object | Selects a field of the pod: supports metadata.name, metadata.namespace, | false |
| fileKeyRef | object | FileKeyRef selects a key of the env file. | false |
| resourceFieldRef | object | Selects a resource of the container: only resources limits and requests | false |
| secretKeyRef | object | Selects a key of a secret in the pod's namespace | false |
SKIPJob.spec.env[index].valueFrom.configMapKeyRefโ
ParentSelects a key of a ConfigMap.
| Name | Type | Description | Required |
|---|---|---|---|
| key | string | The key to select. | true |
| name | string | Name of the referent. Default: `` | false |
| optional | boolean | Specify whether the ConfigMap or its key must be defined | false |
SKIPJob.spec.env[index].valueFrom.fieldRefโ
ParentSelects a field of the pod: supports metadata.name, metadata.namespace, metadata.labels['<KEY>'], metadata.annotations['<KEY>'],
spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.
| Name | Type | Description | Required |
|---|---|---|---|
| fieldPath | string | Path of the field to select in the specified API version. | true |
| apiVersion | string | Version of the schema the FieldPath is written in terms of, defaults to "v1". | false |
SKIPJob.spec.env[index].valueFrom.fileKeyRefโ
ParentFileKeyRef selects a key of the env file. Requires the EnvFiles feature gate to be enabled.
| Name | Type | Description | Required |
|---|---|---|---|
| key | string | The key within the env file. An invalid key will prevent the pod from starting. | true |
| path | string | The path within the volume from which to select the file. | true |
| volumeName | string | The name of the volume mount containing the env file. | true |
| optional | boolean | Specify whether the file or its key must be defined. If the file or key Default: | false |
SKIPJob.spec.env[index].valueFrom.resourceFieldRefโ
ParentSelects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.
| Name | Type | Description | Required |
|---|---|---|---|
| resource | string | Required: resource to select | true |
| containerName | string | Container name: required for volumes, optional for env vars | false |
| divisor | int or string | Specifies the output format of the exposed resources, defaults to "1" | false |
SKIPJob.spec.env[index].valueFrom.secretKeyRefโ
ParentSelects a key of a secret in the pod's namespace
| Name | Type | Description | Required |
|---|---|---|---|
| key | string | The key of the secret to select from. Must be a valid secret key. | true |
| name | string | Name of the referent. Default: `` | false |
| optional | boolean | Specify whether the Secret or its key must be defined | false |
SKIPJob.spec.envFrom[index]โ
Parent| Name | Type | Description | Required |
|---|---|---|---|
| configMap | string | Name of Kubernetes ConfigMap in which the deployment should mount environment variables from. Must be in the same namespace as the Application | false |
| secret | string | Name of Kubernetes Secret in which the deployment should mount environment variables from. Must be in the same namespace as the Application | false |
SKIPJob.spec.filesFrom[index]โ
ParentFilesFrom
Struct representing information needed to mount a Kubernetes resource as a file to a Pod's directory. One of ConfigMap, Secret, EmptyDir or PersistentVolumeClaim must be present, and just represent the name of the resource in question NB. Out-of-the-box, skiperator provides a writable 'emptyDir'-volume at '/tmp'
| Name | Type | Description | Required |
|---|---|---|---|
| mountPath | string | The path to mount the file in the Pods directory. Required. | true |
| configMap | string | false | |
| defaultMode | integer | defaultMode is optional: mode bits used to set permissions on created files by default. | false |
| emptyDir | string | false | |
| persistentVolumeClaim | string | false | |
| secret | string | false |
SKIPJob.spec.gcpโ
ParentGCP
Configuration for interacting with Google Cloud Platform
| Name | Type | Description | Required |
|---|---|---|---|
| auth | object | Configuration for authenticating a Pod with Google Cloud Platform | false |
| cloudSqlProxy | object | CloudSQL is used to deploy a CloudSQL proxy sidecar in the pod. | false |
SKIPJob.spec.gcp.authโ
ParentConfiguration for authenticating a Pod with Google Cloud Platform For authentication with GCP, to use services like Secret Manager and/or Pub/Sub we need to set the GCP Service Account Pods should identify as. To allow this, we need the IAM role iam.workloadIdentityUser set on a GCP service account and bind this to the Pod's Kubernetes SA. Documentation on how this is done can be found here (Closed Wiki): https://kartverket.atlassian.net/wiki/spaces/SKIPDOK/pages/422346824/Autentisering+mot+GCP+som+Kubernetes+SA
| Name | Type | Description | Required |
|---|---|---|---|
| serviceAccount | string | Name of the service account in which you are trying to authenticate your pod with | true |
SKIPJob.spec.gcp.cloudSqlProxyโ
ParentCloudSQL is used to deploy a CloudSQL proxy sidecar in the pod. This is useful for connecting to CloudSQL databases that require Cloud SQL Auth Proxy.
| Name | Type | Description | Required |
|---|---|---|---|
| connectionName | string | Connection name for the CloudSQL instance. Found in the Google Cloud Console under your CloudSQL resource. | true |
| ip | string | The IP address of the CloudSQL instance. This is used to create a serviceentry for the CloudSQL proxy. | true |
| serviceAccount | string | Service account used by cloudsql auth proxy. This service account must have the roles/cloudsql.client role. | true |
| publicIP | boolean | Default: | false |
| version | string | Image version for the CloudSQL proxy sidecar. | false |
SKIPJob.spec.istioSettingsโ
ParentIstioSettings are used to configure istio specific resources such as telemetry. Currently, adjusting sampling interval for tracing is the only supported option. By default, tracing is enabled with a random sampling percentage of 10%.
| Name | Type | Description | Required |
|---|---|---|---|
| telemetry | object | Telemetry is a placeholder for all relevant telemetry types, and may be extended in the future to configure additional telemetry settings. Default: | false |
SKIPJob.spec.istioSettings.telemetryโ
ParentTelemetry is a placeholder for all relevant telemetry types, and may be extended in the future to configure additional telemetry settings.
| Name | Type | Description | Required |
|---|---|---|---|
| tracing | []object | Tracing is a list of tracing configurations for the telemetry resource. Normally only one tracing configuration is needed. Default: | false |
SKIPJob.spec.istioSettings.telemetry.tracing[index]โ
ParentTracing contains relevant settings for tracing in the telemetry configuration
| Name | Type | Description | Required |
|---|---|---|---|
| randomSamplingPercentage | integer | RandomSamplingPercentage is the percentage of requests that should be sampled for tracing, specified by a whole number between 0-100. Default: | false |
SKIPJob.spec.jobโ
ParentSettings for the actual Job. If you use a scheduled job, the settings in here will also specify the template of the job.
| Name | Type | Description | Required |
|---|---|---|---|
| activeDeadlineSeconds | integer | ActiveDeadlineSeconds denotes a duration in seconds started from when the job is first active. If the deadline is reached during the job's workload Format: int64 | false |
| backoffLimit | integer | Specifies the number of retry attempts before determining the job as failed. Defaults to 6. Format: int32 | false |
| suspend | boolean | If set to true, this tells Kubernetes to suspend this Job till the field is set to false. If the Job is active while this field is set to false, | false |
| ttlSecondsAfterFinished | integer | The number of seconds to wait before removing the Job after it has finished. If unset, Job will not be cleaned up. Format: int32 | false |
SKIPJob.spec.livenessโ
ParentProbe
Type configuration for all types of Kubernetes probes.
| Name | Type | Description | Required |
|---|---|---|---|
| path | string | The path to access on the HTTP server | true |
| port | int or string | Number of the port to access on the container | true |
| failureThreshold | integer | Minimum consecutive failures for the probe to be considered failed after Format: int32 | false |
| initialDelay | integer | Delay sending the first probe by X seconds. Can be useful for applications that Format: int32 | false |
| period | integer | Number of seconds Kubernetes waits between each probe. Defaults to 10 seconds. Format: int32 | false |
| successThreshold | integer | Minimum consecutive successes for the probe to be considered successful after having failed. Format: int32 | false |
| timeout | integer | Number of seconds after which the probe times out. Defaults to 1 second. Format: int32 | false |
SKIPJob.spec.podSettingsโ
ParentPodSettings
| Name | Type | Description | Required |
|---|---|---|---|
| annotations | map[string]string | Annotations that are set on Pods created by Skiperator. These annotations can for example be used to change the behaviour of sidecars and similar. | false |
| disablePodSpreadTopologyConstraints | boolean | DisablePodSpreadTopologyConstraints specifies whether to disable the addition of Pod Topology Spread Constraints to Default: | false |
| terminationGracePeriodSeconds | integer | TerminationGracePeriodSeconds determines how long Kubernetes waits after a SIGTERM signal sent to a Pod before terminating the pod. If your application uses longer than Format: int64 | false |
SKIPJob.spec.prometheusโ
ParentPrometheus settings for pod running in job. Fields are identical to Application and if set, a podmonitoring object is created.
| Name | Type | Description | Required |
|---|---|---|---|
| port | int or string | The port number or name where metrics are exposed (at the Pod level). | true |
| allowAllMetrics | boolean | Setting AllowAllMetrics to true will ensure all exposed metrics are scraped. Otherwise, a list of predefined Default: | false |
| path | string | The HTTP path where Prometheus compatible metrics exists Default: | false |
| scrapeInterval | string | ScrapeInterval specifies the interval at which Prometheus should scrape the metrics. Default: | false |
SKIPJob.spec.readinessโ
ParentProbe
Type configuration for all types of Kubernetes probes.
| Name | Type | Description | Required |
|---|---|---|---|
| path | string | The path to access on the HTTP server | true |
| port | int or string | Number of the port to access on the container | true |
| failureThreshold | integer | Minimum consecutive failures for the probe to be considered failed after Format: int32 | false |
| initialDelay | integer | Delay sending the first probe by X seconds. Can be useful for applications that Format: int32 | false |
| period | integer | Number of seconds Kubernetes waits between each probe. Defaults to 10 seconds. Format: int32 | false |
| successThreshold | integer | Minimum consecutive successes for the probe to be considered successful after having failed. Format: int32 | false |
| timeout | integer | Number of seconds after which the probe times out. Defaults to 1 second. Format: int32 | false |
SKIPJob.spec.resourcesโ
ParentResourceRequirements
A simplified version of the Kubernetes native ResourceRequirement field, in which only Limits and Requests are present. For the units used for resources, see https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#resource-units-in-kubernetes
| Name | Type | Description | Required |
|---|---|---|---|
| limits | map[string]int or string | Limits set the maximum the app is allowed to use. Exceeding this limit will | false |
| requests | map[string]int or string | Requests set the initial allocation that is done for the app and will | false |
SKIPJob.spec.startupโ
ParentProbe
Type configuration for all types of Kubernetes probes.
| Name | Type | Description | Required |
|---|---|---|---|
| path | string | The path to access on the HTTP server | true |
| port | int or string | Number of the port to access on the container | true |
| failureThreshold | integer | Minimum consecutive failures for the probe to be considered failed after Format: int32 | false |
| initialDelay | integer | Delay sending the first probe by X seconds. Can be useful for applications that Format: int32 | false |
| period | integer | Number of seconds Kubernetes waits between each probe. Defaults to 10 seconds. Format: int32 | false |
| successThreshold | integer | Minimum consecutive successes for the probe to be considered successful after having failed. Format: int32 | false |
| timeout | integer | Number of seconds after which the probe times out. Defaults to 1 second. Format: int32 | false |
SKIPJob.statusโ
ParentSkiperatorStatus
A status field shown on a Skiperator resource which contains information regarding deployment of the resource.
| Name | Type | Description | Required |
|---|---|---|---|
| accessPolicies | string | Indicates if access policies are valid | true |
| conditions | []object | true | |
| subresources | map[string]object | true | |
| summary | object | Status | true |
SKIPJob.status.conditions[index]โ
ParentCondition contains details for one aspect of the current state of this API Resource.
| Name | Type | Description | Required |
|---|---|---|---|
| lastTransitionTime | string | lastTransitionTime is the last time the condition transitioned from one status to another. Format: date-time | true |
| message | string | message is a human readable message indicating details about the transition. | true |
| reason | string | reason contains a programmatic identifier indicating the reason for the condition's last transition. | true |
| status | enum | status of the condition, one of True, False, Unknown. Enum: True, False, Unknown | true |
| type | string | type of condition in CamelCase or in foo.example.com/CamelCase. | true |
| observedGeneration | integer | observedGeneration represents the .metadata.generation that the condition was set based upon. Format: int64 | false |
SKIPJob.status.subresources[key]โ
ParentStatus
| Name | Type | Description | Required |
|---|---|---|---|
| message | string | Default: | true |
| status | string | Default: | true |
| timestamp | string | true |
SKIPJob.status.summaryโ
ParentStatus
| Name | Type | Description | Required |
|---|---|---|---|
| message | string | Default: | true |
| status | string | Default: | true |
| timestamp | string | true |