Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multi-distro support (Zarf Native Apply Work) #237

Merged
merged 88 commits into from
Feb 8, 2022

Conversation

jeff-mccoy
Copy link
Contributor

@jeff-mccoy jeff-mccoy commented Jan 20, 2022

Changelog

  • add arm64/generic arch support
  • adds in-memory embedded registry to serve registry image from "seed" config spec
  • add local-distro image injection support
  • handles helm charts install/upgrade/rollback/uninstall via helm directly
  • manages raw manifests as zarf-generated helm charts for helm-native management
  • add tunnel capability to access zarf endpoints without ingress config
  • auto-inject imagePullSecret into any service account zarf touches and any namespace default service account
  • auto-inject registry pull credentials into all namespaces for use by service accounts
  • allow multiple helm charts to be installed in the same namespace without conflict
  • flattens image collection to single tarball
  • remove root / linux requirements for zarf deployments
  • remove k3s install requirement
  • remove traefik component requirement
  • add K8s distro-detection and distro-specific seed image behaviors
  • document local registry per https://github.com/kubernetes/enhancements/tree/master/keps/sig-cluster-lifecycle/generic/1755-communicating-a-local-registry
  • reorganize logging, remove logrus, replace with pterm, add progress cli feedback
  • add support for stacking helm values files
  • normalize log levels: info, warn, debug, trace
  • update go mod deps
  • move zarf state to a k8s secret in the zarf namespace
  • support zarf destroy for 3rd-party clusters
  • move crane image cache to sub folder under home
  • add support for multiple users with htpasswd
  • add path key for git-based helm charts
  • remove need for PKI prompts on default init
  • add storage class tracking in zarf state for multi-distro compatibility
  • reduce code for init/deploy to the same function call
  • add command line aliases for the cli
  • vendor k9s into zarf to support multi-arch/multi-os
  • make more games for the game example to demonstrate multiple zarf connect in the same component
  • add zarf prepare find-images to lookup images for a zarf config to help with package creation
  • add zarf destroy --remove-components for removing zarf-installed charts outside of the zarf ns
  • add zarf connect 🦄 combined with a new svc label, zarf.dev/connect-name=🦄 to make dynamic app tunnels

Fixes #140
Fixes #2
Fixes #16
Fixes #109
Fixes #17
Fixes #35
Fixes #36

Manual Validation of Examples:

Some of the key examples should be confirmed to work both in the existing "appliance mode" and using this new external Kubernetes installation mode. Note that the external Kubernetes cluster currently has to be a local cluster, so validation of the new capabilities should be done via Kind. The manual tests should include the following steps:

External Cluster

  1. Show output of kubectl get all -A
  2. Create and deploy the Zarf package for the example using the documentation
  3. Verify all components up and healthy
  4. Verify ingresses/UIs up and healthy
  5. Teardown/Destroy installation
  6. Ensure output of kubectl get all -A matches output from 1.

Appliance Mode

  1. Create and deploy the Zarf package for the example using the documentation
  2. Verify all components up and healthy
  3. Verify ingresses/UIs up and healthy
  4. Teardown/Destroy installation

zarf.yaml Outdated Show resolved Hide resolved
@YrrepNoj

This comment was marked as outdated.

@jeff-mccoy
Copy link
Contributor Author

/test all

@matt-strong
Copy link
Contributor

pulling-images.mov

Not a huge deal, but on zarf package create for big-bang the pulling images step always goes up to 63% then immediately completes.

@jeff-mccoy
Copy link
Contributor Author

pulling-images.mov
Not a huge deal, but on zarf package create for big-bang the pulling images step always goes up to 63% then immediately completes.

yeah I've struggled with how to handle this--that's actually the caching system, it can't really do progress. If you have time could you delete ~/.zarf-image-cache/ and try again?

@matt-strong
Copy link
Contributor

Weird, seeing the same thing with an empty image cache folder (on a m1 mac mini).

@jeff-mccoy jeff-mccoy force-pushed the multi-distro-support branch from 12d0500 to 631bc4d Compare January 25, 2022 22:47
@jeff-mccoy
Copy link
Contributor Author

thanks for the very detailed PR updates @runyontr, looks way better with all that data

@jeff-mccoy jeff-mccoy force-pushed the multi-distro-support branch from da8cec8 to 3f0be0d Compare January 27, 2022 07:47
@YrrepNoj
Copy link
Contributor

/test all

@jeff-mccoy
Copy link
Contributor Author

/test all

@jeff-mccoy
Copy link
Contributor Author

/test all

@jeff-mccoy
Copy link
Contributor Author

/test all

@jeff-mccoy
Copy link
Contributor Author

Data Injection example

Screen Shot 2022-02-07 at 10 17 28 PM

@jeff-mccoy
Copy link
Contributor Author

omg...I think we're there.......

@jeff-mccoy jeff-mccoy merged commit 6d09386 into master Feb 8, 2022
@jeff-mccoy jeff-mccoy deleted the multi-distro-support branch February 8, 2022 05:14
jeff-mccoy pushed a commit that referenced this pull request Feb 8, 2022
@jeff-mccoy jeff-mccoy restored the multi-distro-support branch February 8, 2022 05:47
jeff-mccoy added a commit that referenced this pull request Feb 8, 2022
jeff-mccoy pushed a commit that referenced this pull request Feb 8, 2022
Signed-off-by: Jeff McCoy <code@jeffm.us>
@jeff-mccoy jeff-mccoy deleted the multi-distro-support branch February 8, 2022 09:02
Noxsios pushed a commit that referenced this pull request Mar 8, 2023
Signed-off-by: Jeff McCoy <code@jeffm.us>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment