Commit Graph

339 Commits (7bb07044018103a19aff723b4ffa4a6087e5ec6a)

Author SHA1 Message Date
Sylvain Rabot 78d7dca985
Add a --context option
Signed-off-by: Sylvain Rabot <sylvain@abstraction.fr>
4 years ago
Hidde Beydals 0bf52f4746 Change `fluxcd/toolkit` to `fluxcd/flux2`
Signed-off-by: Hidde Beydals <hello@hidde.co>
4 years ago
Hidde Beydals e2752e4508 Rename `gotk` binary to `flux`
Signed-off-by: Hidde Beydals <hello@hidde.co>
4 years ago
Hidde Beydals 9916a53761 Rename `gotk-system` namespace to `flux-system`
Signed-off-by: Hidde Beydals <hello@hidde.co>
4 years ago
Stefan Prodan 9bc250d027
Refactor manifests generation
- introduce manifestgen pkg, to be consumed by the CLI and Terraform provider
- consolidate defaults in manifestgen/install pkg
- introduce Manifest as the returning type of manifest generation
- add helper function to Manifest for writing multi-doc YAMLs on disk

Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
4 years ago
Philip Laine b0d2a38ff6 Refactor manifest generation
Signed-off-by: Philip Laine <philip.laine@xenit.se>
4 years ago
Stefan Prodan 0e67b76b57
Change copyright to Flux authors
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
4 years ago
Stefan Prodan 8dfbc35e60
Ignore missing kinds when uninstalling
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
4 years ago
Ally Parker 2d67ea5f7f Add secret-ref flag to git source
Add secret-ref flag to Helm source

Add secret-ref to bucket source
4 years ago
“Anton b3ef410fb7 Add source bucket provider flag 4 years ago
“Anton 0c55bca218 Add helm chart source flag 4 years ago
“Anton 5fd28439dc Add kustomization source and decryption provider flags 4 years ago
“Anton 058dfdfcd6 Move flags and utils to internal packages 4 years ago
Stefan Prodan b041dbd14f Add GitLab HTTPS auth to bootstrap options
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
4 years ago
Hidde Beydals 19918cd342 Refactor create, reconcile and resume cmds
* Take ObservedGeneration into account in readiness checks where
  applicable
* Reduce amount of code (and duplicate GETs) by working with pointers
  where possible
* Improve logged messages to properly take resource names into account
  and better describe processes
4 years ago
Stefan Prodan 7718c6a2a5
Merge pull request #340 from fluxcd/bootstrap-validate-manifests
Enable client side validation on bootstrap
4 years ago
“Anton 4989826124 Get rid of shell-out and invoke kubetcl directly via exec 4 years ago
Stefan Prodan f23a551ae3
Enable client side validation on bootstrap
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
4 years ago
Stefan Prodan 880ef303e8
Set alert provider secretRef only if specified
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
4 years ago
Stefan Prodan d2d494e079
Uninstall improvements
- ignore not found errors when deleting objects
- remove the CR/CRDs before deleting the cluster role binding
- capture kubectl exist code

Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
4 years ago
Philip Laine d32e8c6e98 Remove aliases 4 years ago
Philip Laine 65b8942416 Fix minor issues 4 years ago
Philip Laine 8eac7d6b4d Implement table output 4 years ago
Philip Laine 7ebb34de80 Add receiver command 4 years ago
Philip Laine 6ea84906ac Add alert commands 4 years ago
Philip Laine f7971a871a Add alert provider commands 4 years ago
Stefan Prodan 5672646278
Use install pkg in CLI
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
4 years ago
stefanprodan f613c01803 Update blang/semver to v4
Signed-off-by: stefanprodan <stefan.prodan@gmail.com>
4 years ago
Hidde Beydals f3cab6e177 Display proper revision for sources
Includes a change to an empty revision string if the reconciler has not
produced an artifact yet, as this will otherwise result in a nil
pointer dereference.
4 years ago
Hidde Beydals d41bd6b6b1
Merge pull request #299 from circa10a/main
Switch get commands to use tables for output
4 years ago
circa10a 3619cb8bd1 Switch get commands to use tables for output
Signed-off-by: circa10a <caleblemoine@gmail.com>
4 years ago
Hidde Beydals 8e2316ba62 Support multi-path KUBECONFIG
Ref:
https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/#the-kubeconfig-environment-variable
4 years ago
stefanprodan 07677ed4a7 Add option to disable the network policy at install time 4 years ago
Hidde Beydals 7b2227bfac Remove faulty `break` from get commands 4 years ago
stefanprodan 1427b1537e Fix Kusomization depends-on mapping 4 years ago
stefanprodan 29c1cf1237 Retry setting annotation on conflict 4 years ago
stefanprodan 0e52065893 Change the bootstrap default branch to main 4 years ago
Hidde Beydals 1a679ee05d Remove creationTimestamp leading spaces 4 years ago
Hidde Beydals 84e36ed847 Use `LastHandledReconcileAt` in reconcile commands 4 years ago
Hidde Beydals f216273008 Make use of `GetCondition` from `pkg/apis/meta` 4 years ago
Hidde Beydals ff6a1c14be Rename 'gitops-system' namespace to 'gotk-system'
To align with the project name, and the group introduced in #236.
4 years ago
stefanprodan d902c71a6f Update components to v0.1 4 years ago
Stefan Prodan cf080330ba
Merge pull request #276 from fluxcd/kustomize-bootstrap-dir
Generate a kustomize package for the bootstrap manifests
4 years ago
stefanprodan 2373bacb0c Generate a kustomize package for the bootstrap manifests 4 years ago
stefanprodan 393be92632 Add support for multi-namespace tenant ownership 4 years ago
stefanprodan d11fa476e1 Refactor object kind/name parsing 4 years ago
stefanprodan bd2994f9ab Add support for Bucket sources to Kustomizations/HRs 4 years ago
stefanprodan 34147d7694 Add validation for bucket providers 4 years ago
stefanprodan a02452ccb9 Implement bucket CRUD commands 4 years ago
stefanprodan 1c7994a353 Add support for namespace/name format in depends-on 4 years ago
stefanprodan 7b4e815a8d Always apply sync manifests on bootstrap 4 years ago
Stefan Prodan b0e407bf30
Merge pull request #254 from fluxcd/uninstall-fix
Suspend bootstrap kustomization on uninstall
4 years ago
stefanprodan f93a40a18b Suspend bootstrap kustomization on uninstall 4 years ago
stefanprodan 9b0c44162a Validate bootstrap required components 4 years ago
stefanprodan 101e7bbce0 Add support for ARMv7 4 years ago
stefanprodan fafcf09570 Add -n shorthand for namespace flag 4 years ago
stefanprodan 0b14328024 Use the group version for HR APIVersion 4 years ago
stefanprodan 2096532f5d Add create tenant command 4 years ago
stefanprodan 4136eb1444 Add export resource helper function 4 years ago
Stefan Prodan 67e0acd044
Merge pull request #235 from stealthybox/shell-completions
Support bash, fish, zsh, and powershell shell completions as separate sub-commands
4 years ago
leigh capili cbcdfc5f6c Support bash, fish, zsh, and powershell shell completions as separate sub-commands 4 years ago
stefanprodan c36e02bba9 Update kustomize-controller to v0.0.12 4 years ago
stefanprodan 2bac5aabee Add log level flag 4 years ago
stefanprodan d5e78b9f80 Add watch all namespaces flag 4 years ago
stefanprodan 531c2bcf00 Import fluxcd/pkg/runtime 4 years ago
stefanprodan a7b1b04920 Add bootstrap reinstall e2e test 4 years ago
stefanprodan 1218d6abe8 Add branch flag to bootstrap cmd 4 years ago
stefanprodan afef6960b9 Cleanup GitHub e2e repo 4 years ago
stefanprodan b1e66f81ab Add label validation 4 years ago
stefanprodan 797cd9bea2 Add label arg to create commands 4 years ago
Hidde Beydals f18d1efdcb Refactor HelmRelease chart source kind validation 4 years ago
stefanprodan 8b6995e9ec Add decryption flags to create kustomization cmd 4 years ago
stefanprodan 5c8d00665f Use GitHub Container Registry for AMD64/ARM64 images 4 years ago
Stefan Prodan f4d78cc08e
Merge pull request #202 from fluxcd/arch
Add ARM64 support to install/bootstrap
4 years ago
stefanprodan 3f07bd6471 Add arch flag to install/bootstrap 4 years ago
Hidde Beydals 2f861f19c0 Update `gotk create helmrelease` examples
To better reflect optional fields and highlight specific configuration
options.
4 years ago
Hidde Beydals e53d0dadbf Support GitRepository source in HelmRelease cmds 4 years ago
Hidde Beydals fa56685767 Upgrade Toolkit components and K8S deps
* github.com/fluxcd/helm-controller/api to v0.0.6
* github.com/fluxcd/source-controller/api to v0.0.13

* k8s.io/api to v0.18.8
* k8s.io/apiextensions-apiserver to v0.18.8
* k8s.io/apimachinery to v0.18.8
* k8s.io/client-go to v0.18.8
* sigs.k8s.io/controller-runtime to v0.6.2
4 years ago
Hidde Beydals 22624ae4d5 Rename `tk` binary to `gotk`
To avoid conflicts with the `tk` binary from the Tanka project.
4 years ago
Hidde Beydals e751bdc8a9 Change readiness check for HelmRelease
As the HelmRelease injects its own HelmChart, the first reconciliation
will always trigger a `Ready==False` condition while it waits for the
chart to become ready. Given this, we should only take this condition
into account when the `status.LastAttemptedRevision` has been recorded,
as this marks the fact that the chart is available and an action was
attempted.
4 years ago
Hidde Beydals 2078d048a1 Fix: change v1.JSON for HelmRelease to pointer 4 years ago
stefanprodan b5ed8f0183 Add SSH hostname arg to GitLab bootstrap 4 years ago
stefanprodan 17df7a46e2 Make export work offline 4 years ago
Hidde Beydals 123433c4ea Support providing TLS certs for helm source 5 years ago
Manuel Morejon ffd4784916
Replace tab by space 5 years ago
Manuel Morejon 750830c302
Replace tk sync example by tk reconcile 5 years ago
Manuel Morejon d245ef9b39
Remove tk sync example from help command
Signed-off-by: Manuel Morejon <manuel@mmorejon.io>
5 years ago
stefanprodan c2ff169c08 Add image pull secret arg to install/bootstrap 5 years ago
stefanprodan 57a1dbfc6d Add container registry option to install/bootstrap 5 years ago
Stefan Prodan efb39d6fc6
Merge pull request #127 from fluxcd/node-selector
Add linux/amd64 node selector to controllers
5 years ago
stefanprodan aebad92426 Add linux/amd64 node selector to controllers
Set nodeSelector to linux/amd64 for clusters with mixed nodes (linux, windows, amd64, arm).
5 years ago
stefanprodan 8e67cfd5c9 Delete custom resources during uninstall
Remove Kustomizations, GitRepositories and HelmRepositories before deleting the toolkit controllers and CRDs.
5 years ago
stefanprodan 3620b76139 Make notification component optional 5 years ago
stefanprodan 0b2bc7ab3f Implement get/export HelmRelease for Helm releases 5 years ago
stefanprodan 797aec5528 Add create/delete HelmRelease e2e tests 5 years ago
stefanprodan 5f0b95dc59 Implement create/delete for Helm releases 5 years ago
stefanprodan 8534ccbf37 Implement Helm repository commands 5 years ago
stefanprodan 9af874d810 Add examples to all tk commands 5 years ago
stefanprodan aaad618e20 Rename kustomization arg from validate to validation
Fix `tk create kustomization` command args inconsistency with the Kustomize API
5 years ago
stefanprodan 670070a879 Drop support for Kubernetes <1.16 5 years ago
stefanprodan b92cbcd7e7 Use semver manifests as kustomize base
Instead of cloning the components repositories to download the base manifests, we build them in CI at release time and download them in tk install/bootstrap based on the provided semver. This speeds up the manifests generation from minutes to milliseconds.
5 years ago
stefanprodan 499ba15004 Add export option to tk install 5 years ago
stefanprodan c664484fda Update controllers and go modules
- update source-controller to v0.0.5
- update kustomize-controller to v0.0.4
- update notification-controller to v0.0.4
- update helm-controller to v0.0.1-alpha.2
5 years ago
stefanprodan 8dc5db17ac Add helm suspend/resume commands 5 years ago
stefanprodan 7a68c4ccf3 Add reconcile helm commands 5 years ago
stefanprodan 394227571f Rename sync cmd to reconcile 5 years ago
stefanprodan e180611024 Refactor defaults
- add dedicated components flag for bootstrap/install/check
- extract defaults to vars
- update CLI docs
5 years ago
stefanprodan 02521b6964 Add helm-controller to installer 5 years ago
stefanprodan e594350307 Add notification controller to tk components 5 years ago
stefanprodan 4621afcb31 Migrate to fluxcd/pkg 5 years ago
Hidde Beydals 329e21fd78 Create logger interface 5 years ago
Hidde Beydals d7f8a05612 Sort supported ECDSA curves names
To ensure options are always printed in the same order.
5 years ago
Hidde Beydals 21fd436621 Add descriptions to all CLI commands 5 years ago
stefanprodan 892230280c Honour KUBECONFIG environment variable 5 years ago
Hidde Beydals 0e81f6c3af docs: disable autogen footer CLI docs 5 years ago
Hidde Beydals cf45401250
Merge pull request #59 from fluxcd/git/author-email
Use owner in Git author email
5 years ago
Hidde Beydals 15429160c7 Use owner in Git author email 5 years ago
Hidde Beydals dbfa2f9944 Improve cmd messages 5 years ago
Hidde Beydals 1df5a36f84 Copyright headers 5 years ago
stefanprodan 3d7349ee53 Generate cmd docs 5 years ago
stefanprodan 9ffe908c66 Add docs intro 5 years ago
stefanprodan d0a79c2b4c Use git package for bootstrap 5 years ago
stefanprodan f3d50e158a Implement GitLab bootstrap 5 years ago
stefanprodan 4f43b504f4 Assign GitHub teams during bootstrap 5 years ago
stefanprodan dca7b0ba91 Recreate GitHub deploy key during bootstrap 5 years ago
Stefan Prodan 2a61befbfd
Merge pull request #39 from fluxcd/bootstrap-path
Add target path to the bootstrap cmd
5 years ago
stefanprodan 4992e11383 Add target path to the bootstrap cmd 5 years ago
stefanprodan 727734850e Add kustomizations removal to uninstall cmd 5 years ago
stefanprodan 0cd820e923 Add export for public git repos 5 years ago
stefanprodan 51ca2ee9d8 Improve cluster sync wait 5 years ago
stefanprodan e612a8a496 Implement SSH deploy key bootstrap 5 years ago
stefanprodan e70d86e843 Fix SSH secret upsert 5 years ago
stefanprodan 1bc637a43f Add export flag to create commands 5 years ago
stefanprodan f5b738198f Add support for GitHub Enterprise 5 years ago
stefanprodan 34ea89c3be Create GitHub repo if it doesn't exists 5 years ago
stefanprodan d4cbc45e16 Add personal and public options to bootstrap 5 years ago
stefanprodan 59ae2f327c Implement bootstrap upgrade 5 years ago
stefanprodan 4ec5b7fc69 Implement GitHub repository bootstrap 5 years ago
Hidde Beydals 65cfa6d347 Move port check to scanHostKey func 5 years ago
Hidde Beydals 9099ad3d8b Split cmd SSH/auth functions 5 years ago
Hidde Beydals 6017946144 Improve host key scanner, add Ed25519 generator 5 years ago
Hidde Beydals 3a8151bcc0 Add various custom flags 5 years ago
Hidde Beydals 2dfe88b82d Move ssh package from internal to pkg 5 years ago
Hidde Beydals a332e12338 Replace SSH shell-outs with Go implementation 5 years ago
stefanprodan f231107869 Set tk version at release time 5 years ago
stefanprodan 1e7d2e7dce Use kustomize API instead of binary 5 years ago
stefanprodan 89aa7463ef Release v0.0.1-alpha.1 5 years ago
stefanprodan 5c2c4ccdba Add service account args
- update kustomize-controller to v0.0.1-alpha.7
- change args to match the v0.0.1-alpha.7 API
- add service account args
5 years ago
stefanprodan d8802b7d4a Fix resume waiting 5 years ago
stefanprodan afcb41c59b Add bash completion cmd 5 years ago
stefanprodan 155cc66db9 Fix get cmd early exit 5 years ago
stefanprodan 9069a65a97 Add -s alias for silent arg 5 years ago
stefanprodan 5530362568 Add credentials export option for git sources 5 years ago
stefanprodan f127adc8ea Implement export to YAML
- add export commands for git sources and kustomizations
- add export e2e tests
5 years ago
stefanprodan 6d590fe4d2 Implement delete for git sources
- add delete source git command
- add delete source git e2e test
5 years ago
stefanprodan e5e06783bd Implement ks delete, suspend, resume commands
- add delete kustomization command with confirmation and warning id not suspended
- add suspend kustomization command
- add resume kustomization command
- add suspend/resume/delete e2e tests
5 years ago
stefanprodan 2225b2a6a9 Implement get commands
- add get sources git command
- add get kustomizations command
5 years ago
stefanprodan 1e03155e8b Add poll interval global variable 5 years ago
stefanprodan 6d66f42382 Add ks alias to kustomization commands 5 years ago
stefanprodan cfa72ddb0b log: improve cmd logs 5 years ago
stefanprodan 0f99f313a0 check: exit 1 on control plane failed checks 5 years ago
stefanprodan 21e0d38152 Implement sync command
- sync git sources
- sync kustomizations along with their sources
5 years ago
stefanprodan 8d15970dbe Add wait log 5 years ago
stefanprodan c6793f6eaf Refactor create command
- move GitRepository operations to create source git
- update examples and e2e tests
5 years ago
stefanprodan 3bcc2ae992 Format commands examples 5 years ago
stefanprodan a0ed1c2037 Add git tag option to create source 5 years ago
stefanprodan 076aa09a99 Update source if exists 5 years ago
stefanprodan 57474fb274 Implement create kustomization 5 years ago
stefanprodan 78af1dd2b4 Implement components selection
- add components global flag
- install selected components
- check selected components
5 years ago
stefanprodan a9128a2cb4 Log source sync failure message 5 years ago
stefanprodan 0f5204a8c1 Refactor create source
- use source API package instead of a text template
- use controller-runtime client instead of kubectl
5 years ago
stefanprodan d6d7bc329a Add silent option to uninstall 5 years ago
stefanprodan 98c32dce3d Refactor exec helpers 5 years ago
stefanprodan 09678d7966 Add version arg to install command 5 years ago
stefanprodan 4a872836e3 Generate tk docs with cobra/doc 5 years ago
stefanprodan 8392c4fe24 Refactor logging 5 years ago
stefanprodan 2d300d7344 Add semver condition to check output 5 years ago
stefanprodan 13760258ab Add verbose option to create source 5 years ago
stefanprodan e308097785 Add timeout option to install/uninstall 5 years ago
stefanprodan 7d1a14d09a Add uninstall cmd 5 years ago
stefanprodan 4d8800ad62 Add basic-auth option to create source 5 years ago
stefanprodan 9cec671f6c Add public repos and semver support to create cmd 5 years ago
stefanprodan 1371b4d4d3 Implement create source for ssh git repos
- generate host keys and SSH keys
- prompt for deploy key setup
- generate gitrepo source
- wait for source to sync
5 years ago
stefanprodan bba9ac0aa1 Add ssh tools to requirements check 5 years ago
stefanprodan 403a0f2882 Add check command
- verify minimum supported version of kubectl, kustomize and
Kubernetes API
5 years ago
stefanprodan 94e0b3c9c3 Add install command with dry-run option
- build kustomization
- apply output on the cluster
- check rollout status of source and kustomize controllers
5 years ago
stefanprodan e304059299 Add kubeconfig global flag 5 years ago
stefanprodan 4f449a1ffd Add check command 5 years ago
stefanprodan c8fdf76084 Init toolkit CLI 5 years ago