To install APL, make sure to have a Kubernetes cluster running with at least:
- Version
1.27
,1.28
or1.29
- A node pool with at least 8 vCPU and 16GB+ RAM (more resources might be required based on the activated capabilities)
- Calico CNI installed (or any other CNI that supports K8s network policies)
- A default storage class configured
- When using the
custom
provider, make sure the K8s LoadBalancer Service created by APL can obtain an external IP (using a cloud load balancer or MetalLB)
Note
The transition from Otomi to APL is still in progress. Installing APL will use the latest Otomi release (v2.11.5).
Tip
Install APL with DNS to unlock it's full potential. Check here for more info.
Add the Helm repository:
helm repo add apl https://linode.github.io/apl-core/
helm repo update
and then install the Helm chart:
helm install apl apl/otomi \
--set cluster.name=$CLUSTERNAME \
--set cluster.provider=$PROVIDER # use 'linode' for LKE or 'custom' for any other cloud/infrastructure
When the installer job is completed, follow the activation steps.
Core Applications (that are always installed):
- Istio: The service mesh framework with end-to-end transit encryption
- Argo CD: Declarative Continuous Deployment
- Keycloak: Identity and access management for modern applications and services
- Cert Manager - Bring your own wildcard certificate or request one from Let's Encrypt
- Nginx Ingress Controller: Ingress controller for Kubernetes
- External DNS: Synchronize exposed ingresses with DNS providers
- Tekton Pipeline: K8s-style resources for declaring CI/CD pipelines
- Tekton Triggers: Trigger pipelines from event payloads
- Tekton dashboard: Web-based UI for Tekton Pipelines and Tekton Triggers
- Gitea: Self-hosted Git service
- Cloudnative-pg: Open source operator designed to manage PostgreSQL workloads
Optional Applications (that you can activate to compose your ideal platform):
- Velero: Back up and restore your Kubernetes cluster resources and persistent volumes
- Knative: Deploy and manage serverless workloads
- Drone: Continuous integration platform built on Docker
- Prometheus: Collecting container application metrics
- Grafana: Visualize metrics, logs, and traces from multiple sources
- Grafana Loki: Collecting container application logs
- Harbor: Container image registry with role-based access control, image scanning, and image signing
- Kyverno: Kubernetes native policy management
- Jaeger: End-to-end distributed tracing and monitor for complex distributed systems
- Kiali: Observe Istio service mesh relations and connections
- Minio: High performance Object Storage compatible with Amazon S3 cloud storage service
- Trivy: Kubernetes-native security toolkit
- Falco: Cloud Native Runtime Security
- Grafana Tempo: High-scale distributed tracing backend
- OpenTelemetry: Instrument, generate, collect, and export telemetry data to help you analyze your software’s performance and behavior
- Paketo build packs: Cloud Native Buildpack implementations for popular programming
- Kaniko: Build container images from a Dockerfile
Check out otomi.io for more detailed documentation.
APL is licensed under the Apache 2.0 License.