Getting started
This page walks through the first things you do as a new Fundament user: signing in, finding your organization, launching a cluster, creating a project and installing a plugin.
If you are looking to build plugins on top of Fundament rather than use it, see the Developer documentation instead.
Before you start
Section titled “Before you start”You need:
- An account in a Fundament installation, and the URL of its console. For the hosted installation that is the Fundament Console.
- Membership of at least one organization. Organizations are not self-service: an existing organization admin invites you. See Members and roles.
1. Sign in
Section titled “1. Sign in”Open the console and sign in. Authentication is handled by the platform’s identity provider, so you use the same credentials as for the rest of your organization’s tooling.
After signing in you land on the dashboard. If you belong to more than one organization, use the organization picker in the header to switch between them. Everything else in the console is scoped to the organization you have selected.
2. Create a cluster
Section titled “2. Create a cluster”Every project runs on a cluster, so the cluster comes first. If your organization already has one you can use, skip to step 3.
Go to Clusters → Add cluster. The wizard has three steps:
- Cluster: name, region and Kubernetes version.
- Nodes: one or more node pools, each with a machine type and a size.
- Summary: review and confirm.
Provisioning takes a while; the cluster shows up in the list with its state while it is being created. See Clusters for what the individual fields mean and how to change them later.
3. Create a project
Section titled “3. Create a project”A project is where your workloads live. Each project runs on exactly one cluster, and a cluster can host multiple projects; see Organizations and projects for the full resource model.
Go to Projects → Add project, give the project a name and pick the cluster it should run on.
4. Install a plugin
Section titled “4. Install a plugin”Capabilities such as databases, ingress and object storage are delivered as Plugins, installed per cluster. Open the cluster and go to Plugins, then pick one from the catalog and install it.
See Plugins for the catalog, the support tiers and how versioning works.
5. Deploy a workload
Section titled “5. Deploy a workload”Your project maps onto one or more namespaces on its cluster. Add one under Project → Namespaces, then deploy into it with the usual Kubernetes tooling.
Credentials are per cluster, not per namespace. Install the functl CLI and log in, then fetch a kubeconfig:
functl auth loginfunctl cluster kubeconfig <CLUSTER_ID> > ~/.kube/fundament.yamlexport KUBECONFIG=~/.kube/fundament.yamlkubectl get nsThe console offers the same file behind Download kubeconfig on the cluster
page. Either way functl has to stay installed and logged in: the kubeconfig
holds no credential of its own and calls functl for a fresh token on every
request.
Two things that surprise people the first time:
- The namespace is called something else on the cluster. A
stagingnamespace in projectpaymentsshows up inkubectlaspayments1f3a-staging; see Namespaces. - What you may do depends on your role. Organization admins get full access; project members get only what the cluster’s RBAC grants them. See Cluster access.
Next steps
Section titled “Next steps”- Automate the above from the command line with the functl CLI, or declaratively with the OpenTofu provider.
- Create an API key for scripts and CI.
- Read the Overview for the thinking behind the platform.