-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #57 from stakater/service-definition
Service definition and Tiltfile
- Loading branch information
Showing
42 changed files
with
315 additions
and
229 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
local_resource('install vale', | ||
cmd='which vale > /dev/null || brew install vale') | ||
local_resource('spell check with vale', | ||
cmd='vale content', | ||
deps='./content/', | ||
resource_deps=['install vale']) | ||
|
||
local_resource('install markdownlint', | ||
cmd='which markdownlint > /dev/null || brew install markdownlint-cli') | ||
local_resource('markdownlint', | ||
cmd='markdownlint -c .markdownlint.yaml content', | ||
deps='./content/', | ||
resource_deps=['install markdownlint']) | ||
|
||
local_resource('build test image', | ||
cmd='docker build -t test .', | ||
deps='./content/', | ||
resource_deps=['spell check with vale', 'markdownlint']) | ||
|
||
local_resource('run test container', | ||
cmd='docker run -d -p 8080:8080 test', | ||
resource_deps=['build test image']) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,14 +1,15 @@ | ||
# Overview | ||
|
||
Stakater App Agility Platform (SAAP) is currently supported on following cloud providers: | ||
Stakater App Agility Platform (SAAP) supports all clouds which are based on OpenStack, VMWare or BareMetals: | ||
|
||
* [Azure](./azure.md) | ||
* [AWS](./aws.md) | ||
* [Google](./gcp.md) | ||
* [Azure](./azure.md) | ||
* [Binero](./binero.md) | ||
* [UpCloud](./upcloud.md) | ||
* [Exoscale](./exoscale.md) | ||
* [Complior](./complior.md) | ||
* [Elastx](./elastx.md) | ||
* [Exoscale](./exoscale.md) | ||
* [GCP](./gcp.md) | ||
* [SafeSpring](./safespring.md) | ||
* [UpCloud](./upcloud.md) | ||
|
||
We support all sorts of clouds which are based on OpenStack, VMWare or BareMetals; just drop us an email at [`[email protected]`](mailto:[email protected]) if you would like to include your cloud! | ||
Just drop us an email at [`[email protected]`](mailto:[email protected]) if you would like to partner up with another cloud! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
Empty file.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,21 +1,43 @@ | ||
# Networking | ||
|
||
## Custom domains for applications | ||
## Custom Domains for applications | ||
|
||
To use a custom hostname for a route, you must update your DNS provider by creating a canonical name (CNAME) record. Your CNAME record should map the OpenShift canonical router hostname to your custom domain. The OpenShift canonical router hostname is shown on the Route Details page after a Route is created. Alternatively, a wildcard CNAME record can be created once to route all subdomains for a given hostname to the cluster’s router. | ||
To use a custom hostname for a route, you must update your DNS provider by creating a canonical name (CNAME) record. Your CNAME record should map the SAAP canonical router hostname to your custom domain. The SAAP canonical router hostname is shown on the Route Details page after a Route is created. Alternatively, a wildcard CNAME record can be created once to route all subdomains for a given hostname to the cluster's router. | ||
|
||
## Custom domains for cluster services | ||
|
||
Custom domains and subdomains are not available for the platform service routes, for example, the API or web console routes, or for the default application routes. | ||
Custom domains and subdomains for cluster services are available except for the SAAP service routes, for example, the API or web console routes, or for the default application routes. | ||
|
||
## Domain validated certificates | ||
|
||
SAAP includes TLS security certificates needed for both internal and external services on the cluster. For external routes, there are two, separate TLS wildcard certificates that are provided and installed on each cluster, one for the web console and route default hostnames and the second for the API endpoint. Let’s Encrypt is the certificate authority used for certificates. Routes within the cluster, for example, the internal API endpoint, use TLS certificates signed by the cluster’s built-in certificate authority and require the CA bundle available in every pod for trusting the TLS certificate. | ||
SAAP includes TLS security certificates needed for both internal and external services on the cluster. For external routes, there are two, separate TLS wildcard certificates that are provided and installed on each cluster, one for the web console and route default hostnames and the second for the API endpoint. Let's Encrypt is the certificate authority used for certificates. Routes within the cluster, for example, the internal API endpoint, use TLS certificates signed by the cluster's built-in certificate authority and require the CA bundle available in every pod for trusting the TLS certificate. | ||
|
||
## Load-balancers | ||
|
||
## Network usage | ||
SAAP is normally created via the installer provisioned infrastructure (IPI) installation method which installs operators that manage load-balancers in the customer cloud, and API load-balancers to the master nodes. Application load-balancers are created as part of creating routers and ingresses. The operators use cloud identities to interact with the cloud providers API to create the load-balancers. | ||
|
||
User-provisioned installation (UPI) method is also possible if extra security is needed and then you must create the API and application ingress load balancing infrastructure separately and before SAAP is installed. | ||
|
||
SAAP has a default router/ingress load-balancer that is the default application load-balancer, denoted by `apps` in the URL. The default load-balancer can be configured in SAAP to be either publicly accessible over the internet, or only privately accessible over a pre-existing private connection. All application routes on the cluster are exposed on this default router load-balancer, including cluster services such as the logging UI, metrics API, and registry. | ||
|
||
SAAP has an optional router/ingress load-balancer that is a secondary application load-balancer, denoted by `apps2` in the URL. The secondary load-balancer can be configured in SAAP to be either publicly accessible over the internet, or only privately accessible over a pre-existing private connection. If a 'Label match' is configured for this router load-balancer, then only application routes matching this label will be exposed on this router load-balancer, otherwise all application routes are also exposed on this router load-balancer. | ||
|
||
SAAP has optional load-balancers for services that can be mapped to a service running on SAAP to enable advanced ingress features, such as non-HTTP/SNI traffic or the use of non-standard ports. Cloud providers may have a quota that limits the number of load-balancers that can be used within each cluster. | ||
|
||
## Network use | ||
|
||
Network use is not monitored, and is billed directly by the cloud provider. | ||
|
||
## Cluster ingress | ||
|
||
Project administrators can add route annotations for ingress control through IP allow-listing. | ||
|
||
Ingress policies can also be changed by using `NetworkPolicy` objects. | ||
|
||
All cluster ingress traffic goes through the defined load-balancers. Direct access to all nodes is blocked by cloud configuration. | ||
|
||
## Cluster egress | ||
|
||
`EgressNetworkPolicy` objects can control pod egress traffic to prevent or limit outbound traffic in SAAP. | ||
|
||
Public outbound traffic from the control plane and infrastructure nodes is required and necessary to maintain cluster image security and cluster monitoring. This requires the `0.0.0.0/0` route to belong only to the internet gateway. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,20 +1,23 @@ | ||
# Overview | ||
|
||
This section outlines the service definition for the SAAP: | ||
This section outlines the service definition for Stakater App Agility Platform (SAAP): | ||
|
||
1. [Managed Kubernetes (Red Hat OpenShift)](platform.md) | ||
2. [Managed Monitoring Stack (Prometheus, Grafana, Alert Manager)](monitoring.md) | ||
3. [Managed Logging Stack (Fluentd, Vector, ElasticSearch, Kibana)](logging.md) | ||
4. Managed Container Registry (Nexus) | ||
5. Managed Artifacts Store (Nexus) | ||
6. Managed Backup Restore (Velero) | ||
7. [Managed Secrets Management (Vault)](secrets-management.md) | ||
8. Managed Multi-tenancy (MTO) | ||
9. Managed Service Mesh (`Istio`, `Kiali`, `Jagaer`, `Prometheus`) | ||
10. Managed Certs | ||
11. Managed CD (ArgoCD) | ||
12. Managed CI (Tekton) | ||
13. Managed Policy Enforcement (Gatekeeper, OPA) | ||
14. Managed Downtime Alerting (IMC, UptimeRobot) | ||
15. Managed Dynamic Environments (Tronador) | ||
16. Managed Dynamic Application Reload (Reloader) | ||
1. [Managed Kubernetes (Red Hat OpenShift)](./platform.md) | ||
1. [Account Management](./account-management.md) | ||
1. [Storage](./storage.md) | ||
1. [Security](./security.md) | ||
1. [Networking](./networking.md) | ||
1. [Managed Monitoring Stack (Prometheus, Grafana, Alert Manager, UptimeRobot)](./monitoring.md) | ||
1. [Managed Logging Stack (Fluentd, Vector, ElasticSearch, Kibana)](./logging.md) | ||
1. [Managed Container Registry and Artifact Store (Nexus)](../../managed-addons/nexus/overview.md) | ||
1. [Managed Backup Restore (Velero)](../../managed-addons/velero/overview.md) | ||
1. [Managed Secrets Management (Vault)](./secrets-management.md) | ||
1. [Managed Multi-tenancy (MTO)](../../managed-addons/mto/overview.md) | ||
1. [Managed Service Mesh (`Istio`, `Kiali`, `Jagaer`, `Prometheus`)](./service-mesh.md) | ||
1. [Managed Certificates](../../managed-addons/cert-manager/overview.md) | ||
1. [Managed Continuous Delivery (ArgoCD)](../../managed-addons/argocd/overview.md) | ||
1. [Managed Continuous Integration (Tekton)](../../managed-addons/tekton/introduction.md) | ||
1. [Managed Policy Enforcement (Kyverno, OPA)](../../for-cisos/policies/policies.md) | ||
1. [Managed Downtime Alerting (IMC)](../../managed-addons/imc/overview.md) | ||
1. [Managed Dynamic Environments (Tronador)](../../managed-addons/tronador/overview.md) | ||
1. [Managed Dynamic Application Reload (Reloader)](../../managed-addons/reloader/overview.md) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.