okctl/ directory
Directories ΒΆ
Path | Synopsis |
---|---|
cmd | |
cmd/janitor | |
cmd/okctl | |
cmd/okctl/auth | Package auth deals with setting up correct credential types from the user towards AWS & Github The values are passed on to the `okctl.Okctl` struct where they are used as plain strings |
cmd/okctl/handlers | Package handlers contains common RunE handlers used in commands |
cmd/okctl/hooks | Package hooks contains focused initialization functionality used in a command's PreRunE or PostRunE |
internal | |
pkg | |
pkg/acmapi | Package acmapi knows how to interact with AWS ACM API |
pkg/api | Package api provides the domain model for okctl |
pkg/api/core | Package core implements the service layer |
pkg/api/core/cloudprovider | |
pkg/api/core/cloudprovider/aws | Package aws implements the cloud layer |
pkg/api/core/run | Package run implements the runnable layer |
pkg/api/core/store | |
pkg/api/core/store/filesystem | Package filesystem implements a filesystem storage layer |
pkg/api/mock | Package mock provides mocks for use with tests |
pkg/apis | |
pkg/apis/eksctl.io | |
pkg/apis/eksctl.io/v1alpha5 | nolint stylecheck |
pkg/apis/okctl.io | |
pkg/apis/okctl.io/v1alpha1 | Package v1alpha1 defines the currently active version of the okctl api |
pkg/argocd | Package argocd contains support functionality for dealing with ArgoCD |
pkg/arn | Package arn knows how to validate arns |
pkg/ask | Package ask knows how to ask about stuff in the terminal |
pkg/binaries | Package binaries knows how to load CLIs |
pkg/binaries/digest | Package digest knows how to create a new hash digest from some input |
pkg/binaries/fetch | Package fetch knows how get, verify and stage binaries |
pkg/binaries/run | Package run knows how to execute binaries and collect their output and result |
pkg/binaries/run/awsiamauthenticator | Package awsiamauthenticator knows how to invoke the aws-iam-authenticator CLI |
pkg/binaries/run/eksctl | Package eksctl knows how to run the eksctl cli |
pkg/binaries/run/kubectl | Package kubectl provides a convenient way of running kubectl commands |
pkg/binaries/run/kubens | Package kubens provides a convenient way of running kubens commands |
pkg/binaries/run/okctlupgrade | Package okctlupgrade knows how to run an okctl upgrade |
pkg/breeze | Package breeze provides a wrapper around storm for opening and closing the database as required instead of keeping the connection open over and unlimited timespan. |
pkg/cfn | Package cfn provides functionality for working with cloud formation |
pkg/cfn/components | Package components contains functionality for creating cloud formation templates |
pkg/cfn/components/aliasrecordset | Package aliasrecordset provides cloud formation for a Route53 recordset with an Alias to an AWS resource, such as a cloud front distribution - https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html |
pkg/cfn/components/certificate | Package certificate creates components for an ACM public certificate |
pkg/cfn/components/cidr | Package cidr provides functionality for interacting with classless inter-domain routing https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing |
pkg/cfn/components/cluster | Package cluster knows how to return a consistent cluster name |
pkg/cfn/components/containerrepository | Package containerrepository knows how to create an AWS ECRepository cloud formation resource |
pkg/cfn/components/dbinstance | Package dbinstance knows how to build a cloud formation resource for an RDS DBInstance |
pkg/cfn/components/dbparametergroup | Package dbparametergroup knows how to create a cloud formation for a db parameter group |
pkg/cfn/components/dbsubnetgroup | Package dbsubnetgroup knows how to create cloud formation for a db subnet group |
pkg/cfn/components/dynamodb | Package dynamodb knows how to create a dynamodb table cloud formation resource |
pkg/cfn/components/eip | Package eip provides a simplified interface for creating cloud formation resources |
pkg/cfn/components/hostedzone | Package hostedzone knows how to create cloud formation for a hosted zone |
pkg/cfn/components/internetgateway | Package internetgateway knows how to create cloud formation for a IGW |
pkg/cfn/components/lambdafunction | Package lambdafunction builds a cloud formation resource for Lambda Functions |
pkg/cfn/components/lambdapermission | Package lambdapermission knows how to create lambda permission cloud formation resources |
pkg/cfn/components/managedpolicy | Package managedpolicy knows how to create cloud formation for a managed IAM policy |
pkg/cfn/components/natgateway | Package natgateway knows how to create cloud formation for a NATGW |
pkg/cfn/components/policydocument | Package policydocument implements the IAM policy document: - https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html Note: we have not attempted to implement the complete logic, this functionality only covers the subset we require |
pkg/cfn/components/recordset | Package recordset provides cloud formation for a Route53 recordset - https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html |
pkg/cfn/components/role | Package role knows how to create cloud formation for an IAM role |
pkg/cfn/components/rotationschedule | Package rotationschedule knows how to build a secrets manager secret rotation schedule |
pkg/cfn/components/route | Package route knows how to create cloud formation for an EC2 VPC route |
pkg/cfn/components/routetable | Package routetable knows how to create cloud formation for a route table |
pkg/cfn/components/routetableassociation | Package routetableassociation knows how to create cloud formation for a route table association |
pkg/cfn/components/s3bucket | Package s3bucket knows how to create an AWS S3 bucket cloud formation resource |
pkg/cfn/components/secret | Package secret knows how to build secrets manager secrets |
pkg/cfn/components/secrettargetattachment | Package secrettargetattachment knows how to build a secret target attachment |
pkg/cfn/components/securitygroup | Package securitygroup knows how to create cloud formation for security groups |
pkg/cfn/components/subnet | Package subnet provides functionality for slicing and dicing subnets for use with EKS |
pkg/cfn/components/testing | Package testing contains some helpers for testing the cloud formation templates of components |
pkg/cfn/components/userpool | Package userpool implements the AWS Cognito UserPool - https://docs.amazonaws.cn/en_us/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html |
pkg/cfn/components/userpoolclient | Package userpoolclient provides an implementation of Cognito UserPoolClient - https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html |
pkg/cfn/components/userpooldomain | Package userpooldomain provides functionality for setting up a domain with a user pool - https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooldomain.html |
pkg/cfn/components/userpoolgroup | Package userpoolgroup provides functionality for setting up a user pool group |
pkg/cfn/components/userpooluser | Package userpooluser provides functionality for setting up a user pool user |
pkg/cfn/components/userpoolusertogroupattachment | Package userpoolusertogroupattachment provides functionality for setting up a user pool user to group attachment |
pkg/cfn/components/vpc | Package vpc knows how to create a cloud formation VPC |
pkg/cfn/components/vpcendpoint | Package vpcendpoint knows how to build a VPC endpoint |
pkg/cfn/components/vpcgatewayattachment | Package vpcgatewayattachment knows how to create cloud formation for a vpc gateway attachment |
pkg/cleaner | Package cleaner knows how to clean things up |
pkg/client | Package client defines the domain model |
pkg/client/core | Package core implements the business logic layer for the client-side |
pkg/client/core/state | |
pkg/client/core/state/direct | Package direct contains functionality for retrieving state directly from the source |
pkg/client/core/state/storm | Package storm implements a state layer using the storm library |
pkg/client/core/store | |
pkg/client/core/store/filesystem | Package filesystem interacts with the file system |
pkg/client/mock | Package mock contains some convenience functions for getting data |
pkg/clients | |
pkg/clients/kubectl | Package kubectl defines different ways of communicating with a cluster |
pkg/clients/kubectl/binary | Package binary exposes kubectl commands through a binary provider |
pkg/client/store | Package store provides interfaces for more easily interacting with a storage layer |
pkg/cloud | Package cloud provides access to AWS APIs |
pkg/clusterconfig | Package clusterconfig knows how to construct a clusterconfiguration |
pkg/cognito | Package cognito implements some functionality to interact with the cognito API |
pkg/commands | Package commands contains helper functionality to run various okctl commands. |
pkg/config | Package config interacts with all configuration state |
pkg/config/constant | Package constant contains constants used throughout okctl |
pkg/config/load | Package load knows how to load application and repository data |
pkg/config/state | Package state holds the config state |
pkg/context | Package context provides an interface to ephemeral resources |
pkg/controller | |
pkg/controller/application | Package application contains application specific resources and tools for controller functionality |
pkg/controller/application/reconciliation | Package reconciliation contains reconciliation resources necessary for cluster reconciliation |
pkg/controller/cluster | Package cluster contains cluster specific resources and tools for controller functionality |
pkg/controller/cluster/reconciliation | Package reconciliation contains reconciliation resources necessary for cluster reconciliation |
pkg/controller/common | Package common contains common tools and resources for controller functionality |
pkg/controller/common/reconciliation | Package reconciliation contains reconciliation resources necessary for both application and cluster reconciliation |
pkg/credentials | Package credentials knows how to keep credentials up to date and make the available in various formats |
pkg/credentials/aws | Package aws knows how to orchestrate a login to AWS using various methods |
pkg/credentials/github | Package github knows how to retrieve valid Github credentials |
pkg/datasource | Package datasource contains helper functions for creating grafana datasource definitions |
pkg/domain | Package domain validates that the provided domain is not taken and matches what the user expects. |
pkg/eksapi | Package eksapi provides some convenience functionality for retrieving information about an AWS EKS cluster |
pkg/elbv2api | Package elbv2api knows how to interact with the ELBv2API |
pkg/git | Package git knows how to do git operations |
pkg/github | Package github provides a client for interacting with the Github API |
pkg/git/nameserver | Package nameserver knows how to create git commits for zone delegation and revocation |
pkg/helm | Package helm implements a helm client, this is based on code from: - https://github.com/PrasadG193/helm-clientgo-example - https://github.com/helm/helm |
pkg/helm/charts | |
pkg/helm/charts/argocd | Package argocd provides a Helm chart for installing: - https://argoproj.github.io/argo-cd/ - https://github.com/argoproj/argo-helm |
pkg/helm/charts/autoscaler | Package autoscaler provides a Helm chart for installing: - https://github.com/kubernetes/autoscaler/tree/master/charts/cluster-autoscaler |
pkg/helm/charts/awslbc | Package awslbc provides a Helm chart for installing: - https://github.com/kubernetes-sigs/aws-load-balancer-controller - https://github.com/aws/eks-charts/tree/master/stable/aws-load-balancer-controller |
pkg/helm/charts/blockstorage | Package blockstorage provides a Helm chart installing: - https://github.com/kubernetes-sigs/aws-ebs-csi-driver |
pkg/helm/charts/externalsecrets | Package externalsecrets provides a helm chart for installing external-secrets: - https://external-secrets.github.io/kubernetes-external-secrets |
pkg/helm/charts/kubepromstack | Package kubepromstack provides a helm chart for installing kube-prometheus-stack: - https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack |
pkg/helm/charts/loki | Package loki provides a Helm chart for installing: - https://github.com/grafana/helm-charts/tree/main/charts/loki - https://grafana.com/oss/loki/ |
pkg/helm/charts/promtail | Package promtail provides a Helm chart for installing: - https://github.com/grafana/helm-charts/tree/main/charts/promtail |
pkg/helm/charts/tempo | Package tempo provides a Helm chart for installing: - https://github.com/grafana/helm-charts/tree/main/charts/tempo - https://grafana.com/oss/tempo/ |
pkg/iamapi | Package iamapi provides some convenience functions for interacting with the AWS IAM API |
pkg/integration | Package integration implements functionality for more easily running integration tests |
pkg/janitor | |
pkg/janitor/hostedzone | Package hostedzone provides some functionality for interacting with the AWS API |
pkg/jsonpatch | Package jsonpatch provides some convenience structs for building a type safe patch |
pkg/keypair | Package keypair provides cryptographic key pairs using the ed25519 format |
pkg/keypair/edkey | Package edkey is a copy of https://github.com/mikesmitty/edkey, which creates ED25519 keys in the OpenSSH format. |
pkg/keyring | Package keyring handles secrets stored on client machine using okctl |
pkg/kube | Package kube implements a kubernetes client Parts of this file have been stolen from: - https://github.com/helm/helm/blob/master/pkg/kube/wait.go |
pkg/kube/attach | Package attach knows how to interact with a running pod |
pkg/kubeconfig | Package kubeconfig creates a kubernetes KUBECONFIG that uses awm-iam-authenticator to receive an authorisation token and fetches the certificate and endpoint from EKS |
pkg/kube/externalsecret | |
pkg/kube/externalsecret/api | |
pkg/kube/externalsecret/api/types | |
pkg/kube/externalsecret/api/types/v1 | nolint |
pkg/kube/externalsecret/clientset | |
pkg/kube/externalsecret/clientset/v1 | nolint |
pkg/kube/forward | Package forward is based on, with some modifications here and there: - https://github.com/gianarb/kube-port-forward |
pkg/kube/manifests | |
pkg/kube/manifests/awsnode | Package awsnode performs operations on the aws-node daemonset |
pkg/kube/manifests/configmap | Package configmap provides a configmap creator and applier |
pkg/kube/manifests/echoserver | Package echoserver provides a simple echoserver |
pkg/kube/manifests/externaldns | Package externaldns provides kubernetes manifests for deploy external dns |
pkg/kube/manifests/externalsecret | Package externalsecret implements a manifest builder and applyer |
pkg/kube/manifests/namespace | Package namespace provides a namespace creator and applier |
pkg/kube/manifests/pgbouncer | Package pgbouncer knows how to deploy PgBouncer to the Kubernetes cluster: - https://www.pgbouncer.org |
pkg/kube/manifests/scale | Package scale knows how to scale a deployment in Kubernetes |
pkg/kube/manifests/securitygrouppolicy | Package securitygrouppolicy provides a convenient way of interacting with the SecurityGroupPolicy CRD |
pkg/kube/manifests/storageclass | Package storageclass provides a storage class creator and applier |
pkg/kube/pod | Package pod provides some reusable functions for interacting with the kubernetes pod API |
pkg/kube/securitygrouppolicy | |
pkg/kube/securitygrouppolicy/api | |
pkg/kube/securitygrouppolicy/api/types | |
pkg/kube/securitygrouppolicy/api/types/v1beta1 | Package v1beta1 implements the types for security group policy provided by AWS EKS CRD nolint: gochecknoglobals |
pkg/kube/securitygrouppolicy/clientset | |
pkg/kube/securitygrouppolicy/clientset/v1beta1 | Package v1beta1 implements the client for the AWS EKS CRD SecurityGroupPolicy |
pkg/logging | Package logging API for structured logging |
pkg/metrics | Package metrics exposes the main metrics api |
pkg/middleware | |
pkg/middleware/logger | Package logger implements a logging middleware |
pkg/mock | Package mock provides mocks |
pkg/oauth2 | Package oauth2 implements the device flow authentication. |
pkg/okctl | Package okctl implements the core logic for creating providers and loading configuration state |
pkg/paths | Package paths knows how to construct paths to different locations used by okctl. |
pkg/rotatefilehook | Package rotatefilehook implements a rotating file logger for logrus |
pkg/route53 | Package route53 implements functionality for retrieving information from AWS Route53 |
pkg/s3api | Package s3api provides some convenience functions for interacting with the AWS S3 API |
pkg/scaffold | Package scaffold knows how to generate necessary resources for deploying an okctl application |
pkg/scaffold/resources | Package resources knows how to generate Kubernetes, Kustomize and ArgoCD resources |
pkg/servicequota | Package servicequota check if you have enough resources in aws before cluster creation starts |
pkg/smapi | Package smapi provides some convenience functions for interacting with the AWS SecretsManager API |
pkg/spinner | Package spinner initialises a spinner and provides functionality for associating a timer with the spinner |
pkg/static | |
pkg/static/rotater | Package rotater embeds the lambda function code zip file |
pkg/storage | Package storage provides an API towards common storage operations |
pkg/truncate | Package truncate implements truncating variables |
pkg/upgrade | Package upgrade knows how to upgrade okctl |
pkg/upgrade/clusterversion | Package clusterversion manages the cluster version |
pkg/upgrade/originalclusterversion | Package originalclusterversion knows how to save the original version of a cluster |
pkg/upgrade/survey | Package survey knows how to get input from the user |
pkg/upgrade/testutils | Package testutils provides test utilities for upgrade |
pkg/version | Package version knows how to serialise a release |
pkg/version/developmentversion | Package developmentversion knows how to fetch the current version in development mode |
pkg/version/types | Package types contains types used by versioning. |
pkg/virtualenv | Package virtualenv helps finding the environment variables needed to use a okctl cluster. |
pkg/virtualenv/commandlineprompter | Package commandlineprompter implements functionality for setting the command prompt (PS1) for various shells |
pkg/virtualenv/shellgetter | Package shellgetter implements functionality for deciding which shell is the primary shell of the provided environment. |
pkg/virtualenv/shelltype | Package shelltype contains constants to identify a shell (bash, zsh, etc) |
- Version
- v0.0.106 (latest)
- Published
- Oct 21, 2022
- Platform
- linux/amd64
- Last checked
- 4 hours ago –
Tools for package owners.