okctl – github.com/oslokommune/okctl Directories

okctl/ directory

Directories

PathSynopsis
cmd
cmd/janitor
cmd/okctl
cmd/okctl/authPackage 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/handlersPackage handlers contains common RunE handlers used in commands
cmd/okctl/hooksPackage hooks contains focused initialization functionality used in a command's PreRunE or PostRunE
internal
pkg
pkg/acmapiPackage acmapi knows how to interact with AWS ACM API
pkg/apiPackage api provides the domain model for okctl
pkg/api/corePackage core implements the service layer
pkg/api/core/cloudprovider
pkg/api/core/cloudprovider/awsPackage aws implements the cloud layer
pkg/api/core/runPackage run implements the runnable layer
pkg/api/core/store
pkg/api/core/store/filesystemPackage filesystem implements a filesystem storage layer
pkg/api/mockPackage mock provides mocks for use with tests
pkg/apis
pkg/apis/eksctl.io
pkg/apis/eksctl.io/v1alpha5nolint stylecheck
pkg/apis/okctl.io
pkg/apis/okctl.io/v1alpha1Package v1alpha1 defines the currently active version of the okctl api
pkg/argocdPackage argocd contains support functionality for dealing with ArgoCD
pkg/arnPackage arn knows how to validate arns
pkg/askPackage ask knows how to ask about stuff in the terminal
pkg/binariesPackage binaries knows how to load CLIs
pkg/binaries/digestPackage digest knows how to create a new hash digest from some input
pkg/binaries/fetchPackage fetch knows how get, verify and stage binaries
pkg/binaries/runPackage run knows how to execute binaries and collect their output and result
pkg/binaries/run/awsiamauthenticatorPackage awsiamauthenticator knows how to invoke the aws-iam-authenticator CLI
pkg/binaries/run/eksctlPackage eksctl knows how to run the eksctl cli
pkg/binaries/run/kubectlPackage kubectl provides a convenient way of running kubectl commands
pkg/binaries/run/kubensPackage kubens provides a convenient way of running kubens commands
pkg/binaries/run/okctlupgradePackage okctlupgrade knows how to run an okctl upgrade
pkg/breezePackage 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/cfnPackage cfn provides functionality for working with cloud formation
pkg/cfn/componentsPackage components contains functionality for creating cloud formation templates
pkg/cfn/components/aliasrecordsetPackage 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/certificatePackage certificate creates components for an ACM public certificate
pkg/cfn/components/cidrPackage cidr provides functionality for interacting with classless inter-domain routing https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing
pkg/cfn/components/clusterPackage cluster knows how to return a consistent cluster name
pkg/cfn/components/containerrepositoryPackage containerrepository knows how to create an AWS ECRepository cloud formation resource
pkg/cfn/components/dbinstancePackage dbinstance knows how to build a cloud formation resource for an RDS DBInstance
pkg/cfn/components/dbparametergroupPackage dbparametergroup knows how to create a cloud formation for a db parameter group
pkg/cfn/components/dbsubnetgroupPackage dbsubnetgroup knows how to create cloud formation for a db subnet group
pkg/cfn/components/dynamodbPackage dynamodb knows how to create a dynamodb table cloud formation resource
pkg/cfn/components/eipPackage eip provides a simplified interface for creating cloud formation resources
pkg/cfn/components/hostedzonePackage hostedzone knows how to create cloud formation for a hosted zone
pkg/cfn/components/internetgatewayPackage internetgateway knows how to create cloud formation for a IGW
pkg/cfn/components/lambdafunctionPackage lambdafunction builds a cloud formation resource for Lambda Functions
pkg/cfn/components/lambdapermissionPackage lambdapermission knows how to create lambda permission cloud formation resources
pkg/cfn/components/managedpolicyPackage managedpolicy knows how to create cloud formation for a managed IAM policy
pkg/cfn/components/natgatewayPackage natgateway knows how to create cloud formation for a NATGW
pkg/cfn/components/policydocumentPackage 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/recordsetPackage recordset provides cloud formation for a Route53 recordset - https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html
pkg/cfn/components/rolePackage role knows how to create cloud formation for an IAM role
pkg/cfn/components/rotationschedulePackage rotationschedule knows how to build a secrets manager secret rotation schedule
pkg/cfn/components/routePackage route knows how to create cloud formation for an EC2 VPC route
pkg/cfn/components/routetablePackage routetable knows how to create cloud formation for a route table
pkg/cfn/components/routetableassociationPackage routetableassociation knows how to create cloud formation for a route table association
pkg/cfn/components/s3bucketPackage s3bucket knows how to create an AWS S3 bucket cloud formation resource
pkg/cfn/components/secretPackage secret knows how to build secrets manager secrets
pkg/cfn/components/secrettargetattachmentPackage secrettargetattachment knows how to build a secret target attachment
pkg/cfn/components/securitygroupPackage securitygroup knows how to create cloud formation for security groups
pkg/cfn/components/subnetPackage subnet provides functionality for slicing and dicing subnets for use with EKS
pkg/cfn/components/testingPackage testing contains some helpers for testing the cloud formation templates of components
pkg/cfn/components/userpoolPackage userpool implements the AWS Cognito UserPool - https://docs.amazonaws.cn/en_us/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html
pkg/cfn/components/userpoolclientPackage userpoolclient provides an implementation of Cognito UserPoolClient - https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html
pkg/cfn/components/userpooldomainPackage 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/userpoolgroupPackage userpoolgroup provides functionality for setting up a user pool group
pkg/cfn/components/userpooluserPackage userpooluser provides functionality for setting up a user pool user
pkg/cfn/components/userpoolusertogroupattachmentPackage userpoolusertogroupattachment provides functionality for setting up a user pool user to group attachment
pkg/cfn/components/vpcPackage vpc knows how to create a cloud formation VPC
pkg/cfn/components/vpcendpointPackage vpcendpoint knows how to build a VPC endpoint
pkg/cfn/components/vpcgatewayattachmentPackage vpcgatewayattachment knows how to create cloud formation for a vpc gateway attachment
pkg/cleanerPackage cleaner knows how to clean things up
pkg/clientPackage client defines the domain model
pkg/client/corePackage core implements the business logic layer for the client-side
pkg/client/core/state
pkg/client/core/state/directPackage direct contains functionality for retrieving state directly from the source
pkg/client/core/state/stormPackage storm implements a state layer using the storm library
pkg/client/core/store
pkg/client/core/store/filesystemPackage filesystem interacts with the file system
pkg/client/mockPackage mock contains some convenience functions for getting data
pkg/clients
pkg/clients/kubectlPackage kubectl defines different ways of communicating with a cluster
pkg/clients/kubectl/binaryPackage binary exposes kubectl commands through a binary provider
pkg/client/storePackage store provides interfaces for more easily interacting with a storage layer
pkg/cloudPackage cloud provides access to AWS APIs
pkg/clusterconfigPackage clusterconfig knows how to construct a clusterconfiguration
pkg/cognitoPackage cognito implements some functionality to interact with the cognito API
pkg/commandsPackage commands contains helper functionality to run various okctl commands.
pkg/configPackage config interacts with all configuration state
pkg/config/constantPackage constant contains constants used throughout okctl
pkg/config/loadPackage load knows how to load application and repository data
pkg/config/statePackage state holds the config state
pkg/contextPackage context provides an interface to ephemeral resources
pkg/controller
pkg/controller/applicationPackage application contains application specific resources and tools for controller functionality
pkg/controller/application/reconciliationPackage reconciliation contains reconciliation resources necessary for cluster reconciliation
pkg/controller/clusterPackage cluster contains cluster specific resources and tools for controller functionality
pkg/controller/cluster/reconciliationPackage reconciliation contains reconciliation resources necessary for cluster reconciliation
pkg/controller/commonPackage common contains common tools and resources for controller functionality
pkg/controller/common/reconciliationPackage reconciliation contains reconciliation resources necessary for both application and cluster reconciliation
pkg/credentialsPackage credentials knows how to keep credentials up to date and make the available in various formats
pkg/credentials/awsPackage aws knows how to orchestrate a login to AWS using various methods
pkg/credentials/githubPackage github knows how to retrieve valid Github credentials
pkg/datasourcePackage datasource contains helper functions for creating grafana datasource definitions
pkg/domainPackage domain validates that the provided domain is not taken and matches what the user expects.
pkg/eksapiPackage eksapi provides some convenience functionality for retrieving information about an AWS EKS cluster
pkg/elbv2apiPackage elbv2api knows how to interact with the ELBv2API
pkg/gitPackage git knows how to do git operations
pkg/githubPackage github provides a client for interacting with the Github API
pkg/git/nameserverPackage nameserver knows how to create git commits for zone delegation and revocation
pkg/helmPackage 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/argocdPackage argocd provides a Helm chart for installing: - https://argoproj.github.io/argo-cd/ - https://github.com/argoproj/argo-helm
pkg/helm/charts/autoscalerPackage autoscaler provides a Helm chart for installing: - https://github.com/kubernetes/autoscaler/tree/master/charts/cluster-autoscaler
pkg/helm/charts/awslbcPackage 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/blockstoragePackage blockstorage provides a Helm chart installing: - https://github.com/kubernetes-sigs/aws-ebs-csi-driver
pkg/helm/charts/externalsecretsPackage externalsecrets provides a helm chart for installing external-secrets: - https://external-secrets.github.io/kubernetes-external-secrets
pkg/helm/charts/kubepromstackPackage 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/lokiPackage 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/promtailPackage promtail provides a Helm chart for installing: - https://github.com/grafana/helm-charts/tree/main/charts/promtail
pkg/helm/charts/tempoPackage tempo provides a Helm chart for installing: - https://github.com/grafana/helm-charts/tree/main/charts/tempo - https://grafana.com/oss/tempo/
pkg/iamapiPackage iamapi provides some convenience functions for interacting with the AWS IAM API
pkg/integrationPackage integration implements functionality for more easily running integration tests
pkg/janitor
pkg/janitor/hostedzonePackage hostedzone provides some functionality for interacting with the AWS API
pkg/jsonpatchPackage jsonpatch provides some convenience structs for building a type safe patch
pkg/keypairPackage keypair provides cryptographic key pairs using the ed25519 format
pkg/keypair/edkeyPackage edkey is a copy of https://github.com/mikesmitty/edkey, which creates ED25519 keys in the OpenSSH format.
pkg/keyringPackage keyring handles secrets stored on client machine using okctl
pkg/kubePackage 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/attachPackage attach knows how to interact with a running pod
pkg/kubeconfigPackage 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/v1nolint
pkg/kube/externalsecret/clientset
pkg/kube/externalsecret/clientset/v1nolint
pkg/kube/forwardPackage forward is based on, with some modifications here and there: - https://github.com/gianarb/kube-port-forward
pkg/kube/manifests
pkg/kube/manifests/awsnodePackage awsnode performs operations on the aws-node daemonset
pkg/kube/manifests/configmapPackage configmap provides a configmap creator and applier
pkg/kube/manifests/echoserverPackage echoserver provides a simple echoserver
pkg/kube/manifests/externaldnsPackage externaldns provides kubernetes manifests for deploy external dns
pkg/kube/manifests/externalsecretPackage externalsecret implements a manifest builder and applyer
pkg/kube/manifests/namespacePackage namespace provides a namespace creator and applier
pkg/kube/manifests/pgbouncerPackage pgbouncer knows how to deploy PgBouncer to the Kubernetes cluster: - https://www.pgbouncer.org
pkg/kube/manifests/scalePackage scale knows how to scale a deployment in Kubernetes
pkg/kube/manifests/securitygrouppolicyPackage securitygrouppolicy provides a convenient way of interacting with the SecurityGroupPolicy CRD
pkg/kube/manifests/storageclassPackage storageclass provides a storage class creator and applier
pkg/kube/podPackage 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/v1beta1Package v1beta1 implements the types for security group policy provided by AWS EKS CRD nolint: gochecknoglobals
pkg/kube/securitygrouppolicy/clientset
pkg/kube/securitygrouppolicy/clientset/v1beta1Package v1beta1 implements the client for the AWS EKS CRD SecurityGroupPolicy
pkg/loggingPackage logging API for structured logging
pkg/metricsPackage metrics exposes the main metrics api
pkg/middleware
pkg/middleware/loggerPackage logger implements a logging middleware
pkg/mockPackage mock provides mocks
pkg/oauth2Package oauth2 implements the device flow authentication.
pkg/okctlPackage okctl implements the core logic for creating providers and loading configuration state
pkg/pathsPackage paths knows how to construct paths to different locations used by okctl.
pkg/rotatefilehookPackage rotatefilehook implements a rotating file logger for logrus
pkg/route53Package route53 implements functionality for retrieving information from AWS Route53
pkg/s3apiPackage s3api provides some convenience functions for interacting with the AWS S3 API
pkg/scaffoldPackage scaffold knows how to generate necessary resources for deploying an okctl application
pkg/scaffold/resourcesPackage resources knows how to generate Kubernetes, Kustomize and ArgoCD resources
pkg/servicequotaPackage servicequota check if you have enough resources in aws before cluster creation starts
pkg/smapiPackage smapi provides some convenience functions for interacting with the AWS SecretsManager API
pkg/spinnerPackage spinner initialises a spinner and provides functionality for associating a timer with the spinner
pkg/static
pkg/static/rotaterPackage rotater embeds the lambda function code zip file
pkg/storagePackage storage provides an API towards common storage operations
pkg/truncatePackage truncate implements truncating variables
pkg/upgradePackage upgrade knows how to upgrade okctl
pkg/upgrade/clusterversionPackage clusterversion manages the cluster version
pkg/upgrade/originalclusterversionPackage originalclusterversion knows how to save the original version of a cluster
pkg/upgrade/surveyPackage survey knows how to get input from the user
pkg/upgrade/testutilsPackage testutils provides test utilities for upgrade
pkg/versionPackage version knows how to serialise a release
pkg/version/developmentversionPackage developmentversion knows how to fetch the current version in development mode
pkg/version/typesPackage types contains types used by versioning.
pkg/virtualenvPackage virtualenv helps finding the environment variables needed to use a okctl cluster.
pkg/virtualenv/commandlineprompterPackage commandlineprompter implements functionality for setting the command prompt (PS1) for various shells
pkg/virtualenv/shellgetterPackage shellgetter implements functionality for deciding which shell is the primary shell of the provided environment.
pkg/virtualenv/shelltypePackage 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.