Skip to content

Commit

Permalink
Merge pull request #1426 from porter-dev/main
Browse files Browse the repository at this point in the history
move cloudwatch logs controller to production
  • Loading branch information
d-g-town authored Oct 22, 2024
2 parents 60675b7 + 1606722 commit fa790b2
Show file tree
Hide file tree
Showing 21 changed files with 1,720 additions and 0 deletions.
5 changes: 5 additions & 0 deletions .github/workflows/sync-remote-helm-charts.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,11 @@ jobs:
remote_repository: cloudwatch-controller
remote_directory: helm
target_directory: addons/cloudwatch-chart
- remote_owner: aws-controllers-k8s
remote_repository: cloudwatchlogs-controller
remote_directory: helm
target_directory: addons/cloudwatchlogs-chart
tag: v0.0.10
- remote_owner: aws-controllers-k8s
remote_repository: dynamodb-controller
remote_directory: helm
Expand Down
18 changes: 18 additions & 0 deletions addons/cloudwatchlogs-chart/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
apiVersion: v1
name: cloudwatchlogs-chart
description: A Helm chart for the ACK service controller for Amazon CloudWatch Logs (CloudWatch Logs)
version: 0.0.10
appVersion: 0.0.10
home: https://github.com/aws-controllers-k8s/cloudwatchlogs-controller
icon: https://raw.githubusercontent.com/aws/eks-charts/master/docs/logo/aws.png
sources:
- https://github.com/aws-controllers-k8s/cloudwatchlogs-controller
maintainers:
- name: ACK Admins
url: https://github.com/orgs/aws-controllers-k8s/teams/ack-admin
- name: CloudWatch Logs Admins
url: https://github.com/orgs/aws-controllers-k8s/teams/cloudwatchlogs-maintainer
keywords:
- aws
- kubernetes
- cloudwatchlogs
Original file line number Diff line number Diff line change
@@ -0,0 +1,210 @@
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.14.0
name: loggroups.cloudwatchlogs.services.k8s.aws
spec:
group: cloudwatchlogs.services.k8s.aws
names:
kind: LogGroup
listKind: LogGroupList
plural: loggroups
singular: loggroup
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: LogGroup is the Schema for the LogGroups API
properties:
apiVersion:
description: |-
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type: string
kind:
description: |-
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string
metadata:
type: object
spec:
description: |-
LogGroupSpec defines the desired state of LogGroup.
Represents a log group.
properties:
kmsKeyID:
description: |-
The Amazon Resource Name (ARN) of the KMS key to use when encrypting log
data. For more information, see Amazon Resource Names (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-kms).
type: string
kmsKeyRef:
description: "AWSResourceReferenceWrapper provides a wrapper around
*AWSResourceReference\ntype to provide more user friendly syntax
for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t
\ name: my-api"
properties:
from:
description: |-
AWSResourceReference provides all the values necessary to reference another
k8s resource for finding the identifier(Id/ARN/Name)
properties:
name:
type: string
namespace:
type: string
type: object
type: object
name:
type: string
retentionDays:
format: int64
type: integer
subscriptionFilters:
items:
properties:
destinationARN:
type: string
distribution:
description: |-
The method used to distribute log data to the destination, which can be either
random or grouped by log stream.
type: string
filterName:
type: string
filterPattern:
description: |-
A symbolic description of how CloudWatch Logs should interpret the data in
each log event. For example, a log event can contain timestamps, IP addresses,
strings, and so on. You use the filter pattern to specify what to look for
in the log event message.
type: string
roleARN:
type: string
type: object
type: array
tags:
additionalProperties:
type: string
description: |-
The key-value pairs to use for the tags.
You can grant users access to certain log groups while preventing them from
accessing other log groups. To do so, tag your groups and use IAM policies
that refer to those tags. To assign tags when you create a log group, you
must have either the logs:TagResource or logs:TagLogGroup permission. For
more information about tagging, see Tagging Amazon Web Services resources
(https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html). For more
information about using tags to control access, see Controlling access to
Amazon Web Services resources using tags (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html).
type: object
required:
- name
type: object
status:
description: LogGroupStatus defines the observed state of LogGroup
properties:
ackResourceMetadata:
description: |-
All CRs managed by ACK have a common `Status.ACKResourceMetadata` member
that is used to contain resource sync state, account ownership,
constructed ARN for the resource
properties:
arn:
description: |-
ARN is the Amazon Resource Name for the resource. This is a
globally-unique identifier and is set only by the ACK service controller
once the controller has orchestrated the creation of the resource OR
when it has verified that an "adopted" resource (a resource where the
ARN annotation was set by the Kubernetes user on the CR) exists and
matches the supplied CR's Spec field values.
TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse
https://github.com/aws/aws-controllers-k8s/issues/270
type: string
ownerAccountID:
description: |-
OwnerAccountID is the AWS Account ID of the account that owns the
backend AWS service API resource.
type: string
region:
description: Region is the AWS region in which the resource exists
or will exist.
type: string
required:
- ownerAccountID
- region
type: object
conditions:
description: |-
All CRS managed by ACK have a common `Status.Conditions` member that
contains a collection of `ackv1alpha1.Condition` objects that describe
the various terminal states of the CR and its backend AWS service API
resource
items:
description: |-
Condition is the common struct used by all CRDs managed by ACK service
controllers to indicate terminal states of the CR and its backend AWS
service API resource
properties:
lastTransitionTime:
description: Last time the condition transitioned from one status
to another.
format: date-time
type: string
message:
description: A human readable message indicating details about
the transition.
type: string
reason:
description: The reason for the condition's last transition.
type: string
status:
description: Status of the condition, one of True, False, Unknown.
type: string
type:
description: Type is the type of the Condition
type: string
required:
- status
- type
type: object
type: array
creationTime:
description: |-
The creation time of the log group, expressed as the number of milliseconds
after Jan 1, 1970 00:00:00 UTC.
format: int64
type: integer
dataProtectionStatus:
description: |-
Displays whether this log group has a protection policy, or whether it had
one in the past. For more information, see PutDataProtectionPolicy (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDataProtectionPolicy.html).
type: string
metricFilterCount:
description: The number of metric filters.
format: int64
type: integer
retentionInDays:
format: int64
type: integer
storedBytes:
description: The number of bytes stored.
format: int64
type: integer
type: object
type: object
served: true
storage: true
subresources:
status: {}
Loading

0 comments on commit fa790b2

Please sign in to comment.