@opencdk8s/cdk8s-argocd-resources
Project description
cdk8s-argocd-resources
Has the ability to synth ArgoCD Application, and AppProject manifests. See example.
Overview
example
# Example automatically generated from non-compiling source. May contain errors.
import { Construct } from 'constructs';
import { App, Chart, ChartProps } from 'cdk8s';
import * as argo from '@opencdk8s/cdk8s-argocd-resources';
export class MyChart extends Chart {
constructor(scope: Construct, id: string, props: ChartProps = { }) {
super(scope, id, props);
new argo.ArgoCdApplication(this, 'DemoApp', {
metadata: {
name: 'demo',
namespace: 'argocd',
},
spec: {
project: 'default',
source: {
repoURL: 'example-git-repo',
path: 'examplepath',
targetRevision: 'HEAD',
},
destination: {
server: 'https://kubernetes.default.svc'
},
syncPolicy: {
syncOptions: [
'ApplyOutOfSyncOnly=true'
]
}
},
});
new argo.ArgoCdProject(this, 'DemoProject', {
metadata: {
name: 'demo',
namespace: 'argocd',
},
spec: {
description: 'demo project',
sourceRepos: [
'*'
],
destination: [{
namespace: 'default',
server: 'https://kubernetes.default.svc'
}]
}
});
// define resources here
}
}
const app = new App();
new MyChart(app, 'asd');
app.synth();
demo.k8s.yaml
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: demo
namespace: argocd
spec:
destination:
server: https://kubernetes.default.svc
project: default
source:
path: examplepath
repoURL: example-git-repo
targetRevision: HEAD
syncPolicy:
syncOptions:
- ApplyOutOfSyncOnly=true
---
apiVersion: argoproj.io/v1alpha1
kind: AppProject
metadata:
name: demo
namespace: argocd
spec:
description: demo project
destination:
- namespace: default
server: https://kubernetes.default.svc
sourceRepos:
- "*"
Installation
TypeScript
Use yarn
or npm
to install.
$ npm install @opencdk8s/cdk8s-argocd-resources
$ yarn add @opencdk8s/cdk8s-argocd-resources
Python
$ pip install cdk8s-argocd-resources
Contribution
-
Fork (link)
-
Bootstrap the repo:
npx projen # generates package.json yarn install # installs dependencies
-
Development scripts:
Command Description yarn compile
Compiles typescript => javascript yarn watch
Watch & compile yarn test
Run unit test & linter through jest yarn test -u
Update jest snapshots yarn run package
Creates a dist
with packages for all languages.yarn build
Compile + test + package yarn bump
Bump version (with changelog) based on [conventional commits] yarn release
Bump + push to master
-
Create a feature branch
-
Commit your changes
-
Rebase your local changes against the master branch
-
Create a new Pull Request (use conventional commits for the title please)
Licence
Author
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
cdk8s-argocd-resources-0.0.5.tar.gz
(590.5 kB
view details)
Built Distribution
File details
Details for the file cdk8s-argocd-resources-0.0.5.tar.gz
.
File metadata
- Download URL: cdk8s-argocd-resources-0.0.5.tar.gz
- Upload date:
- Size: 590.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 25faec3a98baa36192f148dbfd1bb5e5e0d69bc135d2ca980a0b42f358530817 |
|
MD5 | f6a8a468eb785738976ba3ba9cd657cd |
|
BLAKE2b-256 | 586912c3c2fd4f33766f849f6bffa394a1abd53d749a75ff832c3dfb78b1cddb |
File details
Details for the file cdk8s_argocd_resources-0.0.5-py3-none-any.whl
.
File metadata
- Download URL: cdk8s_argocd_resources-0.0.5-py3-none-any.whl
- Upload date:
- Size: 590.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cb356e9a5eda39d8fe3c71a79b74ac4d62aa790a31930f5c90d76e434193b2c6 |
|
MD5 | b767fae0407628c49eabd07e590d9d1a |
|
BLAKE2b-256 | 8ef6509d09eabeec6b9d99b5a7670e92a782e20f34d646718eed48015da9ba2c |