This section is incomplete
- Kapps should only create infrastructure solely required by them. Shared infra should be created in a separate kapp.
- Namespace everything
- Pass outputs into kapps, don’t access them directly
- Kapps should remove all traces of themselves to be really useful.
- Kapp’s mustn’t perform any destructive actions during planning phases
- Use an kapp action to create/delete clusters for consistency. Use a no-op kapp if necessary.
- Kapps must be idempotent. It must be possible to repeat the installation process even when they’re already installed without adverse side effects.
- Generating outputs should be both idempotent and not perform any destructive changes/side effects.