- Install OpenFaaS and Install OpenFaaS Cloud with a single command
- Mirror features and config of OpenFaaS Cloud Community Cluster
- Use Kubernetes as the underlying provider/platform
- Use GitHub as the SCM (the source for git)
- Build via Travis
- Offer a flag for sourcing configuration from a YAML file
- Offer a dry-run flag or configuration in the YAML file
- Build a config file for the current OpenFaaS Cloud Community Cluster
- Light-touch unit-testing
- Publish a static binary on GitHub Releases for
ofc-bootstrap
tool - Use GitLab for as SCM (the source for git)
- Allow namespaces to be overridden from
openfaas
/openfaas-fn
to something else
- Add version number to YAML file i.e
1.0
to enable versioning/migration of configs - Build a suitable dev environment for local work (without Ingress, TLS)
- Use the Cobra CLI package and separate CLI commands
- Add a registry login command
- Add a GitHub integration command
- Accept several YAML override files
- go modules instead of
dep
- Automatic configuration of DNS Zones in GKE / AWS Route 53
- Deep / extensive / complicated unit-tests
- Create a Docker image / run in Docker
- Installing, configuring or provisioning Kubernetes clusters or nodes
- Running on a system without bash
- Terraform/Ansible/Puppet style of experience
- Re-run without clean-up (i.e. no updates or upgrades)
- Docker Swarm support
- Move code into official CLI via
faas-cli system install openfaas-cloud
- Separate out the OpenFaaS installation for the official CLI
faas-cli system install --kubernetes
Help is wanted - the code is in a private repo for OpenFaaS maintainers to contribute to. Sign-off/DCO is required and standard OpenFaaS contributing procedures apply.
Status:
- Move to Helm3 from using Helm2/tiller.
- Step: generate
payload_secret
for trust - Refactor: default to init.yaml if present
- Step: Clone OpenFaaS Cloud repo https://github.com/openfaas/openfaas-cloud
- Step: deploy container builder (buildkit)
- Step: Add Ingress controller
- Step: Install OpenFaaS via helm
- Step: Install OpenFaaS namespaces
- Wildcard ingress
- Auth ingress
- init.yml - define GitHub App and load via struct
- Step: deploy OpenFaaS Cloud primary functions
- Step: deploy OpenFaaS Cloud dashboard
- Template: dashboard stack.yml if required
- Template:
gateway_config.yml
- Step: install SealedSecrets
- Step: export SealedSecrets pub-cert
- Step: export all passwords required for user such as GW via
kubectl
- Step: setup issuer and certificate entries for cert-manager (probably with staging cert?) - make this optional to prevent rate-limiting.
- Make TLS optional in the Ingress config (not to get rate-limited by LetsEncrypt)
- init.yml - add
github_app_id
andWEBHOOK_SECRET
- Create basic-auth secrets for the functions in
openfaas-fn
- Step: Install Minio and generate keys
- init.yml - define and OAuth App and load via struct
- Step: generate secrets and keys for the auth service (see auth/README.md)
- Template: auth service deployment YAML file
- Refactor: Generate passwords via Golang code or library
Add all remaining steps from installation guide.